new theorem names: fun_below_iff, fun_belowI, cfun_eq_iff, cfun_eqI, cfun_below_iff, cfun_belowI
authorhuffman
Mon, 11 Oct 2010 21:35:31 -0700
changeset 40002 c5b5f7a3a3b1
parent 40001 666c3751227c
child 40003 427106657e04
new theorem names: fun_below_iff, fun_belowI, cfun_eq_iff, cfun_eqI, cfun_below_iff, cfun_belowI
src/HOLCF/Bifinite.thy
src/HOLCF/Cfun.thy
src/HOLCF/Completion.thy
src/HOLCF/ConvexPD.thy
src/HOLCF/Cprod.thy
src/HOLCF/Deflation.thy
src/HOLCF/FOCUS/Buffer.thy
src/HOLCF/Fun_Cpo.thy
src/HOLCF/HOLCF.thy
src/HOLCF/Library/Defl_Bifinite.thy
src/HOLCF/Library/Stream.thy
src/HOLCF/Library/Strict_Fun.thy
src/HOLCF/Lift.thy
src/HOLCF/LowerPD.thy
src/HOLCF/Representable.thy
src/HOLCF/Sprod.thy
src/HOLCF/Ssum.thy
src/HOLCF/Universal.thy
src/HOLCF/Up.thy
src/HOLCF/UpperPD.thy
src/HOLCF/ex/Fix2.thy
src/HOLCF/ex/Focus_ex.thy
src/HOLCF/ex/Hoare.thy
--- a/src/HOLCF/Bifinite.thy	Mon Oct 11 16:24:44 2010 -0700
+++ b/src/HOLCF/Bifinite.thy	Mon Oct 11 21:35:31 2010 -0700
@@ -56,7 +56,7 @@
       unfolding approx_def by (simp add: Y)
     show "(\<Squnion>i. approx i) = ID"
       unfolding approx_def
-      by (simp add: lub_distribs Y DEFL [symmetric] cast_DEFL expand_cfun_eq)
+      by (simp add: lub_distribs Y DEFL [symmetric] cast_DEFL cfun_eq_iff)
     show "\<And>i. finite_deflation (approx i)"
       unfolding approx_def
       apply (rule bifinite.finite_deflation_p_d_e)
@@ -228,7 +228,7 @@
 next
   show "cast\<cdot>DEFL('a \<rightarrow> 'b) = emb oo (prj :: udom \<rightarrow> 'a \<rightarrow> 'b)"
     unfolding emb_cfun_def prj_cfun_def defl_cfun_def cast_cfun_defl
-    by (simp add: cast_DEFL oo_def expand_cfun_eq cfun_map_map)
+    by (simp add: cast_DEFL oo_def cfun_eq_iff cfun_map_map)
 qed
 
 end
@@ -287,7 +287,7 @@
 next
   show "cast\<cdot>DEFL('a \<times> 'b) = emb oo (prj :: udom \<rightarrow> 'a \<times> 'b)"
     unfolding emb_prod_def prj_prod_def defl_prod_def cast_prod_defl
-    by (simp add: cast_DEFL oo_def expand_cfun_eq cprod_map_map)
+    by (simp add: cast_DEFL oo_def cfun_eq_iff cprod_map_map)
 qed
 
 end
@@ -348,7 +348,7 @@
 next
   show "cast\<cdot>DEFL('a \<otimes> 'b) = emb oo (prj :: udom \<rightarrow> 'a \<otimes> 'b)"
     unfolding emb_sprod_def prj_sprod_def defl_sprod_def cast_sprod_defl
-    by (simp add: cast_DEFL oo_def expand_cfun_eq sprod_map_map)
+    by (simp add: cast_DEFL oo_def cfun_eq_iff sprod_map_map)
 qed
 
 end
@@ -405,7 +405,7 @@
 next
   show "cast\<cdot>DEFL('a u) = emb oo (prj :: udom \<rightarrow> 'a u)"
     unfolding emb_u_def prj_u_def defl_u_def cast_u_defl
-    by (simp add: cast_DEFL oo_def expand_cfun_eq u_map_map)
+    by (simp add: cast_DEFL oo_def cfun_eq_iff u_map_map)
 qed
 
 end
@@ -425,7 +425,7 @@
   by (rule chainI, simp add: FLIFT_mono)
 
 lemma lub_lift_approx [simp]: "(\<Squnion>i. lift_approx i) = ID"
-apply (rule ext_cfun)
+apply (rule cfun_eqI)
 apply (simp add: contlub_cfun_fun)
 apply (simp add: lift_approx_def)
 apply (case_tac x, simp)
@@ -548,7 +548,7 @@
 next
   show "cast\<cdot>DEFL('a \<oplus> 'b) = emb oo (prj :: udom \<rightarrow> 'a \<oplus> 'b)"
     unfolding emb_ssum_def prj_ssum_def defl_ssum_def cast_ssum_defl
-    by (simp add: cast_DEFL oo_def expand_cfun_eq ssum_map_map)
+    by (simp add: cast_DEFL oo_def cfun_eq_iff ssum_map_map)
 qed
 
 end
