Inductive Qgt : Q -> Q -> Prop :=
  | Qgt_pos_pos :
      forall x' y' : Qpositive,
      ~ Qpositive_le x' y' -> Qgt (Qpos x') (Qpos y')
  | Qgt_neg_neg :
      forall x' y' : Qpositive,
      ~ Qpositive_le y' x' -> Qgt (Qneg x') (Qneg y')
  | Qgt_pos_zero : forall x' : Qpositive, Qgt (Qpos x') Zero
  | Qgt_pos_neg : forall x' y' : Qpositive, Qgt (Qpos x') (Qneg y')
  | Qgt_zero_neg : forall x' : Qpositive, Qgt Zero (Qneg x').Inductive Qgt : Q -> Q -> Prop :=
  | Qgt_pos_pos :
      forall x' y' : Qpositive,
      ~ Qpositive_le x' y' -> Qgt (Qpos x') (Qpos y')
  | Qgt_neg_neg :
      forall x' y' : Qpositive,
      ~ Qpositive_le y' x' -> Qgt (Qneg x') (Qneg y')
  | Qgt_pos_zero : forall x' : Qpositive, Qgt (Qpos x') Zero
  | Qgt_pos_neg : forall x' y' : Qpositive, Qgt (Qpos x') (Qneg y')
  | Qgt_zero_neg : forall x' : Qpositive, Qgt Zero (Qneg x').Inductive Qgt : Q -> Q -> Prop :=
  | Qgt_pos_pos :
      forall x' y' : Qpositive,
      ~ Qpositive_le x' y' -> Qgt (Qpos x') (Qpos y')
  | Qgt_neg_neg :
      forall x' y' : Qpositive,
      ~ Qpositive_le y' x' -> Qgt (Qneg x') (Qneg y')
  | Qgt_pos_zero : forall x' : Qpositive, Qgt (Qpos x') Zero
  | Qgt_pos_neg : forall x' y' : Qpositive, Qgt (Qpos x') (Qneg y')
  | Qgt_zero_neg : forall x' : Qpositive, Qgt Zero (Qneg x').Inductive Qgt : Q -> Q -> Prop :=
  | Qgt_pos_pos :
      forall x' y' : Qpositive,
      ~ Qpositive_le x' y' -> Qgt (Qpos x') (Qpos y')
  | Qgt_neg_neg :
      forall x' y' : Qpositive,
      ~ Qpositive_le y' x' -> Qgt (Qneg x') (Qneg y')
  | Qgt_pos_zero : forall x' : Qpositive, Qgt (Qpos x') Zero
  | Qgt_pos_neg : forall x' y' : Qpositive, Qgt (Qpos x') (Qneg y')
  | Qgt_zero_neg : forall x' : Qpositive, Qgt Zero (Qneg x').Inductive Qgt : Q -> Q -> Prop :=
  | Qgt_pos_pos :
      forall x' y' : Qpositive,
      ~ Qpositive_le x' y' -> Qgt (Qpos x') (Qpos y')
  | Qgt_neg_neg :
      forall x' y' : Qpositive,
      ~ Qpositive_le y' x' -> Qgt (Qneg x') (Qneg y')
  | Qgt_pos_zero : forall x' : Qpositive, Qgt (Qpos x') Zero
  | Qgt_pos_neg : forall x' y' : Qpositive, Qgt (Qpos x') (Qneg y')
  | Qgt_zero_neg : forall x' : Qpositive, Qgt Zero (Qneg x').Inductive Qgt : Q -> Q -> Prop :=
  | Qgt_pos_pos :
      forall x' y' : Qpositive,
      ~ Qpositive_le x' y' -> Qgt (Qpos x') (Qpos y')
  | Qgt_neg_neg :
      forall x' y' : Qpositive,
      ~ Qpositive_le y' x' -> Qgt (Qneg x') (Qneg y')
  | Qgt_pos_zero : forall x' : Qpositive, Qgt (Qpos x') Zero
  | Qgt_pos_neg : forall x' y' : Qpositive, Qgt (Qpos x') (Qneg y')
  | Qgt_zero_neg : forall x' : Qpositive, Qgt Zero (Qneg x').

(* Specifications: *)
Theorem Qgt_total : forall x y : Q, Qgt x y \/ x = y \/ Qgt y x.