Programming and Proving with Higher Inductive Types

Size: px
Start display at page:

Download "Programming and Proving with Higher Inductive Types"

Transcription

1 Programming and Proving with Higher Inductive Types Dan Licata Wesleyan University Department of Mathematics and Computer Science

2 Constructive Type Theory Three senses of constructivity: [Martin-Löf] 2

3 Constructive Type Theory [Martin-Löf] Three senses of constructivity: Non-affirmation of certain classical principles provides axiomatic freedom 2

4 Synthetic geometry Euclid s postulates 1. To draw a straight line from any point to any point. 2. To produce a finite straight line continuously in a straight line. 3. To describe a circle with any center and distance. 4. That all right angles are equal to one another. 5. That, if a straight line falling on two straight lines make the interior angles on the same side less than to right angles,the two straight lines, if produced indefinitely, meet on that side on which are the angles less than the to right angles. 3

5 Synthetic geometry Euclid s postulates 1. To draw a straight line from any point to any point. 2. To produce a finite straight line continuously in a straight line. 3. To describe a circle with any center and distance. 4. That all right angles are equal to one another. 5. That, if a straight line falling on two straight lines make the interior angles on the same side less than to right angles,the two straight lines, if produced indefinitely, meet on that side on which are the angles less than the to right angles. Cartesian 3

6 Synthetic geometry Euclid s postulates 1. To draw a straight line from any point to any point. 2. To produce a finite straight line continuously in a straight line. 3. To describe a circle with any center and distance. 4. That all right angles are equal to one another. 5. That, if a straight line falling on two straight lines make the interior angles on the same side less than to right angles,the two straight lines, if produced indefinitely, meet on that side on which are the angles less than the to right angles. models Cartesian 3

7 Synthetic geometry Euclid s postulates 1. To draw a straight line from any point to any point. 2. To produce a finite straight line continuously in a straight line. 3. To describe a circle with any center and distance. 4. That all right angles are equal to one another. models Cartesian 3

8 Synthetic geometry Euclid s postulates 1. To draw a straight line from any point to any point. 2. To produce a finite straight line continuously in a straight line. 3. To describe a circle with any center and distance. 4. That all right angles are equal to one another. models Cartesian Spherical 3

9 Synthetic geometry Euclid s postulates 1. To draw a straight line from any point to any point. 2. To produce a finite straight line continuously in a straight line. 3. To describe a circle with any center and distance. 4. That all right angles are equal to one another. 5. Two distinct lines meet at two antipodal points. models Cartesian Spherical 3

10 Synthetic mathematics Type theory 1.τ ::= b τ 1 τ 2 2.e ::= x e 1 e 2 λx.e 3.(λx.e)e 2 = e[e 2 /x] 4

11 Synthetic mathematics Type theory 1.τ ::= b τ 1 τ 2 2.e ::= x e 1 e 2 λx.e 3.(λx.e)e 2 = e[e 2 /x] Set-theoretic functions 4

12 Synthetic mathematics Type theory 1.τ ::= b τ 1 τ 2 2.e ::= x e 1 e 2 λx.e 3.(λx.e)e 2 = e[e 2 /x] Set-theoretic functions Domain-theoretic functions 4

13 Synthetic mathematics Type theory Set-theoretic functions 1.τ ::= b τ 1 τ 2 2.e ::= x e 1 e 2 λx.e 3.(λx.e)e 2 = e[e 2 /x] 4.Y(f) = f(y(f)) Domain-theoretic functions 4

14 Constructive Type Theory Three senses of constructivity: 5

15 Constructive Type Theory Three senses of constructivity: Non-affirmation of certain classical principles provides axiomatic freedom 5

16 Constructive Type Theory Three senses of constructivity: Non-affirmation of certain classical principles provides axiomatic freedom Computational interpretation supports software verification and proof automation 5

17 Computational Interpretation There is an algorithm that, given a closed program e : bool, computes either an equality e = true, or an equality e = false. 6

18 Computational Interpretation There is an algorithm that, given a closed program e : bool, computes either an equality e = true, or an equality e = false. Requires functions with arbitrary domain/ range to be computable, but stating theorem for bool offers some flexibility 6

19 Computational Interpretation There is an algorithm that, given a closed program e : bool, computes either an equality e = true, or an equality e = false. Requires functions with arbitrary domain/ range to be computable, but stating theorem for bool offers some flexibility Basis for software verification and proof automation 6

20 Constructive Type Theory Three senses of constructivity: Non-affirmation of certain classical principles provides axiomatic freedom Computational interpretation supports software verification and proof automation 7

21 Constructive Type Theory Three senses of constructivity: Non-affirmation of certain classical principles provides axiomatic freedom Computational interpretation supports software verification and proof automation Props-as-types allows proof-relevant mathematics 7

22 Proof relevance x : A 8

23 Proof relevance x : A x =A y equality type 8

24 Proof relevance x : A p : x =A y equality type 8

25 Proof relevance x : A p : x =A y equality type Any structure or property C can be transported along an equality 8

26 Proof relevance x : A p : x =A y equality type Any structure or property C can be transported along an equality transport C (p) : C(x)! C(y) 8

27 Proof relevance x : A p : x =A y equality type Any structure or property C can be transported along an equality transport C (p) : C(x)! C(y) Leibniz s indiscernability of identicals 8

28 Proof relevance x : A p : x =A y equality type Any structure or property C can be transported along an equality transport C (p) : C(x)! C(y) Leibniz s indiscernability of identicals by a function: can it do real work? 8

29 Proof relevance x : A p : x =A y equality type 9

30 Proof relevance x : A p : x =A y equality type p1 = x=y p2 9

31 Proof relevance x : A p : x =A y equality type q : p1 = x=y p2 9

32 Proof relevance x : A p : x =A y equality type q : p1 = x=y p2 q1 = p1=p2 q2 9

33 Proof relevance x : A p : x =A y equality type q : p1 = x=y p2 r : q1 = p1=p2 q2 9

34 ... Proof relevance x : A p : x =A y equality type q : p1 = x=y p2 r : q1 = p1=p2 q2 higher equalities radically expand the kind of math that can be done synthetically 9

35 Homotopy Type Theory type theory category theory homotopy theory [Hofmann,Streicher,Awodey,Warren,Voevodsky Lumsdaine,Gambino,Garner,van den Berg] 10

36 Types as spaces α M N 11

37 Types as spaces type A is a space α M N 11

38 Types as spaces type A is a space α M N programs M:A are points 11

39 Types as spaces type A is a space α M N programs M:A are points proofs of equality α : M =A N are paths 11

40 Types as spaces type A is a space α path operations M N programs M:A are points proofs of equality α : M =A N are paths 11

41 Types as spaces type A is a space id α N M path operations id : M = M (refl) programs M:A are points proofs of equality α : M =A N are paths 11

42 Types as spaces type A is a space id α α -1 N M path operations id : M = M (refl) α -1 : N = M (sym) programs M:A are points proofs of equality α : M =A N are paths 11

43 Types as spaces type A is a space id α α -1 N M β P path operations id : M = M (refl) α -1 : N = M (sym) β o α : M = P (trans) programs M:A are points proofs of equality α : M =A N are paths 11

44 Homotopy Deformation of one path into another α β 12

45 Homotopy Deformation of one path into another α β 12

46 Homotopy Deformation of one path into another α = 2-dimensional path between paths β 12

47 Homotopy Deformation of one path into another α β = 2-dimensional path between paths δ : α =x=y β 12

48 Homotopy Deformation of one path into another α β = 2-dimensional path between paths δ : α =x=y β Then homotopies between homotopies. 12

49 Types as spaces type A is a space id α α -1 N M β path operations id : M = M (refl) α -1 : N = M (sym) β o α : M = P (trans) programs M:A are points P proofs of equality α : M =A N are paths homotopies ul : id o α = M=N α il : α -1 o α = M=M id asc : γ o (β o α) =M=P (γ o β) o α 13

50 Homotopy Type Theory type theory category theory homotopy theory [Hofmann,Streicher,Awodey,Warren,Voevodsky Lumsdaine,Gambino,Garner,van den Berg] 14

