From 76ac8ed82317f3f62f26ecc88f412c61004bcffa Mon Sep 17 00:00:00 2001 From: Josh Chen Date: Mon, 17 Sep 2018 13:13:55 +0200 Subject: Reorganizing theories --- Coprod.thy | 64 +++++++++++++++++++++++--------------------------------------- 1 file changed, 24 insertions(+), 40 deletions(-) (limited to 'Coprod.thy') diff --git a/Coprod.thy b/Coprod.thy index 97e0566..d97228e 100644 --- a/Coprod.thy +++ b/Coprod.thy @@ -1,65 +1,49 @@ -(* Title: HoTT/Coprod.thy - Author: Josh Chen +(* +Title: Coprod.thy +Author: Joshua Chen +Date: 2018 Coproduct type *) theory Coprod - imports HoTT_Base -begin +imports HoTT_Base +begin -section \Constants and type rules\ axiomatization - Coprod :: "[t, t] \ t" (infixr "+" 50) and - inl :: "t \ t" and - inr :: "t \ t" and + Coprod :: "[t, t] \ t" (infixr "+" 50) and + inl :: "t \ t" and + inr :: "t \ t" and indCoprod :: "[t \ t, t \ t, t] \ t" ("(1ind\<^sub>+)") where - Coprod_form: "\A: U i; B: U i\ \ A + B: U i" -and - Coprod_intro_inl: "\a: A; B: U i\ \ inl a: A + B" -and - Coprod_intro_inr: "\b: B; A: U i\ \ inr b: A + B" -and + Coprod_form: "\A: U i; B: U i\ \ A + B: U i" and + + Coprod_intro_inl: "\a: A; B: U i\ \ inl a: A + B" and + + Coprod_intro_inr: "\b: B; A: U i\ \ inr b: A + B" and + Coprod_elim: "\ + u: A + B; C: A + B \ U i; \x. x: A \ c x: C (inl x); - \y. y: B \ d y: C (inr y); - u: A + B - \ \ ind\<^sub>+ c d u: C u" -and + \y. y: B \ d y: C (inr y) \ \ ind\<^sub>+ (\ x. c x) (\y. d y) u: C u" and + Coprod_comp_inl: "\ + a: A; C: A + B \ U i; \x. x: A \ c x: C (inl x); - \y. y: B \ d y: C (inr y); - a: A - \ \ ind\<^sub>+ c d (inl a) \ c a" -and + \y. y: B \ d y: C (inr y) \ \ ind\<^sub>+ (\x. c x) (\y. d y) (inl a) \ c a" and + Coprod_comp_inr: "\ + b: B; C: A + B \ U i; \x. x: A \ c x: C (inl x); - \y. y: B \ d y: C (inr y); - b: B - \ \ ind\<^sub>+ c d (inr b) \ d b" - - -text "Admissible formation inference rules:" - -axiomatization where - Coprod_wellform1: "A + B: U i \ A: U i" -and - Coprod_wellform2: "A + B: U i \ B: U i" - - -text "Rule attribute declarations:" - -lemmas Coprod_intro = Coprod_intro_inl Coprod_intro_inr + \y. y: B \ d y: C (inr y) \ \ ind\<^sub>+ (\x. c x) (\y. d y) (inr b) \ d b" +lemmas Coprod_routine [intro] = Coprod_form Coprod_intro_inl Coprod_intro_inr Coprod_elim lemmas Coprod_comp [comp] = Coprod_comp_inl Coprod_comp_inr -lemmas Coprod_wellform [wellform] = Coprod_wellform1 Coprod_wellform2 -lemmas Coprod_routine [intro] = Coprod_form Coprod_intro Coprod_elim end -- cgit v1.2.3 From 6857e783fa5cb91f058be322a18fb9ea583f2aad Mon Sep 17 00:00:00 2001 From: Josh Chen Date: Tue, 18 Sep 2018 11:38:54 +0200 Subject: Overhaul of the theory presentations. New methods in HoTT_Methods.thy for handling universes. Commit for release 0.1.0! --- Coprod.thy | 1 + 1 file changed, 1 insertion(+) (limited to 'Coprod.thy') diff --git a/Coprod.thy b/Coprod.thy index d97228e..431e103 100644 --- a/Coprod.thy +++ b/Coprod.thy @@ -42,6 +42,7 @@ where \x. x: A \ c x: C (inl x); \y. y: B \ d y: C (inr y) \ \ ind\<^sub>+ (\x. c x) (\y. d y) (inr b) \ d b" +lemmas Coprod_form [form] lemmas Coprod_routine [intro] = Coprod_form Coprod_intro_inl Coprod_intro_inr Coprod_elim lemmas Coprod_comp [comp] = Coprod_comp_inl Coprod_comp_inr -- cgit v1.2.3