--- a/src/HOLCF/Cfun.thy	Mon Oct 11 16:24:44 2010 -0700
+++ b/src/HOLCF/Cfun.thy	Mon Oct 11 21:35:31 2010 -0700
@@ -176,19 +176,19 @@
 
 text {* Extensionality for continuous functions *}
 
-lemma expand_cfun_eq: "(f = g) = (\<forall>x. f\<cdot>x = g\<cdot>x)"
+lemma cfun_eq_iff: "f = g \<longleftrightarrow> (\<forall>x. f\<cdot>x = g\<cdot>x)"
 by (simp add: Rep_CFun_inject [symmetric] fun_eq_iff)
 
-lemma ext_cfun: "(\<And>x. f\<cdot>x = g\<cdot>x) \<Longrightarrow> f = g"
-by (simp add: expand_cfun_eq)
+lemma cfun_eqI: "(\<And>x. f\<cdot>x = g\<cdot>x) \<Longrightarrow> f = g"
+by (simp add: cfun_eq_iff)
 
 text {* Extensionality wrt. ordering for continuous functions *}
 
-lemma expand_cfun_below: "f \<sqsubseteq> g = (\<forall>x. f\<cdot>x \<sqsubseteq> g\<cdot>x)" 
-by (simp add: below_CFun_def expand_fun_below)
+lemma cfun_below_iff: "f \<sqsubseteq> g \<longleftrightarrow> (\<forall>x. f\<cdot>x \<sqsubseteq> g\<cdot>x)" 
+by (simp add: below_CFun_def fun_below_iff)
 
-lemma below_cfun_ext: "(\<And>x. f\<cdot>x \<sqsubseteq> g\<cdot>x) \<Longrightarrow> f \<sqsubseteq> g"
-by (simp add: expand_cfun_below)
+lemma cfun_belowI: "(\<And>x. f\<cdot>x \<sqsubseteq> g\<cdot>x) \<Longrightarrow> f \<sqsubseteq> g"
+by (simp add: cfun_below_iff)
 
 text {* Congruence for continuous function application *}
 
@@ -233,7 +233,7 @@
 text {* monotonicity of application *}
 
 lemma monofun_cfun_fun: "f \<sqsubseteq> g \<Longrightarrow> f\<cdot>x \<sqsubseteq> g\<cdot>x"
-by (simp add: expand_cfun_below)
+by (simp add: cfun_below_iff)
 
 lemma monofun_cfun_arg: "x \<sqsubseteq> y \<Longrightarrow> f\<cdot>x \<sqsubseteq> f\<cdot>y"
 by (rule monofun_Rep_CFun2 [THEN monofunE])
@@ -258,7 +258,7 @@
 
 lemma ch2ch_LAM [simp]:
   "\<lbrakk>\<And>x. chain (\<lambda>i. S i x); \<And>i. cont (\<lambda>x. S i x)\<rbrakk> \<Longrightarrow> chain (\<lambda>i. \<Lambda> x. S i x)"
-by (simp add: chain_def expand_cfun_below)
+by (simp add: chain_def cfun_below_iff)
 
 text {* contlub, cont properties of @{term Rep_CFun} in both arguments *}
 
@@ -344,7 +344,7 @@
 lemma cont2mono_LAM:
   "\<lbrakk>\<And>x. cont (\<lambda>y. f x y); \<And>y. monofun (\<lambda>x. f x y)\<rbrakk>
     \<Longrightarrow> monofun (\<lambda>x. \<Lambda> y. f x y)"
-  unfolding monofun_def expand_cfun_below by simp
+  unfolding monofun_def cfun_below_iff by simp
 
 text {* cont2cont Lemma for @{term "%x. LAM y. f x y"} *}
 
@@ -509,7 +509,7 @@
 by (simp add: cfcomp1)
 
 lemma cfcomp_strict [simp]: "\<bottom> oo f = \<bottom>"
-by (simp add: expand_cfun_eq)
+by (simp add: cfun_eq_iff)
 
 text {*
   Show that interpretation of (pcpo,@{text "_->_"}) is a category.
@@ -520,13 +520,13 @@
 *}
 
 lemma ID2 [simp]: "f oo ID = f"
-by (rule ext_cfun, simp)
+by (rule cfun_eqI, simp)
 
 lemma ID3 [simp]: "ID oo f = f"
-by (rule ext_cfun, simp)
+by (rule cfun_eqI, simp)
 
 lemma assoc_oo: "f oo (g oo h) = (f oo g) oo h"
-by (rule ext_cfun, simp)
+by (rule cfun_eqI, simp)
 
 subsection {* Map operator for continuous function space *}
 
@@ -539,12 +539,12 @@
 unfolding cfun_map_def by simp
 
 lemma cfun_map_ID: "cfun_map\<cdot>ID\<cdot>ID = ID"
