aboutsummaryrefslogtreecommitdiff
path: root/Equal.thy
diff options
context:
space:
mode:
authorJosh Chen2018-08-18 21:28:21 +0200
committerJosh Chen2018-08-18 21:28:21 +0200
commite1be5f97bb2a42b3179bc24b118d69af137f8e5d (patch)
tree37fa2dacc40261bf37726e23121df0ba5b9af68e /Equal.thy
parent03c734ea067bd28210530d862137133e2215ca80 (diff)
Regrouping type rules
Diffstat (limited to '')
-rw-r--r--Equal.thy28
1 files changed, 13 insertions, 15 deletions
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 \<Longrightarrow> refl(a): a =\<^sub>A a"
and
Equal_elim: "\<lbrakk>
- \<And>x y. \<lbrakk>x: A; y: A\<rbrakk> \<Longrightarrow> C(x)(y): x =\<^sub>A y \<longrightarrow> U(i);
- \<And>x. x: A \<Longrightarrow> f(x) : C(x)(x)(refl x);
x: A;
y: A;
- p: x =\<^sub>A y
+ p: x =\<^sub>A y;
+ \<And>x. x: A \<Longrightarrow> f(x) : C(x)(x)(refl x);
+ \<And>x y. \<lbrakk>x: A; y: A\<rbrakk> \<Longrightarrow> C(x)(y): x =\<^sub>A y \<longrightarrow> U(i)
\<rbrakk> \<Longrightarrow> ind\<^sub>=(f)(p) : C(x)(y)(p)"
and
Equal_comp: "\<lbrakk>
- \<And>x y. \<lbrakk>x: A; y: A\<rbrakk> \<Longrightarrow> C(x)(y): x =\<^sub>A y \<longrightarrow> U(i);
+ a: A;
\<And>x. x: A \<Longrightarrow> f(x) : C(x)(x)(refl x);
- a: A
+ \<And>x y. \<lbrakk>x: A; y: A\<rbrakk> \<Longrightarrow> C(x)(y): x =\<^sub>A y \<longrightarrow> U(i)
\<rbrakk> \<Longrightarrow> ind\<^sub>=(f)(refl(a)) \<equiv> f(a)"
text "Admissible inference rules for equality type formation:"
axiomatization where
- Equal_form_cond1: "a =\<^sub>A b: U(i) \<Longrightarrow> A: U(i)"
+ Equal_wellform1: "a =\<^sub>A b: U(i) \<Longrightarrow> A: U(i)"
and
- Equal_form_cond2: "a =\<^sub>A b: U(i) \<Longrightarrow> a: A"
+ Equal_wellform2: "a =\<^sub>A b: U(i) \<Longrightarrow> a: A"
and
- Equal_form_cond3: "a =\<^sub>A b: U(i) \<Longrightarrow> b: A"
-
+ Equal_wellform3: "a =\<^sub>A b: U(i) \<Longrightarrow> 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