src/HOL/Tools/Meson/meson.ML
changeset 59586 ddf6deaadfe8
parent 59582 0fbed69ff081
child 59617 b60e65ad13df
equal deleted inserted replaced
59585:68a770a8a09f 59586:ddf6deaadfe8
   345 
   345 
   346 (*Replaces universally quantified variables by FREE variables -- because
   346 (*Replaces universally quantified variables by FREE variables -- because
   347   assumptions may not contain scheme variables.  Later, generalize using Variable.export. *)
   347   assumptions may not contain scheme variables.  Later, generalize using Variable.export. *)
   348 local  
   348 local  
   349   val spec_var = Thm.dest_arg (Thm.dest_arg (#2 (Thm.dest_implies (Thm.cprop_of spec))));
   349   val spec_var = Thm.dest_arg (Thm.dest_arg (#2 (Thm.dest_implies (Thm.cprop_of spec))));
   350   val spec_varT = #T (Thm.rep_cterm spec_var);
   350   val spec_varT = Thm.typ_of_cterm spec_var;
   351   fun name_of (Const (@{const_name All}, _) $ Abs(x,_,_)) = x | name_of _ = Name.uu;
   351   fun name_of (Const (@{const_name All}, _) $ Abs(x,_,_)) = x | name_of _ = Name.uu;
   352 in  
   352 in  
   353   fun freeze_spec th ctxt =
   353   fun freeze_spec th ctxt =
   354     let
   354     let
   355       val cert = Proof_Context.cterm_of ctxt;
   355       val cert = Proof_Context.cterm_of ctxt;