equal
deleted
inserted
replaced
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 |