Zulip Chat Archive

Stream: new members

Topic: Inspecting simp


Bbbbbbbbba (Jun 06 2024 at 02:55):

Is there a way to see what simp is actually doing?

llllvvuu (Jun 06 2024 at 03:00):

Bbbbbbbbba said:

Is there a way to see what simp is actually doing?

simp? for the lemmas it used

set_option trace.Meta.Tactic.simp true for the lemmas it tried but couldn't use

Bbbbbbbbba (Jun 06 2024 at 07:04):

llllvvuu said:

Bbbbbbbbba said:

Is there a way to see what simp is actually doing?

simp? for the lemmas it used

set_option trace.Meta.Tactic.simp true for the lemmas it tried but couldn't use

This is helpful, although I was thinking of something like turning a tactic-style proof to a completely term-style proof (so that it becomes insensitive to the simp algorithm)

Mauricio Collares (Jun 06 2024 at 07:13):

You can always use show_term { simp }, but the proof is likely not very human-readable.

llllvvuu (Jun 06 2024 at 07:33):

You can also #print the entire declaration. Note that while term-mode proof is less sensitive to tactic implementations, it's more sensitive to individual lemmas and other things, so overall it may not be less prone to breakage

Bbbbbbbbba (Jun 06 2024 at 07:48):

I see, thanks!

Joachim Breitner (Jun 06 2024 at 08:51):

There is also this little, still somewhat experimental tool that expands a simp proof into an elaborate calc proof:
https://github.com/nomeata/lean-calcify


Last updated: May 02 2025 at 03:31 UTC