Logica per la Programmazione - Corso A [LPP-B-14]


DOCENTE Andrea Corradini <andrea@di.unipi.it>
Orario Martedì 14-16, Aula A e Giovedì 11-13, Aula A
Orario ricevimento Cliccare qui

Informazioni utili e Avvisi


Modalità di esame

L'esame di LPP è costituito da uno scritto e da un orale. Per poter sostenere l’orale è necessario aver superato entrambe le prove di verifica intermedie con un voto >= 16 e con una media >= 18, oppure aver superato la prova scritta di un appello d'esame con un voto >=16. In generale, lo scritto superato in un appello consente di sostenere l'orale solo in un appello della stessa sessione di esami.
Il superamento delle prove di verifica intermedie al posto dello scritto vale solo per la sessione invernale (appelli di gennaio e febbraio).
Possono sostenere la seconda prova intermedia del 18 dicembre 2014 anche gli studenti che sono risultati insufficienti alla prima prova intermedia del 4 novembre 2014
Solo per il primo appello del 16 gennaio 2015, indipendentemente dall'aver superato una, entrambe o nessuna prova di verifica, ogni studente si può iscrivere o per lo scritto totale, o per una sola parte (nell'ultimo caso indicandolo come nota al momento dell'iscrizione). La consegna dell'elaborato annulla automaticamente l'eventuale elaborato corrispondente precedentemente superato.
Negli appelli successivi non sarà possibile recuperare solo parte dello scritto.

Testi delle prove (con alcune soluzioni)

Risultati


Materiale didattico (Dispense, PDF)

  1. [LP1] Logica per la Programmazione
  2. [LP2] Logica per la Programmazione 2
  3. [LdH] Logica di Hoare
  4. [Per consultazione] [LMB-INF] Note LMB di Informatica

Materiale didattico in inglese

Come testo di consultazione in inglese, si suggeriscono i Capitoli 1, 2 e 4 del libro LOGIC IN COMPUTER SCIENCE Modelling and Reasoning about Systems, di Michael Huth e Mark Ryan. Pagina web. Scrivere un email al docente per visionare il libro.

Tabella delle lezioni

N.

DATA

TITOLO

RIFERIMENTI

ARGOMENTI

1

30/09/2014

Introduzione al corso
Introduzione al Calcolo Proposizionale

Lucidi: Logica_2014_01.pdf
Logica_2014_02.pdf fino a pag. 12

  • Introduzione al corso
  • Introduzione al Calcolo Proposizionale
    • Connettivi logici; Proposizioni (formule proposizionali); Formalizzazione di enunciati; Formalizzazione di implicazioni in linguaggio naturale.

2

02/10/2014

Dimostrazione di Tautologie

Dispensa:
[LP1] fino a pag 11;
[LMB-INF] Sezione 1.4, "Dimostrazioni per sostituzione", pag 4-7, e sezione 3.2.1, "Interpretare le formule proposizionali", pag. 32-35.

Lucidi: Logica_2014_02.pdf, tutti.
Logica_2014_03.pdf, tutti.
Logica_2014_03bis.pdf, fino a pag. 5.

Tautologie e Contraddizioni; Dimostrazione di tautologie; Interpretazioni; Tabelle di verità; Principio di Sostituzione; Concetto di Legge del Calcolo Proposizionale; Leggi per Equivalenza, Congiunzione, Disgiunzione, Negazione, Implicazione; Insiemi funzionalmente completi di connettivi logici.

3

7/10/2014

Dimostrazione di Equivalenze Tautologiche, Sulla sintassi del Calcolo Proposizionale


Lucidi: Logica_2014_03bis.pdf, tutti.

Insiemi Funzionalmente Completi di Connettivi Logici; Esempi di dimostrazioni; Leggi di Assorbimento e Complemento; Ambiguità della sintassi del Calcolo Proposizionale; Precedenza tra i connettivi logici.

4

9/10/2014

Esercitazione su Calcolo Proposizionale

Esercizi proposti

Tabelle con leggi del calcolo proposizionale (e semantica della Logica dei Predicati): tabelle-leggi-v1.pdf

5

14/10/2014

Dimostrazione di Implicazioni Tautologiche, Forme normali

Dispense: [LP1], fino a pag 17

Lucidi: Logica_2014_04.pdf

Dimostrazioni di implicazioni; Occorrenze positive e negative; Principio di Sostituzione per l'Implicazione; Forma normale congiuntiva e disgiuntiva; Il Principio di Risoluzione.

6

16/10/2014

Dimostrazione di Implicazioni Tautologiche, Forme normali

Dispense: [LP1], fino a pag 23
[LMB-INF] Sezione 3.3, "Formalizzare proposizioni e inferenze", pag 35-37.

Lucidi: Logica_2014_05.pdf

Rappresentazione di inferenze e tecniche di dimostrazione come tautologie; Dimostrazioni come tautologie; Dimostrazioni con ipotesi non tautologiche.

7

21/10/2014

Esercitazione su Calcolo Proposizionale

Esercizi proposti

Tabelle con leggi del calcolo proposizionale (e semantica della Logica dei Predicati): tabelle-leggi-v1.pdf

8

23/10/2014

Logica del Primo Ordine: Motivazioni, Sintassi e Interpretazioni. Formalizzazione di enunciati.

Dispense: [LP1], Sezioni 8 e 8.1 [pag 27-31], 9 e 9.1 [pag 33-35]
[LMB-INF] Capitolo 4, "Logica dei Predicati", pag 50-55, fino a Sezione 4.3.1 esclusa.

Lucidi: Logica_2014_06.pdf

