(* Above, we rewrite applications of function. Is it possible to rewrite functions themselves, i.e., rewrite (recursion lt_base lt_step (S n)) to lt_step n (recursion lt_base lt_step n)? *)

Theorem ltb_ge : forall n m, n << m = false <-> n >= m.
Definition even (x : N.t) := recursion true (fun _ p => negb p) x.