51 Types as -groupoids type A is an -groupoid infinite-dimensional algebraic structure, with morphisms, morphisms between morphisms,... each level has a groupoid structure, and they interact morphisms id : M = M (refl) α -1 : N = M (sym) β o α : M = P (trans) morphisms between morphisms ul : id o α = M=N α il : α -1 o α = M=M id asc : γ o (β o α) =M=P (γ o β) o α 15

52 Path induction Type of paths from a to somewhere y2 p2 y1 y3 p1 p3 a is inductively generated by id a 16

53 Path induction Type of paths from a to somewhere y2 p2 y1 y3 p1 p3 a is inductively generated by id a Fix a type A with element a:a. For a family of types C(y:A, p:a=y), to give an element of C(y,p) for all y and p:a=y, suffices to give an element of C(a,id) 16

54 Type theory is a synthetic theory of spaces/ -groupoids 17

55 Homotopy Type Theory type theory new programs and types category theory homotopy theory 18

56 Univalence [Voevodsky] 19

57 Univalence [Voevodsky] Equivalence of types is a generalization to spaces of bijection of sets 19

58 Univalence [Voevodsky] Equivalence of types is a generalization to spaces of bijection of sets Univalence axiom: equality of types (A =Type B) is (equivalent to) equivalence of types (Equiv A B) 19

59 Univalence [Voevodsky] Equivalence of types is a generalization to spaces of bijection of sets Univalence axiom: equality of types (A =Type B) is (equivalent to) equivalence of types (Equiv A B) all structures/properties respect equivalence 19

60 Univalence [Voevodsky] Equivalence of types is a generalization to spaces of bijection of sets Univalence axiom: equality of types (A =Type B) is (equivalent to) equivalence of types (Equiv A B) all structures/properties respect equivalence Not by collapsing equivalence, but by exploiting proof-relevant equality: transport does real work 19

61 Higher inductive types [Bauer,Lumsdaine,Shulman,Warren] New way of forming types: Inductive type specified by generators not only for points (elements), but also for paths 20

62 Constructivity Non-affirmation of classical principles Computational interpretation? Proof-relevant mathematics 21

63 Homotopy Type Theory type theory new programs and types new possibilities for computerchecked proofs category theory homotopy theory 22

64 Outline 1.Certified homotopy theory 2.Certified software 23

65 Outline 1.Certified homotopy theory 2.Certified software 24

66 Homotopy Theory A branch of topology, the study of spaces and continuous deformations 25 [image from wikipedia]

67 Homotopy in HoTT π1(s 1 ) = Z πk<n(s n ) = 0 Hopf fibration π2(s 2 ) = Z π3(s 2 ) = Z James Construction Freudenthal πn(s n ) = Z K(G,n) Cohomology axioms Blakers-Massey Van Kampen Covering spaces Whitehead for n-types π4(s 3 ) = Z? [Brunerie, Finster, Hou, Licata, Lumsdaine, Shulman] 26

68 Homotopy in HoTT π1(s 1 ) = Z πk<n(s n ) = 0 Hopf fibration π2(s 2 ) = Z π3(s 2 ) = Z James Construction Freudenthal πn(s n ) = Z K(G,n) Cohomology axioms Blakers-Massey Van Kampen Covering spaces Whitehead for n-types π4(s 3 ) = Z? [Brunerie, Finster, Hou, Licata, Lumsdaine, Shulman] 26

69 Homotopy Groups Homotopy groups of a space X: π1(x) is fundamental group (group of loops) π2(x) is group of homotopies (2-dimensional loops) π3(x) is group of 3-dimensional loops 27

70 Telling spaces apart = 28

71 Telling spaces apart = fundamental group is non-trivial (Z Z) fundamental group is trivial 28

72 The Circle Circle S 1 is a higher inductive type generated by loop base 29

73 The Circle Circle S 1 is a higher inductive type generated by base : S 1 loop : base = base base loop 29

74 The Circle Circle S 1 is a higher inductive type generated by point base : S 1 loop : base = base base loop 29

75 The Circle Circle S 1 is a higher inductive type generated by point path base : S 1 loop : base = base base loop 29

76 The Circle Circle S 1 is a higher inductive type generated by point path base : S 1 loop : base = base loop -1 id base loop Free type: equipped with structure id loop -1 inv : loop o loop -1 = id... loop o loop 29

77 The Circle Circle recursion: function S 1! X determined by base loop base : X loop : base = base base loop 30

78 The Circle Circle recursion: function S 1! X determined by base loop base : X loop : base = base base loop Circle induction: To prove a predicate P for all points on the circle, suffices to prove P(base), continuously in the loop 30

79 Fundamental group of circle How many different loops are there on the circle, up to homotopy? base loop 31

80 Fundamental group of circle How many different loops are there on the circle, up to homotopy? id base loop 31

81 Fundamental group of circle How many different loops are there on the circle, up to homotopy? id loop base loop 31

82 Fundamental group of circle How many different loops are there on the circle, up to homotopy? id loop loop -1 base loop 31

83 Fundamental group of circle How many different loops are there on the circle, up to homotopy? id loop loop -1 loop o loop base loop 31

84 Fundamental group of circle How many different loops are there on the circle, up to homotopy? id loop loop -1 loop o loop loop -1 o loop -1 base loop 31

85 Fundamental group of circle How many different loops are there on the circle, up to homotopy? id loop loop -1 loop o loop loop -1 o loop -1 loop o loop -1 base loop 31

86 Fundamental group of circle How many different loops are there on the circle, up to homotopy? id loop loop -1 loop o loop loop -1 o loop -1 base loop loop o loop -1 = id 31

87 Fundamental group of circle How many different loops are there on the circle, up to homotopy? base loop id 0 loop loop -1 loop o loop loop -1 o loop -1 loop o loop -1 = id 31

88 Fundamental group of circle How many different loops are there on the circle, up to homotopy? base loop id loop 0 1 loop -1 loop o loop loop -1 o loop -1 loop o loop -1 = id 31

89 Fundamental group of circle How many different loops are there on the circle, up to homotopy? base loop id loop loop loop o loop loop -1 o loop -1 loop o loop -1 = id 31

90 Fundamental group of circle How many different loops are there on the circle, up to homotopy? base loop id loop loop -1 loop o loop loop -1 o loop -1 loop o loop -1 = id 31

91 Fundamental group of circle How many different loops are there on the circle, up to homotopy? base loop id loop loop -1 loop o loop loop -1 o loop loop o loop -1 = id 31

92 Fundamental group of circle How many different loops are there on the circle, up to homotopy? base loop id loop loop -1 loop o loop loop -1 o loop -1 loop o loop -1 = id

93 Fundamental group of circle How many different loops are there on the circle, up to homotopy? base loop id loop loop -1 loop o loop loop -1 o loop integers are codes for paths on the circle loop o loop -1 = id 0 31

94 Fundamental group of circle Definition. Ω(S 1 ) is the type of loops at base i.e. the type (base =S1 base) 32

95 Fundamental group of circle Definition. Ω(S 1 ) is the type of loops at base i.e. the type (base =S1 base) Theorem. Ω(S 1 ) is equivalent to Z, by a map that sends o to + 32

96 Fundamental group of circle Definition. Ω(S 1 ) is the type of loops at base i.e. the type (base =S1 base) Theorem. Ω(S 1 ) is equivalent to Z, by a map that sends o to + Corollary: Fundamental group of the circle is isomorphic to Z 32

97 Fundamental group of circle Definition. Ω(S 1 ) is the type of loops at base i.e. the type (base =S1 base) Theorem. Ω(S 1 ) is equivalent to Z, by a map that sends o to + Corollary: Fundamental group of the circle is isomorphic to Z 0-truncation (set of connected components) of Ω(S 1 ) 32

98 Fundamental group of circle Theorem. Ω(S 1 ) is equivalent to Z Proof (Shulman, L.): two mutually inverse functions wind : Ω(S 1 )! Z loop - : Z! Ω(S 1 ) 33

99 Fundamental group of circle Theorem. Ω(S 1 ) is equivalent to Z Proof (Shulman, L.): two mutually inverse functions wind : Ω(S 1 )! Z loop - : Z! Ω(S 1 ) loop 0 = id loop +n = loop o loop o loop (n times) loop -n = loop -1 o loop -1 o loop -1 (n times) 33

