(************************************************)
(** * Reflect: a specialized inductive type for relating propositions and booleans, as popularized by the Ssreflect library.    *)
(************************************************)
Notation ReflectT := Datatypes.ReflectT (only parsing).
Notation ReflectF := Datatypes.ReflectF (only parsing).
(** Interest: a case on a reflect lemma or hyp performs clever unification, and leave the goal in a convenient shape (a bit like case_eq). *)
(** Relation with iff : *)

(* Specifications: *)
Lemma reflect_iff : forall P b, reflect P b -> (P<->b=true).
Lemma iff_reflect : forall P b, (P<->b=true) -> reflect P b.