diff options
author | stuebinm | 2022-06-29 01:14:51 +0200 |
---|---|---|
committer | stuebinm | 2022-06-29 01:23:31 +0200 |
commit | cb4139dc35527bd8c8f9b70753c3d1f552c5f19d (patch) | |
tree | 8e5709039197ad6d72d8b38235a982bf687e2608 /mltt/core/lib.ML | |
parent | 5655750e12d3459c1237588f8dec3fc883a966b7 (diff) |
make mltt work with isabelle 2021-1
notably, this modifies the proof method `this`: the previous version
of it no longer works with cconv.ML (borrowed from HOL), so now it's
just a call to the simplifier, which does work.
Unfortunately the new `this` can otherwise do less than the old one
(it does not instantiate schematic variables), so the old one is now
available as `infer` instead.
Diffstat (limited to 'mltt/core/lib.ML')
-rw-r--r-- | mltt/core/lib.ML | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/mltt/core/lib.ML b/mltt/core/lib.ML index 98d83cc..6949de6 100644 --- a/mltt/core/lib.ML +++ b/mltt/core/lib.ML @@ -113,9 +113,10 @@ fun decompose_goal ctxt goal = let val focus = #1 (Subgoal.focus_prems ctxt 1 NONE (Thm.trivial (Thm.cterm_of ctxt goal))) - val schematics = #2 (#schematics focus) - |> map (fn (v, ctm) => (Thm.term_of ctm, Var v)) + |> Vars.map (fn v => fn ctm => (Thm.term_of ctm, Var v)) + |> Vars.dest + |> map snd in map Thm.prop_of (#prems focus) @ [Thm.term_of (#concl focus)] |> map (subst_free schematics) |