Inductive Qquadratic_sg_denom_nonzero :
Z -> Z -> Z -> Z -> Qpositive -> Qpositive -> Prop :=
  | Qquadratic_signok0 :
      forall (e f g h : Z) (p1 p2 : Qpositive),
      p2 = One ->
      Qhomographic_sg_denom_nonzero (e + f) (g + h) p1 ->
      Qquadratic_sg_denom_nonzero e f g h p1 p2
  | Qquadratic_signok0' :
      forall (e f g h : Z) (p1 p2 : Qpositive),
      p1 = One ->
      Qhomographic_sg_denom_nonzero (e + g) (f + h) p2 ->
      Qquadratic_sg_denom_nonzero e f g h p1 p2
  | Qquadratic_signok1 :
      forall (e f g h : Z) (p1 p2 : Qpositive),
      Qquadratic_sg_denom_nonzero e (e + f)%Z (e + g)%Z 
        (e + f + g + h)%Z p1 p2 ->
      Qquadratic_sg_denom_nonzero e f g h (nR p1) (nR p2)
  | Qquadratic_signok2 :
      forall (e f g h : Z) (p1 p2 : Qpositive),
      Qquadratic_sg_denom_nonzero (e + f)%Z f (e + f + g + h)%Z 
        (f + h)%Z p1 p2 ->
      Qquadratic_sg_denom_nonzero e f g h (nR p1) (dL p2)
  | Qquadratic_signok3 :
      forall (e f g h : Z) (p1 p2 : Qpositive),
      Qquadratic_sg_denom_nonzero (e + g)%Z (e + f + g + h)%Z g 
        (g + h)%Z p1 p2 ->
      Qquadratic_sg_denom_nonzero e f g h (dL p1) (nR p2)
  | Qquadratic_signok4 :
      forall (e f g h : Z) (p1 p2 : Qpositive),
      Qquadratic_sg_denom_nonzero (e + f + g + h)%Z 
        (f + h)%Z (g + h)%Z h p1 p2 ->
      Qquadratic_sg_denom_nonzero e f g h (dL p1) (dL p2).Inductive Qquadratic_sg_denom_nonzero :
Z -> Z -> Z -> Z -> Qpositive -> Qpositive -> Prop :=
  | Qquadratic_signok0 :
      forall (e f g h : Z) (p1 p2 : Qpositive),
      p2 = One ->
      Qhomographic_sg_denom_nonzero (e + f) (g + h) p1 ->
      Qquadratic_sg_denom_nonzero e f g h p1 p2
  | Qquadratic_signok0' :
      forall (e f g h : Z) (p1 p2 : Qpositive),
      p1 = One ->
      Qhomographic_sg_denom_nonzero (e + g) (f + h) p2 ->
      Qquadratic_sg_denom_nonzero e f g h p1 p2
  | Qquadratic_signok1 :
      forall (e f g h : Z) (p1 p2 : Qpositive),
      Qquadratic_sg_denom_nonzero e (e + f)%Z (e + g)%Z 
        (e + f + g + h)%Z p1 p2 ->
      Qquadratic_sg_denom_nonzero e f g h (nR p1) (nR p2)
  | Qquadratic_signok2 :
      forall (e f g h : Z) (p1 p2 : Qpositive),
      Qquadratic_sg_denom_nonzero (e + f)%Z f (e + f + g + h)%Z 
        (f + h)%Z p1 p2 ->
      Qquadratic_sg_denom_nonzero e f g h (nR p1) (dL p2)
  | Qquadratic_signok3 :
      forall (e f g h : Z) (p1 p2 : Qpositive),
      Qquadratic_sg_denom_nonzero (e + g)%Z (e + f + g + h)%Z g 
        (g + h)%Z p1 p2 ->
      Qquadratic_sg_denom_nonzero e f g h (dL p1) (nR p2)
  | Qquadratic_signok4 :
      forall (e f g h : Z) (p1 p2 : Qpositive),
      Qquadratic_sg_denom_nonzero (e + f + g + h)%Z 
        (f + h)%Z (g + h)%Z h p1 p2 ->
      Qquadratic_sg_denom_nonzero e f g h (dL p1) (dL p2).Inductive Qquadratic_sg_denom_nonzero :
