Skip to content

feat: add control and arrow_telescope simproc DSL primitives#13048

Merged
leodemoura merged 1 commit intomasterfrom
lean-sym-interactive-11
Mar 23, 2026
Merged

feat: add control and arrow_telescope simproc DSL primitives#13048
leodemoura merged 1 commit intomasterfrom
lean-sym-interactive-11

Conversation

@leodemoura
Copy link
Copy Markdown
Member

This PR adds two new sym_simproc DSL primitives and helper grind-mode
tactics.

Simproc primitives:

  • control — simplifies control-flow expressions (if-then-else,
    match, cond, dite), visiting only conditions and discriminants.
    Intended as a pre simproc.
  • arrow_telescope — simplifies arrow telescopes
    (p₁ → p₂ → ... → q) without entering binders. Intended as a pre
    simproc.

Grind-mode tactics:

  • show_goals — displays pending goals (non-terminal trace_state for
    grind mode)
  • exact e — macro delegating to tactic => exact e

Add two new `sym_simproc` primitives for use as `pre` simprocs:
- `control` — simplifies control-flow expressions (`if-then-else`,
  `match`, `cond`, `dite`), visiting only conditions and discriminants
- `arrow_telescope` — simplifies arrow telescopes
  (`p₁ → p₂ → ... → q`) without entering binders

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@leodemoura leodemoura requested a review from kim-em as a code owner March 23, 2026 02:06
@leodemoura leodemoura added the changelog-tactics User facing tactics label Mar 23, 2026
@leodemoura leodemoura enabled auto-merge March 23, 2026 02:07
@leodemoura leodemoura added this pull request to the merge queue Mar 23, 2026
Merged via the queue into master with commit 0c0edcc Mar 23, 2026
21 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

changelog-tactics User facing tactics

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant