(** * Decidable predicates *)
Definition dec (X: Prop) : Type := {X} + {~ X}.
Coercion dec2bool P (d: dec P) := if d then true else false.
Existing Class dec.
Definition Dec (X: Prop) (d: dec X) : dec X := d.
Arguments Dec X {d}.
Notation Decb X := (dec2bool (Dec X)).

Lemma Dec_auto_not (X: Prop) (d: dec X) :
~ X -> ~ Dec X.