Tactic linters #
This file defines passes to run from the tactic analysis framework.
Define a pass that tries replacing one terminal tactic with another.
newTacticName
is a human-readable name for the tactic, for example "linarith".
This can be used to group messages together, so that ring
, ring_nf
, ring1
, ...
all produce the same message.
oldTacticKind
is the SyntaxNodeKind
for the tactic's main parser,
for example Mathlib.Tactic.linarith
.
newTactic stx goal
selects the new tactic to try, which may depend on the old tactic invocation
in stx
and the current goal
.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Define a pass that tries replacing a specific tactic with grind
.
tacticName
is a human-readable name for the tactic, for example "linarith".
This can be used to group messages together, so that ring
, ring_nf
, ring1
, ...
all produce the same message.
tacticKind
is the SyntaxNodeKind
for the tactic's main parser,
for example Mathlib.Tactic.linarith
.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Debug grind
by identifying places where it does not yet supersede linarith
.
Debug grind
by identifying places where it does not yet supersede linarith
.
Equations
- linarithToGrindRegressions = Mathlib.TacticAnalysis.grindReplacementWith "linarith" `Mathlib.Tactic.linarith
Instances For
Debug grind
by identifying places where it does not yet supersede ring
.
Debug grind
by identifying places where it does not yet supersede ring
.
Equations
- ringToGrindRegressions = Mathlib.TacticAnalysis.grindReplacementWith "ring" `Mathlib.Tactic.RingNF.ring
Instances For
Debug cutsat
by identifying places where it does not yet supersede omega
.
Debug cutsat
by identifying places where it does not yet supersede omega
.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Report places where omega
can be replaced by cutsat
.
Report places where omega
can be replaced by cutsat
.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Suggest merging two adjacent rw
tactics if that also solves the goal.
Suggest merging two adjacent rw
tactics if that also solves the goal.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Suggest merging tac; grind
into just grind
if that also solves the goal.
Suggest merging tac; grind
into just grind
if that also solves the goal.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Suggest replacing a sequence of tactics with grind
if that also solves the goal.
Suggest replacing a sequence of tactics with grind
if that also solves the goal.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Suggest merging two adjacent intro
tactics which don't pattern match.
Suggest merging two adjacent intro
tactics which don't pattern match.
Equations
- One or more equations did not get rendered due to their size.