Definition Qquadratic_Qpositive_to_Q (a b c d e f g h : Z)
  (p1 p2 : Qpositive) (H_qsign : Qquadratic_sg_denom_nonzero e f g h p1 p2) :
  Q.Inductive Qquadratic_denom_nonzero : Z -> Z -> Z -> Z -> Q -> Q -> Prop :=
  | Qquadraticok00 :
      forall (e f g h : Z) (s1 s2 : Q),
      s1 = Zero ->
      s2 = Zero -> h <> 0%Z -> Qquadratic_denom_nonzero e f g h s1 s2
  | Qquadraticok01 :
      forall (e f g h : Z) (s1 s2 : Q) (p2 : Qpositive),
      s1 = Zero ->
      s2 = Qpos p2 ->
      Qhomographic_sg_denom_nonzero g h p2 ->
      Qquadratic_denom_nonzero e f g h s1 s2
  | Qquadraticok02 :
      forall (e f g h : Z) (s1 s2 : Q) (p2 : Qpositive),
      s1 = Zero ->
      s2 = Qneg p2 ->
      Qhomographic_sg_denom_nonzero (- g) h p2 ->
      Qquadratic_denom_nonzero e f g h s1 s2
  | Qquadraticok10 :
      forall (e f g h : Z) (s1 s2 : Q) (p1 : Qpositive),
      s1 = Qpos p1 ->
      s2 = Zero ->
      Qhomographic_sg_denom_nonzero f h p1 ->
      Qquadratic_denom_nonzero e f g h s1 s2
  | Qquadraticok20 :
      forall (e f g h : Z) (s1 s2 : Q) (p1 : Qpositive),
      s1 = Qneg p1 ->
      s2 = Zero ->
      Qhomographic_sg_denom_nonzero (- f) h p1 ->
      Qquadratic_denom_nonzero e f g h s1 s2
  | Qquadraticok11 :
      forall (e f g h : Z) (s1 s2 : Q) (p1 p2 : Qpositive),
      s1 = Qpos p1 ->
      s2 = Qpos p2 ->
      Qquadratic_sg_denom_nonzero e f g h p1 p2 ->
      Qquadratic_denom_nonzero e f g h s1 s2
  | Qquadraticok12 :
      forall (e f g h : Z) (s1 s2 : Q) (p1 p2 : Qpositive),
      s1 = Qpos p1 ->
      s2 = Qneg p2 ->
      Qquadratic_sg_denom_nonzero (- e) f (- g) h p1 p2 ->
      Qquadratic_denom_nonzero e f g h s1 s2
  | Qquadraticok21 :
      forall (e f g h : Z) (s1 s2 : Q) (p1 p2 : Qpositive),
      s1 = Qneg p1 ->
      s2 = Qpos p2 ->
      Qquadratic_sg_denom_nonzero (- e) (- f) g h p1 p2 ->
      Qquadratic_denom_nonzero e f g h s1 s2
  | Qquadraticok22 :
      forall (e f g h : Z) (s1 s2 : Q) (p1 p2 : Qpositive),
      s1 = Qneg p1 ->
      s2 = Qneg p2 ->
      Qquadratic_sg_denom_nonzero e (- f) (- g) h p1 p2 ->
      Qquadratic_denom_nonzero e f g h s1 s2.Inductive Qquadratic_denom_nonzero : Z -> Z -> Z -> Z -> Q -> Q -> Prop :=
  | Qquadraticok00 :
      forall (e f g h : Z) (s1 s2 : Q),
      s1 = Zero ->
      s2 = Zero -> h <> 0%Z -> Qquadratic_denom_nonzero e f g h s1 s2
  | Qquadraticok01 :
      forall (e f g h : Z) (s1 s2 : Q) (p2 : Qpositive),
      s1 = Zero ->
      s2 = Qpos p2 ->
      Qhomographic_sg_denom_nonzero g h p2 ->
      Qquadratic_denom_nonzero e f g h s1 s2
  | Qquadraticok02 :
      forall (e f g h : Z) (s1 s2 : Q) (p2 : Qpositive),
      s1 = Zero ->
      s2 = Qneg p2 ->
      Qhomographic_sg_denom_nonzero (- g) h p2 ->
      Qquadratic_denom_nonzero e f g h s1 s2
  | Qquadraticok10 :
      forall (e f g h : Z) (s1 s2 : Q) (p1 : Qpositive),
      s1 = Qpos p1 ->
      s2 = Zero ->
      Qhomographic_sg_denom_nonzero f h p1 ->
      Qquadratic_denom_nonzero e f g h s1 s2
  | Qquadraticok20 :
      forall (e f g h : Z) (s1 s2 : Q) (p1 : Qpositive),
      s1 = Qneg p1 ->
      s2 = Zero ->
      Qhomographic_sg_denom_nonzero (- f) h p1 ->
      Qquadratic_denom_nonzero e f g h s1 s2
  | Qquadraticok11 :
      forall (e f g h : Z) (s1 s2 : Q) (p1 p2 : Qpositive),
      s1 = Qpos p1 ->
      s2 = Qpos p2 ->
      Qquadratic_sg_denom_nonzero e f g h p1 p2 ->
      Qquadratic_denom_nonzero e f g h s1 s2
  | Qquadraticok12 :
      forall (e f g h : Z) (s1 s2 : Q) (p1 p2 : Qpositive),
      s1 = Qpos p1 ->
      s2 = Qneg p2 ->
      Qquadratic_sg_denom_nonzero (- e) f (- g) h p1 p2 ->
      Qquadratic_denom_nonzero e f g h s1 s2
  | Qquadraticok21 :
      forall (e f g h : Z) (s1 s2 : Q) (p1 p2 : Qpositive),
      s1 = Qneg p1 ->
      s2 = Qpos p2 ->
      Qquadratic_sg_denom_nonzero (- e) (- f) g h p1 p2 ->
      Qquadratic_denom_nonzero e f g h s1 s2
  | Qquadraticok22 :
      forall (e f g h : Z) (s1 s2 : Q) (p1 p2 : Qpositive),
      s1 = Qneg p1 ->
      s2 = Qneg p2 ->
      Qquadratic_sg_denom_nonzero e (- f) (- g) h p1 p2 ->
      Qquadratic_denom_nonzero e f g h s1 s2.Inductive Qquadratic_denom_nonzero : Z -> Z -> Z -> Z -> Q -> Q -> Prop :=
  | Qquadraticok00 :
      forall (e f g h : Z) (s1 s2 : Q),
      s1 = Zero ->
      s2 = Zero -> h <> 0%Z -> Qquadratic_denom_nonzero e f g h s1 s2
  | Qquadraticok01 :
      forall (e f g h : Z) (s1 s2 : Q) (p2 : Qpositive),
      s1 = Zero ->
      s2 = Qpos p2 ->
      Qhomographic_sg_denom_nonzero g h p2 ->
      Qquadratic_denom_nonzero e f g h s1 s2
  | Qquadraticok02 :
      forall (e f g h : Z) (s1 s2 : Q) (p2 : Qpositive),
      s1 = Zero ->
      s2 = Qneg p2 ->
      Qhomographic_sg_denom_nonzero (- g) h p2 ->
      Qquadratic_denom_nonzero e f g h s1 s2
  | Qquadraticok10 :
      forall (e f g h : Z) (s1 s2 : Q) (p1 : Qpositive),
      s1 = Qpos p1 ->
      s2 = Zero ->
      Qhomographic_sg_denom_nonzero f h p1 ->
      Qquadratic_denom_nonzero e f g h s1 s2
  | Qquadraticok20 :
      forall (e f g h : Z) (s1 s2 : Q) (p1 : Qpositive),
      s1 = Qneg p1 ->
      s2 = Zero ->
      Qhomographic_sg_denom_nonzero (- f) h p1 ->
      Qquadratic_denom_nonzero e f g h s1 s2
  | Qquadraticok11 :
      forall (e f g h : Z) (s1 s2 : Q) (p1 p2 : Qpositive),
      s1 = Qpos p1 ->
      s2 = Qpos p2 ->
      Qquadratic_sg_denom_nonzero e f g h p1 p2 ->
      Qquadratic_denom_nonzero e f g h s1 s2
  | Qquadraticok12 :
      forall (e f g h : Z) (s1 s2 : Q) (p1 p2 : Qpositive),
      s1 = Qpos p1 ->
      s2 = Qneg p2 ->
      Qquadratic_sg_denom_nonzero (- e) f (- g) h p1 p2 ->
      Qquadratic_denom_nonzero e f g h s1 s2
  | Qquadraticok21 :
      forall (e f g h : Z) (s1 s2 : Q) (p1 p2 : Qpositive),
      s1 = Qneg p1 ->
      s2 = Qpos p2 ->
      Qquadratic_sg_denom_nonzero (- e) (- f) g h p1 p2 ->
      Qquadratic_denom_nonzero e f g h s1 s2
  | Qquadraticok22 :
      forall (e f g h : Z) (s1 s2 : Q) (p1 p2 : Qpositive),
      s1 = Qneg p1 ->
      s2 = Qneg p2 ->
      Qquadratic_sg_denom_nonzero e (- f) (- g) h p1 p2 ->
      Qquadratic_denom_nonzero e f g h s1 s2.Inductive Qquadratic_denom_nonzero : Z -> Z -> Z -> Z -> Q -> Q -> Prop :=
  | Qquadraticok00 :
      forall (e f g h : Z) (s1 s2 : Q),
      s1 = Zero ->
      s2 = Zero -> h <> 0%Z -> Qquadratic_denom_nonzero e f g h s1 s2
  | Qquadraticok01 :
      forall (e f g h : Z) (s1 s2 : Q) (p2 : Qpositive),
      s1 = Zero ->
      s2 = Qpos p2 ->
      Qhomographic_sg_denom_nonzero g h p2 ->
      Qquadratic_denom_nonzero e f g h s1 s2
  | Qquadraticok02 :
      forall (e f g h : Z) (s1 s2 : Q) (p2 : Qpositive),
      s1 = Zero ->
      s2 = Qneg p2 ->
      Qhomographic_sg_denom_nonzero (- g) h p2 ->
      Qquadratic_denom_nonzero e f g h s1 s2
  | Qquadraticok10 :
      forall (e f g h : Z) (s1 s2 : Q) (p1 : Qpositive),
      s1 = Qpos p1 ->
      s2 = Zero ->
      Qhomographic_sg_denom_nonzero f h p1 ->
      Qquadratic_denom_nonzero e f g h s1 s2
  | Qquadraticok20 :
      forall (e f g h : Z) (s1 s2 : Q) (p1 : Qpositive),
      s1 = Qneg p1 ->
      s2 = Zero ->
      Qhomographic_sg_denom_nonzero (- f) h p1 ->
      Qquadratic_denom_nonzero e f g h s1 s2
  | Qquadraticok11 :
      forall (e f g h : Z) (s1 s2 : Q) (p1 p2 : Qpositive),
      s1 = Qpos p1 ->
      s2 = Qpos p2 ->
      Qquadratic_sg_denom_nonzero e f g h p1 p2 ->
      Qquadratic_denom_nonzero e f g h s1 s2
  | Qquadraticok12 :
      forall (e f g h : Z) (s1 s2 : Q) (p1 p2 : Qpositive),
      s1 = Qpos p1 ->
      s2 = Qneg p2 ->
      Qquadratic_sg_denom_nonzero (- e) f (- g) h p1 p2 ->
      Qquadratic_denom_nonzero e f g h s1 s2
  | Qquadraticok21 :
      forall (e f g h : Z) (s1 s2 : Q) (p1 p2 : Qpositive),
      s1 = Qneg p1 ->
      s2 = Qpos p2 ->
      Qquadratic_sg_denom_nonzero (- e) (- f) g h p1 p2 ->
      Qquadratic_denom_nonzero e f g h s1 s2
  | Qquadraticok22 :
      forall (e f g h : Z) (s1 s2 : Q) (p1 p2 : Qpositive),
      s1 = Qneg p1 ->
      s2 = Qneg p2 ->
      Qquadratic_sg_denom_nonzero e (- f) (- g) h p1 p2 ->
      Qquadratic_denom_nonzero e f g h s1 s2.Inductive Qquadratic_denom_nonzero : Z -> Z -> Z -> Z -> Q -> Q -> Prop :=
  | Qquadraticok00 :
      forall (e f g h : Z) (s1 s2 : Q),
      s1 = Zero ->
      s2 = Zero -> h <> 0%Z -> Qquadratic_denom_nonzero e f g h s1 s2
  | Qquadraticok01 :
      forall (e f g h : Z) (s1 s2 : Q) (p2 : Qpositive),
      s1 = Zero ->
      s2 = Qpos p2 ->
      Qhomographic_sg_denom_nonzero g h p2 ->
      Qquadratic_denom_nonzero e f g h s1 s2
  | Qquadraticok02 :
      forall (e f g h : Z) (s1 s2 : Q) (p2 : Qpositive),
      s1 = Zero ->
      s2 = Qneg p2 ->
      Qhomographic_sg_denom_nonzero (- g) h p2 ->
      Qquadratic_denom_nonzero e f g h s1 s2
  | Qquadraticok10 :
      forall (e f g h : Z) (s1 s2 : Q) (p1 : Qpositive),
      s1 = Qpos p1 ->
      s2 = Zero ->
      Qhomographic_sg_denom_nonzero f h p1 ->
      Qquadratic_denom_nonzero e f g h s1 s2
  | Qquadraticok20 :
      forall (e f g h : Z) (s1 s2 : Q) (p1 : Qpositive),
      s1 = Qneg p1 ->
      s2 = Zero ->
      Qhomographic_sg_denom_nonzero (- f) h p1 ->
      Qquadratic_denom_nonzero e f g h s1 s2
  | Qquadraticok11 :
      forall (e f g h : Z) (s1 s2 : Q) (p1 p2 : Qpositive),
      s1 = Qpos p1 ->
      s2 = Qpos p2 ->
      Qquadratic_sg_denom_nonzero e f g h p1 p2 ->
      Qquadratic_denom_nonzero e f g h s1 s2
  | Qquadraticok12 :
      forall (e f g h : Z) (s1 s2 : Q) (p1 p2 : Qpositive),
      s1 = Qpos p1 ->
      s2 = Qneg p2 ->
      Qquadratic_sg_denom_nonzero (- e) f (- g) h p1 p2 ->
      Qquadratic_denom_nonzero e f g h s1 s2
  | Qquadraticok21 :
      forall (e f g h : Z) (s1 s2 : Q) (p1 p2 : Qpositive),
      s1 = Qneg p1 ->
      s2 = Qpos p2 ->
      Qquadratic_sg_denom_nonzero (- e) (- f) g h p1 p2 ->
      Qquadratic_denom_nonzero e f g h s1 s2
  | Qquadraticok22 :
      forall (e f g h : Z) (s1 s2 : Q) (p1 p2 : Qpositive),
      s1 = Qneg p1 ->
      s2 = Qneg p2 ->
      Qquadratic_sg_denom_nonzero e (- f) (- g) h p1 p2 ->
      Qquadratic_denom_nonzero e f g h s1 s2.Inductive Qquadratic_denom_nonzero : Z -> Z -> Z -> Z -> Q -> Q -> Prop :=
  | Qquadraticok00 :
      forall (e f g h : Z) (s1 s2 : Q),
      s1 = Zero ->
      s2 = Zero -> h <> 0%Z -> Qquadratic_denom_nonzero e f g h s1 s2
  | Qquadraticok01 :
      forall (e f g h : Z) (s1 s2 : Q) (p2 : Qpositive),
      s1 = Zero ->
      s2 = Qpos p2 ->
      Qhomographic_sg_denom_nonzero g h p2 ->
      Qquadratic_denom_nonzero e f g h s1 s2
  | Qquadraticok02 :
      forall (e f g h : Z) (s1 s2 : Q) (p2 : Qpositive),
      s1 = Zero ->
      s2 = Qneg p2 ->
      Qhomographic_sg_denom_nonzero (- g) h p2 ->
      Qquadratic_denom_nonzero e f g h s1 s2
  | Qquadraticok10 :
      forall (e f g h : Z) (s1 s2 : Q) (p1 : Qpositive),
      s1 = Qpos p1 ->
      s2 = Zero ->
      Qhomographic_sg_denom_nonzero f h p1 ->
      Qquadratic_denom_nonzero e f g h s1 s2
  | Qquadraticok20 :
      forall (e f g h : Z) (s1 s2 : Q) (p1 : Qpositive),
      s1 = Qneg p1 ->
      s2 = Zero ->
      Qhomographic_sg_denom_nonzero (- f) h p1 ->
      Qquadratic_denom_nonzero e f g h s1 s2
  | Qquadraticok11 :
      forall (e f g h : Z) (s1 s2 : Q) (p1 p2 : Qpositive),
      s1 = Qpos p1 ->
      s2 = Qpos p2 ->
      Qquadratic_sg_denom_nonzero e f g h p1 p2 ->
      Qquadratic_denom_nonzero e f g h s1 s2
  | Qquadraticok12 :
      forall (e f g h : Z) (s1 s2 : Q) (p1 p2 : Qpositive),
      s1 = Qpos p1 ->
      s2 = Qneg p2 ->
      Qquadratic_sg_denom_nonzero (- e) f (- g) h p1 p2 ->
      Qquadratic_denom_nonzero e f g h s1 s2
  | Qquadraticok21 :
      forall (e f g h : Z) (s1 s2 : Q) (p1 p2 : Qpositive),
      s1 = Qneg p1 ->
      s2 = Qpos p2 ->
      Qquadratic_sg_denom_nonzero (- e) (- f) g h p1 p2 ->
      Qquadratic_denom_nonzero e f g h s1 s2
  | Qquadraticok22 :
      forall (e f g h : Z) (s1 s2 : Q) (p1 p2 : Qpositive),
      s1 = Qneg p1 ->
      s2 = Qneg p2 ->
      Qquadratic_sg_denom_nonzero e (- f) (- g) h p1 p2 ->
      Qquadratic_denom_nonzero e f g h s1 s2.Inductive Qquadratic_denom_nonzero : Z -> Z -> Z -> Z -> Q -> Q -> Prop :=
  | Qquadraticok00 :
      forall (e f g h : Z) (s1 s2 : Q),
      s1 = Zero ->
      s2 = Zero -> h <> 0%Z -> Qquadratic_denom_nonzero e f g h s1 s2
  | Qquadraticok01 :
      forall (e f g h : Z) (s1 s2 : Q) (p2 : Qpositive),
      s1 = Zero ->
      s2 = Qpos p2 ->
      Qhomographic_sg_denom_nonzero g h p2 ->
      Qquadratic_denom_nonzero e f g h s1 s2
  | Qquadraticok02 :
      forall (e f g h : Z) (s1 s2 : Q) (p2 : Qpositive),
      s1 = Zero ->
      s2 = Qneg p2 ->
      Qhomographic_sg_denom_nonzero (- g) h p2 ->
      Qquadratic_denom_nonzero e f g h s1 s2
  | Qquadraticok10 :
      forall (e f g h : Z) (s1 s2 : Q) (p1 : Qpositive),
      s1 = Qpos p1 ->
      s2 = Zero ->
      Qhomographic_sg_denom_nonzero f h p1 ->
      Qquadratic_denom_nonzero e f g h s1 s2
  | Qquadraticok20 :
      forall (e f g h : Z) (s1 s2 : Q) (p1 : Qpositive),
      s1 = Qneg p1 ->
      s2 = Zero ->
      Qhomographic_sg_denom_nonzero (- f) h p1 ->
      Qquadratic_denom_nonzero e f g h s1 s2
  | Qquadraticok11 :
      forall (e f g h : Z) (s1 s2 : Q) (p1 p2 : Qpositive),
      s1 = Qpos p1 ->
      s2 = Qpos p2 ->
      Qquadratic_sg_denom_nonzero e f g h p1 p2 ->
      Qquadratic_denom_nonzero e f g h s1 s2
  | Qquadraticok12 :
      forall (e f g h : Z) (s1 s2 : Q) (p1 p2 : Qpositive),
      s1 = Qpos p1 ->
      s2 = Qneg p2 ->
      Qquadratic_sg_denom_nonzero (- e) f (- g) h p1 p2 ->
      Qquadratic_denom_nonzero e f g h s1 s2
  | Qquadraticok21 :
      forall (e f g h : Z) (s1 s2 : Q) (p1 p2 : Qpositive),
      s1 = Qneg p1 ->
      s2 = Qpos p2 ->
      Qquadratic_sg_denom_nonzero (- e) (- f) g h p1 p2 ->
      Qquadratic_denom_nonzero e f g h s1 s2
  | Qquadraticok22 :
      forall (e f g h : Z) (s1 s2 : Q) (p1 p2 : Qpositive),
      s1 = Qneg p1 ->
      s2 = Qneg p2 ->
      Qquadratic_sg_denom_nonzero e (- f) (- g) h p1 p2 ->
      Qquadratic_denom_nonzero e f g h s1 s2.Inductive Qquadratic_denom_nonzero : Z -> Z -> Z -> Z -> Q -> Q -> Prop :=
  | Qquadraticok00 :
      forall (e f g h : Z) (s1 s2 : Q),
      s1 = Zero ->
      s2 = Zero -> h <> 0%Z -> Qquadratic_denom_nonzero e f g h s1 s2
  | Qquadraticok01 :
      forall (e f g h : Z) (s1 s2 : Q) (p2 : Qpositive),
      s1 = Zero ->
      s2 = Qpos p2 ->
      Qhomographic_sg_denom_nonzero g h p2 ->
      Qquadratic_denom_nonzero e f g h s1 s2
  | Qquadraticok02 :
      forall (e f g h : Z) (s1 s2 : Q) (p2 : Qpositive),
      s1 = Zero ->
      s2 = Qneg p2 ->
      Qhomographic_sg_denom_nonzero (- g) h p2 ->
      Qquadratic_denom_nonzero e f g h s1 s2
  | Qquadraticok10 :
      forall (e f g h : Z) (s1 s2 : Q) (p1 : Qpositive),
      s1 = Qpos p1 ->
      s2 = Zero ->
      Qhomographic_sg_denom_nonzero f h p1 ->
      Qquadratic_denom_nonzero e f g h s1 s2
  | Qquadraticok20 :
      forall (e f g h : Z) (s1 s2 : Q) (p1 : Qpositive),
      s1 = Qneg p1 ->
      s2 = Zero ->
      Qhomographic_sg_denom_nonzero (- f) h p1 ->
      Qquadratic_denom_nonzero e f g h s1 s2
  | Qquadraticok11 :
      forall (e f g h : Z) (s1 s2 : Q) (p1 p2 : Qpositive),
      s1 = Qpos p1 ->
      s2 = Qpos p2 ->
      Qquadratic_sg_denom_nonzero e f g h p1 p2 ->
      Qquadratic_denom_nonzero e f g h s1 s2
  | Qquadraticok12 :
      forall (e f g h : Z) (s1 s2 : Q) (p1 p2 : Qpositive),
      s1 = Qpos p1 ->
      s2 = Qneg p2 ->
      Qquadratic_sg_denom_nonzero (- e) f (- g) h p1 p2 ->
      Qquadratic_denom_nonzero e f g h s1 s2
  | Qquadraticok21 :
      forall (e f g h : Z) (s1 s2 : Q) (p1 p2 : Qpositive),
      s1 = Qneg p1 ->
      s2 = Qpos p2 ->
      Qquadratic_sg_denom_nonzero (- e) (- f) g h p1 p2 ->
      Qquadratic_denom_nonzero e f g h s1 s2
  | Qquadraticok22 :
      forall (e f g h : Z) (s1 s2 : Q) (p1 p2 : Qpositive),
      s1 = Qneg p1 ->
      s2 = Qneg p2 ->
      Qquadratic_sg_denom_nonzero e (- f) (- g) h p1 p2 ->
      Qquadratic_denom_nonzero e f g h s1 s2.Inductive Qquadratic_denom_nonzero : Z -> Z -> Z -> Z -> Q -> Q -> Prop :=
  | Qquadraticok00 :
      forall (e f g h : Z) (s1 s2 : Q),
      s1 = Zero ->
      s2 = Zero -> h <> 0%Z -> Qquadratic_denom_nonzero e f g h s1 s2
  | Qquadraticok01 :
      forall (e f g h : Z) (s1 s2 : Q) (p2 : Qpositive),
      s1 = Zero ->
      s2 = Qpos p2 ->
      Qhomographic_sg_denom_nonzero g h p2 ->
      Qquadratic_denom_nonzero e f g h s1 s2
  | Qquadraticok02 :
      forall (e f g h : Z) (s1 s2 : Q) (p2 : Qpositive),
      s1 = Zero ->
      s2 = Qneg p2 ->
      Qhomographic_sg_denom_nonzero (- g) h p2 ->
      Qquadratic_denom_nonzero e f g h s1 s2
  | Qquadraticok10 :
      forall (e f g h : Z) (s1 s2 : Q) (p1 : Qpositive),
      s1 = Qpos p1 ->
      s2 = Zero ->
      Qhomographic_sg_denom_nonzero f h p1 ->
      Qquadratic_denom_nonzero e f g h s1 s2
  | Qquadraticok20 :
      forall (e f g h : Z) (s1 s2 : Q) (p1 : Qpositive),
      s1 = Qneg p1 ->
      s2 = Zero ->
      Qhomographic_sg_denom_nonzero (- f) h p1 ->
      Qquadratic_denom_nonzero e f g h s1 s2
  | Qquadraticok11 :
      forall (e f g h : Z) (s1 s2 : Q) (p1 p2 : Qpositive),
      s1 = Qpos p1 ->
      s2 = Qpos p2 ->
      Qquadratic_sg_denom_nonzero e f g h p1 p2 ->
      Qquadratic_denom_nonzero e f g h s1 s2
  | Qquadraticok12 :
      forall (e f g h : Z) (s1 s2 : Q) (p1 p2 : Qpositive),
      s1 = Qpos p1 ->
      s2 = Qneg p2 ->
      Qquadratic_sg_denom_nonzero (- e) f (- g) h p1 p2 ->
      Qquadratic_denom_nonzero e f g h s1 s2
  | Qquadraticok21 :
      forall (e f g h : Z) (s1 s2 : Q) (p1 p2 : Qpositive),
      s1 = Qneg p1 ->
      s2 = Qpos p2 ->
      Qquadratic_sg_denom_nonzero (- e) (- f) g h p1 p2 ->
      Qquadratic_denom_nonzero e f g h s1 s2
  | Qquadraticok22 :
      forall (e f g h : Z) (s1 s2 : Q) (p1 p2 : Qpositive),
      s1 = Qneg p1 ->
      s2 = Qneg p2 ->
      Qquadratic_sg_denom_nonzero e (- f) (- g) h p1 p2 ->
      Qquadratic_denom_nonzero e f g h s1 s2.Inductive Qquadratic_denom_nonzero : Z -> Z -> Z -> Z -> Q -> Q -> Prop :=
  | Qquadraticok00 :
      forall (e f g h : Z) (s1 s2 : Q),
      s1 = Zero ->
      s2 = Zero -> h <> 0%Z -> Qquadratic_denom_nonzero e f g h s1 s2
  | Qquadraticok01 :
      forall (e f g h : Z) (s1 s2 : Q) (p2 : Qpositive),
      s1 = Zero ->
      s2 = Qpos p2 ->
      Qhomographic_sg_denom_nonzero g h p2 ->
      Qquadratic_denom_nonzero e f g h s1 s2
  | Qquadraticok02 :
      forall (e f g h : Z) (s1 s2 : Q) (p2 : Qpositive),
      s1 = Zero ->
      s2 = Qneg p2 ->
      Qhomographic_sg_denom_nonzero (- g) h p2 ->
      Qquadratic_denom_nonzero e f g h s1 s2
  | Qquadraticok10 :
      forall (e f g h : Z) (s1 s2 : Q) (p1 : Qpositive),
      s1 = Qpos p1 ->
      s2 = Zero ->
      Qhomographic_sg_denom_nonzero f h p1 ->
      Qquadratic_denom_nonzero e f g h s1 s2
  | Qquadraticok20 :
      forall (e f g h : Z) (s1 s2 : Q) (p1 : Qpositive),
      s1 = Qneg p1 ->
      s2 = Zero ->
      Qhomographic_sg_denom_nonzero (- f) h p1 ->
      Qquadratic_denom_nonzero e f g h s1 s2
  | Qquadraticok11 :
      forall (e f g h : Z) (s1 s2 : Q) (p1 p2 : Qpositive),
      s1 = Qpos p1 ->
      s2 = Qpos p2 ->
      Qquadratic_sg_denom_nonzero e f g h p1 p2 ->
      Qquadratic_denom_nonzero e f g h s1 s2
  | Qquadraticok12 :
      forall (e f g h : Z) (s1 s2 : Q) (p1 p2 : Qpositive),
      s1 = Qpos p1 ->
      s2 = Qneg p2 ->
      Qquadratic_sg_denom_nonzero (- e) f (- g) h p1 p2 ->
      Qquadratic_denom_nonzero e f g h s1 s2
  | Qquadraticok21 :
      forall (e f g h : Z) (s1 s2 : Q) (p1 p2 : Qpositive),
      s1 = Qneg p1 ->
      s2 = Qpos p2 ->
      Qquadratic_sg_denom_nonzero (- e) (- f) g h p1 p2 ->
      Qquadratic_denom_nonzero e f g h s1 s2
  | Qquadraticok22 :
      forall (e f g h : Z) (s1 s2 : Q) (p1 p2 : Qpositive),
      s1 = Qneg p1 ->
      s2 = Qneg p2 ->
      Qquadratic_sg_denom_nonzero e (- f) (- g) h p1 p2 ->
      Qquadratic_denom_nonzero e f g h s1 s2.

