Section setX.
Variables X : elementType.
Implicit Types (x y : X) (A B C : set X).
Definition inE := ((in_set0, in_set1, in_setU, in_setI, in_setD), inE).
Definition subset_trans B A C := (@le_trans _ _ B A C).
Definition proper_trans B A C := (@lt_trans _ _ B A C).
Definition sub_proper_trans B A C := (@le_lt_trans _ _ B A C).
Definition proper_sub_trans B A C := (@lt_le_trans _ _ B A C).
Definition proper_sub A B := (@ltW _ _ A B).

Lemma properP A B : reflect (A \subset B /\ (exists2 x, x \in B & x \notin A))
(A \proper B).