As others have pointed out, you can use simp_trace. However, you can also use simp_trace_new in combination with the Simplify Trace window. This provides an improved output compared to simp_trace:
lemma "rev (rev xs) = xs" using [[simp_trace_new]] apply(induction xs) apply(auto) done
To view the trace, place the cursor on "apply (auto)", then click on "See traceifier trace". The Trace Accelerator window opens (tab). Click Show Trace, and a new window should appear showing the trace for each subgoal.
The Isabelle / Isar link contains more detailed information:
simp_trace_new controls simplification tracing in Isabelle / PIDE applications, in particular Isabelle / jEdit.
This provides a hierarchical representation of the rewriting steps performed by the Uptifier.
Users can customize behavior by specifying breakpoints, verbosity, and enabling or disabling interactive mode.
In regular verbosity (the default), only the rules corresponding to the breakpoint apply. user shown . In full, all application rules will be registered. Interactive mode interrupts the normal flow of Resistance and discards the decision on how to continue working with the user through any dialogue with a graphical interface.
Alternatively, you can specify "using the link [[simp_trace_new mode = full]]" here to see all the steps taken by the simplifier.
NOTE: in the previous example, showing the trace "apply (induction xs)" does not output.
source share