Definition degc : forall n : nat, mon n -> nat.Inductive total_orderc : forall n : nat, mon n -> mon n -> Prop :=
  | total_orderc0 :
      forall (n : nat) (p q : mon n),
      degc n p < degc n q -> total_orderc n p q
  | total_orderc1 :
      forall (n : nat) (p q : mon n),
      degc n p = degc n q -> orderc n p q -> total_orderc n p q.Inductive total_orderc : forall n : nat, mon n -> mon n -> Prop :=
  | total_orderc0 :
      forall (n : nat) (p q : mon n),
      degc n p < degc n q -> total_orderc n p q
  | total_orderc1 :
      forall (n : nat) (p q : mon n),
      degc n p = degc n q -> orderc n p q -> total_orderc n p q.Inductive total_orderc : forall n : nat, mon n -> mon n -> Prop :=
  | total_orderc0 :
      forall (n : nat) (p q : mon n),
      degc n p < degc n q -> total_orderc n p q
  | total_orderc1 :
      forall (n : nat) (p q : mon n),
      degc n p = degc n q -> orderc n p q -> total_orderc n p q.

(* Specifications: *)
Theorem total_orderc_dec : forall (n : nat) (a b : mon n), {total_orderc n a b} + {total_orderc n b a} + {a = b}.