Definition Qhomographic (a b c d : Z) (s : Q)
  (H_Qhomographic_denom_nonzero : Qhomographic_denom_nonzero c d s) : Q.

(* Specifications: *)
Lemma Qhomographic_sg_denom_nonzero_always_1 : forall (d k k' : Z) (p : Qpositive), d <> 0%Z -> (0 < k)%Z -> (0 < k')%Z -> Qhomographic_sg_denom_nonzero (k * d) (k' * d) p.
Lemma Qhomographic_sg_denom_nonzero_Zero_always : forall (d : Z) (p : Qpositive), d <> 0%Z -> Qhomographic_sg_denom_nonzero 0 d p.
Lemma Qhomographic_sg_denom_nonzero_always_Zero : forall (c : Z) (p : Qpositive), c <> 0%Z -> Qhomographic_sg_denom_nonzero c 0 p.
Lemma always_nonzero_Qhomographic_sg_denom_nonzero : forall (d : Z) (p : Qpositive), Qhomographic_sg_denom_nonzero 0 d p -> d <> 0%Z.
Lemma Qhomographic_denom_nonzero_Zero_always : forall (d : Z) (s : Q), d <> 0%Z -> Qhomographic_denom_nonzero 0 d s.
Lemma Qhomographic_denom_nonzero_Zero_ONE : forall s : Q, Qhomographic_denom_nonzero 0 1 s.
Lemma Qhomographic_denom_nonzero_always_Zero : forall (c : Z) (s : Q) (H_nonzero_s : s <> Zero :>Q), c <> 0%Z -> Qhomographic_denom_nonzero c 0 s.
Lemma Qhomographic_denom_nonzero_ONE_Zero : forall (s : Q) (H_nonzero_s : s <> Zero :>Q), Qhomographic_denom_nonzero 1 0 s.