• Non ci sono risultati.

Fondamenti Logici dell’Informatica

N/A
N/A
Protected

Academic year: 2021

Condividi "Fondamenti Logici dell’Informatica"

Copied!
22
0
0

Testo completo

(1)

Fondamenti Logici dell’Informatica

Corso di Laurea Magistrale in Informatica Introduzione al Corso

Ugo Dal Lago

Anno Accademico 2018-2019

(2)

Sezione 1

Introduzione al Corso

(3)

Questo Corso

I Questo è un corso pensato per gli studenti del primo anno della Laurea Magistrale in Informatica.

I Può anche essere seguito da studenti di altri corsi di laurea che abbiano i prerequisiti descritti di seguito.

I Il carico di lavoro complessivo è di 6 ECTS, che corrispondono a circa 40 ore di lezioni frontali.

(4)

Contenuti del Corso

I In questo corso si analizza in che senso la logica fornisce all’informatica una serie di strumenti di analisi che

risultano estremamente utili, in diverse aree.

Logica Matematica Complessit`a

Computazionale

Basi di Dati

Linguaggi di Programmazione

Intelligenza Artificiale Verifica di Sistemi

(5)

Contenuti del Corso

I In questo corso si analizza in che senso la logica fornisce all’informatica una serie di strumenti di analisi che

risultano estremamente utili, in diverse aree.

Logica Matematica Complessit`a

Computazionale

Basi di Dati

Linguaggi di Programmazione

Intelligenza Artificiale Verifica di Sistemi

(6)

Prerequisiti

I Fondamentale per affrontare questo corso è una conoscenza delle nozioni di base della logica matematica.

I Occorre, in particolare, conoscere bene:

I La logica proposizionale.

I La logica al prim’ordine.

I La loro semantica.

I Uno o più sistemi deduttivi.

I Sistemi alla Hilbert.

I Deduzione Naturale.

I Alberi Semantici.

I Risoluzione.

I Teoremi di Correttezza e Completezza.

(7)

Formule

I Logica Proposizionale

F, G::= >

|

|

A

|

¬F

|

F ∧ G

|

F ∨ G

|

F → G dove:

I A è una variabile proposizionale;

I I connettivi logici ¬, ∧ e F hanno il loro significato intuitivo.

I Logica Predicativa

t, s ::= x

|

f (t1, . . . , tn(f ))

F, G ::= >

|

|

P (t1, . . . , tn(P ))

|

¬F

|

F ∧ G

|

F ∨ G

|

F → G

|

∃x.F

|

∀x.F.

dove:

I x è una variabile al prim’ordine;

I Ogni simbolo funzionale f ha un’arietà n(f );

I t, s, ti sono detti termini;

I Ogni simbolo predicativo P ha un’arietà n(P ).

(8)

Formule

I Logica Proposizionale

F, G::= >

|

|

A

|

¬F

|

F ∧ G

|

F ∨ G

|

F → G dove:

I A è una variabile proposizionale;

I I connettivi logici ¬, ∧ e F hanno il loro significato intuitivo.

I Logica Predicativa

t, s ::= x

|

f (t1, . . . , tn(f ))

F, G ::= >

|

|

P (t1, . . . , tn(P ))

|

¬F

|

F ∧ G

|

F ∨ G

|

F → G

|

∃x.F

|

∀x.F.

dove:

I x è una variabile al prim’ordine;

I Ogni simbolo funzionale f ha un’arietà n(f );

I t, s, ti sono detti termini;

I Ogni simbolo predicativo P ha un’arietà n(P ).

(9)

Semantica in Logica Proposizionale

I La semantica di una formula è parametrizzata su

un’interpretazione v, ossia su una mappa che assegna ad ogni variabile proposizionale A un valore di verità Av∈ {0, 1}.

I Con v |= F indichiamo che la formula F è vera nell’interpretazione v.

I E’ definita per induzione sulla struttura della formula:

v |= >;

v 6|= ⊥;

v |= A sse Av = 1;

v |= ¬F sse v 6|= F ; ...

(10)

Semantica in Logica Predicativa

I In logica predicativa, il significato di una formula è più complesso da definire.

I Prima di tutto, abbiamo bisogno di un universo A, i cui elementi sono gli oggetti di cui la formula parla.

I Abbiamo poi bisogno di un’intepretazione I, che però riguardi i simboli funzionali e predicativi.

I Ad ogni simbolo funzionale f l’interpretazione I fa corrispondere una funzione

fI : An(f )→ A.

I Ad ogni simbolo predicativo P l’interpretazione I fa corrispondere un sottoinsieme PI di An(P )

I Infine, c’è bisogno di un ambiente ξ che faccia corrispondere ad ogni variabile x un elemento xξ di ξ.

(11)

Semantica in Logica Predicativa

I Semantica dei Termini

JxK

(A,I) ξ = xξ; Jf (t1, . . . , tn(f ))K

(A,I)

ξ = fI(Jt1K

(A,I)

ξ , . . . ,Jtn(f )K

(A,I)

ξ )

I Semantica delle Formule

(A, I), ξ |= P (t1, . . . , tn(P )) sse (Jt1K

(A,I)

ξ , . . . ,Jtn(f )K

(A,I) ξ ) ∈ PI

(A, I), ξ |= ∃x.F sse (A, I), ξ[x := a] |= F per qualche a ∈ A (A, I), ξ |= ∀x.F sse (A, I), ξ[x := a] |= F