-unfolding expand_cfun_eq by simp
+unfolding cfun_eq_iff by simp
 
 lemma cfun_map_map:
   "cfun_map\<cdot>f1\<cdot>g1\<cdot>(cfun_map\<cdot>f2\<cdot>g2\<cdot>p) =
     cfun_map\<cdot>(\<Lambda> x. f2\<cdot>(f1\<cdot>x))\<cdot>(\<Lambda> x. g1\<cdot>(g2\<cdot>x))\<cdot>p"
-by (rule ext_cfun) simp
+by (rule cfun_eqI) simp
 
 subsection {* Strictified functions *}
 
--- a/src/HOLCF/Completion.thy	Mon Oct 11 16:24:44 2010 -0700
+++ b/src/HOLCF/Completion.thy	Mon Oct 11 21:35:31 2010 -0700
@@ -397,7 +397,7 @@
   assumes g_mono: "\<And>a b. a \<preceq> b \<Longrightarrow> g a \<sqsubseteq> g b"
   assumes below: "\<And>a. f a \<sqsubseteq> g a"
   shows "basis_fun f \<sqsubseteq> basis_fun g"
- apply (rule below_cfun_ext)
+ apply (rule cfun_belowI)
  apply (simp only: basis_fun_beta f_mono g_mono)
  apply (rule is_lub_thelub_ex)
   apply (rule basis_fun_lemma, erule f_mono)
--- a/src/HOLCF/ConvexPD.thy	Mon Oct 11 16:24:44 2010 -0700
+++ b/src/HOLCF/ConvexPD.thy	Mon Oct 11 21:35:31 2010 -0700
@@ -331,7 +331,7 @@
 
 lemma monofun_LAM:
   "\<lbrakk>cont f; cont g; \<And>x. f x \<sqsubseteq> g x\<rbrakk> \<Longrightarrow> (\<Lambda> x. f x) \<sqsubseteq> (\<Lambda> x. g x)"
-by (simp add: expand_cfun_below)
+by (simp add: cfun_below_iff)
 
 lemma convex_bind_basis_mono:
   "t \<le>\<natural> u \<Longrightarrow> convex_bind_basis t \<sqsubseteq> convex_bind_basis u"
@@ -382,7 +382,7 @@
 by (induct xs rule: convex_pd_induct, simp_all)
 
 lemma convex_map_ID: "convex_map\<cdot>ID = ID"
-by (simp add: expand_cfun_eq ID_def convex_map_ident)
+by (simp add: cfun_eq_iff ID_def convex_map_ident)
 
 lemma convex_map_map:
   "convex_map\<cdot>f\<cdot>(convex_map\<cdot>g\<cdot>xs) = convex_map\<cdot>(\<Lambda> x. f\<cdot>(g\<cdot>x))\<cdot>xs"
@@ -494,7 +494,7 @@
 next
   show "cast\<cdot>DEFL('a convex_pd) = emb oo (prj :: udom \<rightarrow> 'a convex_pd)"
     unfolding emb_convex_pd_def prj_convex_pd_def defl_convex_pd_def cast_convex_defl
-    by (simp add: cast_DEFL oo_def expand_cfun_eq convex_map_map)
+    by (simp add: cast_DEFL oo_def cfun_eq_iff convex_map_map)
 qed
 
 end
--- a/src/HOLCF/Cprod.thy	Mon Oct 11 16:24:44 2010 -0700
+++ b/src/HOLCF/Cprod.thy	Mon Oct 11 21:35:31 2010 -0700
@@ -51,7 +51,7 @@
 unfolding cprod_map_def by simp
 
 lemma cprod_map_ID: "cprod_map\<cdot>ID\<cdot>ID = ID"
-unfolding expand_cfun_eq by auto
+unfolding cfun_eq_iff by auto
 
 lemma cprod_map_map:
   "cprod_map\<cdot>f1\<cdot>g1\<cdot>(cprod_map\<cdot>f2\<cdot>g2\<cdot>p) =
--- a/src/HOLCF/Deflation.thy	Mon Oct 11 16:24:44 2010 -0700
+++ b/src/HOLCF/Deflation.thy	Mon Oct 11 21:35:31 2010 -0700
@@ -19,7 +19,7 @@
 begin
 
 lemma below_ID: "d \<sqsubseteq> ID"
-by (rule below_cfun_ext, simp add: below)
+by (rule cfun_belowI, simp add: below)
 
 text {* The set of fixed points is the same as the range. *}
 
@@ -36,7 +36,7 @@
 
 lemma belowI:
   assumes f: "\<And>x. d\<cdot>x = x \<Longrightarrow> f\<cdot>x = x" shows "d \<sqsubseteq> f"
-proof (rule below_cfun_ext)
+proof (rule cfun_belowI)
   fix x
   from below have "f\<cdot>(d\<cdot>x) \<sqsubseteq> f\<cdot>x" by (rule monofun_cfun_arg)
   also from idem have "f\<cdot>(d\<cdot>x) = d\<cdot>x" by (rule f)
@@ -326,7 +326,7 @@
 lemma ep_pair_unique_e_lemma:
   assumes 1: "ep_pair e1 p" and 2: "ep_pair e2 p"
   shows "e1 \<sqsubseteq> e2"
