From 64d2a5c60acce40113362c9d7eca8cd633362d23 Mon Sep 17 00:00:00 2001 From: Josh Chen Date: Tue, 5 Feb 2019 18:32:43 +0100 Subject: Add cong named theorem for congruence rules --- Prod.thy | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'Prod.thy') diff --git a/Prod.thy b/Prod.thy index a28c52a..0de7d89 100644 --- a/Prod.thy +++ b/Prod.thy @@ -66,6 +66,7 @@ Note that this is a separate rule from function extensionality. lemmas Prod_form [form] lemmas Prod_routine [intro] = Prod_form Prod_intro Prod_elim lemmas Prod_comp [comp] = Prod_cmp Prod_uniq +lemmas Prod_cong [cong] = Prod_form_eq Prod_intro_eq section \Function composition\ @@ -98,12 +99,12 @@ end lemma compose_assoc: assumes "A: U i" "f: A \ B" "g: B \ C" "h: TT x: C. D x" shows "compose A (compose B h g) f \ compose A h (compose A g f)" -by (derive lems: assms Prod_intro_eq) +by (derive lems: assms cong) lemma compose_comp: assumes "A: U i" and "\x. x: A \ b x: B" and "\x. x: B \ c x: C x" shows "(,\\x: B. c x) o (,\\x: A. b x) \ ,\\x: A. c (b x)" -by (derive lems: assms Prod_intro_eq) +by (derive lems: assms cong) abbreviation id :: "t \ t" where "id A \ ,\\x: A. x" -- cgit v1.2.3