leanprover / leanprover/fp-lean

Suggestion: add illustration of trace.Meta.Tactic.simp.rewrite

Open
#169 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Lean
Stars
192
Forks
73
PR merge metrics
No merged PRs in 30d

Description

I just came across an illustration of trace.Meta.Tactic.simp.rewrite here: https://leanprover-community.github.io/extras/simp.html

I wanted to suggest including mention of this, and maybe other trace options like it, either in chapter 9 or in earlier or later discussions of simp (and maybe other tactics?).

Bacground: While reading FPIL chapter 9, I started to want to know more about what simp is doing. It does so much that its capabilities are necessarily mysterious, but that makes it difficult to know when it would be useful--without just throwing it into code and seeing what happens. The remark concerning <;> that it allowed tactics like simp to be applied to multiple goals simultaneously especially pushed me to want to know more about what simp was doing. If simp is doing different things with different goals, I'd like to have some idea of what it's doing. I recognize that the remarks about <;> might be intended only as flagging an advanced technique that a beginner might grow into 😄, but this still pushed me to want to get more insight into simp.

The trace output is a little bit hard to read at first, but I think I mostly understand it for the plusR_zero_left example using <;>, and It's very illuminating for me. If FPIL introduced tactic tracing, it could also clarify what's potentially confusing about the trace output.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with chapter 9 of FPIL and review its discussion of simp and the <;> combinator alongside the suggested trace.Meta.Tactic.simp.rewrite example. Done means adding a clear, appropriately scoped introduction to tactic tracing and explaining enough of the trace output to help readers understand what simp is doing.

Written by the indexing model from the issue text.

Assessment

Domain
documentation
Issue type
Documentation
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
38/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.