proc even(n: int): bool proc odd(n: int): bool = assert(n >= 0) # nが負数になり無限ループする事がない事を保証する if n == 0: false else: n == 1 or even(n-1) proc even(n: int): bool = assert(n >= 0) # nが負数になり無限ループする事がない事を保証する if n == 1: false else: n == 0 or odd(n-1)