inductive N := | O : N | S : N → N definition Nat := N open N definition add : Nat → Nat → Nat | add O b := b | add (S a) b := S (add a b)