src/HOL/Tools/choice_specification.ML
changeset 56254 a2dd9200854d
parent 54742 7a86358a3c0b
child 56270 ce9c7a527c4b
equal deleted inserted replaced
56253:83b3c110f22d 56254:a2dd9200854d
   129           map (HOLogic.dest_Trueprop o term_of o snd o Thm.dest_equals o cprop_of)
   129           map (HOLogic.dest_Trueprop o term_of o snd o Thm.dest_equals o cprop_of)
   130 
   130 
   131         fun proc_single prop =
   131         fun proc_single prop =
   132             let
   132             let
   133                 val frees = Misc_Legacy.term_frees prop
   133                 val frees = Misc_Legacy.term_frees prop
   134                 val _ = forall (fn v => Sign.of_sort thy (type_of v,HOLogic.typeS)) frees
   134                 val _ = forall (fn v => Sign.of_sort thy (type_of v,@{sort type})) frees
   135                   orelse error "Specificaton: Only free variables of sort 'type' allowed"
   135                   orelse error "Specificaton: Only free variables of sort 'type' allowed"
   136                 val prop_closed = close_form prop
   136                 val prop_closed = close_form prop
   137             in
   137             in
   138                 (prop_closed,frees)
   138                 (prop_closed,frees)
   139             end
   139             end