-proof (rule below_cfun_ext)
+proof (rule cfun_belowI)
   fix x
   have "e1\<cdot>(p\<cdot>(e2\<cdot>x)) \<sqsubseteq> e2\<cdot>x"
     by (rule ep_pair.e_p_below [OF 1])
@@ -341,7 +341,7 @@
 lemma ep_pair_unique_p_lemma:
   assumes 1: "ep_pair e p1" and 2: "ep_pair e p2"
   shows "p1 \<sqsubseteq> p2"
-proof (rule below_cfun_ext)
+proof (rule cfun_belowI)
   fix x
   have "e\<cdot>(p1\<cdot>x) \<sqsubseteq> x"
     by (rule ep_pair.e_p_below [OF 1])
@@ -414,9 +414,9 @@
   interpret e1p1: ep_pair e1 p1 by fact
   interpret e2p2: ep_pair e2 p2 by fact
   fix f show "cfun_map\<cdot>e1\<cdot>p2\<cdot>(cfun_map\<cdot>p1\<cdot>e2\<cdot>f) = f"
-    by (simp add: expand_cfun_eq)
+    by (simp add: cfun_eq_iff)
   fix g show "cfun_map\<cdot>p1\<cdot>e2\<cdot>(cfun_map\<cdot>e1\<cdot>p2\<cdot>g) \<sqsubseteq> g"
-    apply (rule below_cfun_ext, simp)
+    apply (rule cfun_belowI, simp)
     apply (rule below_trans [OF e2p2.e_p_below])
     apply (rule monofun_cfun_arg)
     apply (rule e1p1.e_p_below)
@@ -431,9 +431,9 @@
   interpret d2: deflation d2 by fact
   fix f
   show "cfun_map\<cdot>d1\<cdot>d2\<cdot>(cfun_map\<cdot>d1\<cdot>d2\<cdot>f) = cfun_map\<cdot>d1\<cdot>d2\<cdot>f"
-    by (simp add: expand_cfun_eq d1.idem d2.idem)
+    by (simp add: cfun_eq_iff d1.idem d2.idem)
   show "cfun_map\<cdot>d1\<cdot>d2\<cdot>f \<sqsubseteq> f"
-    apply (rule below_cfun_ext, simp)
+    apply (rule cfun_belowI, simp)
     apply (rule below_trans [OF d2.below])
     apply (rule monofun_cfun_arg)
     apply (rule d1.below)
@@ -455,7 +455,7 @@
       by (simp add: a b)
   qed
   show "inj_on ?f (range ?h)"
-  proof (rule inj_onI, rule ext_cfun, clarsimp)
+  proof (rule inj_onI, rule cfun_eqI, clarsimp)
     fix x f g
     assume "range (\<lambda>x. (a\<cdot>x, b\<cdot>(f\<cdot>(a\<cdot>x)))) = range (\<lambda>x. (a\<cdot>x, b\<cdot>(g\<cdot>(a\<cdot>x))))"
     hence "range (\<lambda>x. (a\<cdot>x, b\<cdot>(f\<cdot>(a\<cdot>x)))) \<subseteq> range (\<lambda>x. (a\<cdot>x, b\<cdot>(g\<cdot>(a\<cdot>x))))"
--- a/src/HOLCF/FOCUS/Buffer.thy	Mon Oct 11 16:24:44 2010 -0700
+++ b/src/HOLCF/FOCUS/Buffer.thy	Mon Oct 11 21:35:31 2010 -0700
@@ -200,7 +200,7 @@
 apply (  rule_tac [2] P="(%x. x:B)" in ssubst)
 prefer 3
 apply (   assumption)
-apply (  rule_tac [2] ext_cfun)
+apply (  rule_tac [2] cfun_eqI)
 apply (  drule_tac [2] spec)
 apply (  drule_tac [2] f="rt" in cfun_arg_cong)
 prefer 2
--- a/src/HOLCF/Fun_Cpo.thy	Mon Oct 11 16:24:44 2010 -0700
+++ b/src/HOLCF/Fun_Cpo.thy	Mon Oct 11 21:35:31 2010 -0700
@@ -35,12 +35,10 @@
     unfolding below_fun_def by (fast elim: below_trans)
 qed
 
-text {* make the symbol @{text "<<"} accessible for type fun *}
-
-lemma expand_fun_below: "(f \<sqsubseteq> g) = (\<forall>x. f x \<sqsubseteq> g x)"
+lemma fun_below_iff: "f \<sqsubseteq> g \<longleftrightarrow> (\<forall>x. f x \<sqsubseteq> g x)"
 by (simp add: below_fun_def)
 
-lemma below_fun_ext: "(\<And>x. f x \<sqsubseteq> g x) \<Longrightarrow> f \<sqsubseteq> g"
+lemma fun_belowI: "(\<And>x. f x \<sqsubseteq> g x) \<Longrightarrow> f \<sqsubseteq> g"
 by (simp add: below_fun_def)
 
 subsection {* Full function space is chain complete *}
