Towards a formal proof of the independence of the continuum hypothesis Towards a formal proof of the Jesse Han independence of the continuum The Flypitch project The path to a hypothesis proof What’s done A deep embedding of first-order logic G¨ odel’s completeness theorem Jesse Han But wait, there’s more! The way forward (joint with Floris van Doorn) University of Pittsburgh Lean Together 2019
Towards a formal proof of the independence of the continuum hypothesis Jesse Han The Flypitch project The Flypitch project The path to a proof The path to a proof What’s done A deep embedding of first-order logic G¨ odel’s completeness theorem But wait, there’s more! What’s done The way forward The way forward
Towards a formal What is CH? proof of the independence of the continuum hypothesis Jesse Han § The continuum hypothesis (CH) states that there are The Flypitch project no sets whose size is strictly larger than the countable The path to a proof natural numbers and strictly smaller than the What’s done uncountable real numbers, i.e. A deep embedding of first-order logic G¨ odel’s completeness ñ | X | ě 2 ℵ 0 . @ X , | X | ą ℵ 0 ù theorem But wait, there’s more! The way forward § It was introduced by Cantor in 1878 and was the very first problem on Hilbert’s list of twenty-three outstanding problems in mathematics.
Towards a formal What is CH? proof of the independence of the continuum hypothesis Jesse Han The Flypitch § G¨ odel proved in 1938 that CH was consistent with ZFC project (i.e. not disprovable from ZFC), and later conjectured The path to a proof that CH was independent of ZFC, i.e. neither provable What’s done nor disprovable from the ZFC axioms. A deep embedding of first-order logic G¨ odel’s completeness theorem § In 1963, Paul Cohen developed forcing , which allowed But wait, there’s more! The way forward him to prove the consistency of � CH with ZFC, and therefore complete the independence proof. For this work, he was awarded a Fields medal—the only one to ever be awarded for a work in mathematical logic.
Towards a formal What is the Flypitch project? proof of the independence of the continuum hypothesis Jesse Han The Flypitch project The path to a proof What’s done The Flypitch project aims to produce a formal proof of the A deep embedding of first-order logic independence of CH. G¨ odel’s completeness theorem But wait, there’s more! The way forward
Towards a formal proof of the independence of the continuum hypothesis Jesse Han The Flypitch project The Flypitch project The path to a proof The path to a proof What’s done A deep embedding of first-order logic G¨ odel’s completeness theorem But wait, there’s more! What’s done The way forward The way forward
Towards a formal The path to a proof proof of the independence of the continuum hypothesis Jesse Han The proof can be broken down into three steps: The Flypitch project 1. G¨ odel’s completeness theorem reduces “ T does not The path to a proof prove ψ ” to “there exists a model M | ù T such that What’s done � ψ in M ”, and therefore the reduces problem to finding A deep embedding of first-order logic a model of ZFC where CH is true and a model of ZFC G¨ odel’s completeness theorem where CH is false. But wait, there’s more! The way forward 2. G¨ odel’s 1938 result produces a model of ZFC where CH is true. 3. Cohen’s forcing argument produces a model of ZFC where CH is false.
Towards a formal The path to a proof proof of the independence of the continuum hypothesis Jesse Han The Flypitch project The path to a Before we can even formally state the problem, we need to proof formalize: What’s done A deep embedding of § Syntax of FOL first-order logic G¨ odel’s completeness § A proof system theorem But wait, there’s more! § Semantics of FOL The way forward § Axioms of ZFC.
Towards a formal Related existing formalizations proof of the independence of the continuum hypothesis Jesse Han § Harrison’s formalization of first-order logic and basic The Flypitch project model theory in HOL Light; also in the Handbook of The path to a Practical Logic and Automated Reasoning proof § Lawrence Paulson’s formalization of consistency of the What’s done A deep embedding of axiom of choice (in Isabelle/ZF) first-order logic G¨ odel’s completeness theorem § Margetson, also Schlichtkrull: formalizations of But wait, there’s more! first-order logic for verified provers (in Isabelle/HOL) The way forward § Russell O’Connor’s formal proof of G¨ odel incompleteness theorems (in Coq) § Gunther et al: formalization of some axiomatic forcing (in Isabelle/ZF)
Towards a formal proof of the independence of the continuum hypothesis Jesse Han The Flypitch project The Flypitch project The path to a proof The path to a proof What’s done A deep embedding of first-order logic G¨ odel’s completeness theorem But wait, there’s more! What’s done The way forward The way forward
Towards a formal Overview proof of the independence of the continuum hypothesis Jesse Han Code located at: The Flypitch https://github.com/flypitch/flypitch . project The path to a § Work on current codebase started in October 2018. proof § Now at ą 7500 lines of code. What’s done A deep embedding of first-order logic § Finished: formalization of first-order logic and G¨ odel’s G¨ odel’s completeness theorem completeness theorem. But wait, there’s more! The way forward § Also: compactness theorem, Peano arithmetic, Presburger arithmetic, ZFC. Informal but detailed notes written with Lean’s type-theoretic foundations, located at https://github.com/flypitch/flypitch-notes .
Towards a formal Desiderata for a deep embedding of FOL proof of the independence of the continuum hypothesis Jesse Han Syntax: The Flypitch § Proof system should mirror Prop : natural deduction, project intro/elim rules. The path to a proof § Reflection-friendly: should be able to reify terms, What’s done formulas, proofs by structural induction; soundness A deep embedding of first-order logic should just match all deeply-embedded logical G¨ odel’s completeness theorem operations to their Prop counterparts. But wait, there’s more! The way forward Semantics: § Given a model M , any term with k free variables should be interpreted as a k -ary function M k Ñ M . § Given a model M , any formula with k free variables should be interpreted as a k -ary function M k Ñ Prop
Towards a formal Languages proof of the independence of the continuum hypothesis Function and relation symbols are types indexed by arity: Jesse Han The Flypitch project structure Language : Type (u+1) := The path to a proof (functions : N Ñ Type u) What’s done (relations : N Ñ Type u) A deep embedding of first-order logic G¨ odel’s completeness variable L : Language theorem But wait, there’s more! The way forward /- The language of abelian groups -/ inductive abel_functions : N Ñ Type | zero : abel_functions 0 | plus : abel_functions 2 def L_abel : Language := x abel_functions, λ n, empty y
Towards a formal Terms proof of the independence of the continuum hypothesis Jesse Han inductive preterm : N Ñ Type u The Flypitch | var {} : @ (k : N ), preterm 0 project | func : @ {l : N } (f : L.functions l), preterm l The path to a proof | app : @ {l : N } (t : preterm (l + 1)) (s : What’s done preterm 0), preterm l A deep embedding of first-order logic G¨ odel’s completeness @[reducible] def term := preterm L 0 theorem But wait, there’s more! The way forward § preterm L n is a partially applied term. If applied to n terms, it becomes a term . § Every element of preterm L 0 is a well-formed term. § We use this encoding to avoid mutual or nested inductive types, since those are not too convenient to work with in Lean.
Towards a formal Formulas proof of the independence of the continuum hypothesis Jesse Han Formulas are defined analogously: The Flypitch project inductive preformula : N Ñ Type u The path to a proof | falsum {} : preformula 0 What’s done | equal (t 1 t 2 : term L) : preformula 0 A deep embedding of | rel {l : N } (R : L.relations l) : preformula l first-order logic G¨ odel’s completeness | apprel {l : N } (f : preformula (l + 1)) (t : term theorem But wait, there’s more! L) : preformula l The way forward | imp (f 1 f 2 : preformula 0) : preformula 0 | all (f : preformula 0) : preformula 0 @[reducible] def formula := preformula L 0 A preterm (resp. preformula ) of level l induces an l -ary function from terms to terms (resp. terms to formulas).
Recommend
More recommend