This PR fixes a bug in `registerNonlinearOccsAt` used to implement `grind lia`. This issue was originally reported at: https://leanprover.zulipchat.com/#narrow/channel/113489-new-members/topic/Weirdness.20with.20cutsat/near/562099515 Example that was failing: ```lean example {a : Nat} (ha : 1 ≤ a) (H : a ^ 2 = 2 ^ a) : a = 1 ∨ a = 2 ∨ 3 ≤ a := by grind ```
15 lines
518 B
Text
15 lines
518 B
Text
/-!
|
||
Test for a bug at `registerNonlinearOccsAt`.
|
||
-/
|
||
|
||
example {a : Nat} (ha : 1 ≤ a) (H : a ^ 2 = 2 ^ a) : a = 1 ∨ a = 2 ∨ 3 ≤ a := by
|
||
grind
|
||
|
||
example {a : Nat} (ha : 1 ≤ a) (H : a ^ 2 = 2 ^ a) : a = 1 ∨ 2 ≤ a := by grind
|
||
|
||
example {a : Nat} (ha : 2 ≤ a) (H : a ^ 2 = 2 ^ a) : a = 2 ∨ 3 ≤ a := by grind
|
||
|
||
example {a : Nat} (ha : 1 ≤ a) (_ : a ≤ 2) (_ : ¬ a = 1) (_ : ¬ a = 2) (H : a ^ 2 = 2 ^ a) : False := by
|
||
grind
|
||
|
||
example {a : Nat} (ha : 1 ≤ a) : a = 1 ∨ a = 2 ∨ 3 ≤ a := by grind
|