is_even(n) and is_odd(n), that call each other recursively (mutual recursion) to determine the parity of a non-negative integer n, without ever using n % 2.is_even(4)
True
is_even(4) -> is_odd(3) -> is_even(2) -> is_odd(1) -> is_even(0) -> True.
is_odd(7)
True
7 unwinds down to the base cases and resolves to True.
Base cases: is_even(0) is True, is_odd(0) is False.
is_even(n) delegates to is_odd(n - 1); is_odd(n) delegates to is_even(n - 1).