lean4-htt/tests/lean/run/3022.lean
Leonardo de Moura 09bc477016
feat: better support for reducing Nat.rec (#3616)
closes #3022

With this commit, given the declaration
```
def foo : Nat → Nat
  | 0 => 2
  | n + 1 => foo n
```
when we unfold `foo (n+1)`, we now obtain `foo n` instead of `foo
(Nat.add n 0)`.
2024-03-06 13:28:07 +00:00

13 lines
355 B
Text

def foo : Nat → Nat
| 0 => 2
| n + 1 => foo n
example (n : Nat) : foo (n + 1) = 2 := by
unfold foo -- should not produce `⊢ foo (Nat.add n 0) = 2`
guard_target =ₛ foo n = 2
sorry
example (n : Nat) : foo (n + 1) = 2 := by
simp only [foo] -- should not produce `⊢ foo (Nat.add n 0) = 2`
guard_target =ₛ foo n = 2
sorry