monotonicity in complete lattices
authorhaftmann
Thu, 13 Mar 2014 08:56:07 +0100
changeset 56074 30a60277aa6e
parent 56073 29e308b56d23
child 56075 c6d4425f1fdc
monotonicity in complete lattices
src/HOL/Complete_Lattices.thy
--- a/src/HOL/Complete_Lattices.thy	Thu Mar 13 07:07:07 2014 +0100
+++ b/src/HOL/Complete_Lattices.thy	Thu Mar 13 08:56:07 2014 +0100
@@ -503,6 +503,21 @@
   "(\<Squnion>a\<in>A. f a) \<sqinter> (\<Squnion>b\<in>B. g b) = (\<Squnion>a\<in>A. \<Squnion>b\<in>B. f a \<sqinter> g b)"
   by (subst SUP_commute) (simp add: inf_SUP SUP_inf)
 
+context
+  fixes f :: "'a \<Rightarrow> 'b::complete_lattice"
+  assumes "mono f"
+begin
+
+lemma mono_Inf:
+  shows "f (\<Sqinter>A) \<le> (\<Sqinter>x\<in>A. f x)"
+  using `mono f` by (auto intro: complete_lattice_class.INF_greatest Inf_lower dest: monoD)
+
+lemma mono_Sup:
+  shows "(\<Squnion>x\<in>A. f x) \<le> f (\<Squnion>A)"
+  using `mono f` by (auto intro: complete_lattice_class.SUP_least Sup_upper dest: monoD)
+
+end
+
 end
 
 class complete_boolean_algebra = boolean_algebra + complete_distrib_lattice