From e1be5f97bb2a42b3179bc24b118d69af137f8e5d Mon Sep 17 00:00:00 2001 From: Josh Chen Date: Sat, 18 Aug 2018 21:28:21 +0200 Subject: Regrouping type rules --- Equal.thy | 28 +++++++++++++--------------- 1 file changed, 13 insertions(+), 15 deletions(-) (limited to 'Equal.thy') diff --git a/Equal.thy b/Equal.thy index 11a966b..722a9b9 100644 --- a/Equal.thy +++ b/Equal.thy @@ -1,8 +1,7 @@ (* Title: HoTT/Equal.thy Author: Josh Chen - Date: Jun 2018 -Equality type. +Equality type *) theory Equal @@ -33,36 +32,35 @@ and Equal_intro: "a : A \ refl(a): a =\<^sub>A a" and Equal_elim: "\ - \x y. \x: A; y: A\ \ C(x)(y): x =\<^sub>A y \ U(i); - \x. x: A \ f(x) : C(x)(x)(refl x); x: A; y: A; - p: x =\<^sub>A y + p: x =\<^sub>A y; + \x. x: A \ f(x) : C(x)(x)(refl x); + \x y. \x: A; y: A\ \ C(x)(y): x =\<^sub>A y \ U(i) \ \ ind\<^sub>=(f)(p) : C(x)(y)(p)" and Equal_comp: "\ - \x y. \x: A; y: A\ \ C(x)(y): x =\<^sub>A y \ U(i); + a: A; \x. x: A \ f(x) : C(x)(x)(refl x); - a: A + \x y. \x: A; y: A\ \ C(x)(y): x =\<^sub>A y \ U(i) \ \ ind\<^sub>=(f)(refl(a)) \ f(a)" text "Admissible inference rules for equality type formation:" axiomatization where - Equal_form_cond1: "a =\<^sub>A b: U(i) \ A: U(i)" + Equal_wellform1: "a =\<^sub>A b: U(i) \ A: U(i)" and - Equal_form_cond2: "a =\<^sub>A b: U(i) \ a: A" + Equal_wellform2: "a =\<^sub>A b: U(i) \ a: A" and - Equal_form_cond3: "a =\<^sub>A b: U(i) \ b: A" - + Equal_wellform3: "a =\<^sub>A b: U(i) \ b: A" -text "Rule declarations:" -lemmas Equal_rules [intro] = Equal_form Equal_intro Equal_elim Equal_comp -lemmas Equal_wellform [wellform] = Equal_form_cond1 Equal_form_cond2 Equal_form_cond3 -lemmas Equal_comps [comp] = Equal_comp +text "Rule attribute declarations:" +lemmas Equal_comp [comp] +lemmas Equal_wellform [wellform] = Equal_wellform1 Equal_wellform2 Equal_wellform3 +lemmas Equal_routine [intro] = Equal_form Equal_intro Equal_comp Equal_elim end -- cgit v1.2.3