100 Universal Cover wind : Ω(S 1 )! Z defined by lifting a loop to the cover, and giving the other endpoint of 0 34

101 Universal Cover wind : Ω(S 1 )! Z defined by lifting a loop to the cover, and giving the other endpoint of 0 lifting is functorial 34

102 Universal Cover wind : Ω(S 1 )! Z defined by lifting a loop to the cover, and giving the other endpoint of 0 lifting is functorial lifting loop adds 1 34

103 Universal Cover wind : Ω(S 1 )! Z defined by lifting a loop to the cover, and giving the other endpoint of 0 lifting is functorial lifting loop adds 1 lifting loop -1 subtracts 1 34

104 Universal Cover wind : Ω(S 1 )! Z defined by lifting a loop to the cover, and giving the other endpoint of 0 lifting is functorial lifting loop adds 1 lifting loop -1 subtracts 1 Example: wind(loop o loop -1 ) = = 0 34

105 Universal Cover 35

106 Universal Cover Cover : S 1! Type Cover(base) := Z Cover1(loop) := ua(successor) : Z = Z 35

107 Universal Cover defined by circle recursion Cover : S 1! Type Cover(base) := Z Cover1(loop) := ua(successor) : Z = Z 35

108 Universal Cover defined by circle recursion Cover : S 1! Type Cover(base) := Z Cover1(loop) := ua(successor) : Z = Z interpret loop as add 1 bijection 35

109 Universal Cover defined by circle recursion Cover : S 1! Type Cover(base) := Z Cover1(loop) := ua(successor) : Z = Z univalence interpret loop as add 1 bijection 35

110 Winding number wind : Ω(S 1 )! Z wind(p) = transportcover(p,0) lift p to cover, starting at 0 36

111 Winding number wind : Ω(S 1 )! Z wind(p) = transportcover(p,0) lift p to cover, starting at 0 wind(loop -1 o loop) 36

112 Winding number wind : Ω(S 1 )! Z wind(p) = transportcover(p,0) lift p to cover, starting at 0 wind(loop -1 o loop) = transport Cover (loop -1 o loop, 0) 36

113 Winding number wind : Ω(S 1 )! Z wind(p) = transportcover(p,0) lift p to cover, starting at 0 wind(loop -1 o loop) = transport Cover (loop -1 o loop, 0) = transport Cover (loop -1, transport Cover (loop,0)) 36

114 Winding number wind : Ω(S 1 )! Z wind(p) = transportcover(p,0) lift p to cover, starting at 0 wind(loop -1 o loop) = transport Cover (loop -1 o loop, 0) = transport Cover (loop -1, transport Cover (loop,0)) = transport Cover (loop -1, 1) 36

115 Winding number wind : Ω(S 1 )! Z wind(p) = transportcover(p,0) lift p to cover, starting at 0 wind(loop -1 o loop) = transport Cover (loop -1 o loop, 0) = transport Cover (loop -1, transport Cover (loop,0)) = transport Cover (loop -1, 1) = 0 36

116 Fundamental group of the circle The HoTT book Computer-checked 37

117 πn(s n ) in HoTT k th homotopy group n-dimensional sphere [image from wikipedia] 38

118 πn(s n ) in HoTT k th homotopy group n-dimensional sphere [image from wikipedia] 38

119 πn(s n ) = Z for n 1 Proof: Induction on n Base case: π1(s 1 ) = Z Inductive step: πn+1(s n+1 ) = πn(s n ) 39

120 πn(s n ) = Z for n 1 Proof: Induction on n Base case: π1(s 1 ) = Z Inductive step: πn+1(s n+1 ) = πn(s n ) Key lemma: S n n = Ω(S n+1 ) n 39

121 πn(s n ) = Z for n 1 Proof: Induction on n Base case: π1(s 1 ) = Z Inductive step: πn+1(s n+1 ) = πn(s n ) Key lemma: S n n = Ω(S n+1 ) n n-truncation: best approximation of a type such that all (n+1)-paths are equal 39

122 πn(s n ) = Z for n 1 Proof: Induction on n Base case: π1(s 1 ) = Z Inductive step: πn+1(s n+1 ) = πn(s n ) Key lemma: S n n = Ω(S n+1 ) n n-truncation: best approximation of a type such that all (n+1)-paths are equal higher inductive type generated by basen : S n loopn : Ω n (S n ) 39

123 S n n = Ω(S n+1 ) n n-truncation of S n is the type of codes for loops on S n+1

124 S n n = Ω(S n+1 ) n n-truncation of S n is the type of codes for loops on S n+1 Decode: promote n-dimensional loop on S n to n+1-dimensional loop on S n+1

125 S n n = Ω(S n+1 ) n n-truncation of S n is the type of codes for loops on S n+1 Decode: promote n-dimensional loop on S n to n+1-dimensional loop on S n+1 Encode: define fibration Code(x:S n+1 ) with Code(basen+1) := S n n Code(loopn+1) := equivalence S n n S n n rotating by loopn

126 π2(s 2 ): Hopf fibration

127 Synthetic homotopy theory Gap between informal and formal proofs is small Proofs are constructive*: can run them Results apply in a variety of settings, from simplicial sets (hence topological spaces) to Quillen model categories and -topoi* New type-theoretic proofs/methods 42 *work in progress

128 Outline 1.Certified homotopy theory 2.Certified software 43

129 Patches Patch a a 2c2 diff b c d c = < b --- > d Version control Collaborative editing 44

130 a b c id a b c

131 a b c id a b c a p a q a b d d c c e

132 a b c id a b c q o p a p a q a b d d c c e

133 a b c id a b c a b c p a d c q o p a p a q a b d d c c e

134 a b c id a b c a b c p a d c!p q o p a p a q a b d d c c e

135 a b c id a b c a b c p a d c!p q o p undo/rollback a p a q a b d d c c e

136 Patches are paths a b c id a b c a b c p a d c!p q o p undo/rollback a p a q a b d d c c e

137 Merging a d c p a b c q a b e 46

138 Merging a d c p a b c q a b e q a p d e 46

139 Merging p=b d at 1 p a b q q=c e at 2 c a d c a b e q a p d e 46

140 Merging p=b d at 1 p a b q q=c e at 2 c a d c a b e q a p d e p =p q =q 46

141 Merging p=b d at 1 p a b q q=c e at 2 c a d c = a b e q a p d e p =p q =q 46

142 Merging merge : (p q : Patch)! Σq,p :Patch. Maybe(q o p = p o q) 47

143 Merging merge : (p q : Patch)! Σq,p :Patch. Maybe(q o p = p o q) Equational theory of patches = paths between paths 47

144 Basic Patches f i b r a t i o n a 2 f i b f i a a 2 48

145 Basic Patches Repository is a char vector of length n f i b r a t i o n Basic patch is a i where i<n a 2 f i b f i a a 2 48

146 Patches as a HIT Repos:Type 49

147 Patches as a HIT Repos:Type doc[n] points describe repository contents 49

148 Patches as a HIT Repos:Type a b@i doc[n] points describe repository contents paths are patches 49

149 Patches as a HIT Repos:Type compressed a b@i doc[n] points describe repository contents paths are patches 49

150 Patches as a HIT Repos:Type compressed gzip a b@i doc[n] points describe repository contents paths are patches 49

151 Patches as a HIT Repos:Type compressed gzip a b@i doc[n] points describe repository contents paths are patches 49

152 Patches as a HIT Repos:Type compressed gzip a b@i doc[n] points describe repository contents paths are patches doc[n] doc[n] doc[n] doc[n] 49

153 Patches as a HIT Repos:Type compressed gzip a b@i doc[n] points describe repository contents paths are patches doc[n] a b@i c d@j doc[n] doc[n] c d@j a b@i doc[n] 49

154 Patches as a HIT Repos:Type compressed gzip a b@i doc[n] points describe repository contents paths are patches paths between paths are equations between patches doc[n] a b@i c d@j doc[n] doc[n] c d@j a b@i doc[n] 49

155 Patches as a HIT Repos:Type compressed gzip a b@i doc[n] points describe repository contents paths are patches paths between paths are equations between patches doc[n] a b@i c d@j doc[n] doc[n] c d@j a b@i doc[n] i j 49

156 Generators for HIT 50

