# HG changeset patch # User huffman # Date 1294361555 28800 # Node ID 480978f80eae29e8f246c84f1a532b1c70b68e02 # Parent 12585dfb86fef51f18493607049666ed32599b40 rename constant pdefl to liftdefl_of diff -r 12585dfb86fe -r 480978f80eae src/HOL/HOLCF/Domain.thy --- a/src/HOL/HOLCF/Domain.thy Thu Jan 06 21:06:18 2011 +0100 +++ b/src/HOL/HOLCF/Domain.thy Thu Jan 06 16:52:35 2011 -0800 @@ -105,7 +105,7 @@ assumes defl: "defl \ (\ a::'a itself. t)" assumes liftemb: "(liftemb :: 'a u \ udom u) \ u_map\emb" assumes liftprj: "(liftprj :: udom u \ 'a u) \ u_map\prj" - assumes liftdefl: "(liftdefl :: 'a itself \ _) \ (\t. pdefl\DEFL('a))" + assumes liftdefl: "(liftdefl :: 'a itself \ _) \ (\t. liftdefl_of\DEFL('a))" shows "OFCLASS('a, domain_class)" proof have emb_beta: "\x. emb\x = Rep x" @@ -233,9 +233,9 @@ unfolding isodefl_def by (simp add: cfun_eq_iff assms prj_emb_prj emb_prj_emb) -lemma isodefl'_pdefl: "isodefl d t \ isodefl' d (pdefl\t)" +lemma isodefl'_liftdefl_of: "isodefl d t \ isodefl' d (liftdefl_of\t)" unfolding isodefl_def isodefl'_def -by (simp add: cast_pdefl u_map_oo liftemb_eq liftprj_eq) +by (simp add: cast_liftdefl_of u_map_oo liftemb_eq liftprj_eq) lemma isodefl_sfun: "isodefl d1 t1 \ isodefl d2 t2 \ @@ -326,7 +326,7 @@ lemmas [domain_isodefl] = isodefl_u isodefl_sfun isodefl_ssum isodefl_sprod - isodefl_cfun isodefl_prod isodefl_prod_u isodefl'_pdefl + isodefl_cfun isodefl_prod isodefl_prod_u isodefl'_liftdefl_of lemmas [domain_deflation] = deflation_cfun_map deflation_sfun_map deflation_ssum_map diff -r 12585dfb86fe -r 480978f80eae src/HOL/HOLCF/Library/Defl_Bifinite.thy --- a/src/HOL/HOLCF/Library/Defl_Bifinite.thy Thu Jan 06 21:06:18 2011 +0100 +++ b/src/HOL/HOLCF/Library/Defl_Bifinite.thy Thu Jan 06 16:52:35 2011 -0800 @@ -657,7 +657,7 @@ "(liftprj :: udom u \ 'a defl u) = u_map\prj" definition - "liftdefl (t::'a defl itself) = pdefl\DEFL('a defl)" + "liftdefl (t::'a defl itself) = liftdefl_of\DEFL('a defl)" instance proof show ep: "ep_pair emb (prj :: udom \ 'a defl)" diff -r 12585dfb86fe -r 480978f80eae src/HOL/HOLCF/Library/Option_Cpo.thy --- a/src/HOL/HOLCF/Library/Option_Cpo.thy Thu Jan 06 21:06:18 2011 +0100 +++ b/src/HOL/HOLCF/Library/Option_Cpo.thy Thu Jan 06 16:52:35 2011 -0800 @@ -280,7 +280,7 @@ lemma isodefl_option [domain_isodefl]: assumes "isodefl' d t" - shows "isodefl' (option_map d) (sum_liftdefl\(pdefl\DEFL(unit))\t)" + shows "isodefl' (option_map d) (sum_liftdefl\(liftdefl_of\DEFL(unit))\t)" using isodefl_sum [OF isodefl_LIFTDEFL [where 'a=unit] assms] unfolding isodefl'_def liftemb_option_def liftprj_option_def liftdefl_eq by (simp add: cfcomp1 u_map_map encode_option_option_map) diff -r 12585dfb86fe -r 480978f80eae src/HOL/HOLCF/Powerdomains.thy --- a/src/HOL/HOLCF/Powerdomains.thy Thu Jan 06 21:06:18 2011 +0100 +++ b/src/HOL/HOLCF/Powerdomains.thy Thu Jan 06 16:52:35 2011 -0800 @@ -78,7 +78,7 @@ "(liftprj :: udom u \ 'a upper_pd u) = u_map\prj" definition - "liftdefl (t::'a upper_pd itself) = pdefl\DEFL('a upper_pd)" + "liftdefl (t::'a upper_pd itself) = liftdefl_of\DEFL('a upper_pd)" instance proof show "ep_pair emb (prj :: udom \ 'a upper_pd)" @@ -111,7 +111,7 @@ "(liftprj :: udom u \ 'a lower_pd u) = u_map\prj" definition - "liftdefl (t::'a lower_pd itself) = pdefl\DEFL('a lower_pd)" + "liftdefl (t::'a lower_pd itself) = liftdefl_of\DEFL('a lower_pd)" instance proof show "ep_pair emb (prj :: udom \ 'a lower_pd)" @@ -144,7 +144,7 @@ "(liftprj :: udom u \ 'a convex_pd u) = u_map\prj" definition - "liftdefl (t::'a convex_pd itself) = pdefl\DEFL('a convex_pd)" + "liftdefl (t::'a convex_pd itself) = liftdefl_of\DEFL('a convex_pd)" instance proof show "ep_pair emb (prj :: udom \ 'a convex_pd)" diff -r 12585dfb86fe -r 480978f80eae src/HOL/HOLCF/Representable.thy --- a/src/HOL/HOLCF/Representable.thy Thu Jan 06 21:06:18 2011 +0100 +++ b/src/HOL/HOLCF/Representable.thy Thu Jan 06 16:52:35 2011 -0800 @@ -34,11 +34,11 @@ syntax "_LIFTDEFL" :: "type \ logic" ("(1LIFTDEFL/(1'(_')))") translations "LIFTDEFL('t)" \ "CONST liftdefl TYPE('t)" -definition pdefl :: "udom defl \ udom u defl" - where "pdefl = defl_fun1 ID ID u_map" +definition liftdefl_of :: "udom defl \ udom u defl" + where "liftdefl_of = defl_fun1 ID ID u_map" -lemma cast_pdefl: "cast\(pdefl\t) = u_map\(cast\t)" -by (simp add: pdefl_def cast_defl_fun1 ep_pair_def finite_deflation_u_map) +lemma cast_liftdefl_of: "cast\(liftdefl_of\t) = u_map\(cast\t)" +by (simp add: liftdefl_of_def cast_defl_fun1 ep_pair_def finite_deflation_u_map) class "domain" = predomain_syn + pcpo + fixes emb :: "'a \ udom" @@ -48,7 +48,7 @@ assumes cast_DEFL: "cast\(defl TYPE('a)) = emb oo prj" assumes liftemb_eq: "liftemb = u_map\emb" assumes liftprj_eq: "liftprj = u_map\prj" - assumes liftdefl_eq: "liftdefl TYPE('a) = pdefl\(defl TYPE('a))" + assumes liftdefl_eq: "liftdefl TYPE('a) = liftdefl_of\(defl TYPE('a))" syntax "_DEFL" :: "type \ logic" ("(1DEFL/(1'(_')))") translations "DEFL('t)" \ "CONST defl TYPE('t)" @@ -60,7 +60,7 @@ by (intro ep_pair_u_map ep_pair_emb_prj) show "cast\LIFTDEFL('a) = liftemb oo (liftprj::udom\<^sub>\ \ 'a\<^sub>\)" unfolding liftemb_eq liftprj_eq liftdefl_eq - by (simp add: cast_pdefl cast_DEFL u_map_oo) + by (simp add: cast_liftdefl_of cast_DEFL u_map_oo) qed text {* @@ -229,7 +229,7 @@ "(liftprj :: udom u \ udom u) = u_map\prj" definition - "liftdefl (t::udom itself) = pdefl\DEFL(udom)" + "liftdefl (t::udom itself) = liftdefl_of\DEFL(udom)" instance proof show "ep_pair emb (prj :: udom \ udom)" @@ -271,7 +271,7 @@ "(liftprj :: udom u \ 'a u u) = u_map\prj" definition - "liftdefl (t::'a u itself) = pdefl\DEFL('a u)" + "liftdefl (t::'a u itself) = liftdefl_of\DEFL('a u)" instance proof show "ep_pair emb (prj :: udom \ 'a u)" @@ -308,7 +308,7 @@ "(liftprj :: udom u \ ('a \! 'b) u) = u_map\prj" definition - "liftdefl (t::('a \! 'b) itself) = pdefl\DEFL('a \! 'b)" + "liftdefl (t::('a \! 'b) itself) = liftdefl_of\DEFL('a \! 'b)" instance proof show "ep_pair emb (prj :: udom \ 'a \! 'b)" @@ -346,7 +346,7 @@ "(liftprj :: udom u \ ('a \ 'b) u) = u_map\prj" definition - "liftdefl (t::('a \ 'b) itself) = pdefl\DEFL('a \ 'b)" + "liftdefl (t::('a \ 'b) itself) = liftdefl_of\DEFL('a \ 'b)" instance proof have "ep_pair encode_cfun decode_cfun" @@ -386,7 +386,7 @@ "(liftprj :: udom u \ ('a \ 'b) u) = u_map\prj" definition - "liftdefl (t::('a \ 'b) itself) = pdefl\DEFL('a \ 'b)" + "liftdefl (t::('a \ 'b) itself) = liftdefl_of\DEFL('a \ 'b)" instance proof show "ep_pair emb (prj :: udom \ 'a \ 'b)" @@ -475,9 +475,9 @@ apply (rule cfun_eqI, case_tac x, simp) apply (rename_tac y, case_tac "prod_prj\y", simp) done - show 5: "LIFTDEFL('a \ 'b) = pdefl\DEFL('a \ 'b)" + show 5: "LIFTDEFL('a \ 'b) = liftdefl_of\DEFL('a \ 'b)" by (rule cast_eq_imp_eq) - (simp add: cast_liftdefl cast_pdefl cast_DEFL 2 3 4 u_map_oo) + (simp add: cast_liftdefl cast_liftdefl_of cast_DEFL 2 3 4 u_map_oo) qed end @@ -512,7 +512,7 @@ "(liftprj :: udom u \ unit u) = u_map\prj" definition - "liftdefl (t::unit itself) = pdefl\DEFL(unit)" + "liftdefl (t::unit itself) = liftdefl_of\DEFL(unit)" instance proof show "ep_pair emb (prj :: udom \ unit)" @@ -590,7 +590,7 @@ "(liftprj :: udom u \ ('a \ 'b) u) = u_map\prj" definition - "liftdefl (t::('a \ 'b) itself) = pdefl\DEFL('a \ 'b)" + "liftdefl (t::('a \ 'b) itself) = liftdefl_of\DEFL('a \ 'b)" instance proof show "ep_pair emb (prj :: udom \ 'a \ 'b)" @@ -628,7 +628,7 @@ "(liftprj :: udom u \ 'a lift u) = u_map\prj" definition - "liftdefl (t::'a lift itself) = pdefl\DEFL('a lift)" + "liftdefl (t::'a lift itself) = liftdefl_of\DEFL('a lift)" instance proof note [simp] = cont_Rep_lift cont_Abs_lift Rep_lift_inverse Abs_lift_inverse diff -r 12585dfb86fe -r 480978f80eae src/HOL/HOLCF/Tools/domaindef.ML --- a/src/HOL/HOLCF/Tools/domaindef.ML Thu Jan 06 21:06:18 2011 +0100 +++ b/src/HOL/HOLCF/Tools/domaindef.ML Thu Jan 06 16:52:35 2011 -0800 @@ -136,7 +136,7 @@ val liftdefl_eqn = Logic.mk_equals (liftdefl_const newT, Abs ("t", Term.itselfT newT, - mk_capply (@{const pdefl}, defl_const newT $ Logic.mk_type newT))) + mk_capply (@{const liftdefl_of}, defl_const newT $ Logic.mk_type newT))) val name_def = Binding.suffix_name "_def" name val emb_bind = (Binding.prefix_name "emb_" name_def, []) diff -r 12585dfb86fe -r 480978f80eae src/HOL/HOLCF/ex/Domain_Proofs.thy --- a/src/HOL/HOLCF/ex/Domain_Proofs.thy Thu Jan 06 21:06:18 2011 +0100 +++ b/src/HOL/HOLCF/ex/Domain_Proofs.thy Thu Jan 06 16:52:35 2011 -0800 @@ -30,15 +30,15 @@ "udom defl \ udom defl \ udom defl \ udom defl \ udom defl \ udom defl \ udom defl" where "foo_bar_baz_deflF = (\ a. Abs_cfun (\(t1, t2, t3). - ( ssum_defl\DEFL(one)\(sprod_defl\(u_defl\(pdefl\a))\(u_defl\(pdefl\t2))) - , u_defl\(pdefl\(sfun_defl\(u_defl\(pdefl\t3))\DEFL(tr))) - , u_defl\(pdefl\(sfun_defl\(u_defl\(pdefl\(convex_defl\t1)))\DEFL(tr))))))" + ( ssum_defl\DEFL(one)\(sprod_defl\(u_defl\(liftdefl_of\a))\(u_defl\(liftdefl_of\t2))) + , u_defl\(liftdefl_of\(sfun_defl\(u_defl\(liftdefl_of\t3))\DEFL(tr))) + , u_defl\(liftdefl_of\(sfun_defl\(u_defl\(liftdefl_of\(convex_defl\t1)))\DEFL(tr))))))" lemma foo_bar_baz_deflF_beta: "foo_bar_baz_deflF\a\t = - ( ssum_defl\DEFL(one)\(sprod_defl\(u_defl\(pdefl\a))\(u_defl\(pdefl\(fst (snd t))))) - , u_defl\(pdefl\(sfun_defl\(u_defl\(pdefl\(snd (snd t))))\DEFL(tr))) - , u_defl\(pdefl\(sfun_defl\(u_defl\(pdefl\(convex_defl\(fst t))))\DEFL(tr))))" + ( ssum_defl\DEFL(one)\(sprod_defl\(u_defl\(liftdefl_of\a))\(u_defl\(liftdefl_of\(fst (snd t))))) + , u_defl\(liftdefl_of\(sfun_defl\(u_defl\(liftdefl_of\(snd (snd t))))\DEFL(tr))) + , u_defl\(liftdefl_of\(sfun_defl\(u_defl\(liftdefl_of\(convex_defl\(fst t))))\DEFL(tr))))" unfolding foo_bar_baz_deflF_def by (simp add: split_def) @@ -62,13 +62,13 @@ text {* Unfold rules for each combinator. *} lemma foo_defl_unfold: - "foo_defl\a = ssum_defl\DEFL(one)\(sprod_defl\(u_defl\(pdefl\a))\(u_defl\(pdefl\(bar_defl\a))))" + "foo_defl\a = ssum_defl\DEFL(one)\(sprod_defl\(u_defl\(liftdefl_of\a))\(u_defl\(liftdefl_of\(bar_defl\a))))" unfolding defl_apply_thms by (subst fix_eq, simp add: foo_bar_baz_deflF_beta) -lemma bar_defl_unfold: "bar_defl\a = u_defl\(pdefl\(sfun_defl\(u_defl\(pdefl\(baz_defl\a)))\DEFL(tr)))" +lemma bar_defl_unfold: "bar_defl\a = u_defl\(liftdefl_of\(sfun_defl\(u_defl\(liftdefl_of\(baz_defl\a)))\DEFL(tr)))" unfolding defl_apply_thms by (subst fix_eq, simp add: foo_bar_baz_deflF_beta) -lemma baz_defl_unfold: "baz_defl\a = u_defl\(pdefl\(sfun_defl\(u_defl\(pdefl\(convex_defl\(foo_defl\a))))\DEFL(tr)))" +lemma baz_defl_unfold: "baz_defl\a = u_defl\(liftdefl_of\(sfun_defl\(u_defl\(liftdefl_of\(convex_defl\(foo_defl\a))))\DEFL(tr)))" unfolding defl_apply_thms by (subst fix_eq, simp add: foo_bar_baz_deflF_beta) text "The automation for the previous steps will be quite similar to @@ -110,7 +110,7 @@ "(liftprj :: udom u \ 'a foo u) \ u_map\prj" definition - "liftdefl \ \(t::'a foo itself). pdefl\DEFL('a foo)" + "liftdefl \ \(t::'a foo itself). liftdefl_of\DEFL('a foo)" instance apply (rule typedef_domain_class) @@ -145,7 +145,7 @@ "(liftprj :: udom u \ 'a bar u) \ u_map\prj" definition - "liftdefl \ \(t::'a bar itself). pdefl\DEFL('a bar)" + "liftdefl \ \(t::'a bar itself). liftdefl_of\DEFL('a bar)" instance apply (rule typedef_domain_class) @@ -180,7 +180,7 @@ "(liftprj :: udom u \ 'a baz u) \ u_map\prj" definition - "liftdefl \ \(t::'a baz itself). pdefl\DEFL('a baz)" + "liftdefl \ \(t::'a baz itself). liftdefl_of\DEFL('a baz)" instance apply (rule typedef_domain_class)