src/Pure/thm.ML
changeset 36615 88756a5a92fc
parent 36614 b6c031ad3690
child 36619 deadcd0ec431
equal deleted inserted replaced
36614:b6c031ad3690 36615:88756a5a92fc
   138   val varifyT_global': (string * sort) list -> thm -> ((string * sort) * indexname) list * thm
   138   val varifyT_global': (string * sort) list -> thm -> ((string * sort) * indexname) list * thm
   139   val of_class: ctyp * class -> thm
   139   val of_class: ctyp * class -> thm
   140   val strip_shyps: thm -> thm
   140   val strip_shyps: thm -> thm
   141   val unconstrainT: ctyp -> thm -> thm
   141   val unconstrainT: ctyp -> thm -> thm
   142   val unconstrain_allTs: thm -> thm
   142   val unconstrain_allTs: thm -> thm
   143   val freezeT: thm -> thm
   143   val legacy_freezeT: thm -> thm
   144   val assumption: int -> thm -> thm Seq.seq
   144   val assumption: int -> thm -> thm Seq.seq
   145   val eq_assumption: int -> thm -> thm
   145   val eq_assumption: int -> thm -> thm
   146   val rotate_rule: int -> int -> thm -> thm
   146   val rotate_rule: int -> int -> thm -> thm
   147   val permute_prems: int -> int -> thm -> thm
   147   val permute_prems: int -> int -> thm -> thm
   148   val rename_params_rule: string list * int -> thm -> thm
   148   val rename_params_rule: string list * int -> thm -> thm
  1259       prop = prop3}))
  1259       prop = prop3}))
  1260   end;
  1260   end;
  1261 
  1261 
  1262 val varifyT_global = #2 o varifyT_global' [];
  1262 val varifyT_global = #2 o varifyT_global' [];
  1263 
  1263 
  1264 (* Replace all TVars by new TFrees *)
  1264 (* Replace all TVars by TFrees that are often new *)
  1265 fun freezeT (Thm (der, {thy_ref, shyps, hyps, tpairs, prop, ...})) =
  1265 fun legacy_freezeT (Thm (der, {thy_ref, shyps, hyps, tpairs, prop, ...})) =
  1266   let
  1266   let
  1267     val prop1 = attach_tpairs tpairs prop;
  1267     val prop1 = attach_tpairs tpairs prop;
  1268     val prop2 = Type.legacy_freeze prop1;
  1268     val prop2 = Type.legacy_freeze prop1;
  1269     val (ts, prop3) = Logic.strip_prems (length tpairs, [], prop2);
  1269     val (ts, prop3) = Logic.strip_prems (length tpairs, [], prop2);
  1270   in
  1270   in