Limiti del Calcolo Proposizionale; Sintassi della Logica del Primo Ordine: Alfabeto, Grammatica, Termini, Formule; Occorrenze legate e libere di varaibili; Formule aperte e chiuse; Interpretazione di un linguaggio del primo ordine; Esempi di interpretazioni; Formalizzazione di enunciati: linee guida ed esempi.

9

28/10/2014

Logica del Primo Ordine: Semantica

Dispense: [LP1], pag 36-38

Lucidi: Logica_2014_07.pdf

Semantica della Logica del Primo Ordine: Semantica di termini chiusi e aperti; Assegnamenti; Semantica di formule per induzione strutturale; Esempi.

10

30/10/2014

Esercitazione su Formalizzazione e Semantica del primo ordine

Esercizi proposti

Tabelle con leggi del calcolo proposizionale (e semantica della Logica dei Predicati): tabelle-leggi-v1.pdf

11

4/11/2014

Prima prova di verifica

Testo: 01-2014-PrimoCompitino.pdf

Soluzioni: 01-2014-PrimoCompitinoSol.pdf


12

11/11/2014

Logica del primo ordine: Proof System

Dispense: [LP1], pag 39-48

Lucidi: Logica_2014_08.pdf, fino a pag. 22

Modelli; Formule valide e soddisfacibili; Conseguenza logica; Sistemi di dimostrazione; Correttezza e completezza; Validità del risultato di una dimostrazione; Teorema di Deduzione; Leggi per quantificatori.

13

13/11/2014

Logica del primo ordine: Proof System (2)

Dispense: [LP1], pag 49-51

Lucidi: Logica_2014_08.pdf, tutti.

Predicato di uguaglianza; Leggi per l'uguaglianza. Regole di inferenza: Generalizzazione e Skolemizzazione; Quantificazione su dominio vuoto: discussione; Leggi valide solo per dominio non vuoto; Esempi di dimostrazione.
Esercizi Proposti

14

18/11/2014

Notazione e leggi per insiemi, intervalli e domini

Dispense: [LP2], pag 1-9.

Lucidi: Logica_2014_09.pdf.

Estensioni del linguaggio del primo ordine: Notazione intensionale per insiemi, Predicato di Appartenenza, Insieme vuoto; Relazioni di ordinamento su naturali: definizioni e leggi; Definizioni e notazione per intervalli; Quantificazione ristretta a un insieme: domini, quantificazione su domini vuoti, estensione di leggi per quantificatori a domini; Leggi dell'intervallo per quantificatori; Definizione di array; Formalizzazione di enunciati su array.

15

20/11/2014

Quantificatori funzionali

Dispense: [LP2], fino a pag. 30.

Lucidi: Logica_2014_10.pdf.

Quantificatori funzionali: sintassi e significato intuitivo di sommatoria, cardinalità, minimo e massimo; Formalizzazione di enunciati; Leggi per quantificatori funzionali; leggi dell'intervallo.

16

25/11/2014

Esercitazione su Dimostrazioni di Validità e Formalizzazione di Enunciati.

Esercizi proposti

Tabella con leggi e regole di inferenza: tabelle-leggi-v3.pdf

17

27/11/2014

Logica di Hoare: Introduzione

Dispense: [LdH], fino a pag 20.

Lucidi: Logica_2014_11.pdf.

Linguaggio imperativo minimo: sintassi con grammatica BNF; stato di un programma; semantica delle espressioni; significato informale dei comandi. Asserzioni; soddisfazione di un'asserzione in uno stato. Definizione di Triple di Hoare: definizione di tripla soddisfatta. Interpretazione di triple di Hoare: semantica, correttezza, specifica. Regole di inferenza: pre e post.

18

02/12/2014

Triple di Hoare: Regole di inferenza per assegnamento, sequenza e comando condizionale.

Dispense: [LdH], fino a pag 23.

Lucidi: Logica_2014_12.pdf.

Triple di Hoare: Regole di inferenza, pre e post. Assiomi per skip, assegnamento semplice e assegnamento multiplo. Espressioni definite e non. Regole per assegnamento e per sequenza di comandi. Variabili di specifica. Regola per comando condizionale; Esempi di verifica di Triple di Hoare.

19

04/12/2014

Esercitazione su Triple di Hoare

Esercizi proposti

Tabella con leggi e regole di inferenza: tabelle-leggi-v3.pdf

20

09/12/2014

Triple di Hoare:
Regola per il Comando Iterativo

Dispense: [LdH], fino a pag 27.

Lucidi: Logica_2014_13.pdf.

Triple di Hoare: Regola per il Comando Iterativo; Esempi.

21

11/12/2014

Triple di Hoare: Sequenze (Array) e Aggiornamento Selettivo

Dispense: [LdH], fino a pag 30.

Lucidi: Logica_2014_14.pdf.

Sequenze: sintassi e semantica; Assioma e regola per aggiornamento selettivo; Esercizi su verifica di triple di Hoare.

22

16/12/2014

Esercitazione su Triple di Hoare

Esercizi proposti

23

18/12/2014

Seconda prova di verifica

Ore 14:00

Corso A ==> Aula A
Corso B ==> Aula B

Iscrizione obbligatoria alla pagina https://esami.unipi.it/esami/
Possono sostenere la seconda prova intermedia del 18 dicembre 2014 anche gli studenti che sono risultati insufficienti alla prima prova intermedia del 4 novembre 2014

Per la prova di verifica non si possono portare né dispense né appunti. Si potrà usare solo il foglio tabelle-leggi-v3.pdf che riassume le leggi necessarie.