Reasoning, Proof, and Formalization with Lean 4

Lezione 2 - Proposizioni, dimostrazioni e regole logiche

Stefano M. Nicoletti

6 luglio 2026

Struttura della lezione

Recap: che cosa fa il kernel

Il kernel è la parte del sistema che controlla il risultato finale.

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

Il ruolo del typechecker

Lean controlla se un termine ha il tipo atteso.

Theorem Proving in Lean 4, Propositions and Proofs

Proposizioni come tipi

In Lean una proposizione è un oggetto di tipo Prop.

Theorem Proving in Lean 4, Propositions and Proofs

In Lean, dimostrare è costruire

L'implicazione P → Q si comporta come una funzione da dimostrazioni di P a dimostrazioni di Q.

Connettivi logici in Lean

I connettivi logici sono dunque costruttori di proposizioni.

NotazioneLettura
P ∧ QP e Q
P ∨ QP oppure Q
P → Qse P, allora Q
¬Pnegazione di P
P ↔ QP se e solo se Q
Falsecontraddizione

Regole di introduzione ed eliminazione

Per ogni connettivo distinguiamo due domande.

Logic and Proof, Natural Deduction Rules

Implicazione: P → Q

Una implicazione trasforma dimostrazioni di P in dimostrazioni di Q.

Congiunzione: P ∧ Q

Una congiunzione contiene entrambe le informazioni.

Disgiunzione: P ∨ Q

Una disgiunzione contiene una delle due informazioni.

Negazione: ¬P

In Lean la negazione è definita tramite False.

Bicondizionale: P ↔ Q

Un bicondizionale contiene due implicazioni, una in ciascuna direzione.

Fondazioni intuizioniste

La logica di base di Lean è costruttiva (intuizionista). Ovvero:

Che cosa non è automatico costruttivamente

Alcuni principi familiari della matematica classica non sono disponibili automaticamente, se scegliamo un approccio costruttivo.

Un esempio: la contrapposizione

La contrapposizione mette in relazione un'implicazione e la sua forma negativa: (P → Q) ↔ (¬Q → ¬P).

Dove subentra la logica classica

Lean permette di usare principi classici in modo esplicito.

Live demo

Fonti

Theorem Proving in Lean 4, Propositions and Proofs

Logic and Proof, Natural Deduction Rules

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