From 7a89ec1e72f61179767c6488177c6d12e69388c5 Mon Sep 17 00:00:00 2001 From: Josh Chen Date: Sun, 12 Aug 2018 13:04:16 +0200 Subject: Commit before testing polymorphic equality eliminator --- Equal.thy | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) (limited to 'Equal.thy') diff --git a/Equal.thy b/Equal.thy index 8bd7875..d910bb8 100644 --- a/Equal.thy +++ b/Equal.thy @@ -28,11 +28,11 @@ translations section \Type rules\ axiomatization where - Equal_form: "\i A a b. \A: U(i); a: A; b: A\ \ a =\<^sub>A b : U(i)" + Equal_form: "\A: U(i); a: A; b: A\ \ a =\<^sub>A b : U(i)" and - Equal_intro: "\A a. a : A \ refl(a): a =\<^sub>A a" + Equal_intro: "a : A \ refl(a): a =\<^sub>A a" and - Equal_elim: "\i A C f a b p. \ + 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); a: A; @@ -40,23 +40,23 @@ and p: a =\<^sub>A b \ \ ind\<^sub>=(f)(a)(b)(p) : C(a)(b)(p)" and - Equal_comp: "\i A C f a. \ + Equal_comp: "\ \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); a: A \ \ ind\<^sub>=(f)(a)(a)(refl(a)) \ f(a)" text "Admissible inference rules for equality type formation:" - +(* axiomatization where - Equal_form_cond1: "\i A a b. a =\<^sub>A b: U(i) \ A: U(i)" + Equal_form_cond1: "a =\<^sub>A b: U(i) \ A: U(i)" and - Equal_form_cond2: "\i A a b. a =\<^sub>A b: U(i) \ a: A" + Equal_form_cond2: "a =\<^sub>A b: U(i) \ a: A" and - Equal_form_cond3: "\i A a b. a =\<^sub>A b: U(i) \ b: A" - + Equal_form_cond3: "a =\<^sub>A b: U(i) \ b: A" +*) lemmas Equal_rules [intro] = Equal_form Equal_intro Equal_elim Equal_comp -lemmas Equal_form_conds [intro] = Equal_form_cond1 Equal_form_cond2 Equal_form_cond3 +(*lemmas Equal_form_conds [intro] = Equal_form_cond1 Equal_form_cond2 Equal_form_cond3*) lemmas Equal_comps [comp] = Equal_comp -- cgit v1.2.3