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).

(* Specifications: *)
Lemma properP A B : reflect (A \subset B /\ (exists2 x, x \in B & x \notin A))
(A \proper B).
Lemma set1P x y : reflect (x = y) (x \in ([set y] : set X)).
Lemma eqEsubset A B : (A == B) = (A \subset B) && (B \subset A).
Lemma set2P x a b : reflect (x = a \/ x = b) (x \in ([set a; b] : set X)).
Lemma setSU A B C : A \subset B -> A :|: C \subset B :|: C.
Lemma setSI A B C : A \subset B -> A :&: C \subset B :&: C.
Lemma setDS A B C : A \subset B -> C :\: B \subset C :\: A.
Lemma setDSS A B C D : A \subset C -> D \subset B -> A :\: B \subset C :\: D.
Arguments setIidPl {A B}.
Lemma setIidPr A B : reflect (A :&: B = B) (B \subset A).
Lemma subsetIP A B C : reflect (A \subset B /\ A \subset C) (A \subset B :&: C).
Lemma subsetD1P A B x : reflect (A \subset B /\ x \notin A) (A \subset B :\ x).
Lemma properU A B C : (B :|: C \proper A) -> (B \proper A) && (C \proper A).
End setX.