Weyl’s predicative math in type theory Zhaohui Luo Dept of Computer Science Royal Holloway, Univ of London (Joint work with Robin Adams) Formalisation of mathematics with different logical foundations in a type-theoretic framework April 2006 2 This talk Maths based on different logical foundations Weyl’s predicative mathematics Type-theoretic framework Example: logic-enriched TT with classical logic Predicativity Impredicative and predicative notions of set Formalisations April 2006 Real number system, predicatively and impredicatively 3 I. Applications of TT to formalisation of maths Formalisation in TT-based proof assistants Examples in Coq: Fundamental Theorem of Algebra Four-colour Theorem Maths with different logical foundations Variety of maths, all legacies (mathematical “pluralism”) Adequacy in formalisation? Uniform framework? Type theory and associated technology April 2006 Not just for constructive math Also for classical math and other maths 4 Maths with different logical foundations: examples Consider the “combinations” of the following and their “negations”: (C) (I) Classical logic Impredicative definitions We would have (CI) (C°I°) (C°I) (CI°) Ordinary (classical, impredicative) math Classical set theory/simple type theory, HOL/Isabelle Predicative constructive math Martin-Löf’s TT, ALF/Agda/NuPRL Impredicative constructive math Constructions/CID/ECC/UTT, Coq/Lego/Plastic Predicative classical math Weyl, Feferman, Simpson, … Uniform foundational framework for formalisation? April 2006 5 Weyl’s predicative mathematics H. Weyl. The Continuum. (Das Kontinuum.) 1918. Historical development (paradox etc.) The notion of category Predicative development of the real number system Weyl/Feferman/Simpson’s work on predicativity Predicativity E.g., { x | φ(x) } with φ being “arithmetical” (without quantification over sets) April 2006 Feferman’s development on “predicativism” Simpson’s work on reverse mathematics 6 II. Logic-enriched type theories in LFs Logic-enriched type theory Aczel & Gambino (LTT in the intuitionistic setting) [AG02,06] c.f. separation of logical propositions and data types in ECC/UTT [Luo90,94] Type-theoretic framework for mathematical “pluralism” Logic-enriched TTs in a logical framework: Logic Types \ / \ / Logical Framework April 2006 7 An example: T T = LF + Classical FOL + Ind types/universes Classical FOL \ \ Ind types + universes / / LF April 2006 8 Classical FOL (specified in a logical framework) Propositions (note: LF should be “extended” with Prop and Prf) Prop kind Prf(P) kind [P : Prop] Logical operators PQ : Prop [P : Prop, Q : Prop] [A,P] : Prop [A : Type, P[x:A] : Prop] ¬P : Prop [P : Prop] DN[P,p] : Prf(P) April 2006 [P:Prop, p:Prf(¬¬P)] 9 Types Inductive types/families e.g. Nats, Trees, … (as in TTs such as UTT) Induction Rule: elimination over propositions. Example: the natural numbers N : Type, 0 : N, succ[n] : N [n : N] Elimination over types: ElimT[C,c,f,n] : C[n], for C[n] : Type [n : N] Plus computational rules for ElimT: eg, ElimT[C,c,f,succ(n)] = f[n,ElimT[C,c,f,n]] Induction over propositions: ElimP[P,c,f,n] : P[n], April 2006 for P[n] : Prop [n : N] 10 Relative consistency Theorem (relative consistency of T) T is logically consistent w.r.t. ZF. April 2006 11 III. Formalisation Consider Classical logic T \ / \ / LF with T = Inductive types + April 2006 Impredicative sets Predicative sets (I) (I°) 12 Impredicative notion of set Typed sets, impredicatively: Set[A:Type] : Type set[A:Type,P[x:A]:Prop] : Set[A] in[A:Type,a:A,S:Set[A]] : Prop in[A,a,set[A,P]] = P[a] : Prop Every set has a “base type” (or “category”) Sets are given by characteristic propositional functions { x : A | P(x) } – set(A,P) s S – in(A,s,S) April 2006 One can formulate powersets as … 13 Predicative notion of set Type universe and propositional universe type : Type and T[a:type] : Type (universe of “small types”) prop : Prop and V[p:prop] : Prop (universe of “small propositions”) [a:type,p[x:T[a]]:prop] : prop and V[[a,p]] = [T[a],V◦p] : Prop Predicative notion of set Set[A:Type] : Type set[A:Type,p[x:A]:prop] : Set[A] in[A:Type,x:A,S:Set[A]] : prop in[A,x,set[A,p]] = p[x] : prop April 2006 14 Formalisation in Plastic Plastic (Callaghan [CL01]) Plastic: proof assistant, implementing a logical framework Extending Plastic with “Prop” etc. Formalisation Weyl’s predicative development Nats, Integers, Rationals, and Dedekind cuts. Completion and LUB theorems for real numbers. Other features April 2006 Types as informal “categories” Typed sets Setoids Comparison between predicative and impredicative developments 15