From 1ff1905f052de51a942282af1f9950c7ec71c20c Mon Sep 17 00:00:00 2001 From: Josh Chen Date: Sat, 18 Aug 2018 23:58:29 +0200 Subject: Forgot to add the theories for Empty and Unit --- Empty.thy | 30 ++++++++++++++++++++++++++++++ Unit.thy | 33 +++++++++++++++++++++++++++++++++ 2 files changed, 63 insertions(+) create mode 100644 Empty.thy create mode 100644 Unit.thy diff --git a/Empty.thy b/Empty.thy new file mode 100644 index 0000000..1b339ba --- /dev/null +++ b/Empty.thy @@ -0,0 +1,30 @@ +(* Title: HoTT/Empty.thy + Author: Josh Chen + +Empty type +*) + +theory Empty + imports HoTT_Base +begin + + +section \Constants and type rules\ + +section \Empty type\ + +axiomatization + Empty :: Term ("\") and + indEmpty :: "Term \ Term" ("(1ind\<^sub>\)") +where + Empty_form: "\ : U(O)" +and + Empty_elim: "\C: \ \ U(i); z: \\ \ ind\<^sub>\(z): C(z)" + + +text "Rule attribute declarations:" + +lemmas Empty_routine [intro] = Empty_form Empty_elim + + +end diff --git a/Unit.thy b/Unit.thy new file mode 100644 index 0000000..6adfb02 --- /dev/null +++ b/Unit.thy @@ -0,0 +1,33 @@ +(* Title: HoTT/Unit.thy + Author: Josh Chen + +Unit type +*) + +theory Unit + imports HoTT_Base +begin + + +section \Constants and type rules\ + +axiomatization + Unit :: Term ("\") and + pt :: Term ("\") and + indUnit :: "[Term, Term] \ Term" ("(1ind\<^sub>\)") +where + Unit_form: "\: U(O)" +and + Unit_intro: "\: \" +and + Unit_elim: "\C: \ \ U(i); c: C(\); a: \\ \ ind\<^sub>\(c)(a) : C(a)" +and + Unit_comp: "\C: \ \ U(i); c: C(\)\ \ ind\<^sub>\(c)(\) \ c" + + +text "Rule attribute declarations:" + +lemmas Unit_comp [comp] +lemmas Unit_routine [intro] = Unit_form Unit_intro Unit_elim + +end -- cgit v1.2.3