157 Generators for HIT Repos : Type 50

158 Generators for HIT Repos : Type doc[n] : Repos compressed : Repos 50

159 Generators for HIT Repos : Type doc[n] : Repos compressed : Repos (a b@i) : doc[n] = doc[n] if a,b:char, i<n gzip : doc[n] = compressed 50

160 Generators for HIT Repos : Type doc[n] : Repos compressed : Repos (a b@i) : doc[n] = doc[n] if a,b:char, i<n gzip : doc[n] = compressed commute: (a b at i)o(c d at j) if i j =(c d at j)o(a b at i) 50

161 Type: Patch Type: Repos Elements: Points: Paths: doc[n] a b@i Equality: (a b at i)o(c d at j)= (c d at j)o(a b at i)... id o p = p = p o id po(qor) = (poq)or Paths between paths: commute : (a b at i)o(c d at j)= (c d at j)o(a b at i)!p o p = id = p o!p p=p p=q if q=p p=r if p=q and q=r!p =!p if p = p p o q = p o q if p = p and q = q 51

162 Repos recursion To define a function it suffices to Repos! A 52

163 Repos recursion To define a function it suffices to Repos! A map the element generators of Repos to elements of A 52

164 Repos recursion To define a function it suffices to Repos! A map the element generators of Repos to elements of A map the equality generators of Repos to equalities between the corresponding elements of A 52

165 Repos recursion To define a function it suffices to Repos! A map the element generators of Repos to elements of A map the equality generators of Repos to equalities between the corresponding elements of A map the equality-between-equality generators to equalities between the corresponding equalities in A 52

166 Repos recursion To define a function it suffices to Repos! A map the element generators of Repos to elements of A map the equality generators of Repos to equalities between the corresponding elements of A map the equality-between-equality generators to equalities between the corresponding equalities in A All functions on Repos respect patches All functions on patches respect patch equality 52

167 Interpreter Goal is to define: interp : doc[n] = doc[n]! Bijection (Vec Char n) (Vec Char n) 53

168 Interpreter Goal is to define: interp : doc[n] = doc[n]! Bijection (Vec Char n) (Vec Char n) interp(id) = (λx.x, ) interp(q o p) = (interp q) ob (interp p) interp(!p) =!b (interp p) interp(a b@i) = swapat a b i 53

169 Interpreter Goal is to define: interp : doc[n] = doc[n]! Bijection (Vec Char n) (Vec Char n) interp(id) = (λx.x, ) interp(q o p) = (interp q) ob (interp p) interp(!p) =!b (interp p) interp(a b@i) = swapat a b i But only tool available is RepoDesc recursion: no direct recursion over paths 53

170 interp : doc[n]=doc[n]! Bijection (Vec Char n) (Vec Char n) interp(a b at i) = swapat a b i Need to pick A and define I(doc[n]) := : A I 1 (a b@i) := : I(doc[n]) = I(doc[n]) I2(compose) := 54

171 interp : doc[n]=doc[n]! Bijection (Vec Char n) (Vec Char n) interp(a b at i) = swapat a b i Key idea: pick A = Type and define I(doc[n]) := : Type I 1 (a b@i) := : I(doc[n]) = I(doc[n]) I2(compose) := 55

172 interp : doc[n]=doc[n]! Bijection (Vec Char n) (Vec Char n) interp(a b at i) = swapat a b i Key idea: pick A = Type and define I(doc[n]) := Vec Char n : Type I 1 (a b@i) := : I(doc[n]) = I(doc[n]) I2(compose) := 56

173 interp : doc[n]=doc[n]! Bijection (Vec Char n) (Vec Char n) interp(a b at i) = swapat a b i Key idea: pick A = Type and define I(doc[n]) := Vec Char n : Type I 1 (a b@i) := : Vec Char n = Vec Char n I2(compose) := 57

174 interp : doc[n]=doc[n]! Bijection (Vec Char n) (Vec Char n) interp(a b at i) = swapat a b i Key idea: pick A = Type and define I(doc[n]) := Vec Char n : Type I 1 (a b@i) := ua(swapat a b i) : Vec Char n = Vec Char n I2(compose) := 58

175 interp : doc[n]=doc[n]! Bijection (Vec Char n) (Vec Char n) interp(a b at i) = swapat a b i Key idea: pick A = Type and define I(doc[n]) := Vec Char n : Type I 1 (a b@i) := ua(swapat a b i) : Vec Char n = Vec Char n I2(compose) := univalence 58

176 interp : doc[n]=doc[n]! Bijection (Vec Char n) (Vec Char n) interp(a b at i) = swapat a b i Key idea: pick A = Type and define I(doc[n]) := Vec Char n : Type I 1 (a b@i) := ua(swapat a b i) : Vec Char n = Vec Char n I2(compose) := <proof about swapat> 59

177 interp : doc[n]=doc[n]! Bijection (Vec Char n) (Vec Char n) interp(p) = ua -1 (I1(p)) Key idea: pick A = Type and define I(doc[n]) := Vec Char n : Type I 1 (a b@i) := ua(swapat a b i) : Vec Char n = Vec Char n I2(compose) := <proof about swapat> 60

178 interp : doc[n]=doc[n]! Bijection (Vec Char n) (Vec Char n) interp(p) = ua -1 (I1(p)) Satisfies the desired equations (as propositional equalities): interp(id) = (λx.x, ) interp(q o p) = (interp q) ob (interp p) interp(!p) =!b (interp p) interp(a b@i) = swapat a b i 61

179 Summary 62

180 Summary I : Repos! Type interprets Repos as Types, patches as bijections, satisfying patch equalities 62

181 Summary I : Repos! Type interprets Repos as Types, patches as bijections, satisfying patch equalities Higher inductive elim. defines functions that respect equality: you specify what happens on the generators; homomorphically extended to id,o,!,... 62

182 Summary I : Repos! Type interprets Repos as Types, patches as bijections, satisfying patch equalities Higher inductive elim. defines functions that respect equality: you specify what happens on the generators; homomorphically extended to id,o,!,... Univalence lets you give a computational model of equality proofs (here, patches); guaranteed to satisfy laws 62

183 Summary I : Repos! Type interprets Repos as Types, patches as bijections, satisfying patch equalities Higher inductive elim. defines functions that respect equality: you specify what happens on the generators; homomorphically extended to id,o,!,... Univalence lets you give a computational model of equality proofs (here, patches); guaranteed to satisfy laws Shorter definition and code: 1 basic patch & 4 basic axioms of equality, instead of 4 patches & 14 equations 62

184 Operational semantics Can t run these programs yet Some special cases known, some recent progress: Licata&Harper, POPL 12 Coquand&Barras, 13 Shulman, 13 Bezem&Coquand&Huber, 13 Would support proof automation and programming applications 63

185 Outline 1.Certified homotopy theory 2.Certified software 64

186 Homotopy Type Theory type theory new programs and types category theory new certified programs and proofs homotopy theory 65

Recent Work in Homotopy Type Theory

Recent Work in Homotopy Type Theory Recent Work in Homotopy Type Theory Steve Awodey Carnegie Mellon University AMS Baltimore January 2014 Introduction Homotopy Type Theory is a newly discovered connection between logic and topology, based

More information

An introduction to Homotopy Type Theory

An introduction to Homotopy Type Theory An introduction to Homotopy Type Theory Nicola Gambino University of Palermo Leicester, March 15th, 2013 Outline of the talk Part I: Type theory Part II: Homotopy type theory Part III: Voevodsky s Univalent

More information

Univalent fibrations in type theory and topology

Univalent fibrations in type theory and topology Univalent fibrations in type theory and topology Dan Christensen University of Western Ontario Wayne State University, April 11, 2016 Outline: Background on type theory Equivalence and univalence A characterization

More information

Computational Higher-Dimensional Type Theory

Computational Higher-Dimensional Type Theory 1 Computational Higher-Dimensional Type Theory Carlo Angiuli 1 Robert Harper 1 Todd Wilson 2 1 Carnegie Mellon University 2 California State University, Fresno January 20, 2017 Homotopy Type Theory (HoTT)

More information

A NEW PROOF-ASSISTANT THAT REVISITS HOMOTOPY TYPE THEORY THE THEORETICAL FOUNDATIONS OF COQ USING NICOLAS TABAREAU