@@ -71,9 +69,9 @@
   shows "range Y <<| f"
 apply (rule is_lubI)
 apply (rule ub_rangeI)
-apply (rule below_fun_ext)
+apply (rule fun_belowI)
 apply (rule is_ub_lub [OF f])
-apply (rule below_fun_ext)
+apply (rule fun_belowI)
 apply (rule is_lub_lub [OF f])
 apply (erule ub2ub_fun)
 done
@@ -104,7 +102,7 @@
 proof
   fix f g :: "'a \<Rightarrow> 'b"
   show "f \<sqsubseteq> g \<longleftrightarrow> f = g" 
-    unfolding expand_fun_below fun_eq_iff
+    unfolding fun_below_iff fun_eq_iff
     by simp
 qed
 
@@ -227,7 +225,7 @@
 lemma mono2mono_lambda:
   assumes f: "\<And>y. monofun (\<lambda>x. f x y)" shows "monofun f"
 apply (rule monofunI)
-apply (rule below_fun_ext)
+apply (rule fun_belowI)
 apply (erule monofunE [OF f])
 done
 
@@ -235,7 +233,7 @@
   assumes f: "\<And>y. cont (\<lambda>x. f x y)" shows "cont f"
 apply (rule contI2)
 apply (simp add: mono2mono_lambda cont2mono f)
-apply (rule below_fun_ext)
+apply (rule fun_belowI)
 apply (simp add: thelub_fun cont2contlubE [OF f])
 done
 
--- a/src/HOLCF/HOLCF.thy	Mon Oct 11 16:24:44 2010 -0700
+++ b/src/HOLCF/HOLCF.thy	Mon Oct 11 21:35:31 2010 -0700
@@ -15,7 +15,16 @@
 
 ML {* path_add "~~/src/HOLCF/Library" *}
 
-text {* Legacy theorem names *}
+text {* Legacy theorem names deprecated after Isabelle2009-2: *}
+
+lemmas expand_fun_below = fun_below_iff
+lemmas below_fun_ext = fun_belowI
+lemmas expand_cfun_eq = cfun_eq_iff
+lemmas ext_cfun = cfun_eqI
+lemmas expand_cfun_below = cfun_below_iff
+lemmas below_cfun_ext = cfun_belowI
+
+text {* Older legacy theorem names: *}
 
 lemmas sq_ord_less_eq_trans = below_eq_trans
 lemmas sq_ord_eq_less_trans = eq_below_trans
--- a/src/HOLCF/Library/Defl_Bifinite.thy	Mon Oct 11 16:24:44 2010 -0700
+++ b/src/HOLCF/Library/Defl_Bifinite.thy	Mon Oct 11 21:35:31 2010 -0700
@@ -240,7 +240,7 @@
   hence "MOST i. MOST j. \<forall>x. iterate (Suc j)\<cdot>f\<cdot>x = iterate (Suc i)\<cdot>f\<cdot>x"
     by (simp only: iterate_Suc2)
   hence "MOST i. MOST j. iterate (Suc j)\<cdot>f = iterate (Suc i)\<cdot>f"
-    by (simp only: expand_cfun_eq)
+    by (simp only: cfun_eq_iff)
   hence "eventually_constant (\<lambda>i. iterate (Suc i)\<cdot>f)"
     unfolding eventually_constant_MOST_MOST .
   thus "eventually_constant (\<lambda>i. iterate i\<cdot>f)"
@@ -587,7 +587,7 @@
     apply (simp add: defl_approx_principal fd_take_below)
     done
   show lub: "(\<Squnion>i. defl_approx i) = ID"
-    apply (rule ext_cfun, rule below_antisym)
+    apply (rule cfun_eqI, rule below_antisym)
     apply (simp add: contlub_cfun_fun chain lub_below_iff chain below)
     apply (induct_tac x rule: defl.principal_induct, simp)
     apply (simp add: contlub_cfun_fun chain)
--- a/src/HOLCF/Library/Stream.thy	Mon Oct 11 16:24:44 2010 -0700
+++ b/src/HOLCF/Library/Stream.thy	Mon Oct 11 21:35:31 2010 -0700
@@ -508,7 +508,7 @@
 by (insert sfilter_def [where 'a='a, THEN eq_reflection, THEN fix_eq2], auto)
 
 lemma strict_sfilter: "sfilter\<cdot>\<bottom> = \<bottom>"
-apply (rule ext_cfun)
+apply (rule cfun_eqI)
 apply (subst sfilter_unfold, auto)
 apply (case_tac "x=UU", auto)
 by (drule stream_exhaust_eq [THEN iffD1], auto)
--- a/src/HOLCF/Library/Strict_Fun.thy	Mon Oct 11 16:24:44 2010 -0700
+++ b/src/HOLCF/Library/Strict_Fun.thy	Mon Oct 11 21:35:31 2010 -0700
@@ -37,13 +37,13 @@
   unfolding sfun_rep_beta by (rule Rep_sfun [simplified])
 
 lemma strictify_cancel: "f\<cdot>\<bottom> = \<bottom> \<Longrightarrow> strictify\<cdot>f = f"
