equal
deleted
inserted
replaced
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" |