Library Rational.Integer.int
Require Import quotient.
Require Export integer_defs.
Require Export PlusZ.
Require Export MultZ.
Require Import AC.
Require Import HS.
Section INT.
Open Scope INT_scope.
Axiom plusZ_simpl_l : forall n m p : Z, m = p -> n + m = n + p.
Axiom multZ_simpl_l : forall n m p : Z, m = p -> n * m = n * p.
End INT.
Ltac CZa := intros; ac_of eq plusZ plusZ_sym plusZ_permute; auto.
Ltac AZa := intros; repeat elim plusZ_assoc_l.
Ltac ACZa :=
intros; repeat elim plusZ_assoc_l; ac_of eq plusZ plusZ_sym plusZ_permute;
auto.
Ltac HSZa := intros; hs_of eq plusZ plusZ_sym plusZ_permute plusZ_simpl_l.
Ltac CZm := intros; ac_of eq multZ multZ_sym multZ_permute; auto.
Ltac AZm := intros; repeat elim multZ_assoc_l.
Ltac ACZm :=
intros; repeat elim multZ_assoc_l; ac_of eq multZ multZ_sym multZ_permute;
auto.
Ltac HSZm := intros; hs_of eq multZ multZ_sym multZ_permute multZ_simpl_l.