-  by (simp add: expand_cfun_eq strictify_conv_if)
+  by (simp add: cfun_eq_iff strictify_conv_if)
 
 lemma sfun_abs_sfun_rep: "sfun_abs\<cdot>(sfun_rep\<cdot>f) = f"
   unfolding sfun_abs_def sfun_rep_def
   apply (simp add: cont_Abs_sfun cont_Rep_sfun)
   apply (simp add: Rep_sfun_inject [symmetric] Abs_sfun_inverse)
-  apply (simp add: expand_cfun_eq strictify_conv_if)
+  apply (simp add: cfun_eq_iff strictify_conv_if)
   apply (simp add: Rep_sfun [simplified])
   done
 
@@ -56,7 +56,7 @@
 lemma ep_pair_sfun: "ep_pair sfun_rep sfun_abs"
 apply default
 apply (rule sfun_abs_sfun_rep)
-apply (simp add: expand_cfun_below strictify_conv_if)
+apply (simp add: cfun_below_iff strictify_conv_if)
 done
 
 interpretation sfun: ep_pair sfun_rep sfun_abs
@@ -71,14 +71,14 @@
 
 lemma sfun_map_ID: "sfun_map\<cdot>ID\<cdot>ID = ID"
   unfolding sfun_map_def
-  by (simp add: cfun_map_ID expand_cfun_eq)
+  by (simp add: cfun_map_ID cfun_eq_iff)
 
 lemma sfun_map_map:
   assumes "f2\<cdot>\<bottom> = \<bottom>" and "g2\<cdot>\<bottom> = \<bottom>" shows
   "sfun_map\<cdot>f1\<cdot>g1\<cdot>(sfun_map\<cdot>f2\<cdot>g2\<cdot>p) =
     sfun_map\<cdot>(\<Lambda> x. f2\<cdot>(f1\<cdot>x))\<cdot>(\<Lambda> x. g1\<cdot>(g2\<cdot>x))\<cdot>p"
 unfolding sfun_map_def
-by (simp add: expand_cfun_eq strictify_cancel assms cfun_map_map)
+by (simp add: cfun_eq_iff strictify_cancel assms cfun_map_map)
 
 lemma ep_pair_sfun_map:
   assumes 1: "ep_pair e1 p1"
@@ -193,7 +193,7 @@
 next
   show "cast\<cdot>DEFL('a \<rightarrow>! 'b) = emb oo (prj :: udom \<rightarrow> 'a \<rightarrow>! 'b)"
     unfolding emb_sfun_def prj_sfun_def defl_sfun_def cast_sfun_defl
-    by (simp add: cast_DEFL oo_def expand_cfun_eq sfun_map_map)
+    by (simp add: cast_DEFL oo_def cfun_eq_iff sfun_map_map)
 qed
 
 end
--- a/src/HOLCF/Lift.thy	Mon Oct 11 16:24:44 2010 -0700
+++ b/src/HOLCF/Lift.thy	Mon Oct 11 21:35:31 2010 -0700
@@ -134,7 +134,7 @@
   "(\<And>x. f x \<sqsubseteq> g x) \<Longrightarrow> (FLIFT x. f x) \<sqsubseteq> (FLIFT x. g x)"
 apply (rule monofunE [where f=flift1])
 apply (rule cont2mono [OF cont_flift1])
-apply (simp add: below_fun_ext)
+apply (simp add: fun_below_iff)
 done
 
 lemma cont2cont_flift1 [simp, cont2cont]:
--- a/src/HOLCF/LowerPD.thy	Mon Oct 11 16:24:44 2010 -0700
+++ b/src/HOLCF/LowerPD.thy	Mon Oct 11 21:35:31 2010 -0700
@@ -323,7 +323,7 @@
 
 lemma lower_bind_basis_mono:
   "t \<le>\<flat> u \<Longrightarrow> lower_bind_basis t \<sqsubseteq> lower_bind_basis u"
-unfolding expand_cfun_below
+unfolding cfun_below_iff
 apply (erule lower_le_induct, safe)
 apply (simp add: monofun_cfun)
 apply (simp add: rev_below_trans [OF lower_plus_below1])
@@ -371,7 +371,7 @@
 by (induct xs rule: lower_pd_induct, simp_all)
 
 lemma lower_map_ID: "lower_map\<cdot>ID = ID"
-by (simp add: expand_cfun_eq ID_def lower_map_ident)
+by (simp add: cfun_eq_iff ID_def lower_map_ident)
 
 lemma lower_map_map:
   "lower_map\<cdot>f\<cdot>(lower_map\<cdot>g\<cdot>xs) = lower_map\<cdot>(\<Lambda> x. f\<cdot>(g\<cdot>x))\<cdot>xs"
@@ -483,7 +483,7 @@
 next
   show "cast\<cdot>DEFL('a lower_pd) = emb oo (prj :: udom \<rightarrow> 'a lower_pd)"
     unfolding emb_lower_pd_def prj_lower_pd_def defl_lower_pd_def cast_lower_defl
