A very simple try? tactic implementation.
Equations
- One or more equations did not get rendered due to their size.
Instances For
evalSuggest is a evalTactic variant that returns suggestions after executing a tactic built using
combinatiors such as first, attempt_all, <;>, ;, and try.
Executes tac in the saved state. This function is used to validate a tactic before suggesting it.
Equations
- Lean.Elab.Tactic.Try.checkTactic savedState tac = do let currState ← Lean.saveState savedState.restore tryFinally (Lean.Elab.Tactic.evalTactic tac.raw) currState.restore
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
Instances For
- root : TSyntax `tactic
- terminal : Bool
- config : Try.Config
- originalMaxHeartbeats : Nat
Instances For
Equations
Instances For
Equations
- Lean.Elab.Tactic.Try.TryTactic = (Lean.TSyntax `tactic → Lean.Elab.Tactic.Try.TryTacticM (Lean.TSyntax `tactic))
Instances For
Equations
- One or more equations did not get rendered due to their size.
Equations
- One or more equations did not get rendered due to their size.
Instances For
User-extensible try suggestion generators
A user-defined generator that proposes tactics for try? to attempt.
Takes the goal MVarId and collected info, returns array of tactics to try.
Equations
Instances For
Entry in the try suggestion registry
Instances For
Equations
Instances For
Environment extension for user try suggestion generators (supports local scoping)
Elaborate register_try?_tactic command
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- Lean.Elab.Tactic.Try.focus x ctx = Lean.Elab.Tactic.focus (x ctx)
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Executes a tactic with heartbeat management:
- Restores the original maxHeartbeats limit (recorded at try? start)
- Gives the tactic a fresh heartbeat budget via withCurrHeartbeats
- Catches heartbeat exceptions and converts them to regular errors
Equations
- One or more equations did not get rendered due to their size.
Instances For
Executes code with unlimited heartbeats (maxHeartbeats set to 0). Used by try? infrastructure itself so it doesn't timeout while testing tactics.
Equations
- One or more equations did not get rendered due to their size.
Instances For
evalAndSuggest frontend
Equations
- One or more equations did not get rendered due to their size.
Instances For
Helper functions
grind tactic syntax generator based on collected information.
Other generators
Function induction generators
Vanilla induction generators
Main code
Equations
- One or more equations did not get rendered due to their size.