(** Proof independence of Qquadratic_Qpositive_to_Qpositive: *)

Scheme quadraticAcc_ind_dep := Induction for quadraticAcc Sort Prop.

(* Specifications: *)
Lemma Qquadratic_Qpositive_to_Qpositive_equal : forall (a b c d e f g h : Z) (p1 p2 : Qpositive) (hyp1 hyp2 : quadraticAcc a b c d e f g h p1 p2), Qquadratic_Qpositive_to_Qpositive a b c d e f g h p1 p2 hyp1 = Qquadratic_Qpositive_to_Qpositive a b c d e f g h p1 p2 hyp2.
Lemma Qquadratic_Qpositive_to_Qpositive_equal_strong : forall (a1 a2 b1 b2 c1 c2 d1 d2 e1 e2 f1 f2 g1 g2 h1 h2 : Z) (x1 x2 y1 y2 : Qpositive) (hyp1 : quadraticAcc a1 b1 c1 d1 e1 f1 g1 h1 x1 y1) (hyp2 : quadraticAcc a2 b2 c2 d2 e2 f2 g2 h2 x2 y2), a1 = a2 -> b1 = b2 -> c1 = c2 -> d1 = d2 -> e1 = e2 -> f1 = f2 -> g1 = g2 -> h1 = h2 -> x1 = x2 -> y1 = y2 -> Qquadratic_Qpositive_to_Qpositive a1 b1 c1 d1 e1 f1 g1 h1 x1 y1 hyp1 = Qquadratic_Qpositive_to_Qpositive a2 b2 c2 d2 e2 f2 g2 h2 x2 y2 hyp2.
Lemma Qquadratic_Qpositive_to_Qpositive_0 : forall (a b c d e f g h : Z) (p1 p2 : Qpositive) (hyp : quadraticAcc a b c d e f g h p1 p2), p1 = One -> forall hyp_ni : homographicAcc (a + c) (b + d) (e + g) (f + h) p2, Qquadratic_Qpositive_to_Qpositive a b c d e f g h p1 p2 hyp = Qhomographic_Qpositive_to_Qpositive (a + c) (b + d) (e + g) (f + h) p2 hyp_ni.
Lemma Qquadratic_Qpositive_to_Qpositive_0' : forall (a b c d e f g h : Z) (p1 p2 : Qpositive) (hyp : quadraticAcc a b c d e f g h p1 p2), p1 <> One -> p2 = One -> forall hyp_ni : homographicAcc (a + b) (c + d) (e + f) (g + h) p1, Qquadratic_Qpositive_to_Qpositive a b c d e f g h p1 p2 hyp = Qhomographic_Qpositive_to_Qpositive (a + b) (c + d) (e + f) (g + h) p1 hyp_ni.
Lemma Qquadratic_Qpositive_to_Qpositive_1 : forall (a b c d e f g h : Z) (p1 p2 : Qpositive) (hyp : quadraticAcc a b c d e f g h p1 p2), p1 <> One -> p2 <> One -> quadratic_top_more a b c d e f g h -> forall hyp_rec : quadraticAcc (a - e) (b - f) (c - g) (d - h) e f g h p1 p2, Qquadratic_Qpositive_to_Qpositive a b c d e f g h p1 p2 hyp = nR (Qquadratic_Qpositive_to_Qpositive (a - e) (b - f) (c - g) (d - h) e f g h p1 p2 hyp_rec).
Lemma Qquadratic_Qpositive_to_Qpositive_2 : forall (a b c d e f g h : Z) (p1 p2 : Qpositive) (hyp : quadraticAcc a b c d e f g h p1 p2), p1 <> One -> p2 <> One -> ~ quadratic_top_more a b c d e f g h -> quadratic_top_more e f g h a b c d -> forall hyp_rec : quadraticAcc a b c d (e - a) (f - b) (g - c) (h - d) p1 p2, Qquadratic_Qpositive_to_Qpositive a b c d e f g h p1 p2 hyp = dL (Qquadratic_Qpositive_to_Qpositive a b c d (e - a) (f - b) (g - c) (h - d) p1 p2 hyp_rec).
Lemma Qquadratic_Qpositive_to_Qpositive_3_II : forall (a b c d e f g h : Z) (p1 p2 : Qpositive) (hyp : quadraticAcc a b c d e f g h p1 p2), ~ quadratic_top_more a b c d e f g h -> ~ quadratic_top_more e f g h a b c d -> forall xs : Qpositive, p1 = nR xs -> forall ys : Qpositive, p2 = nR ys -> forall hyp_rec : quadraticAcc a (a + b) (a + c) (a + b + c + d) e (e + f) (e + g) (e + f + g + h) xs ys, Qquadratic_Qpositive_to_Qpositive a b c d e f g h p1 p2 hyp = Qquadratic_Qpositive_to_Qpositive a (a + b) (a + c) (a + b + c + d) e (e + f) (e + g) (e + f + g + h) xs ys hyp_rec.
Lemma Qquadratic_Qpositive_to_Qpositive_3_IO : forall (a b c d e f g h : Z) (p1 p2 : Qpositive) (hyp : quadraticAcc a b c d e f g h p1 p2), ~ quadratic_top_more a b c d e f g h -> ~ quadratic_top_more e f g h a b c d -> forall xs : Qpositive, p1 = nR xs -> forall ys : Qpositive, p2 = dL ys -> forall hyp_rec : quadraticAcc (a + b) b (a + b + c + d) (b + d) (e + f) f (e + f + g + h) (f + h) xs ys, Qquadratic_Qpositive_to_Qpositive a b c d e f g h p1 p2 hyp = Qquadratic_Qpositive_to_Qpositive (a + b) b (a + b + c + d) (b + d) (e + f) f (e + f + g + h) (f + h) xs ys hyp_rec.
Lemma Qquadratic_Qpositive_to_Qpositive_3_OI : forall (a b c d e f g h : Z) (p1 p2 : Qpositive) (hyp : quadraticAcc a b c d e f g h p1 p2), ~ quadratic_top_more a b c d e f g h -> ~ quadratic_top_more e f g h a b c d -> forall xs : Qpositive, p1 = dL xs -> forall ys : Qpositive, p2 = nR ys -> forall hyp_rec : quadraticAcc (a + c) (a + b + c + d) c (c + d) (e + g) (e + f + g + h) g (g + h) xs ys, Qquadratic_Qpositive_to_Qpositive a b c d e f g h p1 p2 hyp = Qquadratic_Qpositive_to_Qpositive (a + c) (a + b + c + d) c (c + d) (e + g) (e + f + g + h) g (g + h) xs ys hyp_rec.
Lemma Qquadratic_Qpositive_to_Qpositive_3_OO : forall (a b c d e f g h : Z) (p1 p2 : Qpositive) (hyp : quadraticAcc a b c d e f g h p1 p2), ~ quadratic_top_more a b c d e f g h -> ~ quadratic_top_more e f g h a b c d -> forall xs : Qpositive, p1 = dL xs -> forall ys : Qpositive, p2 = dL ys -> forall hyp_rec : quadraticAcc (a + b + c + d) (b + d) (c + d) d (e + f + g + h) (f + h) (g + h) h xs ys, Qquadratic_Qpositive_to_Qpositive a b c d e f g h p1 p2 hyp = Qquadratic_Qpositive_to_Qpositive (a + b + c + d) (b + d) (c + d) d (e + f + g + h) (f + h) (g + h) h xs ys hyp_rec.