-    by (simp add: cast_DEFL oo_def expand_cfun_eq lower_map_map)
+    by (simp add: cast_DEFL oo_def cfun_eq_iff lower_map_map)
 qed
 
 end
--- a/src/HOLCF/Representable.thy	Mon Oct 11 16:24:44 2010 -0700
+++ b/src/HOLCF/Representable.thy	Mon Oct 11 21:35:31 2010 -0700
@@ -45,7 +45,7 @@
 by (simp add: coerce_def)
 
 lemma coerce_eq_ID [simp]: "(coerce :: 'a \<rightarrow> 'a) = ID"
-by (rule ext_cfun, simp add: beta_coerce)
+by (rule cfun_eqI, simp add: beta_coerce)
 
 lemma emb_coerce:
   "DEFL('a) \<sqsubseteq> DEFL('b)
@@ -169,7 +169,7 @@
     apply (simp add: emb_prj cast.below)
     done
   show "cast\<cdot>DEFL('a) = emb oo (prj :: udom \<rightarrow> 'a)"
-    by (rule ext_cfun, simp add: defl emb_prj)
+    by (rule cfun_eqI, simp add: defl emb_prj)
 qed
 
 lemma typedef_DEFL:
@@ -201,10 +201,10 @@
   "isodefl d t \<longleftrightarrow> cast\<cdot>t = emb oo d oo prj"
 
 lemma isodeflI: "(\<And>x. cast\<cdot>t\<cdot>x = emb\<cdot>(d\<cdot>(prj\<cdot>x))) \<Longrightarrow> isodefl d t"
-unfolding isodefl_def by (simp add: ext_cfun)
+unfolding isodefl_def by (simp add: cfun_eqI)
 
 lemma cast_isodefl: "isodefl d t \<Longrightarrow> cast\<cdot>t = (\<Lambda> x. emb\<cdot>(d\<cdot>(prj\<cdot>x)))"
-unfolding isodefl_def by (simp add: ext_cfun)
+unfolding isodefl_def by (simp add: cfun_eqI)
 
 lemma isodefl_strict: "isodefl d t \<Longrightarrow> d\<cdot>\<bottom> = \<bottom>"
 unfolding isodefl_def
@@ -228,14 +228,14 @@
 lemma isodefl_DEFL_imp_ID: "isodefl (d :: 'a \<rightarrow> 'a) DEFL('a) \<Longrightarrow> d = ID"
 unfolding isodefl_def
 apply (simp add: cast_DEFL)
-apply (simp add: expand_cfun_eq)
+apply (simp add: cfun_eq_iff)
 apply (rule allI)
 apply (drule_tac x="emb\<cdot>x" in spec)
 apply simp
 done
 
 lemma isodefl_bottom: "isodefl \<bottom> \<bottom>"
-unfolding isodefl_def by (simp add: expand_cfun_eq)
+unfolding isodefl_def by (simp add: cfun_eq_iff)
 
 lemma adm_isodefl:
   "cont f \<Longrightarrow> cont g \<Longrightarrow> adm (\<lambda>x. isodefl (f x) (g x))"
@@ -263,7 +263,7 @@
   assumes DEFL: "DEFL('b) = DEFL('a)"
   shows "isodefl d t \<Longrightarrow> isodefl (coerce oo d oo coerce :: 'b \<rightarrow> 'b) t"
 unfolding isodefl_def
-apply (simp add: expand_cfun_eq)
+apply (simp add: cfun_eq_iff)
 apply (simp add: emb_coerce coerce_prj DEFL)
 done
 
--- a/src/HOLCF/Sprod.thy	Mon Oct 11 16:24:44 2010 -0700
+++ b/src/HOLCF/Sprod.thy	Mon Oct 11 21:35:31 2010 -0700
@@ -250,7 +250,7 @@
 by (cases "x = \<bottom> \<or> y = \<bottom>") auto
 
 lemma sprod_map_ID: "sprod_map\<cdot>ID\<cdot>ID = ID"
-unfolding sprod_map_def by (simp add: expand_cfun_eq eta_cfun)
+unfolding sprod_map_def by (simp add: cfun_eq_iff eta_cfun)
 
 lemma sprod_map_map:
   "\<lbrakk>f1\<cdot>\<bottom> = \<bottom>; g1\<cdot>\<bottom> = \<bottom>\<rbrakk> \<Longrightarrow>
--- a/src/HOLCF/Ssum.thy	Mon Oct 11 16:24:44 2010 -0700
+++ b/src/HOLCF/Ssum.thy	Mon Oct 11 21:35:31 2010 -0700
@@ -234,7 +234,7 @@
 by (cases "x = \<bottom>") simp_all
 
 lemma ssum_map_ID: "ssum_map\<cdot>ID\<cdot>ID = ID"