A NEW PROOF-ASSISTANT THAT REVISITS HOMOTOPY TYPE THEORY THE THEORETICAL FOUNDATIONS OF COQ USING NICOLAS TABAREAU COQHOTT A NEW PROOF-ASSISTANT THAT REVISITS THE THEORETICAL FOUNDATIONS OF COQ USING HOMOTOPY TYPE THEORY NICOLAS TABAREAU The CoqHoTT project Design and implement a brand-new proof assistant by revisiting

More information

Cubical Homotopy Type Theory

Cubical Homotopy Type Theory Cubical Homotopy Type Theory Steve Awodey Carnegie Mellon University Logic Colloquium and CLMPS August 2015 Outline I. Basic ideas of Homotopy Type Theory. II. The univalence axiom. III. Higher inductive

More information

Categorical models of type theory

Categorical models of type theory 1 / 59 Categorical models of type theory Michael Shulman February 28, 2012 2 / 59 Outline 1 Type theory and category theory 2 Categorical type constructors 3 Dependent types and display maps 4 Fibrations

More information

Interpretations and Models. Chapter Axiomatic Systems and Incidence Geometry

Interpretations and Models. Chapter Axiomatic Systems and Incidence Geometry Interpretations and Models Chapter 2.1-2.4 - Axiomatic Systems and Incidence Geometry Axiomatic Systems in Mathematics The gold standard for rigor in an area of mathematics Not fully achieved in most areas

More information

Calculating the Fundamental Group of the Circle in Homotopy Type Theory

Calculating the Fundamental Group of the Circle in Homotopy Type Theory Calculating the Fundamental Group of the Circle in Homotopy Type Theory Daniel R. Licata Institute for Advanced Study drl@cs.cmu.edu Michael Shulman Institute for Advanced Study mshulman@ias.edu arxiv:1301.3443v1

More information

Using Agda to Explore Path-Oriented Models of Type Theory

Using Agda to Explore Path-Oriented Models of Type Theory 1/22 Using Agda to Explore Path-Oriented Models of Type Theory Andrew Pitts joint work with Ian Orton Computer Laboratory Outline 2/22 The mathematical problem find new models of Homotopy Type Theory Why

More information

A GRAPH FROM THE VIEWPOINT OF ALGEBRAIC TOPOLOGY

A GRAPH FROM THE VIEWPOINT OF ALGEBRAIC TOPOLOGY A GRAPH FROM THE VIEWPOINT OF ALGEBRAIC TOPOLOGY KARL L. STRATOS Abstract. The conventional method of describing a graph as a pair (V, E), where V and E repectively denote the sets of vertices and edges,

More information

Lecture 11 COVERING SPACES

Lecture 11 COVERING SPACES Lecture 11 COVERING SPACES A covering space (or covering) is not a space, but a mapping of spaces (usually manifolds) which, locally, is a homeomorphism, but globally may be quite complicated. The simplest

More information

Cubical sets as a classifying topos

Cubical sets as a classifying topos Chalmers CMU Now: Aarhus University Homotopy Type Theory The homotopical interpretation of type theory: types as spaces upto homotopy dependent types as fibrations (continuous families of spaces) identity

More information

Homotopical Patch Theory

Homotopical Patch Theory Homotopical Patch Theory Carlo Angiuli Carnegie Mellon University cangiuli@cs.cmu.edu Ed Morehouse Carnegie Mellon University edmo@cs.cmu.edu Daniel R. Licata Wesleyan University dlicata@wesleyan.edu Robert

More information

A Model of Type Theory in Simplicial Sets

A Model of Type Theory in Simplicial Sets A Model of Type Theory in Simplicial Sets A brief introduction to Voevodsky s Homotopy Type Theory T. Streicher Fachbereich 4 Mathematik, TU Darmstadt Schlossgartenstr. 7, D-64289 Darmstadt streicher@mathematik.tu-darmstadt.de

More information

Negations in Refinement Type Systems

Negations in Refinement Type Systems Negations in Refinement Type Systems T. Tsukada (U. Tokyo) 14th March 2016 Shonan, JAPAN This Talk About refinement intersection type systems that refute judgements of other type systems. Background Refinement

More information

in simplicial sets, or equivalently a functor

in simplicial sets, or equivalently a functor Contents 21 Bisimplicial sets 1 22 Homotopy colimits and limits (revisited) 10 23 Applications, Quillen s Theorem B 23 21 Bisimplicial sets A bisimplicial set X is a simplicial object X : op sset in simplicial

More information

Constructing the Propositional Truncation using Non-recursive HITs

Constructing the Propositional Truncation using Non-recursive HITs Constructing the Propositional Truncation using Non-recursive HITs Floris van Doorn Carnegie Mellon University January 19, 2016 Floris van Doorn (CMU) Constructing Propositional Truncation January 19,

More information

! B be a covering, where B is a connected graph. Then E is also a

! B be a covering, where B is a connected graph. Then E is also a 26. Mon, Mar. 24 The next application is the computation of the fundamental group of any graph. We start by specifying what we mean by a graph. Recall that S 0 R is usually defined to be the set S 0 =

More information

Notes on Spherical Geometry

Notes on Spherical Geometry Notes on Spherical Geometry Abhijit Champanerkar College of Staten Island & The Graduate Center, CUNY Spring 2018 1. Vectors and planes in R 3 To review vector, dot and cross products, lines and planes

More information

A NEW PROOF-ASSISTANT THAT REVISITS HOMOTOPY TYPE THEORY THE THEORETICAL FOUNDATIONS OF COQ USING NICOLAS TABAREAU

A NEW PROOF-ASSISTANT THAT REVISITS HOMOTOPY TYPE THEORY THE THEORETICAL FOUNDATIONS OF COQ USING NICOLAS TABAREAU COQHOTT A NEW PROOF-ASSISTANT THAT REVISITS THE THEORETICAL FOUNDATIONS OF COQ USING HOMOTOPY TYPE THEORY NICOLAS TABAREAU The CoqHoTT project Design and implement a brand-new proof assistant by revisiting

More information

Notes on categories, the subspace topology and the product topology

Notes on categories, the subspace topology and the product topology Notes on categories, the subspace topology and the product topology John Terilla Fall 2014 Contents 1 Introduction 1 2 A little category theory 1 3 The subspace topology 3 3.1 First characterization of

More information

A MODEL CATEGORY STRUCTURE ON THE CATEGORY OF SIMPLICIAL CATEGORIES

A MODEL CATEGORY STRUCTURE ON THE CATEGORY OF SIMPLICIAL CATEGORIES A MODEL CATEGORY STRUCTURE ON THE CATEGORY OF SIMPLICIAL CATEGORIES JULIA E. BERGNER Abstract. In this paper we put a cofibrantly generated model category structure on the category of small simplicial

More information

Computational Higher Type Theory

Computational Higher Type Theory Computational Higher Type Theory Robert Harper Computer Science Department Carnegie Mellon University HoTT Workshop 2016 Leeds, UK Thanks Joint work with Carlo Angiuli (CMU) and Todd Wilson (CSUF). Thanks

More information

4. Definition: topological space, open set, topology, trivial topology, discrete topology.

4. Definition: topological space, open set, topology, trivial topology, discrete topology. Topology Summary Note to the reader. If a statement is marked with [Not proved in the lecture], then the statement was stated but not proved in the lecture. Of course, you don t need to know the proof.

More information

Representability of Homotopy Groups in Type Theory

Representability of Homotopy Groups in Type Theory Representability of Homotopy Groups in Type Theory Brandon Shapiro Constructive Type Theory The emerging field of homotopy type theory is built around the idea that in intensive type theory types can be

More information

Lecture 0: Reivew of some basic material

Lecture 0: Reivew of some basic material Lecture 0: Reivew of some basic material September 12, 2018 1 Background material on the homotopy category We begin with the topological category TOP, whose objects are topological spaces and whose morphisms

More information

The three faces of homotopy type theory. Type theory and category theory. Minicourse plan. Typing judgments. Michael Shulman.

The three faces of homotopy type theory. Type theory and category theory. Minicourse plan. Typing judgments. Michael Shulman. The three faces of homotopy type theory Type theory and category theory Michael Shulman 1 A programming language. 2 A foundation for mathematics based on homotopy theory. 3 A calculus for (, 1)-category

