Sup/Inf on functions decoupled from complete_lattice.
authornipkow
Mon, 09 Jun 2014 12:36:22 +0200
changeset 57197 4cf607675df8
parent 57196 d9a18e44b80d
child 57198 159e1b043495
Sup/Inf on functions decoupled from complete_lattice.
src/HOL/Complete_Lattices.thy
--- a/src/HOL/Complete_Lattices.thy	Sun Jun 08 23:30:53 2014 +0200
+++ b/src/HOL/Complete_Lattices.thy	Mon Jun 09 12:36:22 2014 +0200
@@ -719,7 +719,7 @@
 
 subsection {* Complete lattice on @{typ "_ \<Rightarrow> _"} *}
 
-instantiation "fun" :: (type, complete_lattice) complete_lattice
+instantiation "fun" :: (type, Inf) Inf
 begin
 
 definition
@@ -729,6 +729,13 @@
   "(\<Sqinter>A) x = (\<Sqinter>f\<in>A. f x)"
   by (simp add: Inf_fun_def)
 
+instance ..
+
+end
+
+instantiation "fun" :: (type, Sup) Sup
+begin
+
 definition
   "\<Squnion>A = (\<lambda>x. \<Squnion>f\<in>A. f x)"
 
@@ -736,6 +743,13 @@
   "(\<Squnion>A) x = (\<Squnion>f\<in>A. f x)"
   by (simp add: Sup_fun_def)
 
+instance ..
+
+end
+
+instantiation "fun" :: (type, complete_lattice) complete_lattice
+begin
+
 instance proof
 qed (auto simp add: le_fun_def intro: INF_lower INF_greatest SUP_upper SUP_least)