open nat definition foo : nat → nat | foo zero := _ | foo (succ a) := _