Library Coq.Numbers.NatInt.NZAdd
Require Import NZAxioms.
Require Import NZBase.
Module NZAddPropFunct (Import NZAxiomsMod : NZAxiomsSig).
Module Export NZBasePropMod := NZBasePropFunct NZAxiomsMod.
Open Local Scope NatIntScope.
Theorem NZadd_0_r : forall n : NZ, n + 0 == n.
Theorem NZadd_succ_r : forall n m : NZ, n + S m == S (n + m).
Theorem NZadd_comm : forall n m : NZ, n + m == m + n.
Theorem NZadd_1_l : forall n : NZ, 1 + n == S n.
Theorem NZadd_1_r : forall n : NZ, n + 1 == S n.
Theorem NZadd_assoc : forall n m p : NZ, n + (m + p) == (n + m) + p.
Theorem NZadd_shuffle1 : forall n m p q : NZ, (n + m) + (p + q) == (n + p) + (m + q).
Theorem NZadd_shuffle2 : forall n m p q : NZ, (n + m) + (p + q) == (n + q) + (m + p).
Theorem NZadd_cancel_l : forall n m p : NZ, p + n == p + m <-> n == m.
Theorem NZadd_cancel_r : forall n m p : NZ, n + p == m + p <-> n == m.
Theorem NZsub_1_r : forall n : NZ, n - 1 == P n.
End NZAddPropFunct.