per tutti gli a ∈ A ..

.

(12)

Conseguenza Logica

I Indichiamo con Γ o ∆ delle sequenze finite di formule.

I In logica proposizionale, diciamo che F è conseguenza logica di Γ = G1, . . . , Gn sse per ogni v, se è vero che v |= G1, . . . , v |= Gn, allora vale anche che v |= F . In tal caso, scriviamo

Γ |= F.

I In logica predicativa, si può dare una definizione analoga.

I Il modo in cui abbiamo definito la relazione di conseguenza logica è tale per cui non esiste un modo semplice, di natura algoritmica, per determinare se una formula è conseguenza logica di una sequenza di formule.

(13)

Sistemi Deduttivi

I Un sistema deduttivo può essere pensato come un modo per dimotrare che F è una conseguenza logica di Γ senza far riferimento alla semantica delle formule coinvolte.

I Esempi:

I La Deduzione Naturale, dovuto a Gentzen.

I I Sistemi alla Hilbert, basati su assiomi e regole.

I Il metodo di Risoluzione, che si basano sulla ricerca di refutazioni.

I In ciascuno di tali sistemi deduttivi viene definita una nozione di giudizio derivabile nella formaΓ ` F .

I In che relazione stanno ` e |=?

(14)

Sistemi Deduttivi

Γ ` A Γ |= A

Correttezza

Completezza

(15)

Organizzazione del Corso

I Primo Modulo

I Docente: Prof. Claudio SACERDOTI COEN.

I È un modulo monografico sulla logica nei linguaggi di programmazione.

I Si va un po’ in profondità nell’argomento.

I Occuperà (suppergiù) tutte le lezioni fino all’inizio di Novembre.

I Secondo Modulo

I Docente: Prof. Ugo DAL LAGO.

I Le applicazioni della logica a molte aree dell’informatica verranno introdotte.

I Per ragioni di tempo, non è possibile andare troppo in dettaglio.

I Inizierà a Novembre e terminerà poco prima della fine del Primo Semestre.

(16)

Organizzazione del Corso

Logica Matematica Complessit`a

Computazionale

Basi di Dati

Linguaggi di Programmazione

Intelligenza Artificiale Verifica di Sistemi

(17)

Organizzazione del Corso

Logica Matematica Complessit`a

Computazionale

Basi di Dati

Linguaggi di Programmazione

Intelligenza Artificiale Verifica di Sistemi Primo Modulo

(18)

Organizzazione del Corso

Logica Matematica Complessit`a

Computazionale

Basi di Dati

Linguaggi di Programmazione

Intelligenza Artificiale Verifica di Sistemi Primo Modulo Secondo Modulo

(19)

Modalità d’Esame

I L’esame consiste in una prova orale, che riguarderà entrambi moduli.

I Le domande riguarderanno l’intero corso.

I Data la natura del corso, le domande saranno teoriche, ma potrebbero anche declinarsi in semplici esercizi.

I Come per tutti gli altri corsi, ci saranno a disposizione ben sei appelli in ogni anno accademico, di cui:

I Due in Sessione Invernale;

I Tre in Sessione Estiva;

I Uno in Sessione Autunnale.

(20)

Sezione 2

Il Secondo Modulo

(21)

Logistica

I Quattro ore di lezione a settimana.

I Il martedì, dalle 11.30 alle 13.30.

I Il mercoledì, dalle 15.30 alle 17.30.

I Non c’è un orario di ricevimento studenti prefissato.

I Basta però prendere appuntamento via email (ugo.dallago@unibo.it).

I Se avete dubbi sui contenuti del corso, potete ovviamente inviarmi una mail.

I Vi invito a fare tutte le domande che volete durante la lezione, ma anche offline.

(22)

Libri di Testo e Materiale Didattico

I La pagina web del modulo è

http://www.cs.unibo.it/~dallago/FLI1819/

A partire da essa trovate:

I Il syllabus del corso;

I Alcuni riferimenti bibliografici;

I Sono disponibili delle trasparenze, non necessariamente per tutte le parti del corso.

I Alcune dimostrazioni verranno svolte alla lavagna.

Riferimenti

Documenti correlati

tutti gli insegnamenti erogati in questa Laurea Magistrale e non già presenti nel proprio piano di studio, con il vincolo che gli insegnamenti erogati nel secondo anno della

• Il risultato del test di ingresso ha anche la funzione di accertamento delle conoscenze Matematiche di base. • Non è un atto vessatorio, ma un servizio: serve agli studenti per

a) Contrassegnare nella tabella OPZIONALI gli esami sostenuti nel vecchio corso di studi. Si individuano in tal modo ulteriori riconoscimenti per corsi del terzo anno per la

Oltre a questi dati, comuni a tutti gli oggetti SCORM, sono solitamente disponibili altre informazioni che dipendono dal tipo di oggetto o dal software utilizzato per

• Creo il link da inviare all’utente grazie al quale potrà raggiungere la pagina per modificare la password. La URL del link è così strutturata:.. L’utente riceverà, quindi,

Machine Learning (ML) and Data Mining (DM) – Machine Learning (ML) and Data Mining (DM) – Concepts and Techniques for automatic knowledge Concepts and Techniques for

● Can learn any Petri net without duplicate tasks and without more than one place with the same input and output tasks. ● New models formalism, called

Il processo di “binding” delle variabili può avvenire in entrambe le strutture di unificazione e compare anche nella invocazione delle funzioni dei linguaggi di