More information

Combinatorics I (Lecture 36)

Combinatorics I (Lecture 36) Combinatorics I (Lecture 36) February 18, 2015 Our goal in this lecture (and the next) is to carry out the combinatorial steps in the proof of the main theorem of Part III. We begin by recalling some notation

More information

Assignments in Mathematics Class IX (Term I) 5. InTroduCTIon To EuClId s GEoMETry. l Euclid s five postulates are : ANIL TUTORIALS

Assignments in Mathematics Class IX (Term I) 5. InTroduCTIon To EuClId s GEoMETry. l Euclid s five postulates are : ANIL TUTORIALS Assignments in Mathematics Class IX (Term I) 5. InTroduCTIon To EuClId s GEoMETry IMporTAnT TErMs, definitions And results l In geometry, we take a point, a line and a plane as undefined terms. l An axiom

More information

Lecture 009 (November 25, 2009) Suppose that I is a small category, and let s(r Mod) I be the category of I-diagrams in simplicial modules.

Lecture 009 (November 25, 2009) Suppose that I is a small category, and let s(r Mod) I be the category of I-diagrams in simplicial modules. Lecture 009 (November 25, 2009) 20 Homotopy colimits Suppose that I is a small category, and let s(r Mod) I be the category of I-diagrams in simplicial modules. The objects of this category are the functors

More information

Provide a drawing. Mark any line with three points in blue color.

Provide a drawing. Mark any line with three points in blue color. Math 3181 Name: Dr. Franz Rothe August 18, 2014 All3181\3181_fall14h1.tex Homework has to be turned in this handout. For extra space, use the back pages, or blank pages between. The homework can be done

More information

Topic 1: What is HoTT and why?

Topic 1: What is HoTT and why? Topic 1: What is HoTT and why? May 5, 2014 Introduction Homotopy type theory (HoTT) is a newly emerging field of mathematics which is currently being developed as a foundation of mathematics which is in

More information

Topological space - Wikipedia, the free encyclopedia

Topological space - Wikipedia, the free encyclopedia Page 1 of 6 Topological space From Wikipedia, the free encyclopedia Topological spaces are mathematical structures that allow the formal definition of concepts such as convergence, connectedness, and continuity.

More information

Homology cycle bases from acyclic matchings

Homology cycle bases from acyclic matchings Homology cycle bases from acyclic matchings Dmitry Feichtner-Kozlov University of Bremen Kyoto Workshop, January 019 What is... Applied Topology? studying global features of shapes applications in other

More information

Algebraic Topology: A brief introduction

Algebraic Topology: A brief introduction Algebraic Topology: A brief introduction Harish Chintakunta This chapter is intended to serve as a brief, and far from comprehensive, introduction to Algebraic Topology to help the reading flow of this

More information

Topology Hmwk 3 All problems are from Allen Hatcher Algebraic Topology (online) ch 1

Topology Hmwk 3 All problems are from Allen Hatcher Algebraic Topology (online) ch 1 Topology Hmwk 3 All problems are from Allen Hatcher Algebraic Topology (online) ch Andrew Ma December 23, 203 This assignment has been corrected post - grading...6 (a) Proof. Assume for a contradiction

More information

Cubical Computational Type Theory & RedPRL

Cubical Computational Type Theory & RedPRL 2018.02.07 Cornell Cubical Computational Type Theory & RedPRL >> redprl.org >> Carlo Angiuli Evan Cavallo (*) Favonia Bob Harper Dan Licata Jon Sterling Todd Wilson 1 Vladimir Voevodsky 1966-2017 2 Cubical

More information

Copyright 2009 Pearson Education, Inc. Chapter 9 Section 7 - Slide 1 AND

Copyright 2009 Pearson Education, Inc. Chapter 9 Section 7 - Slide 1 AND Copyright 2009 Pearson Education, Inc. Chapter 9 Section 7 - Slide 1 AND Chapter 9 Geometry Copyright 2009 Pearson Education, Inc. Chapter 9 Section 7 - Slide 2 WHAT YOU WILL LEARN Transformational geometry,

More information

1.1 Topological Representatives for Automorphisms

1.1 Topological Representatives for Automorphisms Chapter 1 Out(F n ) and Aut(F n ) 1.1 Topological Representatives for Automorphisms Definition 1.1.1. Let X be a topological space with base point P. A self-homotopy equivalence is a base point preserving

More information

Lecture 008 (November 13, 2009)

Lecture 008 (November 13, 2009) Lecture 008 (November 13, 2009) 17 The Dold-Kan correspondence Suppose that A : op R Mod is a simplicial R-module. Examples to keep in mind are the free simplicial objects R(X) associated to simplicial

More information

A HISTORICAL INTRODUCTION TO ELEMENTARY GEOMETRY

A HISTORICAL INTRODUCTION TO ELEMENTARY GEOMETRY i MATH 119 A HISTORICAL INTRODUCTION TO ELEMENTARY GEOMETRY Geometry is an word derived from ancient Greek meaning earth measure ( ge = earth or land ) + ( metria = measure ). Euclid wrote the Elements

More information

Research Statement. Daniel R. Licata

