equal
deleted
inserted
replaced
32 let |
32 let |
33 val (ns, ctxt') = Variable.variant_fixes (replicate (length nTs) "") ctxt |
33 val (ns, ctxt') = Variable.variant_fixes (replicate (length nTs) "") ctxt |
34 fun mk (n, T) n' = (n, Thm.cterm_of ctxt' (Free (n', T))) |
34 fun mk (n, T) n' = (n, Thm.cterm_of ctxt' (Free (n', T))) |
35 in (ctxt', Symtab.make (map2 mk nTs ns)) end |
35 in (ctxt', Symtab.make (map2 mk nTs ns)) end |
36 |
36 |
37 fun forall_elim_term ct (Const (@{const_name Pure.all}, _) $ (a as Abs _)) = |
37 fun forall_elim_term ct (Const (\<^const_name>\<open>Pure.all\<close>, _) $ (a as Abs _)) = |
38 Term.betapply (a, Thm.term_of ct) |
38 Term.betapply (a, Thm.term_of ct) |
39 | forall_elim_term _ qt = raise TERM ("forall_elim'", [qt]) |
39 | forall_elim_term _ qt = raise TERM ("forall_elim'", [qt]) |
40 |
40 |
41 fun apply_fixes elim env = fold (elim o the o Symtab.lookup env) |
41 fun apply_fixes elim env = fold (elim o the o Symtab.lookup env) |
42 |
42 |