From f07e0e2349a222130209ada9c029eea3d1fe8144 Mon Sep 17 00:00:00 2001 From: Lars Hupel Date: Tue, 18 Sep 2018 16:52:08 +0200 Subject: add ROOT file --- ex/Book/Ch1.thy | 50 ++++++++++++++++++++++++++++++++++++++++++++++++++ ex/HoTT book/Ch1.thy | 50 -------------------------------------------------- 2 files changed, 50 insertions(+), 50 deletions(-) create mode 100644 ex/Book/Ch1.thy delete mode 100644 ex/HoTT book/Ch1.thy (limited to 'ex') diff --git a/ex/Book/Ch1.thy b/ex/Book/Ch1.thy new file mode 100644 index 0000000..dfb1879 --- /dev/null +++ b/ex/Book/Ch1.thy @@ -0,0 +1,50 @@ +(* +Title: ex/Book/Ch1.thy +Author: Josh Chen +Date: 2018 + +A formalization of some content of Chapter 1 of the Homotopy Type Theory book. +*) + +theory Ch1 +imports "../../HoTT" + +begin + +chapter \HoTT Book, Chapter 1\ + +section \1.6 Dependent pair types (\-types)\ + +paragraph \Propositional uniqueness principle.\ + +schematic_goal + assumes "A: U i" and "B: A \ U i" and "p: \x:A. B x" + shows "?a: p =[\x:A. B x] " + +text \Proof by induction on @{term "p: \x:A. B x"}:\ + +proof (rule Sum_elim[where ?p=p]) + text \We prove the base case.\ + fix x y assume asm: "x: A" "y: B x" show "refl : =[\x:A. B x] , snd >" + proof compute + show "x: A" and "y: B x" by (fact asm)+ \ \Hint the correct types.\ + + text \And now @{method derive} takes care of the rest. +\ + qed (derive lems: assms asm) +qed (derive lems: assms) + + +section \Exercises\ + +paragraph \Exercise 1.13\ + +abbreviation "not" ("\_") where "\A \ A \ \" + +text "This proof requires the use of universe cumulativity." + +proposition assumes "A: U i" shows "\<^bold>\f. f`(inr(\<^bold>\a. f`(inl a))): \(\(A + \A))" +by (derive lems: assms) + + +end diff --git a/ex/HoTT book/Ch1.thy b/ex/HoTT book/Ch1.thy deleted file mode 100644 index 263f43d..0000000 --- a/ex/HoTT book/Ch1.thy +++ /dev/null @@ -1,50 +0,0 @@ -(* -Title: ex/HoTT book/Ch1.thy -Author: Josh Chen -Date: 2018 - -A formalization of some content of Chapter 1 of the Homotopy Type Theory book. -*) - -theory Ch1 -imports "../../HoTT" - -begin - -chapter \HoTT Book, Chapter 1\ - -section \1.6 Dependent pair types (\-types)\ - -paragraph \Propositional uniqueness principle.\ - -schematic_goal - assumes "A: U i" and "B: A \ U i" and "p: \x:A. B x" - shows "?a: p =[\x:A. B x] " - -text \Proof by induction on @{term "p: \x:A. B x"}:\ - -proof (rule Sum_elim[where ?p=p]) - text \We prove the base case.\ - fix x y assume asm: "x: A" "y: B x" show "refl : =[\x:A. B x] , snd >" - proof compute - show "x: A" and "y: B x" by (fact asm)+ \ \Hint the correct types.\ - - text \And now @{method derive} takes care of the rest. -\ - qed (derive lems: assms asm) -qed (derive lems: assms) - - -section \Exercises\ - -paragraph \Exercise 1.13\ - -abbreviation "not" ("\_") where "\A \ A \ \" - -text "This proof requires the use of universe cumulativity." - -proposition assumes "A: U i" shows "\<^bold>\f. f`(inr(\<^bold>\a. f`(inl a))): \(\(A + \A))" -by (derive lems: assms) - - -end -- cgit v1.2.3