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).

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.