src/HOL/BNF_LFP.thy
changeset 55945 e96383acecf9
parent 55869 54ddb003e128
child 56237 69a9dfe71aed
equal deleted inserted replaced
55944:7ab8f003fe41 55945:e96383acecf9
   242   fix b assume "r a b" "s b c"
   242   fix b assume "r a b" "s b c"
   243   moreover from assms(1) obtain b' where "b = f b'" by blast
   243   moreover from assms(1) obtain b' where "b = f b'" by blast
   244   ultimately show P by (blast intro: assms(3))
   244   ultimately show P by (blast intro: assms(3))
   245 qed
   245 qed
   246 
   246 
   247 lemma vimage2p_fun_rel: "fun_rel (vimage2p f g R) R f g"
   247 lemma vimage2p_rel_fun: "rel_fun (vimage2p f g R) R f g"
   248   unfolding fun_rel_def vimage2p_def by auto
   248   unfolding rel_fun_def vimage2p_def by auto
   249 
   249 
   250 lemma predicate2D_vimage2p: "\<lbrakk>R \<le> vimage2p f g S; R x y\<rbrakk> \<Longrightarrow> S (f x) (g y)"
   250 lemma predicate2D_vimage2p: "\<lbrakk>R \<le> vimage2p f g S; R x y\<rbrakk> \<Longrightarrow> S (f x) (g y)"
   251   unfolding vimage2p_def by auto
   251   unfolding vimage2p_def by auto
   252 
   252 
   253 lemma id_transfer: "fun_rel A A id id"
   253 lemma id_transfer: "rel_fun A A id id"
   254   unfolding fun_rel_def by simp
   254   unfolding rel_fun_def by simp
   255 
   255 
   256 lemma ssubst_Pair_rhs: "\<lbrakk>(r, s) \<in> R; s' = s\<rbrakk> \<Longrightarrow> (r, s') \<in> R"
   256 lemma ssubst_Pair_rhs: "\<lbrakk>(r, s) \<in> R; s' = s\<rbrakk> \<Longrightarrow> (r, s') \<in> R"
   257   by (rule ssubst)
   257   by (rule ssubst)
   258 
   258 
   259 ML_file "Tools/BNF/bnf_lfp_util.ML"
   259 ML_file "Tools/BNF/bnf_lfp_util.ML"