A simple type system with two identity types


 Maximillian Ford
 1 years ago
 Views:
Transcription
1 A simple type system with two identity types Vladimir Voevodsky Started February 23, 201 Work in progress. 1 Introduction We call this system and its further extensions HTS for homotopy type system. It is an extension of the MartinLof type system with some additional constructs which reflect the structures which exist in the target of the canonical univalent model of the MartinLof system. 2 Core inference rules Structural rules for each i N Γ, x : T, Γ where l(γ) = i Γ, x : T, Γ x : T Γ, x : T Γ T d = T Γ T 1 d = T 2 Γ T 2 d = T 1 Γ T 1 d = T 2 Γ T 2 d = T 3 Γ T 1 d = T 3 5. (*) 6. (*) 7. (*) Γ o : T Γ o = d o : T Γ o d 1 = o 2 : T Γ o d 2 = o 1 : T Γ o d 1 = o 2 : T Γ o d 2 = o 3 : T Γ o d 1 = o 3 : T 1
2 8. 9. (*) 10. Γ o : T Γ T = d T Γ o : T Γ o = d o : T Γ T = d T Γ o = d o : T Γ T F ib Γ, x : T Dependent products Γ, x : T 1, y : T 2 Γ, y : [ ](T 1, x.t 2 ) Γ T 1 F ib Γ, x : T 1 T 2 F ib Γ [ ](T 1, x.t 2 ) F ib Γ T 1 d = T 1 Γ, x : T 1, y : T 2 Γ [ ](T 1, x.t 2 ) d = [ ](T 1, x.t 2 ) Γ, x : T 1 T 2 d = T 2 Γ [ ](T 1, x.t 2 ) d = [ ](T 1, x.t 2) Γ, x : T 1 o : T 2 Γ [λ](t 1, x.o) : [ ](T 1, x.t 2 ) Γ T 1 d = T 1 Γ, x : T 1 o : T 2 Γ [λ](t 1, x.o) d = [λ](t 1, x.o) : [ ](T 1, x.t 2 ) Γ, x : T 1 o d = o : T 2 Γ [λ](t 1, x.o) d = [λ](t 1, x.o ) : [ ](T 1, x.t 2 ) Γ f : [ ](T 1, x.t 2 ) Γ o : T 1 Γ [ev](f, o) : T 2 [o/x] 2
3 9. (*) Γ f d = f : [ ](T 1, x.t 2 ) Γ o : T 1 Γ [ev](f, o) d = [ev](f, o) : T 2 [o/x] 10. (*) 1 1 Γ f : [ ](T 1, x.t 2 ) Γ o = o : T 1 Γ [ev](f, o) = d [ev](f, o ) : T 2 [o/x] Γ o 1 : T 1 Γ, x : T 1 o 2 : T 2 Γ [ev]([λ](t 1, x.o 2 ), o 1 ) = d o 2 [o 1 /x] : T 2 [o 1 /x] Γ f : [ ](T 1, x.t 2 ) Γ [λ](t 1, x.[ev](f, x, T 2 [y/x])) = d f : [ ](T 1, x.t 2 ) Exact equality types 5. (*) 6. Γ o 1 : X Γ o 2 : X Γ, x : [Id](o 1, o 2 ) Γ o 1 d = o 1 : X Γ o 2 : X Γ [Id](o 1, o 2 ) d = [Id](o 1, o 2 ) Γ o 1 : X Γ o 2 d = o 2 : X Γ [Id](o 1, o 2 ) d = [Id](o 1, o 2) Γ o : X Γ [refl](o) : [Id](o, o) Γ o d = o : X Γ [refl](o) d = [refl](o ) : [Id](o, o) Γ, x : X Γ o 1 : X Γ, x : X, x : X, e : [Id](x, x ), y : P Γ o 2 : X Γ, x0 : X s0 : P [x0/x, x0/x, [refl](x0)/e] Γ eo : [Id](o 1, o 2 ) Γ [J](X, x.x.e.p, x0.s0, o 1, o 2, eo) : P 7. (*) Behavior of [J] for X d = X, P d = P, o d = o, o 1 d = o 1, o 2 d = o 2 and eo d = eo. 3
4 8. [J](X, x.x.e.p, x0.s0, o, o, [refl](o)) d = s0[o/x0] 9. Γ o 1 : X Γ o 2 : X Γ o : [Id](o 1, o 2 ) Γ o 1 d = o 2 : X Path equality types 5. (*) 6. Γ X F ib Γ o 1 : X Γ o 2 : X Γ [P aths](o 1, o 2 ) F ib Γ X F ib Γ o 1 = o 1 : X Γ o 2 : X Γ [P aths](o 1, o 2 ) d = [P aths](o 1, o 2 ) Γ X F ib Γ o 1 : X Γ o 2 d = o 2 : X Γ [P aths](o 1, o 2 ) d = [P aths](o 1, o 2) Γ X F ib Γ o : X Γ [idpath](o) : [P aths](o, o) Γ X F ib Γ o d = o : X Γ [idpath](o) d = [idpath](o ) : [P aths](o, o) Γ X F ib Γ o 1 : X Γ, x : X, x : X, e : [P aths](x, x ) P F ib Γ o 2 : X Γ, x0 : X s0 : P [x0/x, x0/x, [idpath](x0)/e] Γ eo : [P aths](o 1, o 2 ) Γ [J F ](X, x.x.e.p, x0.s0, o 1, o 2, eo) : P 7. (*) Behavior of [J F ] for X d = X, P d = P, o d = o, o 1 d = o 1, o 2 d = o 2 and eo d = eo. 8. [J F ](X, x.x.e.p, x0.s0, o, o, [idpath](o)) d = s0[o/x0] Universe of all types Γ Γ U F ib Γ o : U Γ, x : [El](o) 4
5 (?) Γ o d = o : U Γ [El](o) d = [El](o ) Γ o : U Γ o : U Γ [El](o) d = [El](o ) Γ o d = o : U Γ o 1 : U Γ, x : [El](o 1 ) o 2 : U Γ [forall](o 1, x.o 2 ) : U Γ o 1 : U Γ, x : [El](o 1 ) o 2 : U Γ [El][forall](o 1, x.o 2 ) d = [ ]([El](o 1 ), x.[el](o 2 )) Γ o : U Γ o 1 : [El](o) Γ o 2 : [El](o) Γ [id](o 1, o 2 ) : U Γ o : U Γ o 1 : [El](o) Γ o 2 : [El](o) Γ [El][id](o 1, o 2 ) d = [Id](o 1, o 2 ) Universe of fibrant types (?) Γ Γ U F F ib Γ o : U F Γ [El F ](o) F ib Γ o d = o : U F Γ [El F ](o) d = [El F ](o ) Γ o : U F Γ o : U F Γ [El F ](o) d = [El F ](o ) 5. Γ o 1 : U F Γ o d = o : U F Γ, x : [El F ](o 1 ) o 2 : U F Γ [forall F ](o 1, x.o 2 ) : U F 5
6 Γ o 1 : U F Γ, x : [El F ](o 1 ) o 2 : U F Γ [El F ][forall F ](o 1, x.o 2 ) d = [ ]([El F ](o 1 ), x.[el F ](o 2 )) Γ o : U F Γ o 1 : [El F ](o) Γ o 2 : [El F ](o) Γ [paths](o 1, o 2 ) : U F Γ o : U F Γ o 1 : [El F ](o) Γ o 2 : [El F ](o) Γ [El F ][paths](o 1, o 2 ) d = [P aths](o 1, o 2 ) Universe inclusion Γ Γ [j] : [ ](U F, x.u) Γ o : U F Γ [El F ](o) d = [El][ev]([j], o) Resizing rules Γ T F ib Γ p : W eq(t, [El F ](t )) Γ [rr0](t, t, p) : U F Γ T F ib Γ p : W eq(t, [El F ](t )) Γ [El F ][rr0](t, t, p) d = T Γ T F ib Γ p : Ishprop(T ) Γ [rr1](t, p) : U F Γ T F ib Γ p : Ishprop(T ) Γ [El F ][rr1](t, p) d = T The system described above is the smallest system where some interesting mathematics can be developed. One can also consider the following additional constructions: The unit type and dependent sums 6
7 The inference rules are the usual ones. The ηrules saying that x = d pair (pr1 x) (pr2 x) for x in a dependent sum and x = d x for x, x in the unit type are derivable. The unit type is fibrant and the dependent sum where both arguments are fibrant is fibrant. There are unit as object of U F and dependent sum operation on families of objects of U (reps. U F ) parametrized by types given by object of U (reps. U F ). The empty type and disjoint union The inference rules are the usual ones. The ηrules are derivable. The empty type is fibrant and the disjoint union of two fibrant types is fibrant. There are empty as object of U F and obvious disjoint union operation on objects of U (reps. U F ). Recursive types As far as I understand the material of the last section of the Notes on Type systems can be made precise in this type systems. Namely, there is a way to express any strictly positive inductive definition as a combination of the constructions already discussed with parametrized Wtypes. The later correspond to the inductive definitions of Coq of the form Inductive IC(A:Type)(a:A)(B:A>Type)(D:forall x:a, ( B x > Type ))(q:forall x:a, forall y:b x, forall z: D x y, A):= c: forall b:b a, forall f : (forall d: D a b, IC A (q a b d) B D q), IC A a B D q. and introduced by the inference rule for the type and Γ a : A Γ, x : A, y : B, z : D q : A Γ, w : [IC](A, a, x.b, x.y.d, x.y.z.q) Γ a : A Γ, x : A, y : B, z : D q : A Γ b : B[a/x] Γ, z : D[a/x, b/y] f : ICqa Γ [c](a, a, x.b, x.y.d, x.y.z.q, b, z.f) : [IC](A, a, x.b, x.y.d, x.y.z.q) for the constructor. The inference rule for the eliminator can be more or less copied from the type of IC rect printed by Coq. Similarly one can write down the computation rule (definitional equality associated with the eliminator) from the general such rules used in Coq. The type IC is fibrant if all the arguments are fibrant i.e. if one has Γ A F ib Γ, x : A B F ib Γ, x : A, b : B D F ib There are obvious versions of IC on the level of the universes U and U F. 7
8 In particular, in this system the datatypes such as the types of natural numbers or binary trees can be expressed through the Wtypes obtaining types which have both the computation rules obtained in the strictly positive formalism as well as recursive ηrules which allow to prove definitional equality by induction. It will be very interesting to extend to this system the formalism of more general inductive definitions (such as inductiveinductive and inductiverecursive). Multiple universes The system of multiple universes connected by explicit inclusions as in the specification of TS0 is easy to add to HTS. There will be two universes for each universe  one for all types and one for fibrant types. Univalence axiom Univalence axiom can be formulated in the usual way. It should use path equalities and U F. Elementary properties of the system Lemma 1 [strars] The inference rules which are marked with (*) follow from the other inference rules. Proof: Straightforward by transforming definitional equality into exact equality, using J and transforming the exact equality back to the definitional one using the reflexion rule. Lemma 2 [uip] In any type system with exact equality [Id], [ref l], [J] satisfying inference rules given above one has: Γ e 1 : [Id](o 1, o 2 ) Γ e 2 : [Id](o 1, o 2 ) Γ e 1 d = e 2 : [Id](o 1, o 2 ) Proof: It is sufficient to apply J with P defined by which is derivable since Γ, x 1 : X, x 2 : X, e : [Id](x 1, x 2 ), ϕ : [Id](e, [refl](x 1 )) Γ, x 1 : X, x 2 : X, e : [Id](x 1, x 2 ) [refl](x 1 ) : [Id](x 1, x 2 ) is derivable using the reflection rule. Lemma 3 [funext] In any type system with the dependent products and exact equality satisfying the inference rules as above the functional extensionality holds for the exact equality. Proof: Straightforward from the rule ensuring that definitional equality propagates through λ. 8
Dependent Types at Work
Dependent Types at Work Ana Bove and Peter Dybjer Chalmers University of Technology, Göteborg, Sweden {bove,peterd}@chalmers.se Abstract. In these lecture notes we give an introduction to functional programming
More information(LMCS, p. 317) V.1. First Order Logic. This is the most powerful, most expressive logic that we will examine.
(LMCS, p. 317) V.1 First Order Logic This is the most powerful, most expressive logic that we will examine. Our version of firstorder logic will use the following symbols: variables connectives (,,,,
More informationBasic Concepts of Point Set Topology Notes for OU course Math 4853 Spring 2011
Basic Concepts of Point Set Topology Notes for OU course Math 4853 Spring 2011 A. Miller 1. Introduction. The definitions of metric space and topological space were developed in the early 1900 s, largely
More informationSettheoretic Foundation of Parametric Polymorphism and Subtyping
Settheoretic Foundation of Parametric Polymorphism and Subtyping Giuseppe Castagna 1 Zhiwu Xu 1,2 1 CNRS, Laboratoire Preuves, Programmes et Systèmes, Univ Paris Diderot, Sorbonne Paris Cité, Paris, France.
More informationA SetTheoretical Definition of Application
A SetTheoretical Definition of Application Gordon Plotkin 1 1 Department of Computer Science, University of Edinburgh, King s Buildings, Edinburgh EH9 3JZ, UK. Preface This paper is in two parts. Part
More informationMODELS OF SET THEORY
MODELS OF SET THEORY STEFAN GESCHKE Contents 1. First order logic and the axioms of set theory 2 1.1. Syntax 2 1.2. Semantics 2 1.3. Completeness, compactness and consistency 3 1.4. Foundations of mathematics
More informationHow many numbers there are?
How many numbers there are? RADEK HONZIK Radek Honzik: Charles University, Department of Logic, Celetná 20, Praha 1, 116 42, Czech Republic radek.honzik@ff.cuni.cz Contents 1 What are numbers 2 1.1 Natural
More informationAN INTRODUCTION TO SET THEORY. Professor William A. R. Weiss
AN INTRODUCTION TO SET THEORY Professor William A. R. Weiss October 2, 2008 2 Contents 0 Introduction 7 1 LOST 11 2 FOUND 19 3 The Axioms of Set Theory 23 4 The Natural Numbers 31 5 The Ordinal Numbers
More information1 Sets and Set Notation.
LINEAR ALGEBRA MATH 27.6 SPRING 23 (COHEN) LECTURE NOTES Sets and Set Notation. Definition (Naive Definition of a Set). A set is any collection of objects, called the elements of that set. We will most
More informationSETTHEORETIC CONSTRUCTIONS OF TWOPOINT SETS
SETTHEORETIC CONSTRUCTIONS OF TWOPOINT SETS BEN CHAD AND ROBIN KNIGHT AND ROLF SUABEDISSEN Abstract. A twopoint set is a subset of the plane which meets every line in exactly two points. By working
More informationNotes on Richard Dedekind s Was sind und was sollen die Zahlen?
Notes on Richard Dedekind s Was sind und was sollen die Zahlen? David E. Joyce, Clark University December 2005 Contents Introduction 2 I. Sets and their elements. 2 II. Functions on a set. 5 III. Onetoone
More informationZombies cannot be there
Zombies cannot be there Marco Giunti University of Cagliari email: giunti@unica.it homepage: http://giuntihome.dadacasa.supereva.it 1 THE PROBLEM OF PHENOMENAL CONSCIOUSNESS IN LATE 20 TH CENTURY 2 THE
More informationMaximizing the Spread of Influence through a Social Network
Maximizing the Spread of Influence through a Social Network David Kempe Dept. of Computer Science Cornell University, Ithaca NY kempe@cs.cornell.edu Jon Kleinberg Dept. of Computer Science Cornell University,
More informationSwitching Algebra and Logic Gates
Chapter 2 Switching Algebra and Logic Gates The word algebra in the title of this chapter should alert you that more mathematics is coming. No doubt, some of you are itching to get on with digital design
More informationFormal verification of a Clike memory model and its uses for verifying program transformations
Journal of Automated Reasoning manuscript No. (will be inserted by the editor) Formal verification of a Clike memory model and its uses for verifying program transformations Xavier Leroy Sandrine Blazy
More informationSome elements of elementary set theory MAT2200 Spring 2011 By Geir Ellingsud
Some elements of elementary set theory MAT2200 Spring 2011 By Geir Ellingsud Most of what this document contains is probably well known to most of you, but still I think it is useful to cast a glance at
More informationOn SetBased Multiobjective Optimization
1 On SetBased Multiobjective Optimization Eckart Zitzler, Lothar Thiele, and Johannes Bader Abstract Assuming that evolutionary multiobjective optimization (EMO) mainly deals with set problems, one can
More informationAlgebra & Number Theory. A. Baker
Algebra & Number Theory [0/0/2009] A. Baker Department of Mathematics, University of Glasgow. Email address: a.baker@maths.gla.ac.uk URL: http://www.maths.gla.ac.uk/ ajb Contents Chapter. Basic Number
More informationREEDY CATEGORIES AND THEIR GENERALIZATIONS MICHAEL SHULMAN
REEDY CATEGORIES AND THEIR GENERALIZATIONS MICHAEL SHULMAN Abstract. We observe that the Reedy model structure on a diagram category can be constructed by iterating an operation of bigluing model structures
More informationAn Introductory Course in Elementary Number Theory. Wissam Raji
An Introductory Course in Elementary Number Theory Wissam Raji 2 Preface These notes serve as course notes for an undergraduate course in number theory. Most if not all universities worldwide offer introductory
More informationAll of mathematics can be described with sets. This becomes more and
CHAPTER 1 Sets All of mathematics can be described with sets. This becomes more and more apparent the deeper into mathematics you go. It will be apparent in most of your upper level courses, and certainly
More informationChoice principles in constructive and classical set theories
Choice principles in constructive and classical set theories Michael Rathjen Department of Pure Mathematics, University of Leeds Leeds LS2 9JT, United Kingdom EMail: rathjen@amsta.leeds.ac.uk Abstract
More informationReading material on the limit set of a Fuchsian group
Reading material on the limit set of a Fuchsian group Recommended texts Many books on hyperbolic geometry and Kleinian and Fuchsian groups contain material about limit sets. The presentation given here
More informationMEP Y9 Practice Book A
1 Base Arithmetic 1.1 Binary Numbers We normally work with numbers in base 10. In this section we consider numbers in base 2, often called binary numbers. In base 10 we use the digits 0, 1, 2, 3, 4, 5,
More informationTreerepresentation of set families and applications to combinatorial decompositions
Treerepresentation of set families and applications to combinatorial decompositions BinhMinh BuiXuan a, Michel Habib b Michaël Rao c a Department of Informatics, University of Bergen, Norway. buixuan@ii.uib.no
More informationEquivalence in Answer Set Programming
Equivalence in Answer Set Programming Mauricio Osorio, Juan Antonio Navarro, José Arrazola Universidad de las Américas, CENTIA Sta. Catarina Mártir, Cholula, Puebla 72820 México {josorio, ma108907, arrazola}@mail.udlap.mx
More informationDependently Typed Programming in Agda
Dependently Typed Programming in Agda Ulf Norell 1 and James Chapman 2 1 Chalmers University, Gothenburg ulfn@chalmers.se 2 Institute of Cybernetics, Tallinn james@cs.ioc.ee 1 Introduction In HindleyMilner
More informationAsymptotic Improvement of Computations over Free Monads
Asymptotic Improvement of Computations over Free Monads Janis Voigtländer Institut für Theoretische Informatik Technische Universität Dresden 01062 Dresden, Germany janis.voigtlaender@acm.org Abstract.
More information15251: Great Theoretical Ideas in Computer Science Anupam Gupta Notes on Combinatorial Games (draft!!) January 29, 2012
15251: Great Theoretical Ideas in Computer Science Anupam Gupta Notes on Combinatorial Games (draft!!) January 29, 2012 1 A TakeAway Game Consider the following game: there are 21 chips on the table.
More informationOPRE 6201 : 2. Simplex Method
OPRE 6201 : 2. Simplex Method 1 The Graphical Method: An Example Consider the following linear program: Max 4x 1 +3x 2 Subject to: 2x 1 +3x 2 6 (1) 3x 1 +2x 2 3 (2) 2x 2 5 (3) 2x 1 +x 2 4 (4) x 1, x 2
More information