Research Statement. Daniel R. Licata Research Statement Daniel R. Licata I study programming languages, with a focus on applications of type theory and logic. I have published papers in major conferences in my area (POPL 2012, MFPS 2011,

More information

POLYHEDRAL GEOMETRY. Convex functions and sets. Mathematical Programming Niels Lauritzen Recall that a subset C R n is convex if

POLYHEDRAL GEOMETRY. Convex functions and sets. Mathematical Programming Niels Lauritzen Recall that a subset C R n is convex if POLYHEDRAL GEOMETRY Mathematical Programming Niels Lauritzen 7.9.2007 Convex functions and sets Recall that a subset C R n is convex if {λx + (1 λ)y 0 λ 1} C for every x, y C and 0 λ 1. A function f :

More information

A MODEL STRUCTURE FOR QUASI-CATEGORIES

A MODEL STRUCTURE FOR QUASI-CATEGORIES A MODEL STRUCTURE FOR QUASI-CATEGORIES EMILY RIEHL DISCUSSED WITH J. P. MAY 1. Introduction Quasi-categories live at the intersection of homotopy theory with category theory. In particular, they serve

More information

Inversive Plane Geometry

Inversive Plane Geometry Inversive Plane Geometry An inversive plane is a geometry with three undefined notions: points, circles, and an incidence relation between points and circles, satisfying the following three axioms: (I.1)

More information

THE DOLD-KAN CORRESPONDENCE

THE DOLD-KAN CORRESPONDENCE THE DOLD-KAN CORRESPONDENCE 1. Simplicial sets We shall now introduce the notion of a simplicial set, which will be a presheaf on a suitable category. It turns out that simplicial sets provide a (purely

More information

Introduction to Homotopy Type Theory

Introduction to Homotopy Type Theory Introduction to Homotopy Type Theory Lecture notes for a course at EWSCS 2017 Thorsten Altenkirch March 5, 2017 1 What is this course about? To explain what Homotopy Type Theory is, I will first talk about

More information

Finding and Extracting Computational Content in Euclid s Elements

Finding and Extracting Computational Content in Euclid s Elements Finding and Extracting Computational Content in Euclid s Elements Ariel Kellison Septemeber 2017 Outline Introduction Computational Content Intro. Why Implement Results and Future Work Implementing Euclid

More information

Math 205B - Topology. Dr. Baez. March 2, Christopher Walker

Math 205B - Topology. Dr. Baez. March 2, Christopher Walker Math 205B - Topology Dr. Baez March 2, 2007 Christopher Walker Exercise 0.1. Show that the fundamental group of the 3-bouquet of circles is Z Z Z. Generalize this result to the n-bouquet of circles, and

More information

Programming in homotopy type theory and erasing propositions Gabe Dijkstra

Programming in homotopy type theory and erasing propositions Gabe Dijkstra Programming in homotopy type theory and erasing propositions Gabe Dijkstra M.Sc. thesis ICA-3354881 [Supervisors] Wouter Swierstra and Johan Jeuring August 26, 2013 Department of Computing Science Abstract

More information

Lecture 18: Groupoids and spaces

Lecture 18: Groupoids and spaces Lecture 18: Groupoids and spaces The simplest algebraic invariant of a topological space T is the set π 0 T of path components. The next simplest invariant, which encodes more of the topology, is the fundamental

More information

Topos Theory. Lectures 3-4: Categorical preliminaries II. Olivia Caramello. Topos Theory. Olivia Caramello. Basic categorical constructions

Topos Theory. Lectures 3-4: Categorical preliminaries II. Olivia Caramello. Topos Theory. Olivia Caramello. Basic categorical constructions Lectures 3-4: Categorical preliminaries II 2 / 17 Functor categories Definition Let C and D be two categories. The functor category [C,D] is the category having as objects the functors C D and as arrows

More information

Math Introduction to Advanced Mathematics

Math Introduction to Advanced Mathematics Math 215 - Introduction to Advanced Mathematics Number Theory Fall 2017 The following introductory guide to number theory is borrowed from Drew Shulman and is used in a couple of other Math 215 classes.

More information

Classifying Spaces and Spectral Sequences

Classifying Spaces and Spectral Sequences Classifying Spaces and Spectral Sequences Introduction Christian Carrick December 2, 2016 These are a set of expository notes I wrote in preparation for a talk given in the MIT Kan Seminar on December

More information

I. An introduction to Boolean inverse semigroups

I. An introduction to Boolean inverse semigroups I. An introduction to Boolean inverse semigroups Mark V Lawson Heriot-Watt University, Edinburgh June 2016 1 0. In principio The monograph J. Renault, A groupoid approach to C - algebras, Lecture Notes

More information

Towards elementary -toposes

Towards elementary -toposes Towards elementary -toposes Michael Shulman 1 1 (University of San Diego) September 13, 2018 Vladimir Voevodsky Memorial Conference Institute for Advanced Study Outline 1 A bit of history 2 Elementary

More information

Simplicial Objects and Homotopy Groups. J. Wu

Simplicial Objects and Homotopy Groups. J. Wu Simplicial Objects and Homotopy Groups J. Wu Department of Mathematics, National University of Singapore, Singapore E-mail address: matwuj@nus.edu.sg URL: www.math.nus.edu.sg/~matwujie Partially supported

More information

GALOIS THEORY OF SIMPLICIAL COMPLEXES

GALOIS THEORY OF SIMPLICIAL COMPLEXES GALOIS THEORY OF SIMPLICIAL COMPLEXES Marco Grandis 1,* and George Janelidze 2, 1 Dipartimento di Matematica, Università di Genova, via Dodecaneso 35, 16146 Genova, Italy email: grandis@dima.unige.it 2

More information

Test 1, Spring 2013 ( Solutions): Provided by Jeff Collins and Anil Patel. 1. Axioms for a finite AFFINE plane of order n.

Test 1, Spring 2013 ( Solutions): Provided by Jeff Collins and Anil Patel. 1. Axioms for a finite AFFINE plane of order n. Math 532, 736I: Modern Geometry Test 1, Spring 2013 ( Solutions): Provided by Jeff Collins and Anil Patel Part 1: 1. Axioms for a finite AFFINE plane of order n. AA1: There exist at least 4 points, no

More information

1 Appendix to notes 2, on Hyperbolic geometry:

1 Appendix to notes 2, on Hyperbolic geometry: 1230, notes 3 1 Appendix to notes 2, on Hyperbolic geometry: The axioms of hyperbolic geometry are axioms 1-4 of Euclid, plus an alternative to axiom 5: Axiom 5-h: Given a line l and a point p not on l,

More information

Mathematics As A Liberal Art

Mathematics As A Liberal Art Math 105 Fall 2015 BY: 2015 Ron Buckmire Mathematics As A Liberal Art Class 26: Friday November 13 Fowler 302 MWF 10:40am- 11:35am http://sites.oxy.edu/ron/math/105/15/ Euclid, Geometry and the Platonic

More information

Arithmetic universes as generalized point-free spaces

Arithmetic universes as generalized point-free spaces Arithmetic universes as generalized point-free spaces Steve Vickers CS Theory Group Birmingham * Grothendieck: "A topos is a generalized topological space" *... it's represented by its category of sheaves

More information

Problem 3.1 (Building up geometry). For an axiomatically built-up geometry, six groups of axioms needed:

Problem 3.1 (Building up geometry). For an axiomatically built-up geometry, six groups of axioms needed: Math 3181 Dr. Franz Rothe September 29, 2016 All3181\3181_fall16h3.tex Names: Homework has to be turned in this handout. For extra space, use the back pages, or put blank pages between. The homework can

More information

A NOTE ON MORPHISMS DETERMINED BY OBJECTS

A NOTE ON MORPHISMS DETERMINED BY OBJECTS A NOTE ON MORPHISMS DETERMINED BY OBJECTS XIAO-WU CHEN, JUE LE Abstract. We prove that a Hom-finite additive category having determined morphisms on both sides is a dualizing variety. This complements

More information

Type Theory in Type Theory using Quotient Inductive Types

Type Theory in Type Theory using Quotient Inductive Types Type Theory in Type Theory using Quotient Inductive Types Thorsten Altenkirch University of Nottingham {txa,auk}@cs.nott.ac.uk Ambrus Kaposi Abstract We present an internal formalisation of dependent type

More information

Surfaces Beyond Classification

Surfaces Beyond Classification Chapter XII Surfaces Beyond Classification In most of the textbooks which present topological classification of compact surfaces the classification is the top result. However the topology of 2- manifolds

More information

Simplicial Objects and Homotopy Groups

Simplicial Objects and Homotopy Groups Simplicial Objects and Homotopy Groups Jie Wu Department of Mathematics National University of Singapore July 8, 2007 Simplicial Objects and Homotopy Groups -Objects and Homology Simplicial Sets and Homotopy

More information

Lecture notes for Topology MMA100

Lecture notes for Topology MMA100 Lecture notes for Topology MMA100 J A S, S-11 1 Simplicial Complexes 1.1 Affine independence A collection of points v 0, v 1,..., v n in some Euclidean space R N are affinely independent if the (affine

More information

ACLT: Algebra, Categories, Logic in Topology - Grothendieck's generalized topological spaces (toposes)

ACLT: Algebra, Categories, Logic in Topology - Grothendieck's generalized topological spaces (toposes) ACLT: Algebra, Categories, Logic in Topology - Grothendieck's generalized topological spaces (toposes) Steve Vickers CS Theory Group Birmingham 1. Sheaves "Sheaf = continuous set-valued map" TACL Tutorial

More information

A point is pictured by a dot. While a dot must have some size, the point it represents has no size. Points are named by capital letters..

A point is pictured by a dot. While a dot must have some size, the point it represents has no size. Points are named by capital letters.. Chapter 1 Points, Lines & Planes s we begin any new topic, we have to familiarize ourselves with the language and notation to be successful. My guess that you might already be pretty familiar with many

More information

SIMPLICIAL METHODS IN ALGEBRA AND ALGEBRAIC GEOMETRY. Contents

SIMPLICIAL METHODS IN ALGEBRA AND ALGEBRAIC GEOMETRY. Contents SIMPLICIAL METHODS IN ALGEBRA AND ALGEBRAIC GEOMETRY W. D. GILLAM Abstract. This is an introduction to / survey of simplicial techniques in algebra and algebraic geometry. We begin with the basic notions

More information

Topic 3: Propositions as types

Topic 3: Propositions as types Topic 3: Propositions as types May 18, 2014 Propositions as types We have seen that the main mathematical objects in a type theory are types. But remember that in conventional foundations, as based on

More information

MAT 3271: Selected Solutions to the Assignment 6

MAT 3271: Selected Solutions to the Assignment 6 Chapter 2: Major Exercises MAT 3271: Selected Solutions to the Assignment 6 1. Since a projective plan is a model of incidence geometry, Incidence Axioms 1-3 and Propositions 2.1-2.5 (which follow logically

More information

1. A model for spherical/elliptic geometry

1. A model for spherical/elliptic geometry Math 3329-Uniform Geometries Lecture 13 Let s take an overview of what we know. 1. A model for spherical/elliptic geometry Hilbert s axiom system goes with Euclidean geometry. This is the same geometry

More information

Module 1 Session 1 HS. Critical Areas for Traditional Geometry Page 1 of 6

Module 1 Session 1 HS. Critical Areas for Traditional Geometry Page 1 of 6 Critical Areas for Traditional Geometry Page 1 of 6 There are six critical areas (units) for Traditional Geometry: Critical Area 1: Congruence, Proof, and Constructions In previous grades, students were

More information

λ calculus is inconsistent

λ calculus is inconsistent Content Rough timeline COMP 4161 NICTA Advanced Course Advanced Topics in Software Verification Gerwin Klein, June Andronick, Toby Murray λ Intro & motivation, getting started [1] Foundations & Principles

More information

Synthetic Geometry. 1.1 Foundations 1.2 The axioms of projective geometry

Synthetic Geometry. 1.1 Foundations 1.2 The axioms of projective geometry Synthetic Geometry 1.1 Foundations 1.2 The axioms of projective geometry Foundations Def: A geometry is a pair G = (Ω, I), where Ω is a set and I a relation on Ω that is symmetric and reflexive, i.e. 1.

More information

EQUIVARIANT COMPLETE SEGAL SPACES

EQUIVARIANT COMPLETE SEGAL SPACES EQUIVARIANT COMPLETE SEGAL SPACES JULIA E. BERGNER AND STEVEN GREG CHADWICK Abstract. In this paper we give a model for equivariant (, 1)-categories. We modify an approach of Shimakawa for equivariant

More information

Ho(T op) Ho(S). Here is the abstract definition of a Quillen closed model category.

Ho(T op) Ho(S). Here is the abstract definition of a Quillen closed model category. 7. A 1 -homotopy theory 7.1. Closed model categories. We begin with Quillen s generalization of the derived category. Recall that if A is an abelian category and if C (A) denotes the abelian category of

More information

CSE505, Fall 2012, Midterm Examination October 30, 2012

CSE505, Fall 2012, Midterm Examination October 30, 2012 CSE505, Fall 2012, Midterm Examination October 30, 2012 Rules: The exam is closed-book, closed-notes, except for one side of one 8.5x11in piece of paper. Please stop promptly at Noon. You can rip apart

More information

An Introduction to Programming and Proving in Agda (incomplete draft)

An Introduction to Programming and Proving in Agda (incomplete draft) An Introduction to Programming and Proving in Agda (incomplete draft) Peter Dybjer January 29, 2018 1 A first Agda module Your first Agda-file is called BoolModule.agda. Its contents are module BoolModule

More information

Cell-Like Maps (Lecture 5)

Cell-Like Maps (Lecture 5) Cell-Like Maps (Lecture 5) September 15, 2014 In the last two lectures, we discussed the notion of a simple homotopy equivalences between finite CW complexes. A priori, the question of whether or not a

More information

or else take their intersection. Now define

or else take their intersection. Now define Samuel Lee Algebraic Topology Homework #5 May 10, 2016 Problem 1: ( 1.3: #3). Let p : X X be a covering space with p 1 (x) finite and nonempty for all x X. Show that X is compact Hausdorff if and only

More information

Curriculum Catalog

Curriculum Catalog 2017-2018 Curriculum Catalog 2017 Glynlyon, Inc. Table of Contents GEOMETRY COURSE OVERVIEW... 1 UNIT 1: INTRODUCTION... 1 UNIT 2: LOGIC... 2 UNIT 3: ANGLES AND PARALLELS... 2 UNIT 4: CONGRUENT TRIANGLES

More information

Lecture 3: Recursion; Structural Induction

Lecture 3: Recursion; Structural Induction 15-150 Lecture 3: Recursion; Structural Induction Lecture by Dan Licata January 24, 2012 Today, we are going to talk about one of the most important ideas in functional programming, structural recursion

More information

The fundamental group of topological graphs and C -algebras

The fundamental group of topological graphs and C -algebras The fundamental group of topological graphs and C -algebras Based on joint work with A. Kumjian and J. Quigg, Ergodic Theory and Dynamical Systems (2011) University of Texas at San Antonio, 27 April 2012

More information

ACLT: Algebra, Categories, Logic in Topology - Grothendieck's generalized topological spaces (toposes)

ACLT: Algebra, Categories, Logic in Topology - Grothendieck's generalized topological spaces (toposes) ACLT: Algebra, Categories, Logic in Topology - Grothendieck's generalized topological spaces (toposes) Steve Vickers CS Theory Group Birmingham 4. Toposes and geometric reasoning How to "do generalized

More information

Univalent Foundations Project (a modified version of an NSF grant application)

Univalent Foundations Project (a modified version of an NSF grant application) Univalent Foundations Project (a modified version of an NSF grant application) Vladimir Voevodsky October 1, 2010 1 General outline of the proposed project While working on the completion of the proof

More information

Formalising the Foundations of Geometry

Formalising the Foundations of Geometry Formalising the March 27, 2015 Formalising Mathematics Why formalise? Because some proofs are too hard to verify by inspection (Kepler conjecture, Four-Colour Theorem, ABC conjecture) We need to contribute

More information

Lecture-12: Closed Sets

Lecture-12: Closed Sets and Its Examples Properties of Lecture-12: Dr. Department of Mathematics Lovely Professional University Punjab, India October 18, 2014 Outline Introduction and Its Examples Properties of 1 Introduction

More information

TOPOLOGY, DR. BLOCK, FALL 2015, NOTES, PART 3.

TOPOLOGY, DR. BLOCK, FALL 2015, NOTES, PART 3. TOPOLOGY, DR. BLOCK, FALL 2015, NOTES, PART 3. 301. Definition. Let m be a positive integer, and let X be a set. An m-tuple of elements of X is a function x : {1,..., m} X. We sometimes use x i instead

More information

Lectures on topology. S. K. Lando

Lectures on topology. S. K. Lando Lectures on topology S. K. Lando Contents 1 Reminder 2 1.1 Topological spaces and continuous mappings.......... 3 1.2 Examples............................. 4 1.3 Properties of topological spaces.................

More information

THE FUNDAMENTAL GROUP AND THE BROUWER FIXED POINT THEOREM

THE FUNDAMENTAL GROUP AND THE BROUWER FIXED POINT THEOREM THE FUNDAMENTAL GROUP AND THE BROUWER FIXED POINT THEOREM NATHAN GILL Abstract. We introduce the concept of the fundamental group of a topological space and demonstrate its utility in classifying spaces

More information

Spaces with algebraic structure

Spaces with algebraic structure University of California, Riverside January 6, 2009 What is a space with algebraic structure? A topological space has algebraic structure if, in addition to being a topological space, it is also an algebraic

More information

4. Simplicial Complexes and Simplicial Homology

4. Simplicial Complexes and Simplicial Homology MATH41071/MATH61071 Algebraic topology Autumn Semester 2017 2018 4. Simplicial Complexes and Simplicial Homology Geometric simplicial complexes 4.1 Definition. A finite subset { v 0, v 1,..., v r } R n

More information

Towards the syntax and semantics of higher dimensional type theory

Towards the syntax and semantics of higher dimensional type theory Towards the syntax and semantics of higher dimensional type theory Thorsten Altenkirch Nicolai Kraus Oxford, HoTT/UF 18, 8 July [picture by Andrej Bauer, (CC BY-SA 2.5 SI)] The goal: type theory in type

More information

Identity in Homotopy Type Theory, Part I: The Justification of Path Induction

Identity in Homotopy Type Theory, Part I: The Justification of Path Induction Identity in Homotopy Type Theory, Part I: The Justification of Path Induction Friday 24 th October, 2014 Abstract Homotopy type theory (HoTT) is a new branch of mathematics that connects algebraic topology

More information

Regarding Python level necessary for the course

Regarding Python level necessary for the course Logistics First two recitations (next two weeks) Python basics (installation, basic syntax, basic programming), optional Making models for 3D printing w/ Blender Will announce details through Sakai Regarding

More information

751 Problem Set I JWR. Due Sep 28, 2004

751 Problem Set I JWR. Due Sep 28, 2004 751 Problem Set I JWR Due Sep 28, 2004 Exercise 1. For any space X define an equivalence relation by x y iff here is a path γ : I X with γ(0) = x and γ(1) = y. The equivalence classes are called the path

More information