src/HOL/BNF/BNF_Def.thy
changeset 52731 dacd47a0633f
parent 52730 6bf02eb4ddf7
child 52749 ed416f4ac34e
equal deleted inserted replaced
52730:6bf02eb4ddf7 52731:dacd47a0633f
   191 lemma If_the_inv_into_f_f:
   191 lemma If_the_inv_into_f_f:
   192   "\<lbrakk>i \<in> C; inj_on g C\<rbrakk> \<Longrightarrow>
   192   "\<lbrakk>i \<in> C; inj_on g C\<rbrakk> \<Longrightarrow>
   193   ((\<lambda>i. if i \<in> g ` C then the_inv_into C g i else x) o g) i = id i"
   193   ((\<lambda>i. if i \<in> g ` C then the_inv_into C g i else x) o g) i = id i"
   194 unfolding Func_def by (auto elim: the_inv_into_f_f)
   194 unfolding Func_def by (auto elim: the_inv_into_f_f)
   195 
   195 
   196 definition vimagep where
   196 definition vimage2p where
   197   "vimagep f g R = (\<lambda>x y. R (f x) (g y))"
   197   "vimage2p f g R = (\<lambda>x y. R (f x) (g y))"
   198 
   198 
   199 lemma vimagepI: "R (f x) (g y) \<Longrightarrow> vimagep f g R x y"
   199 lemma vimage2pI: "R (f x) (g y) \<Longrightarrow> vimage2p f g R x y"
   200   unfolding vimagep_def by -
   200   unfolding vimage2p_def by -
   201 
   201 
   202 lemma vimagepD: "vimagep f g R x y \<Longrightarrow> R (f x) (g y)"
   202 lemma vimage2pD: "vimage2p f g R x y \<Longrightarrow> R (f x) (g y)"
   203   unfolding vimagep_def by -
   203   unfolding vimage2p_def by -
   204 
   204 
   205 lemma fun_rel_iff_leq_vimagep: "(fun_rel R S) f g = (R \<le> vimagep f g S)"
   205 lemma fun_rel_iff_leq_vimage2p: "(fun_rel R S) f g = (R \<le> vimage2p f g S)"
   206   unfolding fun_rel_def vimagep_def by auto
   206   unfolding fun_rel_def vimage2p_def by auto
   207 
   207 
   208 lemma convol_image_vimagep: "<f o fst, g o snd> ` Collect (split (vimagep f g R)) \<subseteq> Collect (split R)"
   208 lemma convol_image_vimage2p: "<f o fst, g o snd> ` Collect (split (vimage2p f g R)) \<subseteq> Collect (split R)"
   209   unfolding vimagep_def convol_def by auto
   209   unfolding vimage2p_def convol_def by auto
   210 
   210 
   211 ML_file "Tools/bnf_def_tactics.ML"
   211 ML_file "Tools/bnf_def_tactics.ML"
   212 ML_file "Tools/bnf_def.ML"
   212 ML_file "Tools/bnf_def.ML"
   213 
   213 
   214 
   214