lean4-htt/tests/lean/run/simp_arith_issues.lean
Leonardo de Moura e7cde1180b
fix: simp +arith (#7515)
This PR fixes another bug in `simp +arith`. This bug was affecting
`grind`. See new test for an example.
2025-03-17 03:11:48 +00:00

23 lines
639 B
Text

set_option grind.warning false
example (a b : Int) (f : Int → Int) (h : a = (if a < 0 then b - 1 else 1 - b)) : False := by
simp +arith only at h
guard_hyp h : a = if a + 1 ≤ 0 then b + -1 else -1 * b + 1
sorry
example {a b : Int} : (if a < b then a else b - 1) ≤ b := by
grind
example {a b : Int} : (if a < b then a else b - 1) < b := by
grind
example {a b : Nat} : (if a < b then a else b - 1) ≤ b := by
grind
example {a b : Nat} : b > 0 → (if a < b then a else b - 1) < b := by
grind
example (a b : Nat) (h : (a + 1) * 8 - 1 = b) : b = 8*a + 7 := by
simp +arith at h
guard_hyp h : 8*a + 7 = b
rw [h]