[isabelle-dev] auto raises a TYPE exception
Makarius
makarius at sketis.net
Fri Apr 5 14:16:10 CEST 2013
On Fri, 5 Apr 2013, Johannes Hölzl wrote:
> It looks like the problem is somewhere in the call to
> Classical.inst0_step_tac in nodup_depth_tac (clasimp.ML):
>
> ---- clasimp.ML ----
>
> fun nodup_depth_tac ctxt m i st =
> SELECT_GOAL
> (Classical.safe_steps_tac ctxt 1 THEN_ELSE
> (DEPTH_SOLVE (nodup_depth_tac ctxt m 1),
> Classical.inst0_step_tac ctxt 1 APPEND COND (K (m = 0)) no_tac
> (slow_step_tac' ctxt 1 THEN DEPTH_SOLVE (nodup_depth_tac ctxt (m - 1) 1)))) i st;
>
> -----------------------
>
> Dmitriy and I tried to simplify the testcase by replicating the goal on
> which inst0_step_tac is called but could not replicated the failure.
> * How can I activate backtraces in ML to get an better understand of the
> problem? I tried declare [[ML_trace = true]] but I didn't get a
> backtrace.
ML_trace is only for the static phase, to say what is the actual ML source
after expanding antiquotations.
In principle ML "Toplevel.debug := true" gives you an exception trace
(only visible on "Raw Output"), but it is hidden behind lazy sequence
evaluation here. So you should try the exception_trace combinator in the
deeper parts of the ML code, where you suspect a problem.
Makarius
More information about the isabelle-dev
mailing list