proposition: Lemma Qquadratic_sign_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) (H_ok_1 : Qquadratic_sg_denom_nonzero e1 f1 g1 h1 x1 y1) (H_ok_2 : Qquadratic_sg_denom_nonzero 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_sign a1 b1 c1 d1 e1 f1 g1 h1 x1 y1 H_ok_1 = Qquadratic_sign a2 b2 c2 d2 e2 f2 g2 h2 x2 y2 H_ok_2.
proof: Proof. intros; generalize H_ok_2; repeat match goal with | id1:(?X1 = ?X2) |- ?X3 => rewrite <- id1; clear id1 end; intro; apply Qquadratic_sign_equal. Qed.
imports: Coq(ZArithRing) QArithSternBrocot(Qhomographic_sign) QArithSternBrocot(Zaux)