Reasoning, Proof, and Formalization with Lean 4

Lezione 1 - Che cos'è un interactive theorem prover?

Stefano M. Nicoletti

22 giugno 2026

Struttura della lezione

Obiettivo

Capire che cosa significa eseguire una dimostrazione in modo interattivo.

Interactive theorem prover

Un interactive theorem prover è un sistema in cui l'utente costruisce una dimostrazione formale con l'aiuto di un "ambiente di controllo".

Interattivo, non automatico

Un theorem prover può essere automatico o interattivo. In questo corso ci interessa prima di tutto l'interazione.

Lean

Lean è uno specifico interactive theorem prover.

Leonardo de Moura and Sebastian Ullrich, The Lean 4 Theorem Prover and Programming Language

Oggetti e tipi

In Lean ogni oggetto, o termine, ha un tipo.

Theorem Proving in Lean 4, Propositions and Proofs

Dimostrazioni interattive

In una dimostrazione interattiva:

Goal

Il goal è ciò che resta da dimostrare in un determinato momento.

Ipotesi e assunzioni

Le ipotesi sono le informazioni disponibili nel punto corrente della dimostrazione.

Tattiche

Una tattica è un comando che trasforma il proof state.

Perché usare Lean: argomentazione

Un theorem prover costringe a distinguere premesse, passaggi inferenziali e conclusione.

Stanford Encyclopedia of Philosophy, Argument and Argumentation

Perché usare Lean: software correctness

Un programma può compilare, passare molti test e violare comunque la specifica del comportamento atteso.

VU Amsterdam, Logical Verification

Perché usare Lean: matematica

Una dimostrazione formalizzata rende verificabile il rapporto tra definizioni, lemmi e conclusione.

The mathlib Community, The Lean Mathematical Library

Perché usare Lean: fisica

In fisica il theorem prover:

Physlib, physics in Lean 4

Che cosa verifica Lean

Lean verifica la correttezza di una costruzione formale/dimostrazione rispetto a un enunciato formalizzato. Ovviamente:

Come fidarsi di Lean

La fiducia in Lean dipende dal modo in cui il sistema è costruito.

Kernel minimale

L'idea del kernel minimale è ridurre la parte del sistema di cui dobbiamo fidarci.

Collaborative verification

La fiducia cresce quando il controllo non dipende da un unico artefatto chiuso.

Mario Carneiro, Lean4Lean: Towards a Verified Typechecker for Lean, in Lean

Partiamo dall'argomentazione!

Un argomento collega premesse e conclusione attraverso un'inferenza.

MIT OpenCourseWare, Logic I

Un buon argomento

Un buon argomento richiede:

DimensioneDomanda
Accettabilitàle premesse sono vere (credibili/difendibili)?
Validitàla conclusione segue dalle premesse?
Soundness/correttezzale premesse sono vere/accettabili e l'inferenza è valida?

Validità e soundness/correttezza

La validità riguarda la forma del passaggio inferenziale.

Linguaggio ordinario e forma logica

Prima di formalizzare bisogna riconoscere alcune forme ricorrenti nel linguaggio ordinario.

Linguaggio ordinarioForma logica
abbiamo entrambe le informazioniE, cioè ∧
abbiamo almeno una tra due alternativeO, cioè ∨
se vale una condizione/ipotesi, allora segue una conseguenzaIMPLICA, cioè →

Installare Lean

Usare VS Code con l'estensione Lean 4:

Lean official install page

Live Demo

Esercizi

Fonti

Lean official install page

Theorem Proving in Lean 4, Propositions and Proofs

Theorem Proving in Lean 4, Dependent Type Theory

Leonardo de Moura and Sebastian Ullrich, The Lean 4 Theorem Prover and Programming Language

Mario Carneiro, Lean4Lean: Towards a Verified Typechecker for Lean, in Lean

The mathlib Community, The Lean Mathematical Library

Physlib, physics in Lean 4

Stanford Encyclopedia of Philosophy, Argument and Argumentation

MIT OpenCourseWare, Logic I

VU Amsterdam, Logical Verification