(* Specifications: *)
Lemma Qquadratic_00 : forall e f g h : Z, Qquadratic_denom_nonzero e f g h Zero Zero -> h <> 0%Z.
Lemma Qquadratic_01 : forall (e f g h : Z) (p2 : Qpositive), Qquadratic_denom_nonzero e f g h Zero (Qpos p2) -> Qhomographic_sg_denom_nonzero g h p2.
Lemma Qquadratic_02 : forall (e f g h : Z) (p2 : Qpositive), Qquadratic_denom_nonzero e f g h Zero (Qneg p2) -> Qhomographic_sg_denom_nonzero (- g) h p2.
Lemma Qquadratic_10 : forall (e f g h : Z) (p1 : Qpositive), Qquadratic_denom_nonzero e f g h (Qpos p1) Zero -> Qhomographic_sg_denom_nonzero f h p1.
Lemma Qquadratic_20 : forall (e f g h : Z) (p1 : Qpositive), Qquadratic_denom_nonzero e f g h (Qneg p1) Zero -> Qhomographic_sg_denom_nonzero (- f) h p1.
Lemma Qquadratic_11 : forall (e f g h : Z) (p1 p2 : Qpositive), Qquadratic_denom_nonzero e f g h (Qpos p1) (Qpos p2) -> Qquadratic_sg_denom_nonzero e f g h p1 p2.
Lemma Qquadratic_12 : forall (e f g h : Z) (p1 p2 : Qpositive), Qquadratic_denom_nonzero e f g h (Qpos p1) (Qneg p2) -> Qquadratic_sg_denom_nonzero (- e) f (- g) h p1 p2.
Lemma Qquadratic_21 : forall (e f g h : Z) (p1 p2 : Qpositive), Qquadratic_denom_nonzero e f g h (Qneg p1) (Qpos p2) -> Qquadratic_sg_denom_nonzero (- e) (- f) g h p1 p2.
Lemma Qquadratic_22 : forall (e f g h : Z) (p1 p2 : Qpositive), Qquadratic_denom_nonzero e f g h (Qneg p1) (Qneg p2) -> Qquadratic_sg_denom_nonzero e (- f) (- g) h p1 p2.