Fixpoint minus (n m:nat) : nat := match n, m with | O, _ => n | S k, O => S k | S k, S l => k - l end where "n - m" := (minus n m) : nat_scope.