lean4-htt/tests/lean/run/mutwf4.lean
2022-01-12 16:22:54 -08:00

20 lines
363 B
Text

set_option trace.Elab.definition.wf true in
mutual
def f : Nat → Bool → Nat
| n, true => 2 * f n false
| 0, false => 1
| n, false => n + g n
def g (n : Nat) : Nat :=
if h : n ≠ 0 then
f (n-1) true
else
n
end
termination_by
f n b => (n, if b then 2 else 1)
g n => (n, 0)
#print f
#print g
#print f._unary._mutual