- 103 Views
- Uploaded on
- Presentation posted in: General

LTT: a type-theoretic framework for foundational pluralism

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

LTT: a type-theoretic frameworkfor foundational pluralism

Zhaohui Luo

Dept of Computer Science

Royal Holloway, Univ of London

- Proof assistants based on TTs
- Agda (Sweden/Japan) and NuPRL (USA)
- implementing Martin-Löf’s type theory

- Coq (France), Lego/Plastic (UK)
- implementing CIC (Calculus of Inductive Constructions) and
ECC/UTT (Unifying Theory of dependent Types)

- implementing CIC (Calculus of Inductive Constructions) and

- Agda (Sweden/Japan) and NuPRL (USA)
- Application examples
- Computer science
- Program verification (eg, analysis of security protocols)
- Dependently-typed programming

- Formalisation of mathematics
- Four-colour Theorem in Coq

- Computer science

- Two extreme positions in FOM
- Neo-platonism (eg, set-theoretic foundation: Gödel/Maddy)
- Revisionists (eg, intuitionism: Brouwer/Martin-Löf)

- A pragmatic position – “pluralism”
- Various maths based on different logical foundations
- “Foundational pluralism”

- Support in type theory and the associated tech?
- Theorem proving technology based on TTs is not just for constructive reasoning!
- Eg, Classical logic as well as intuitionistic logic

- Consider the “combinations” of the following and their “negations”:
(C)Classical logic

(I) Impredicative definitions

We would have

- (CI) Ordinary (classical, impredicative) math
Classical set theory/simple type theory, HOL/Isabelle

- (C°I°)Predicative constructive math
Martin-Löf’s TT, Agda/NuPRL

- (C°I)Impredicative constructive math
CIC/ECC/UTT, Coq/Lego/Plastic

- (CI°)Predicative classical math
Weyl, Feferman, Simpson, …

Uniform foundational framework for formalisation to support pluralism?

- (CI) Ordinary (classical, impredicative) math

- Current type theories
- Strong in type-theoretic reasoning (eg, inductive types)
- Not so strong in set-theoretic reasoning
- Note: Types are NOT sets! (cf, non-inductive sets)
- “a : A” – judgemental, meta-level
- “s S” – propositional

- How should set-theoretic reasoning be supported?
- Traditional (untyped) ZF set theory? (cf, Isabelle/ZF)
- Combining with type-theoretic reasoning?

- Two roles of (the usual notion of) sets:
- Domain/range of functions: f : AB
- Separation/selection from a domain: { x : A | P(x) }
Now, types for (i) and typed sets for (ii)!

LTT = LF + Logic-enriched TTs + Typed Sets

- LF – Logical framework (cf, Edin LF, Martin-Löf’s LF, PAL+, …)
- Logic-enriched type theories [Aczel/Gambino02,06]
- Typed sets: sets with base types (see later)
LTT = Logics + Types Logic Types

- Logics – specified in LF \ /
- Types – inductive types + types of sets \ /
LF

(Luo 2007, LNCS 4435.)

- Types and propositions:
- Two worlds: objects in the “real world” and their properties (cf, ECC/UTTLTT)
- Types
- Eg, inductive types like N, x:A.B, List(A), Tree(A), …
- Eg, types of sets like Set(A)

- Propositions:
- Describing properties of objects (x:A.P(x) with type A)
- Classical laws may be introduced
- eg, double negation: DN[P,p] : Prf(P), if P : Prop and p : Prf(¬¬P).

- Induction rules
- Linking the world of logical propositions and that of types
- Enabling proofs of properties about objects of types

- Formation and introduction
- N : Type
- 0 : N
- succ(n) : N, for n : N

- Elimination over types and computation:
- ElimT(C,c,f,n) : C(n), for C(n) : Type where n : N
- Plus computational rules for ElimT: eg,
ElimT(C,c,f,0) = c

ElimT(C,c,f,succ(n)) = f(n,ElimT(C,c,f,n))

- Induction over propositions:
- ElimP(P,c,f,n) : P(n), for P(n) : Prop where n : N
- Key to prove logical properties of natural numbers

- Typed sets
- Set(A) : Type for A : Type
- { x:A | P(x) } : Set(A)
- t { x:A | P(x) } means P(t)
(cf, de Bruijn’s use of this terminology)

- t { x:A | P(x) } means P(t)

- Impredicativity and predicativity
- Impredicative sets (LTTi)
- A can be any type (e.g., Set(B))
- P(x) can be any proposition
- eg, P(x) = s:Set(N). sS & xs, for S : Set(Set(N))

- Predicative sets (LTTp)
- Universes of small types and small propositions
- A must be small (in particular, A is not Set(…))
- P(x) must be small (not allowing quantifications over sets)

- Impredicative sets (LTTi)

- Plastic (Callaghan/Luo 2001)
- Proof assistant
- Plastic implements LF and inductive types (UTT)

- Implemention of LTT in Plastic (Callaghan)
- Simple extension of Plastic

- Case studies
- Formalisation of Weyl’s predicative mathematics (Adams/Luo 2007, LNCS 4502)
- Analysis of security protocols (Luo 2007, LNCS 4435)
- OO-modelling and verification (in progress)

- H. Weyl. The Continuum (Das Kontinuum), 1918.
- Historical development (paradox etc.)
- Predicative development of the real number system
- The notion of category
- Classical logic

- Weyl/Feferman/Simpson’s work on predicativity
- Predicativity (E.g., { x | φ(x) } with φ being “arithmetical” – without quantification over sets)

- Formalisation of Weyl’s book in Plastic
- In LTT, use classical logic and predicative sets
- Weyl’s categories as types
- “Exact match” (and further research …)

- Functional model
- Cf, work by Abadi, Bruce, Cardelli, Kamin, Pierce, …
OO F ??

- Features such as bounded quantification (BQ) are problematic.

- Cf, work by Abadi, Bruce, Cardelli, Kamin, Pierce, …
- Modelling OO-features in intensional type theory (ITT)
- LTT with classical logic
- LTT is “intensional”: no problematic features such as BQ or extensional features such as -like equalities.
- A model in an intensional TT will lead to, eg, verification of programs with OO-features (eg, in Coq)
OO ITT Coq/Plastic/…

- Work in progress (S. Han)
- OO-model and verification of OO-programs in Coq

- Future Work
- Eg, automatic translation (OO-programs models, properties propositions, … )