(** some decidable relations on nat *)

(* Specifications: *)
Lemma eqdec : forall n m : nat, n = m \/ n <> m.
Lemma ledec : forall n m : nat, n <= m \/ ~ n <= m.
Lemma ltdec : forall n m : nat, n < m \/ ~ n < m.
Lemma gedec : forall n m : nat, n >= m \/ ~ n >= m.
Lemma gtdec : forall n m : nat, n > m \/ ~ n > m.
(** relations on Z *)
Lemma zeqdec : forall x y : Z, x = y \/ x <> y.
(** the connectives preserve decidability *)
Lemma notdec : forall P : Prop, P \/ ~ P -> ~ P \/ ~ ~ P.
Lemma anddec :
forall P Q : Prop, P \/ ~ P -> Q \/ ~ Q -> P /\ Q \/ ~ (P /\ Q).
Lemma ordec :
forall P Q : Prop, P \/ ~ P -> Q \/ ~ Q -> (P \/ Q) \/ ~ (P \/ Q).
Lemma impdec :
forall P Q : Prop, P \/ ~ P -> Q \/ ~ Q -> (P -> Q) \/ ~ (P -> Q).
Lemma iffdec :
forall P Q : Prop, P \/ ~ P -> Q \/ ~ Q -> (P <-> Q) \/ ~ (P <-> Q).