moved instance option :: finite to Option.thy
authorhaftmann
Fri, 06 Mar 2009 20:30:17 +0100
changeset 30327 4d1185c77f4a
parent 30326 a01b2de0e3e1
child 30328 ab47f43f7581
moved instance option :: finite to Option.thy
src/HOL/Option.thy
src/HOL/Plain.thy
--- a/src/HOL/Option.thy	Fri Mar 06 20:30:16 2009 +0100
+++ b/src/HOL/Option.thy	Fri Mar 06 20:30:17 2009 +0100
@@ -5,7 +5,7 @@
 header {* Datatype option *}
 
 theory Option
-imports Datatype
+imports Datatype Finite_Set
 begin
 
 datatype 'a option = None | Some 'a
@@ -30,6 +30,9 @@
 lemma insert_None_conv_UNIV: "insert None (range Some) = UNIV"
   by (rule set_ext, case_tac x) auto
 
+instance option :: (finite) finite proof
+qed (simp add: insert_None_conv_UNIV [symmetric])
+
 lemma inj_Some [simp]: "inj_on Some A"
   by (rule inj_onI) simp
 
--- a/src/HOL/Plain.thy	Fri Mar 06 20:30:16 2009 +0100
+++ b/src/HOL/Plain.thy	Fri Mar 06 20:30:17 2009 +0100
@@ -9,9 +9,6 @@
   include @{text Hilbert_Choice}.
 *}
 
-instance option :: (finite) finite
-  by default (simp add: insert_None_conv_UNIV [symmetric])
-
 ML {* path_add "~~/src/HOL/Library" *}
 
 end