Library Zfacts
Require Import ZArith.
Require Import Coq.Sets.Ensembles.
Require Import Coq.Sets.Finite_sets.
Require Import Coq.Arith.Euclid.
Section Zfacts.
Open Local Scope Z_scope.
Inductive nat_firsts (N:nat) : Ensemble nat:=
|nat_firsts_def : forall n:nat, lt n N
->In nat (nat_firsts N) n.
Lemma Z_ge_mulpos : forall a b p:Z, p>=0 ->
(a>=b -> a*p>=b*p).
Lemma Z_gt_mulpos : forall a b p:Z, p>0 ->
(a>b -> a*p>b*p).
Lemma Z_getpositive : forall a:Z, a>0 ->
exists p:positive, a=Zpos p.
Lemma Z_gt_divpos : forall a b p:Z, p>0 ->
a*p>b*p -> a>b.
Lemma Z_ge_multwopos : forall a b:Z,
a>=0-> b>=0 -> a*b>=0.
Lemma Z_absnat_0 : Zabs_nat 0=0%nat.
Lemma Z_absnat_posge0 : forall (N:Z), N>=0 ->
ge (Zabs_nat N) (0%nat).
Lemma Z_absnat_posgt0 : forall (N:Z), N>0 ->
gt (Zabs_nat N) (0%nat).
Lemma Z_eucdiff : forall (N a b:Z),
0<=a<N -> 0<=b<N -> -N<a-b<N.
End Zfacts.