Z -> Z -> Z -> Z -> Qpositive -> Qpositive -> Prop :=
  | Qquadratic_signok0 :
      forall (e f g h : Z) (p1 p2 : Qpositive),
      p2 = One ->
      Qhomographic_sg_denom_nonzero (e + f) (g + h) p1 ->
      Qquadratic_sg_denom_nonzero e f g h p1 p2
  | Qquadratic_signok0' :
      forall (e f g h : Z) (p1 p2 : Qpositive),
      p1 = One ->
      Qhomographic_sg_denom_nonzero (e + g) (f + h) p2 ->
      Qquadratic_sg_denom_nonzero e f g h p1 p2
  | Qquadratic_signok1 :
      forall (e f g h : Z) (p1 p2 : Qpositive),
      Qquadratic_sg_denom_nonzero e (e + f)%Z (e + g)%Z 
        (e + f + g + h)%Z p1 p2 ->
      Qquadratic_sg_denom_nonzero e f g h (nR p1) (nR p2)
  | Qquadratic_signok2 :
      forall (e f g h : Z) (p1 p2 : Qpositive),
      Qquadratic_sg_denom_nonzero (e + f)%Z f (e + f + g + h)%Z 
        (f + h)%Z p1 p2 ->
      Qquadratic_sg_denom_nonzero e f g h (nR p1) (dL p2)
  | Qquadratic_signok3 :
      forall (e f g h : Z) (p1 p2 : Qpositive),
      Qquadratic_sg_denom_nonzero (e + g)%Z (e + f + g + h)%Z g 
        (g + h)%Z p1 p2 ->
      Qquadratic_sg_denom_nonzero e f g h (dL p1) (nR p2)
  | Qquadratic_signok4 :
      forall (e f g h : Z) (p1 p2 : Qpositive),
      Qquadratic_sg_denom_nonzero (e + f + g + h)%Z 
        (f + h)%Z (g + h)%Z h p1 p2 ->
      Qquadratic_sg_denom_nonzero e f g h (dL p1) (dL p2).Inductive Qquadratic_sg_denom_nonzero :
Z -> Z -> Z -> Z -> Qpositive -> Qpositive -> Prop :=
  | Qquadratic_signok0 :
      forall (e f g h : Z) (p1 p2 : Qpositive),
      p2 = One ->
      Qhomographic_sg_denom_nonzero (e + f) (g + h) p1 ->
      Qquadratic_sg_denom_nonzero e f g h p1 p2
  | Qquadratic_signok0' :
      forall (e f g h : Z) (p1 p2 : Qpositive),
      p1 = One ->
      Qhomographic_sg_denom_nonzero (e + g) (f + h) p2 ->
      Qquadratic_sg_denom_nonzero e f g h p1 p2
  | Qquadratic_signok1 :
      forall (e f g h : Z) (p1 p2 : Qpositive),
      Qquadratic_sg_denom_nonzero e (e + f)%Z (e + g)%Z 
        (e + f + g + h)%Z p1 p2 ->
      Qquadratic_sg_denom_nonzero e f g h (nR p1) (nR p2)
  | Qquadratic_signok2 :
      forall (e f g h : Z) (p1 p2 : Qpositive),
      Qquadratic_sg_denom_nonzero (e + f)%Z f (e + f + g + h)%Z 
        (f + h)%Z p1 p2 ->
      Qquadratic_sg_denom_nonzero e f g h (nR p1) (dL p2)
  | Qquadratic_signok3 :
      forall (e f g h : Z) (p1 p2 : Qpositive),
      Qquadratic_sg_denom_nonzero (e + g)%Z (e + f + g + h)%Z g 
        (g + h)%Z p1 p2 ->
      Qquadratic_sg_denom_nonzero e f g h (dL p1) (nR p2)
  | Qquadratic_signok4 :
      forall (e f g h : Z) (p1 p2 : Qpositive),
      Qquadratic_sg_denom_nonzero (e + f + g + h)%Z 
        (f + h)%Z (g + h)%Z h p1 p2 ->
      Qquadratic_sg_denom_nonzero e f g h (dL p1) (dL p2).Inductive Qquadratic_sg_denom_nonzero :
