# HG changeset patch # User Andreas Lochbihler # Date 1423659011 -3600 # Node ID 6949c8837e90426ec451cfd7d9d12390d6052d6d # Parent 9bf568cc71a48f7356ba254c737c680715669e98 add monotonicity lemmas for rel_fun diff -r 9bf568cc71a4 -r 6949c8837e90 src/HOL/BNF_Def.thy --- a/src/HOL/BNF_Def.thy Wed Feb 11 13:47:48 2015 +0100 +++ b/src/HOL/BNF_Def.thy Wed Feb 11 13:50:11 2015 +0100 @@ -41,6 +41,14 @@ shows "B (f x) (g y)" using assms by (simp add: rel_fun_def) +lemma rel_fun_mono: + "\ rel_fun X A f g; \x y. Y x y \ X x y; \x y. A x y \ B x y \ \ rel_fun Y B f g" +by(simp add: rel_fun_def) + +lemma rel_fun_mono' [mono]: + "\ \x y. Y x y \ X x y; \x y. A x y \ B x y \ \ rel_fun X A f g \ rel_fun Y B f g" +by(simp add: rel_fun_def) + definition rel_set :: "('a \ 'b \ bool) \ 'a set \ 'b set \ bool" where "rel_set R = (\A B. (\x\A. \y\B. R x y) \ (\y\B. \x\A. R x y))"