Ltt a type theoretic framework for foundational pluralism
This presentation is the property of its rightful owner.
Sponsored Links
1 / 12

LTT: a type-theoretic framework for foundational pluralism PowerPoint PPT Presentation


  • 98 Views
  • Uploaded on
  • Presentation posted in: General

LTT: a type-theoretic framework for foundational pluralism. Zhaohui Luo Dept of Computer Science Royal Holloway, Univ of London. Type theory and applications. Proof assistants based on TTs Agda (Sweden/Japan) and NuPRL (USA) implementing Martin-L öf’s type theory

Download Presentation

LTT: a type-theoretic framework for foundational pluralism

An Image/Link below is provided (as is) to download presentation

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 - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


Ltt a type theoretic framework for foundational pluralism

LTT: a type-theoretic frameworkfor foundational pluralism

Zhaohui Luo

Dept of Computer Science

Royal Holloway, Univ of London


Type theory and applications

Type theory and applications

  • 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)

  • Application examples

    • Computer science

      • Program verification (eg, analysis of security protocols)

      • Dependently-typed programming

    • Formalisation of mathematics

      • Four-colour Theorem in Coq


Foundational pluralism

Foundational pluralism

  • 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


Type theory and applications

  • 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?


Set theoretic reasoning in type theory

Set-theoretic reasoning in type theory?

  • 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 : AB

    • Separation/selection from a domain: { x : A | P(x) }

      Now, types for (i) and typed sets for (ii)!


Type theoretic framework ltt structure

Type-theoretic framework LTT: structure

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.)


Key components of ltt i types props

Key components of LTT (I): types & props

  • Types and propositions:

    • Two worlds: objects in the “real world” and their properties (cf, ECC/UTTLTT)

    • 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


Example of inductive types natural numbers

Example of inductive types: natural numbers

  • 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


Key components of ltt ii typed sets

Key components of LTT (II): typed sets

  • 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)

  • 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). sS & xs, 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)


Implementations and case studies

Implementations and case studies

  • 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)


Formalisation of weyl s predicative math

Formalisation of Weyl’s predicative math

  • 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 …)


Oo modelling in intensional type theory

OO-modelling in intensional type theory

  • Functional model

    • Cf, work by Abadi, Bruce, Cardelli, Kamin, Pierce, …

      OO  F ??

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

  • 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, … )


  • Login