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 --- Prod.thy | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) (limited to 'Prod.thy') diff --git a/Prod.thy b/Prod.thy index 8c94ec6..323bef4 100644 --- a/Prod.thy +++ b/Prod.thy @@ -1,8 +1,7 @@ (* Title: HoTT/Prod.thy Author: Josh Chen - Date: Aug 2018 -Dependent product (function) type. +Dependent product (function) type *) theory Prod @@ -39,11 +38,11 @@ section \Type rules\ axiomatization where Prod_form: "\A: U(i); B: A \ U(i)\ \ \x:A. B(x): U(i)" and - Prod_intro: "\A: U(i); \x. x: A \ b(x): B(x)\ \ \<^bold>\x. b(x): \x:A. B(x)" + Prod_intro: "\\x. x: A \ b(x): B(x); A: U(i)\ \ \<^bold>\x. b(x): \x:A. B(x)" and Prod_elim: "\f: \x:A. B(x); a: A\ \ f`a: B(a)" and - Prod_comp: "\\x. x: A \ b(x): B(x); a: A\ \ (\<^bold>\x. b(x))`a \ b(a)" + Prod_appl: "\\x. x: A \ b(x): B(x); a: A\ \ (\<^bold>\x. b(x))`a \ b(a)" and Prod_uniq: "f : \x:A. B(x) \ \<^bold>\x. (f`x) \ f" and @@ -62,15 +61,16 @@ text " " axiomatization where - Prod_form_cond1: "(\x:A. B(x): U(i)) \ A: U(i)" + Prod_wellform1: "(\x:A. B(x): U(i)) \ A: U(i)" and - Prod_form_cond2: "(\x:A. B(x): U(i)) \ B: A \ U(i)" + Prod_wellform2: "(\x:A. B(x): U(i)) \ B: A \ U(i)" -text "Set up the standard reasoner to use the type rules:" -lemmas Prod_rules [intro] = Prod_form Prod_intro Prod_elim Prod_comp Prod_uniq Prod_eq -lemmas Prod_wellform [wellform] = Prod_form_cond1 Prod_form_cond2 -lemmas Prod_comps [comp] = Prod_comp Prod_uniq Prod_eq +text "Rule attribute declarations---set up various methods to use the type rules." + +lemmas Prod_comp [comp] = Prod_appl Prod_uniq +lemmas Prod_wellform [wellform] = Prod_wellform1 Prod_wellform2 +lemmas Prod_routine [intro] = Prod_form Prod_intro Prod_comp Prod_elim section \Function composition\ @@ -96,8 +96,8 @@ and and Unit_comp: "\C: \ \ U(i); c: C(\)\ \ ind\<^sub>\(c)(\) \ c" -lemmas Unit_rules [intro] = Unit_form Unit_intro Unit_elim Unit_comp -lemmas Unit_comps [comp] = Unit_comp +lemmas Unit_comp [comp] +lemmas Unit_routine [intro] = Unit_form Unit_intro Unit_comp Unit_elim end -- cgit v1.2.3