--- a/src/HOL/BNF/BNF_Def.thy Sun Jul 21 14:02:33 2013 +0200
+++ b/src/HOL/BNF/BNF_Def.thy Mon Jul 22 21:12:15 2013 +0200
@@ -197,6 +197,21 @@
((\<lambda>i. if i \<in> g ` C then the_inv_into C g i else x) o g) i = id i"
unfolding Func_def by (auto elim: the_inv_into_f_f)
+definition vimagep where
+ "vimagep f g R = (\<lambda>x y. R (f x) (g y))"
+
+lemma vimagepI: "R (f x) (g y) \<Longrightarrow> vimagep f g R x y"
+ unfolding vimagep_def by -
+
+lemma vimagepD: "vimagep f g R x y \<Longrightarrow> R (f x) (g y)"
+ unfolding vimagep_def by -
+
+lemma fun_rel_iff_leq_vimagep: "(fun_rel R S) f g = (R \<le> vimagep f g S)"
+ unfolding fun_rel_def vimagep_def by auto
+
+lemma convol_image_vimagep: "<f o fst, g o snd> ` Collect (split (vimagep f g R)) \<subseteq> Collect (split R)"
+ unfolding vimagep_def convol_def by auto
+
ML_file "Tools/bnf_def_tactics.ML"
ML_file "Tools/bnf_def.ML"