src/Pure/old_goals.ML
changeset 35989 3418cdf1855e
parent 35625 9c818cab0dd0
child 36610 bafd82950e24
equal deleted inserted replaced
35988:76ca601c941e 35989:3418cdf1855e
     8 may be a stack of pending proofs.
     8 may be a stack of pending proofs.
     9 *)
     9 *)
    10 
    10 
    11 signature OLD_GOALS =
    11 signature OLD_GOALS =
    12 sig
    12 sig
       
    13   val mk_defpair: term * term -> string * term
    13   val strip_context: term -> (string * typ) list * term list * term
    14   val strip_context: term -> (string * typ) list * term list * term
    14   val metahyps_thms: int -> thm -> thm list option
    15   val metahyps_thms: int -> thm -> thm list option
    15   val METAHYPS: (thm list -> tactic) -> int -> tactic
    16   val METAHYPS: (thm list -> tactic) -> int -> tactic
    16   val simple_read_term: theory -> typ -> string -> term
    17   val simple_read_term: theory -> typ -> string -> term
    17   val read_term: theory -> string -> term
    18   val read_term: theory -> string -> term
    64 end;
    65 end;
    65 
    66 
    66 structure OldGoals: OLD_GOALS =
    67 structure OldGoals: OLD_GOALS =
    67 struct
    68 struct
    68 
    69 
       
    70 fun mk_defpair (lhs, rhs) =
       
    71   (case Term.head_of lhs of
       
    72     Const (name, _) =>
       
    73       (Long_Name.base_name name ^ "_def", Logic.mk_equals (lhs, rhs))
       
    74   | _ => raise TERM ("Malformed definition: head of lhs not a constant", [lhs, rhs]));
       
    75 
       
    76 
    69 (**** METAHYPS -- tactical for using hypotheses as meta-level assumptions
    77 (**** METAHYPS -- tactical for using hypotheses as meta-level assumptions
    70        METAHYPS (fn prems => tac prems) i
    78        METAHYPS (fn prems => tac prems) i
    71 
    79 
    72 converts subgoal i, of the form !!x1...xm. [| A1;...;An] ==> A into a new
    80 converts subgoal i, of the form !!x1...xm. [| A1;...;An] ==> A into a new
    73 proof state A==>A, supplying A1,...,An as meta-level assumptions (in
    81 proof state A==>A, supplying A1,...,An as meta-level assumptions (in