Corso Integrato di Linguaggi e Strutture, parte di Linguaggi

Docente: Dott. Claudio Sacerdoti Coen

Informazioni generali:

Orario di ricevimento: ogni lunedi' alle 15:30, salvo avvisi contrari comunicati sul newsgroup.

Newsgroup:

È stato creato il newsgroup unibo.cs.informatica.linguaggi per mantenere il contatto fra gli studenti e con il docente durante il secondo semestre.

Regolamento del corso:

Il corso prevede delle attività da svolgersi in laboratorio utilizzando il dimostratore interattivo di teoremi Matita. Lo studente ha a disposizione due ore per svolgere in laboratorio gli esercizi assegnati loro. Al termine delle due ore avviene la consegna con relativa valutazione. Successivamente lo studente ha a disposizione una settimana per completare o correggere gli esercizi svolti per migliorare il punteggio ottenuto.

I punteggi conseguiti nelle prove di laboratorio concorrono al voto finale. Gli studenti che non prendono parte all'attività in laboratorio debbono sostenere un orale integrativo obbligatorio.

Oltre all'attività in laboratorio e all'eventuale orale integrativo, per superare la parte di Linguaggi è inoltre necessario superare un esame scritto. L'esame scritto si compone di due parti. La prima parte durante, la quale non e' possibile utilizzare appunti, comprende domande di teoria (enunciare definizioni, teoremi, dimostrare semplici teoremi, dimostrare teoremi importanti del corso quali correttezza, completezza e compattezza). La seconda parte chiede invece lo svolgimento di esercizi (p.e. costruire alberi di derivazione, mostrare modelli o contromodelli per formule, sintetizzare forme normali dalle tabelle di verità). Il superamente della prima parte è pre-requisito alla valutazione della seconda.

Esami:

Oltre ai sei appelli canonici (giu-lug, set-ott, gen-feb) sono previsti due appelli straordinari (parziali) a gen-feb. Superare uno dei due appelli parziali è equivalente al superamento di un appello canonico.

Coloro che non hanno seguito (con successo) le prove di laboratorio e che quindi debbono presentarsi all'orale, così come coloro che vogliono sostenere l'orale per cambiare il voto, debbono concordare con il docente una data per l'orale.

Le date degli appelli si trovano sulle pagine del corso di laurea. Per presentarsi a un appello è necessario iscriversi nell'apposito sito.

Valutazioni (esami e laboratorio):

Valutazioni relative all'attività di laboratorio, voti conseguiti nei vari appelli e voto proposto, in formato Gnumeric.

Programma dettagliato del corso:

Mer. 01/10/08, 08:30, aula Cremona
Lun. 06/10/08, 13:30, aula Cremona
Mer. 08/10/08, 08:30, aula Cremona
Lun. 13/10/08, 13:30, aula Cremona
Mer. 15/10/08, 08:30, aula Cremona
Lun. 20/10/08, 13:30, aula Cremona
Mer. 22/10/08, 08:30, aula Cremona
Lun. 27/10/08, 13:30, aula Cremona
Mer. 29/10/08, 08:30, aula Cremona
Lun. 03/11/08, 13:30, aula Cremona
Mer. 5/11/08, 08:30, aula Cremona
Lun. 10/11/08, 13:30, aula Cremona
Mer. 12/11/08, 8:30, aula Cremona
Lun. 17/11/08, 13:30, aula Cremona
Mer. 19/11/08, 8:30, aula Cremona
Lun. 24/11/08, 13:30, aula Cremona
Mer. 26/11/08, 8:30, aula Cremona
Lun. 01/12/08, 13:30, aula Cremona
Mer. 03/12/08, 08:30, aula Cremona
Mer. 10/12/08, 08:30, aula Cremona
Lun. 15/12/08, 13:30, aula Cremona

Esercitazioni in laboratorio:

Mer. 22/10/08

L'esercitazione consiste nell'utilizzo del dimostratore interattivo di teoremi Matita al fine di:

Il testo dettagliato dell'esercizio con le istruzioni per la consegna è disponibile qui.

È inoltre disponibile una breve introduzione a Matita che riassume il più piccolo insieme di comandi sufficiente per l'esercitazione.

Mer. 29/10/08, Mer. 05/11/08

L'esercitazione consiste nell'utilizzo del dimostratore interattivo di teoremi Matita al fine di dimostrare il principio di dualità per il calcolo proposizionale. La dimostrazione consiste nel:

Il testo dettagliato dell'esercizio con le istruzioni per la consegna è disponibile qui.

È inoltre disponibile una spiegazione dettagliata dell'esercitazione che enuncia le linee guida della prova.

Mer. 12/11/08

L'esercitazione consiste nell'utilizzo del dimostratore interattivo di teoremi Matita al fine di dimostrare il teorema di espansione di Shannon per il calcolo proposizionale.

Il testo dettagliato dell'esercizio con le istruzioni per la consegna è disponibile qui.

È inoltre disponibile una spiegazione dettagliata dell'esercitazione che enuncia le linee guida della prova.

Mer. 19/11/08

L'esercitazione consiste nell'utilizzo del dimostratore interattivo di teoremi Matita come correttore di alberi di derivazione per la logica proposizionale.

Il testo dettagliato dell'esercizio con le istruzioni per la consegna è disponibile qui.

È inoltre disponibile una spiegazione dettagliata dell'esercitazione che enuncia le linee guida della prova.

