Require Export Undecidability.Synthetic.Definitions Lia.
Definition discrete X := decidable (fun '(x,y) => x = y :> X).
(* Facts on reflects *)

Lemma reflects_conj {b1 b2 P1 P2} :
reflects b1 P1  -> reflects b2 P2 -> reflects (b1 && b2) (P1 /\ P2).