added type_definitionI;
authorwenzelm
Mon, 23 Oct 2000 11:14:43 +0200
changeset 10290 8018d1743beb
parent 10289 475ea668c67d
child 10291 a88d347db404
added type_definitionI;
src/HOL/subset.thy
--- a/src/HOL/subset.thy	Mon Oct 23 11:14:00 2000 +0200
+++ b/src/HOL/subset.thy	Mon Oct 23 11:14:43 2000 +0200
@@ -27,6 +27,13 @@
     (\<forall>y \<in> A. Rep (Abs y) = y)"
   -- {* This will be stated as an axiom for each typedef! *}
 
+lemma type_definitionI [intro]:
+  "(\<And>x. Rep x \<in> A) \<Longrightarrow>
+    (\<And>x. Abs (Rep x) = x) \<Longrightarrow>
+    (\<And>y. y \<in> A \<Longrightarrow> Rep (Abs y) = y) \<Longrightarrow>
+    type_definition Rep Abs A"
+  by (unfold type_definition_def) blast
+
 theorem Rep: "type_definition Rep Abs A ==> Rep x \<in> A"
   by (unfold type_definition_def) blast