-unfolding ssum_map_def by (simp add: expand_cfun_eq eta_cfun)
+unfolding ssum_map_def by (simp add: cfun_eq_iff eta_cfun)
 
 lemma ssum_map_map:
   "\<lbrakk>f1\<cdot>\<bottom> = \<bottom>; g1\<cdot>\<bottom> = \<bottom>\<rbrakk> \<Longrightarrow>
--- a/src/HOLCF/Universal.thy	Mon Oct 11 16:24:44 2010 -0700
+++ b/src/HOLCF/Universal.thy	Mon Oct 11 21:35:31 2010 -0700
@@ -988,7 +988,7 @@
 done
 
 lemma lub_udom_approx [simp]: "(\<Squnion>i. udom_approx i) = ID"
-apply (rule ext_cfun, simp add: contlub_cfun_fun)
+apply (rule cfun_eqI, simp add: contlub_cfun_fun)
 apply (rule below_antisym)
 apply (rule is_lub_thelub)
 apply (simp)
--- a/src/HOLCF/Up.thy	Mon Oct 11 16:24:44 2010 -0700
+++ b/src/HOLCF/Up.thy	Mon Oct 11 21:35:31 2010 -0700
@@ -303,7 +303,7 @@
 unfolding u_map_def by simp
 
 lemma u_map_ID: "u_map\<cdot>ID = ID"
-unfolding u_map_def by (simp add: expand_cfun_eq eta_cfun)
+unfolding u_map_def by (simp add: cfun_eq_iff eta_cfun)
 
 lemma u_map_map: "u_map\<cdot>f\<cdot>(u_map\<cdot>g\<cdot>p) = u_map\<cdot>(\<Lambda> x. f\<cdot>(g\<cdot>x))\<cdot>p"
 by (induct p) simp_all
--- a/src/HOLCF/UpperPD.thy	Mon Oct 11 16:24:44 2010 -0700
+++ b/src/HOLCF/UpperPD.thy	Mon Oct 11 21:35:31 2010 -0700
@@ -318,7 +318,7 @@
 
 lemma upper_bind_basis_mono:
   "t \<le>\<sharp> u \<Longrightarrow> upper_bind_basis t \<sqsubseteq> upper_bind_basis u"
-unfolding expand_cfun_below
+unfolding cfun_below_iff
 apply (erule upper_le_induct, safe)
 apply (simp add: monofun_cfun)
 apply (simp add: below_trans [OF upper_plus_below1])
@@ -366,7 +366,7 @@
 by (induct xs rule: upper_pd_induct, simp_all)
 
 lemma upper_map_ID: "upper_map\<cdot>ID = ID"
-by (simp add: expand_cfun_eq ID_def upper_map_ident)
+by (simp add: cfun_eq_iff ID_def upper_map_ident)
 
 lemma upper_map_map:
   "upper_map\<cdot>f\<cdot>(upper_map\<cdot>g\<cdot>xs) = upper_map\<cdot>(\<Lambda> x. f\<cdot>(g\<cdot>x))\<cdot>xs"
@@ -478,7 +478,7 @@
 next
   show "cast\<cdot>DEFL('a upper_pd) = emb oo (prj :: udom \<rightarrow> 'a upper_pd)"
     unfolding emb_upper_pd_def prj_upper_pd_def defl_upper_pd_def cast_upper_defl
-    by (simp add: cast_DEFL oo_def expand_cfun_eq upper_map_map)
+    by (simp add: cast_DEFL oo_def cfun_eq_iff upper_map_map)
 qed
 
 end
--- a/src/HOLCF/ex/Fix2.thy	Mon Oct 11 16:24:44 2010 -0700
+++ b/src/HOLCF/ex/Fix2.thy	Mon Oct 11 21:35:31 2010 -0700
@@ -16,7 +16,7 @@
 
 
 lemma lemma1: "fix = gix"
-apply (rule ext_cfun)
+apply (rule cfun_eqI)
 apply (rule antisym_less)
 apply (rule fix_least)
 apply (rule gix1_def)
--- a/src/HOLCF/ex/Focus_ex.thy	Mon Oct 11 16:24:44 2010 -0700
+++ b/src/HOLCF/ex/Focus_ex.thy	Mon Oct 11 21:35:31 2010 -0700
@@ -211,7 +211,7 @@
 apply (rule_tac x = "f" in exI)
 apply (erule conjE)+
 apply (erule conjI)
-apply (rule ext_cfun)
+apply (rule cfun_eqI)
 apply (erule_tac x = "x" in allE)
 apply (erule exE)
 apply (erule conjE)+
--- a/src/HOLCF/ex/Hoare.thy	Mon Oct 11 16:24:44 2010 -0700
+++ b/src/HOLCF/ex/Hoare.thy	Mon Oct 11 21:35:31 2010 -0700
@@ -417,7 +417,7 @@
 (* ------ the main proof q o p = q ------ *)
 
 theorem hoare_main: "q oo p = q"
-apply (rule ext_cfun)
+apply (rule cfun_eqI)
 apply (subst cfcomp2)
 apply (rule hoare_lemma3 [THEN disjE])
 apply (erule hoare_lemma23)