Ragionamento automatico (2020/2021)

Codice insegnamento
4S02796
Docente
Andrea Masini
Coordinatore
Andrea Masini
crediti
6
Settore disciplinare
INF/01 - INFORMATICA
Lingua di erogazione
Italiano
Sede
VERONA
Periodo
II semestre dal 1-mar-2021 al 11-giu-2021.

Orario lezioni

Vai all'orario delle lezioni

Obiettivi formativi

Scopo del corso è quello di fornire un’introduzione alle tecniche di meccanizzazione del ragionamento logico, utilizzando strumenti basati su sistemi di deduzione automatica o strumenti di assistenza alle dimostrazione. Particolare rilevanza verrà dato sia al problema della formalizzazione che a quello della verifica/dimostrazione di proprietà, usando sistemi goal-driven. Alla fine del corso gli studenti sapranno affrontare la formalizzazione e verifica automatica usando o ragionatori automatici oppure proof-assistant. Gli studenti saranno in grado di proseguire gli studi nell’ambito del ragionamento meccanico ad esempio sviluppando tesi magistrali.

Programma

Parte 1- Fondazioni
Richiami di deduzione naturale (classica ed intuizionista)
Lambda calcolo tipato semplice.
Type checking e type inference.
Il sistema F ed il Calcolo delle Costruzioni.
Cenni alla deduzione automatica in logica proposizionale.
Parte 2 - Il sistema Coq
Semplici dimostrazioni in Coq (Goal, assunzioni e tattiche).
Programmazione funzionale in CoQ.
Tipi di dato strutturati.
Polimorfismo e funzioni di ordine superiore.
Le tattiche
Logica in CoQ.
Induzione e co-induzione.

Testi di riferimento
Autore Titolo Casa editrice Anno ISBN Note
Bertot, Yves, Castéran, Pierre Interactive Theorem Proving and Program Development Springer-Verlag Berlin Heidelberg 2004 978-3-642-05880-6
Jean Louis Krivine, Rene Cori Lambda-calculus, Types and Models Ellis Horwood 1993 978-0130624079
van Dalen, Dirk Logic and Structure. (Edizione 5) Springer 2013 978-1-4471-4557-8

Modalità d'esame

Esame scritto