- resolved : SplitStatus
- notReady : SplitStatus
- ready (numCases : Nat) (isRec tryPostpone : Bool := false) : SplitStatus
Instances For
Equations
- Lean.Meta.Grind.instBEqSplitStatus.beq Lean.Meta.Grind.SplitStatus.resolved Lean.Meta.Grind.SplitStatus.resolved = true
- Lean.Meta.Grind.instBEqSplitStatus.beq Lean.Meta.Grind.SplitStatus.notReady Lean.Meta.Grind.SplitStatus.notReady = true
- Lean.Meta.Grind.instBEqSplitStatus.beq (Lean.Meta.Grind.SplitStatus.ready a a_1 a_2) (Lean.Meta.Grind.SplitStatus.ready b b_1 b_2) = (a == b && (a_1 == b_1 && a_2 == b_2))
- Lean.Meta.Grind.instBEqSplitStatus.beq x✝¹ x✝ = false
Instances For
Equations
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- Lean.Meta.Grind.checkSplitStatus (Lean.Meta.Grind.SplitInfo.default e source) = Lean.Meta.Grind.checkDefaultSplitStatus✝ e
- Lean.Meta.Grind.checkSplitStatus (Lean.Meta.Grind.SplitInfo.imp e h source) = Lean.Meta.Grind.checkForallStatus✝ e h
- Lean.Meta.Grind.checkSplitStatus (Lean.Meta.Grind.SplitInfo.arg a b i eq source) = Lean.Meta.Grind.checkSplitInfoArgStatus a b eq
Instances For
Equations
- Lean.Meta.Grind.instHasAnchorSplitCandidateWithAnchor = { getAnchor := fun (e : Lean.Meta.Grind.SplitCandidateWithAnchor) => e.anchor }
- candidates : Array SplitCandidateWithAnchor
Pairs
(anchor, split) - numDigits : Nat
Number of digits (≥ 4) sufficient for distinguishing anchors. We usually display only the first
numDigits.
Instances For
Returns case-split candidates. Case-splits that are tagged as .resolved or .notReady are skipped.
Applies additional filter if provided.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Performs a case-split using c.
Remark: numCases and isRec are computed using checkSplitStatus.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Selects a case-split from the list of candidates, performs the split and applies continuation to all subgoals. If a subgoal is solved without using new hypotheses, closes the original goal using this proof. That is, it performs non-chronological backtracking.
If stopsAtFirstFailure = true, it stops the search as soon as the given continuation cannot solve a subgoal.
If compress = true, then it uses <;> to generate the resulting tactic sequence if all subgoal sequences are
identical. For example, suppose that the following sequence is generated with compress = false
cases #50fc
next => lia
next => lia
Then with compress = true it generates cases #50fc <;> lia
Equations
- One or more equations did not get rendered due to their size.
Instances For
------------------------------------------ ------------------------------------------ TODO Delete rest of the file ------------------------------------------ ------------------------------------------
Selects a case-split from the list of candidates, and adds new choice point (aka backtracking point). Returns true if successful.
Equations
- One or more equations did not get rendered due to their size.