Z -> Z -> Z -> Z -> Qpositive -> Qpositive -> Prop :=
  | Qquadratic_signok0 :
      forall (e f g h : Z) (p1 p2 : Qpositive),
      p2 = One ->
      Qhomographic_sg_denom_nonzero (e + f) (g + h) p1 ->
      Qquadratic_sg_denom_nonzero e f g h p1 p2
  | Qquadratic_signok0' :
      forall (e f g h : Z) (p1 p2 : Qpositive),
      p1 = One ->
      Qhomographic_sg_denom_nonzero (e + g) (f + h) p2 ->
      Qquadratic_sg_denom_nonzero e f g h p1 p2
  | Qquadratic_signok1 :
      forall (e f g h : Z) (p1 p2 : Qpositive),
      Qquadratic_sg_denom_nonzero e (e + f)%Z (e + g)%Z 
        (e + f + g + h)%Z p1 p2 ->
      Qquadratic_sg_denom_nonzero e f g h (nR p1) (nR p2)
  | Qquadratic_signok2 :
      forall (e f g h : Z) (p1 p2 : Qpositive),
      Qquadratic_sg_denom_nonzero (e + f)%Z f (e + f + g + h)%Z 
        (f + h)%Z p1 p2 ->
      Qquadratic_sg_denom_nonzero e f g h (nR p1) (dL p2)
  | Qquadratic_signok3 :
      forall (e f g h : Z) (p1 p2 : Qpositive),
      Qquadratic_sg_denom_nonzero (e + g)%Z (e + f + g + h)%Z g 
        (g + h)%Z p1 p2 ->
      Qquadratic_sg_denom_nonzero e f g h (dL p1) (nR p2)
  | Qquadratic_signok4 :
      forall (e f g h : Z) (p1 p2 : Qpositive),
      Qquadratic_sg_denom_nonzero (e + f + g + h)%Z 
        (f + h)%Z (g + h)%Z h p1 p2 ->
      Qquadratic_sg_denom_nonzero e f g h (dL p1) (dL p2).Inductive Qquadratic_sg_denom_nonzero :
Z -> Z -> Z -> Z -> Qpositive -> Qpositive -> Prop :=
  | Qquadratic_signok0 :
      forall (e f g h : Z) (p1 p2 : Qpositive),
      p2 = One ->
      Qhomographic_sg_denom_nonzero (e + f) (g + h) p1 ->
      Qquadratic_sg_denom_nonzero e f g h p1 p2
  | Qquadratic_signok0' :
      forall (e f g h : Z) (p1 p2 : Qpositive),
      p1 = One ->
      Qhomographic_sg_denom_nonzero (e + g) (f + h) p2 ->
      Qquadratic_sg_denom_nonzero e f g h p1 p2
  | Qquadratic_signok1 :
      forall (e f g h : Z) (p1 p2 : Qpositive),
      Qquadratic_sg_denom_nonzero e (e + f)%Z (e + g)%Z 
        (e + f + g + h)%Z p1 p2 ->
      Qquadratic_sg_denom_nonzero e f g h (nR p1) (nR p2)
  | Qquadratic_signok2 :
      forall (e f g h : Z) (p1 p2 : Qpositive),
      Qquadratic_sg_denom_nonzero (e + f)%Z f (e + f + g + h)%Z 
        (f + h)%Z p1 p2 ->
      Qquadratic_sg_denom_nonzero e f g h (nR p1) (dL p2)
  | Qquadratic_signok3 :
      forall (e f g h : Z) (p1 p2 : Qpositive),
      Qquadratic_sg_denom_nonzero (e + g)%Z (e + f + g + h)%Z g 
        (g + h)%Z p1 p2 ->
      Qquadratic_sg_denom_nonzero e f g h (dL p1) (nR p2)
  | Qquadratic_signok4 :
      forall (e f g h : Z) (p1 p2 : Qpositive),
      Qquadratic_sg_denom_nonzero (e + f + g + h)%Z 
        (f + h)%Z (g + h)%Z h p1 p2 ->
      Qquadratic_sg_denom_nonzero e f g h (dL p1) (dL p2).Inductive Qquadratic_sg_denom_nonzero :
