Closed knisht closed 3 years ago
These functions are not the same; they are only equivalent up to computation. Termination checker does not perform any computation. For example, you can write something like this
\func f (n : Nat) : Nat
| 0 => 0
| suc n => f (n + some_complicated_expression_that_evaluates_to_0)
Should this also be accepted?
f
andg
are actually the same, so there should not be any problems with termination checking.