Lecture 1: Introduction
Teachers: Bruno Barras & Matthieu Sozeau
Introduction: Overview
Proofs with computers require:
-
a language to represent
- objects and operations (integers, functions, ….)
- properties of objects (FO logic, higher-order logic, …)
-
a method to construct/verify proofs
Higher-logic-based logic:
- typed
-calculus to represent objects and properties - proof terms to construct and verify proofs
Examples of projects in Coq:
- JavaCard semantics
- Feit-Thompson theorem (G. Gonthier et al.)
- 4-colors theorem (Gonthier, B. Werner)
- Compcert (X. Leroy)
(Reminder) First-order (FO) logic
- Terms
- Formulas
-
Natural deduction (ND) rules: intro/elim rules for each connective (
)- NB: excluded-middle is a special introduction-rule for
, but here we work in an intuitionistic setting, so we won’t use it
- NB: excluded-middle is a special introduction-rule for
When you use Coq or ND, you start with the conclusion (the property you want to prove), and you proceed backwards when constructing the proof tree
Untyped
-
FO extended with binders:
-abstraction for quantifiers, constant symbols for logical connectives
- computation rule:
-reduction -equivalent formulas are identified
Comprehension axiom in set theory
:-
set of all elements satisfying
:-
membership:
But you don’t restrain the comprehension axiom:
Problem: with
Exercise: we have a paradox (Kleene-Rosser paradox) without even using the excluded-middle!
⟹ in 1940: Church found a solution to avoid this paradox: introduce a typing discipline ⟶ Simply typed
Church’s Higher-Order Logic (HOL): two base types
the type of individuals the type of logical formulas (propositions)
Ex:
- predicates of type
⟹ Proof assistants: HOL4, HOL-Light, Isabelle/HOL, …
Brouwer-Heyting-Kolmogorov (BHK) interpretation
Given a proposition
- Conjunction: couple of proofs
-
Disjunction: either a proof of
or of .-
But problems:
- how to prove
⟶ not really problematic: true when you restrict yourself to the empty context - excluded-middle: you have no proof neither of
nor if is undecidable
- how to prove
-
: producing a proof given another one-
: a couple of a witness and a proof- same problem with the excluded-middle
We have a type of proof for each proposition:
(cartesian product)- and so on…
⟹ Curry-Howard isomorphism: intuitionistic propositional logic is “equivalent” to the typing discipline of simply typed
Logic | |
---|---|
proposition | type |
proof | term |
NB: important to non-inhabited types (ex:
Here, both terms and types are Prop
in Coq, no disctinction made in Automath either)
Extension to FO logic
Example:
is not function of the simply-typed -calculus- similarly, a proof
is a dependent type
Dependent type theory
- ELF, Dedukti (
) - Martin-Löf
Leave a comment