lemma Least_mono moved from Typedef.thy to Set.thy;
authorwenzelm
Tue, 30 Oct 2001 13:43:26 +0100
changeset 11982 65e2822d83dd
parent 11981 ad67e8d2c75f
child 11983 85141af30120
lemma Least_mono moved from Typedef.thy to Set.thy;
src/HOL/Set.thy
src/HOL/Typedef.thy
--- a/src/HOL/Set.thy	Mon Oct 29 17:22:18 2001 +0100
+++ b/src/HOL/Set.thy	Tue Oct 30 13:43:26 2001 +0100
@@ -893,4 +893,15 @@
 use "equalities.ML"
 use "mono.ML"
 
+lemma Least_mono:
+  "mono (f::'a::order => 'b::order) ==> EX x:S. ALL y:S. x <= y
+    ==> (LEAST y. y : f ` S) = f (LEAST x. x : S)"
+    -- {* Courtesy of Stephan Merz *}
+  apply clarify
+  apply (erule_tac P = "%x. x : S" in LeastI2)
+   apply fast
+  apply (rule LeastI2)
+  apply (auto elim: monoD intro!: order_antisym)
+  done
+
 end
--- a/src/HOL/Typedef.thy	Mon Oct 29 17:22:18 2001 +0100
+++ b/src/HOL/Typedef.thy	Tue Oct 30 13:43:26 2001 +0100
@@ -8,18 +8,6 @@
 theory Typedef = Set
 files ("Tools/typedef_package.ML"):
 
-lemma Least_mono: 
-  "mono (f::'a::order => 'b::order) ==> EX x:S. ALL y:S. x <= y
-    ==> (LEAST y. y : f ` S) = f (LEAST x. x : S)"
-    -- {* Courtesy of Stephan Merz *}
-  apply clarify
-  apply (erule_tac P = "%x. x : S" in LeastI2)
-   apply fast
-  apply (rule LeastI2)
-  apply (auto elim: monoD intro!: order_antisym)
-  done
-
-
 subsection {* HOL type definitions *}
 
 constdefs