src/Pure/logic.ML
changeset 32014 857367925493
parent 32008 fa0cc3c8f73d
child 32020 9abf5d66606e
equal deleted inserted replaced
32013:5589a5360ddc 32014:857367925493
    68   val assum_problems: int * term -> (term -> term) * term list * term
    68   val assum_problems: int * term -> (term -> term) * term list * term
    69   val varifyT: typ -> typ
    69   val varifyT: typ -> typ
    70   val unvarifyT: typ -> typ
    70   val unvarifyT: typ -> typ
    71   val varify: term -> term
    71   val varify: term -> term
    72   val unvarify: term -> term
    72   val unvarify: term -> term
    73   val legacy_varifyT: typ -> typ
       
    74   val legacy_varify: term -> term
       
    75   val get_goal: term -> int -> term
    73   val get_goal: term -> int -> term
    76   val goal_params: term -> int -> term * term list
    74   val goal_params: term -> int -> term * term list
    77   val prems_of_goal: term -> int -> term list
    75   val prems_of_goal: term -> int -> term list
    78   val concl_of_goal: term -> int -> term
    76   val concl_of_goal: term -> int -> term
    79 end;
    77 end;
   504       | Free (x, _) => raise TERM (bad_fixed x, [tm])
   502       | Free (x, _) => raise TERM (bad_fixed x, [tm])
   505       | _ => NONE))
   503       | _ => NONE))
   506   |> perhaps (Term_Subst.map_types_option unvarifyT_option)
   504   |> perhaps (Term_Subst.map_types_option unvarifyT_option)
   507   handle TYPE (msg, _, _) => raise TERM (msg, [tm]);
   505   handle TYPE (msg, _, _) => raise TERM (msg, [tm]);
   508 
   506 
   509 val legacy_varifyT = Term.map_atyps (fn TFree (a, S) => TVar ((a, 0), S) | T => T);
       
   510 
       
   511 val legacy_varify =
       
   512   Term.map_aterms (fn Free (x, T) => Var ((x, 0), T) | t => t) #>
       
   513   Term.map_types legacy_varifyT;
       
   514 
       
   515 
   507 
   516 (* goal states *)
   508 (* goal states *)
   517 
   509 
   518 fun get_goal st i = nth_prem (i, st)
   510 fun get_goal st i = nth_prem (i, st)
   519   handle TERM _ => error "Goal number out of range";
   511   handle TERM _ => error "Goal number out of range";