From Undecidability.Shared.Libs.PSL Require Import Prelim.
(* * 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 (X: Prop) (d: dec X) :
X -> Dec X.