Mer. 26/11/08

L'esercitazione consiste nell'utilizzo del dimostratore interattivo di teoremi Matita come correttore di alberi di derivazione per la logica proposizionale.

Il testo dettagliato dell'esercizio con le istruzioni per la consegna è disponibile qui.

Mer. 03/12/08

L'esercitazione consiste nell'utilizzo del dimostratore interattivo di teoremi Matita come correttore di alberi di derivazione per la logica del primo ordine.

Il testo dettagliato dell'esercizio con le istruzioni per la consegna è disponibile qui.

È inoltre disponibile una spiegazione dettagliata dei comandi da utilizzare nell'esercitazione.

Mer. 10/12/08

L'esercitazione consiste nell'utilizzo del dimostratore interattivo di teoremi Matita come correttore di alberi di derivazione per la logica del primo ordine. In particolare, si richiede di effettuare una semplice dimostrazione nella teoria dell'aritmetica di Peano.

Il testo dettagliato dell'esercizio con le istruzioni per la consegna è disponibile qui.

È inoltre disponibile una spiegazione dettagliata dei comandi da utilizzare nell'esercitazione.

Esempi di domande sugli argomenti del corso (per la prima parte dell'esame):

  1. Definire la sintassi delle formule della logica proposizionale
  2. Definire le nozioni di conseguenza logica ed equivalenza logica
  3. Definire la semantica classica di una formula della logica proposizionale
  4. ...
  5. Enunciare il teorema di completezza per la deduzione naturale proposizionale
  6. Enunciare il teorema di compattezza per la logica proposizionale
  7. Enunciare il teorema di correttezza per la deduzione naturale proposizionale
  8. Enunciare il teorema di correttezza per la risoluzione proposizionale
  9. Enunciare il teorema di completezza per la risoluzione proposizionale
  10. Enunciare il teorema di espansione di Shannon per la logica proposizionale
  11. Enunciare il teorema di dualità per la logica proposizionale
  12. ...
  13. Dimostrare il teorema di correttezza per la deduzione naturale proposizionale
  14. Dimostrare il teorema di completezza per la deduzione naturale proposizionale
  15. Dimostrare il teorema di espansione di Shannon
  16. Dimostrare il lemma di sostituzione
  17. Dimostrare il teorema di dualità

Esempi di esercizi sugli argomenti del corso (per la seconda parte dell'esame):

  1. Definire, per ricorsione strutturale sulle formule del calcolo proposizionale, la funzione flip(F) che sostituisce tutte le occorrenze di A con occorrenze di B in F e viceversa
  2. Dimostrare per induzione su F che flip(flip(F)) = F per ogni formula F del calcolo proposizionale
  3. Dire quali delle seguenti formule sono classicamente soddisfacibili, quali insoddisfacibili, quali tautologiche: Ogni affermazione deve essere adeguatamente motivata.
  4. Costruire la tabella di verità per la seguente formula: ¬(A ⇒ ¬(B ∧ A ∨ ¬C))
  5. Data la seguente tabella di verità
    ABCD?
    00000
    00010
    00101
    00110
    01001
    01011
    01100
    01111
    10000
    10010
    10101
    10110
    11001
    11011
    11100
    11111
    sintetizzare, senza usare la tecnica delle mappe di Karnaugh, una formula in CNF e una in DNF caratterizzate dalla stessa tabella. Ripetere l'esercizio utilizzando le mappe di Karnaugh.
  6. Disegnare una mappa di Karnaugh contenente tre implicanti primi dei quali due essenziali e uno non essenziale. Indicare chiaramente quali sono gli implicanti primi e quali sono essenziali. Indicare nella stessa mappa almeno due implicanti non primi.
  7. Costruire un ROBDD corrispondente alle seguenti formule:
  8. Usando esclusivamente equivalenze logiche, mettere le seguenti formule in CNF e in DNF:
  9. Per ognuna delle seguenti formule, scrivere una formula logicamente equivalente usando solamente i connettivi indicati:
  10. Dimostrare tramite deduzione naturale le formule tautologiche della seguente lista. Le tautologie intuizioniste debbono essere dimostrare senza ricorrere ad assiomi classici. Per le formule che non sono tautologie classiche dare invece un contro-modello che mostri che non sono tautologiche.
  11. Dimostrare tramite il metodo di risoluzione le formule tautologiche della seguente lista. Per le formule che non sono tautologie classiche dare invece un contro-modello che mostri che non sono tautologiche.
  12. Dimostrare che la seguente formula è classicamente insoddisfacibile usando il metodo di risoluzione prima e la deduzione naturale poi:
  13. Data una formula della logica del primo ordine, dire se questa è valida (e in tal caso darne una dimostrazione), insoddisfacibile (e in tal caso dimostrare la sua negata) o soddisfacibile (e in tal caso fornire un modello in cui questa sia vera e uno in cui questa sia falsa).
  14. Dimostrare una data formula della logica del primo ordine tramite deduzione naturale o tramite il metodo di risoluzione.

Compiti (alcuni risolti) dati agli esami di linguaggi:

Compiti del Dott. Sacerdoti Coen.

Compiti dati agli esami di logica negli anni precedenti:

Compiti del Prof. Asperti.

Eserciziario del Dott. Dal Lago.

Compiti del Prof. Martini. Quelli il cui nome termina con "sol" sono risolti.