aboutsummaryrefslogtreecommitdiff
path: root/Equal.thy
diff options
context:
space:
mode:
authorJosh Chen2018-09-16 11:03:48 +0200
committerJosh Chen2018-09-16 11:03:48 +0200
commitd4900ced2e071927d81a21a9127034941f258ec3 (patch)
treec0289b3fd8337a05baa7740ca3f5e84c57f539ca /Equal.thy
parent515872533295e8464799467303fff923b52a2c01 (diff)
parentf0999d07a0f41284ba84fae725a0186e0ec9ff5f (diff)
Reorganized HoTT_Base, updated theories
Diffstat (limited to 'Equal.thy')
-rw-r--r--Equal.thy32
1 files changed, 16 insertions, 16 deletions
diff --git a/Equal.thy b/Equal.thy
index 772072a..7b6acb5 100644
--- a/Equal.thy
+++ b/Equal.thy
@@ -12,13 +12,13 @@ begin
section \<open>Constants and syntax\<close>
axiomatization
- Equal :: "[Term, Term, Term] \<Rightarrow> Term" and
- refl :: "Term \<Rightarrow> Term" and
- indEqual :: "[Term \<Rightarrow> Term, Term] \<Rightarrow> Term" ("(1ind\<^sub>=)")
+ Equal :: "[t, t, t] \<Rightarrow> t" and
+ refl :: "t \<Rightarrow> t" and
+ indEqual :: "[t \<Rightarrow> t, t] \<Rightarrow> t" ("(1ind\<^sub>=)")
syntax
- "_EQUAL" :: "[Term, Term, Term] \<Rightarrow> Term" ("(3_ =\<^sub>_/ _)" [101, 0, 101] 100)
- "_EQUAL_ASCII" :: "[Term, Term, Term] \<Rightarrow> Term" ("(3_ =[_]/ _)" [101, 0, 101] 100)
+ "_EQUAL" :: "[t, t, t] \<Rightarrow> t" ("(3_ =\<^sub>_/ _)" [101, 0, 101] 100)
+ "_EQUAL_ASCII" :: "[t, t, t] \<Rightarrow> t" ("(3_ =[_]/ _)" [101, 0, 101] 100)
translations
"a =[A] b" \<rightleftharpoons> "CONST Equal A a b"
"a =\<^sub>A b" \<rightharpoonup> "CONST Equal A a b"
@@ -27,33 +27,33 @@ translations
section \<open>Type rules\<close>
axiomatization where
- Equal_form: "\<lbrakk>A: U(i); a: A; b: A\<rbrakk> \<Longrightarrow> a =\<^sub>A b : U(i)"
+ Equal_form: "\<lbrakk>A: U i; a: A; b: A\<rbrakk> \<Longrightarrow> a =\<^sub>A b : U i"
and
- Equal_intro: "a : A \<Longrightarrow> refl(a): a =\<^sub>A a"
+ Equal_intro: "a : A \<Longrightarrow> (refl a): a =\<^sub>A a"
and
Equal_elim: "\<lbrakk>
x: A;
y: A;
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>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>
a: A;
- \<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)(refl(a)) \<equiv> f(a)"
+ \<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 (refl a) \<equiv> f a"
text "Admissible inference rules for equality type formation:"
axiomatization where
- Equal_wellform1: "a =\<^sub>A b: U(i) \<Longrightarrow> A: U(i)"
+ Equal_wellform1: "a =\<^sub>A b: U i \<Longrightarrow> A: U i"
and
- Equal_wellform2: "a =\<^sub>A b: U(i) \<Longrightarrow> a: A"
+ Equal_wellform2: "a =\<^sub>A b: U i \<Longrightarrow> a: A"
and
- Equal_wellform3: "a =\<^sub>A b: U(i) \<Longrightarrow> b: A"
+ Equal_wellform3: "a =\<^sub>A b: U i \<Longrightarrow> b: A"
text "Rule attribute declarations:"