Declare Right Step Qlt_stepr.
Declare Left Step Qle_stepl.
Declare Right Step Qle_stepr.
Declare Left Step Qneq_stepl.
Declare Right Step Qneq_stepr.
(** Properties of Qsgn *)

(* Specifications: *)
Lemma Qsgn_1: forall x:Q,{(Qsgn x) = 0}+{(Qsgn x) = 1}+{(Qsgn x) = (-1)%Z}.
Lemma Qsgn_2 : forall x : Q, Qsgn x = 0%Z -> x = Zero.
Lemma Qsgn_7 : forall x : Q, Qlt Zero x -> Qsgn x = 1%Z.
Lemma Qsgn_8 : forall x : Q, Qlt x Zero -> Qsgn x = (-1)%Z.
Lemma Qsgn_9 : forall x : Q, Qsgn x = 1%Z -> Qlt Zero x.
Lemma Qsgn_10 : forall x : Q, Qsgn x = (-1)%Z -> Qlt x Zero.
Lemma Qsgn_15 : forall x y : Q, Qsgn (Qmult x y) = (Qsgn x * Qsgn y)%Z.
Lemma Qsgn_25 : forall x : Q, Qsgn (Qopp x) = (- Qsgn x)%Z.
Lemma Qsgn_28 : forall x : Q, Qsgn (Qinv x) = Qsgn x.
Lemma Qsgn_29 : forall x : Z, Qsgn (Z_to_Q x) = Z.sgn x.
Lemma Qsgn_30 : forall x y : Q, Qsgn (Qdiv x y) = (Qsgn x * Qsgn y)%Z.
Lemma Qsgn_31:forall x:Q, Qle x Zero-> Qsgn x <> 1.
Lemma Qsgn_32:forall x:Q, Qsgn x <> 1 -> Qle x  Zero.
Lemma Qsgn_33:forall x:Q, Qle Zero x -> Qsgn x <> (-1)%Z.
Lemma Qsgn_34:forall x:Q, Qsgn x <> (-1)%Z -> Qle Zero x.
Hint Resolve Qsgn_2 Qsgn_7 Qsgn_8 Qsgn_9 Qsgn_10 Qsgn_15 Qsgn_25 Qsgn_28
Qsgn_29 Qsgn_30.