| def foo (_ : Nat) := 10 | |
| example : foo x = 8 + 2 := by | |
| simp | |
| trace_state | |
| rw [foo] | |
| example : foo x = 5 * 2 := by | |
| simp | |
| trace_state | |
| rw [foo] | |
| example : foo x = 12 - 2 := by | |
| simp | |
| trace_state | |
| rw [foo] | |
| example : foo x = 20 / 2 := by | |
| simp | |
| trace_state | |
| rw [foo] | |
| example : foo x = 110 % 100 := by | |
| simp | |
| trace_state | |
| rw [foo] | |
| example : foo x = (3+2)*2 := by | |
| simp | |
| trace_state | |
| rw [foo] | |
| example : foo x * foo x = 10 ^ 2 := by | |
| simp | |
| trace_state | |
| rw [foo] | |
| example : foo x = Nat.gcd 10 20 := by | |
| simp | |
| trace_state | |
| rw [foo] | |
| def boo (_ : Nat) := True | |
| example : boo x ↔ 2 < 3 := by | |
| simp | |
| trace_state | |
| trivial | |
| example : boo x ↔ 3 > 2 := by | |
| simp | |
| trace_state | |
| trivial | |
| example : boo x ↔ 2 ≤ 3 := by | |
| simp | |
| trace_state | |
| trivial | |
| example : boo x ↔ 3 ≥ 2 := by | |
| simp | |
| trace_state | |
| trivial | |
| example : foo x = 8 + 2 := by | |
| fail_if_success simp only | |
| simp only [seval] | |
| trace_state | |
| rw [foo] | |
| example (h : x = false) : x = (3 == 4) := by | |
| simp | |
| trace_state | |
| assumption | |
| example (h : x = true) : x = (3 != 4) := by | |
| simp | |
| trace_state | |
| assumption | |
| example (h : ¬x) : x = (3 = 4) := by | |
| simp | |
| trace_state | |
| assumption | |
| example (h : x) : x = (3 ≠ 4) := by | |
| simp | |
| trace_state | |
| assumption |