Z -> Z -> Z -> Z -> Qpositive -> Qpositive -> Prop :=
  | Qquadratic_signok0 :
      forall (e f g h : Z) (p1 p2 : Qpositive),
      p2 = One ->
      Qhomographic_sg_denom_nonzero (e + f) (g + h) p1 ->
      Qquadratic_sg_denom_nonzero e f g h p1 p2
  | Qquadratic_signok0' :
      forall (e f g h : Z) (p1 p2 : Qpositive),
      p1 = One ->
      Qhomographic_sg_denom_nonzero (e + g) (f + h) p2 ->
      Qquadratic_sg_denom_nonzero e f g h p1 p2
  | Qquadratic_signok1 :
      forall (e f g h : Z) (p1 p2 : Qpositive),
      Qquadratic_sg_denom_nonzero e (e + f)%Z (e + g)%Z 
        (e + f + g + h)%Z p1 p2 ->
      Qquadratic_sg_denom_nonzero e f g h (nR p1) (nR p2)
  | Qquadratic_signok2 :
      forall (e f g h : Z) (p1 p2 : Qpositive),
      Qquadratic_sg_denom_nonzero (e + f)%Z f (e + f + g + h)%Z 
        (f + h)%Z p1 p2 ->
      Qquadratic_sg_denom_nonzero e f g h (nR p1) (dL p2)
  | Qquadratic_signok3 :
      forall (e f g h : Z) (p1 p2 : Qpositive),
      Qquadratic_sg_denom_nonzero (e + g)%Z (e + f + g + h)%Z g 
        (g + h)%Z p1 p2 ->
      Qquadratic_sg_denom_nonzero e f g h (dL p1) (nR p2)
  | Qquadratic_signok4 :
      forall (e f g h : Z) (p1 p2 : Qpositive),
      Qquadratic_sg_denom_nonzero (e + f + g + h)%Z 
        (f + h)%Z (g + h)%Z h p1 p2 ->
      Qquadratic_sg_denom_nonzero e f g h (dL p1) (dL p2).

(* Specifications: *)
Lemma Qquadratic_signok_0 : forall (e f g h : Z) (p2 : Qpositive), Qquadratic_sg_denom_nonzero e f g h One p2 -> Qhomographic_sg_denom_nonzero (e + g) (f + h) p2.
Lemma Qquadratic_signok_0' : forall (e f g h : Z) (p1 : Qpositive), Qquadratic_sg_denom_nonzero e f g h p1 One -> Qhomographic_sg_denom_nonzero (e + f) (g + h) p1.
Lemma Qquadratic_signok_1 : forall (e f g h : Z) (p1 p2 : Qpositive), Qquadratic_sg_denom_nonzero e f g h (nR p1) (nR p2) -> Qquadratic_sg_denom_nonzero e (e + f) (e + g) (e + f + g + h) p1 p2.
Lemma Qquadratic_signok_2 : forall (e f g h : Z) (p1 p2 : Qpositive), Qquadratic_sg_denom_nonzero e f g h (nR p1) (dL p2) -> Qquadratic_sg_denom_nonzero (e + f) f (e + f + g + h) (f + h) p1 p2.
Lemma Qquadratic_signok_3 : forall (e f g h : Z) (p1 p2 : Qpositive), Qquadratic_sg_denom_nonzero e f g h (dL p1) (nR p2) -> Qquadratic_sg_denom_nonzero (e + g) (e + f + g + h) g (g + h) p1 p2.
Lemma Qquadratic_signok_4 : forall (e f g h : Z) (p1 p2 : Qpositive), Qquadratic_sg_denom_nonzero e f g h (dL p1) (dL p2) -> Qquadratic_sg_denom_nonzero (e + f + g + h) (f + h) (g + h) h p1 p2.