17 lines
449 B
Text
17 lines
449 B
Text
variable (a : Nat)
|
|
|
|
def foo1 (b c : Nat) := if h : b = 0 then a + c else foo1 (b - 1) c
|
|
termination_by _ => b
|
|
|
|
def foo2 (b c : Nat) := if h : b = 0 then a + c else foo2 (b - 1) c
|
|
termination_by
|
|
foo2 x y z => y
|
|
|
|
def foo3 (b c : Nat) := if h : b = 0 then a + c else foo3 (b - 1) c
|
|
termination_by
|
|
_ x y z => y
|
|
|
|
def foo4 (b c : Nat) := if h : b = 0 then a + c else foo4 (b - 1) c
|
|
termination_by
|
|
-- We can rename from right to left
|
|
foo4 y _ => y
|