lean4-htt/tests/lean/run/2136.lean
2023-05-15 09:06:37 -07:00

14 lines
509 B
Text

opaque bar : Nat → Nat
theorem foo : bar (Nat.succ a) = 0 := sorry
example : bar (a + 1) = 0 := by with_reducible exact foo -- ok
example : bar (a + a + 1) = 0 := by with_reducible exact foo -- should also work
def factorial : Nat → Nat
| 0 => 1
| n + 1 => (n + 1) * factorial n
example (a : Nat) : factorial (a + 1) = (a + 1) * factorial a := by
rw [factorial] -- works
example (a b : Nat) : factorial ((a + b) + 1) = ((a + b) + 1) * factorial (a + b) := by
rw [factorial] -- should also work