Qed.
Hint Resolve Qlt_neg_pos Qlt_neg_zero Qlt_zero_pos.
Ltac QltCleanAbsurdCases :=
match goal with
| id1:(Qlt Zero (Qneg _)) |- _ => inversion id1
| id1:(Qlt (Qpos _) Zero) |- _ =>
inversion id1
| id1:(Qlt (Qpos _) (Qneg _)) |- _ =>
inversion id1
| id1:(Qle Zero (Qneg _)) |- _ =>
apply False_ind; apply id1; auto with *
| id1:(Qle (Qpos _) Zero) |- _ =>
apply False_ind; apply id1; auto with *
| id1:(Qle (Qpos _) (Qneg _)) |- _ =>
apply False_ind; apply id1; auto with *
end.
(* Hints Unfold Qle.*)
(** Properties of  Qpositive_c *)
Functional Scheme Qpositive_c_ind := Induction for Qpositive_c Sort Prop.

(* Specifications: *)
Lemma Qpositive_c_0 : forall p q n : nat, n = 0 -> Qpositive_c p q n = One.
Lemma Qpositive_c_1_0_0 :
forall p q n' : nat, p - q = 0 -> q - p = 0 -> Qpositive_c p q (S n') = One.
Lemma Qpositive_c_equal_One :
forall m n p : nat, m = n -> Qpositive_c m n p = One.
Lemma Qpositive_c_1_0_1 :
forall p q n' : nat,
p - q = 0 ->
q - p <> 0 -> Qpositive_c p q (S n') = dL (Qpositive_c p (q - p) n').
Lemma Qpositive_c_dL :
forall p q n' : nat,
p < q -> Qpositive_c p q (S n') = dL (Qpositive_c p (q - p) n').
Lemma Qpositive_c_1_1 :
forall p q n' : nat,
p - q <> 0 -> Qpositive_c p q (S n') = nR (Qpositive_c (p - q) q n').
Lemma Qpositive_c_nR :
forall p q n' : nat,
q < p -> Qpositive_c p q (S n') = nR (Qpositive_c (p - q) q n').