src/HOL/Tools/function_package/fundef_lib.ML
changeset 21858 05f57309170c
parent 21319 cf814e36f788
child 22166 0a50d4db234a
equal deleted inserted replaced
21857:f9d085c2625c 21858:05f57309170c
    52     let
    52     let
    53       val [(n', _)] = Variable.variant_frees ctx [] [(n,T)]
    53       val [(n', _)] = Variable.variant_frees ctx [] [(n,T)]
    54       val (_, ctx') = ProofContext.add_fixes_i [(n', SOME T, NoSyn)] ctx
    54       val (_, ctx') = ProofContext.add_fixes_i [(n', SOME T, NoSyn)] ctx
    55 
    55 
    56       val (n'', body) = Term.dest_abs (n', T, b) 
    56       val (n'', body) = Term.dest_abs (n', T, b) 
    57       val _ = assert (n' = n'') "dest_all_ctx" (* Note: We assume that n' does not occur in the body. Otherwise it would be fixed. *)
    57       val _ = (n' = n'') orelse error "dest_all_ctx"
       
    58       (* Note: We assume that n' does not occur in the body. Otherwise it would be fixed. *)
    58 
    59 
    59       val (ctx'', vs, bd) = dest_all_all_ctx ctx' body
    60       val (ctx'', vs, bd) = dest_all_all_ctx ctx' body
    60     in
    61     in
    61       (ctx'', (n', T) :: vs, bd)
    62       (ctx'', (n', T) :: vs, bd)
    62     end
    63     end