From 095bc4a60ab2c38a56c34b4b99d363c4c0f14e3d Mon Sep 17 00:00:00 2001 From: Josh Chen Date: Wed, 30 May 2018 15:39:35 +0200 Subject: New type rules for dependent product and sum. --- HoTT_Theorems.thy | 13 ++++--------- 1 file changed, 4 insertions(+), 9 deletions(-) (limited to 'HoTT_Theorems.thy') diff --git a/HoTT_Theorems.thy b/HoTT_Theorems.thy index 10a0d2c..0aefe94 100644 --- a/HoTT_Theorems.thy +++ b/HoTT_Theorems.thy @@ -37,22 +37,17 @@ qed subsection \Function application\ -proposition "\A : U; a : A\ \ (\<^bold>\x:A. x)`a \ a" by simp +proposition "a : A \ (\<^bold>\x:A. x)`a \ a" by simp text "Two arguments:" lemma - assumes "a:A" and "b:B" + assumes "a : A" and "b : B" shows "(\<^bold>\x:A. \<^bold>\y:B. x)`a`b \ a" proof - - have "(\<^bold>\x:A. \<^bold>\y:B. x)`a \ \<^bold>\y:B. a" - proof (rule Prod_comp[of A _ "\_. B\A"]) - fix x - assume "x:A" - then show "\<^bold>\y:B. x : B \ A" .. - qed (rule assms) + have "(\<^bold>\x:A. \<^bold>\y:B. x)`a \ \<^bold>\y:B. a" using assms(1) by (rule Prod_comp[of a A "\x. \<^bold>\y:B. x"]) then have "(\<^bold>\x:A. \<^bold>\y:B. x)`a`b \ (\<^bold>\y:B. a)`b" by simp - also have "(\<^bold>\y:B. a)`b \ a" using assms by (simp add: Prod_comp[of B _ "\_. A"]) + also have "(\<^bold>\y:B. a)`b \ a" using assms by simp finally show "(\<^bold>\x:A. \<^bold>\y:B. x)`a`b \ a" . qed -- cgit v1.2.3