equal
deleted
inserted
replaced
30 val bind_term: indexname * term option -> Proof.context -> Proof.context |
30 val bind_term: indexname * term option -> Proof.context -> Proof.context |
31 val expand_binds: Proof.context -> term -> term |
31 val expand_binds: Proof.context -> term -> term |
32 val lookup_const: Proof.context -> string -> string option |
32 val lookup_const: Proof.context -> string -> string option |
33 val is_const: Proof.context -> string -> bool |
33 val is_const: Proof.context -> string -> bool |
34 val declare_const: string * string -> Proof.context -> Proof.context |
34 val declare_const: string * string -> Proof.context -> Proof.context |
35 val next_bound: string * typ -> Proof.context -> string * Proof.context |
35 val next_bound: string * typ -> Proof.context -> term * Proof.context |
36 val revert_bounds: Proof.context -> term -> term |
36 val revert_bounds: Proof.context -> term -> term |
37 val is_fixed: Proof.context -> string -> bool |
37 val is_fixed: Proof.context -> string -> bool |
38 val newly_fixed: Proof.context -> Proof.context -> string -> bool |
38 val newly_fixed: Proof.context -> Proof.context -> string -> bool |
39 val fixed_ord: Proof.context -> string * string -> order |
39 val fixed_ord: Proof.context -> string * string -> order |
40 val intern_fixed: Proof.context -> string -> string |
40 val intern_fixed: Proof.context -> string -> string |
311 |
311 |
312 fun next_bound (a, T) ctxt = |
312 fun next_bound (a, T) ctxt = |
313 let |
313 let |
314 val b = Name.bound (#1 (#bounds (rep_data ctxt))); |
314 val b = Name.bound (#1 (#bounds (rep_data ctxt))); |
315 val ctxt' = ctxt |> map_bounds (fn (next, bounds) => (next + 1, ((b, T), a) :: bounds)); |
315 val ctxt' = ctxt |> map_bounds (fn (next, bounds) => (next + 1, ((b, T), a) :: bounds)); |
316 in (b, ctxt') end; |
316 in (Free (b, T), ctxt') end; |
317 |
317 |
318 fun revert_bounds ctxt t = |
318 fun revert_bounds ctxt t = |
319 (case #2 (#bounds (rep_data ctxt)) of |
319 (case #2 (#bounds (rep_data ctxt)) of |
320 [] => t |
320 [] => t |
321 | bounds => |
321 | bounds => |