dropped legacy_unconstrainT
authorhaftmann
Wed, 19 May 2010 10:17:05 +0200
changeset 36983e922a5124428
parent 36982 1d4478a797c2
child 36984 10aa84e6dd66
dropped legacy_unconstrainT
src/Pure/thm.ML
     1.1 --- a/src/Pure/thm.ML	Wed May 19 10:14:37 2010 +0200
     1.2 +++ b/src/Pure/thm.ML	Wed May 19 10:17:05 2010 +0200
     1.3 @@ -139,7 +139,6 @@
     1.4    val of_class: ctyp * class -> thm
     1.5    val strip_shyps: thm -> thm
     1.6    val unconstrainT: thm -> thm
     1.7 -  val legacy_unconstrainT: ctyp -> thm -> thm
     1.8    val legacy_freezeT: thm -> thm
     1.9    val assumption: int -> thm -> thm Seq.seq
    1.10    val eq_assumption: int -> thm -> thm
    1.11 @@ -1249,27 +1248,6 @@
    1.12        prop = prop'})
    1.13    end;
    1.14  
    1.15 -fun legacy_unconstrainT
    1.16 -    (Ctyp {thy_ref = thy_ref1, T, ...})
    1.17 -    (th as Thm (_, {thy_ref = thy_ref2, maxidx, shyps, hyps, tpairs, prop, ...})) =
    1.18 -  let
    1.19 -    val ((x, i), S) = Term.dest_TVar T handle TYPE _ =>
    1.20 -      raise THM ("unconstrainT: not a type variable", 0, [th]);
    1.21 -    val T' = TVar ((x, i), []);
    1.22 -    val unconstrain = Term.map_types (Term.map_atyps (fn U => if U = T then T' else U));
    1.23 -    val constraints = Logic.mk_of_sort (T', S);
    1.24 -  in
    1.25 -    Thm (deriv_rule0 (Pt.PAxm ("Pure.unconstrainT", prop, SOME [])),
    1.26 -     {thy_ref = Theory.merge_refs (thy_ref1, thy_ref2),
    1.27 -      tags = [],
    1.28 -      maxidx = Int.max (maxidx, i),
    1.29 -      shyps = Sorts.remove_sort S shyps,
    1.30 -      hyps = hyps,
    1.31 -      tpairs = map (pairself unconstrain) tpairs,
    1.32 -      prop = Logic.list_implies (constraints, unconstrain prop)})
    1.33 -  end;
    1.34 -
    1.35 -
    1.36  (* Replace all TFrees not fixed or in the hyps by new TVars *)
    1.37  fun varifyT_global' fixed (Thm (der, {thy_ref, maxidx, shyps, hyps, tpairs, prop, ...})) =
    1.38    let