--- 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