Definition inter : part_set E -> part_set E -> part_set E.

(* Specifications: *)
Lemma included_inter_l : forall A B : part_set E, included (inter A B) A.
Lemma included_inter_r : forall A B : part_set E, included (inter A B) B.
Lemma in_part_inter_l : forall (A B : part_set E) (x : E), in_part x (inter A B) -> in_part x A.
Lemma in_part_inter_r : forall (A B : part_set E) (x : E), in_part x (inter A B) -> in_part x B.
Lemma in_part_inter : forall (A B : part_set E) (x : E), in_part x A -> in_part x B -> in_part x (inter A B).
Lemma inter_not_in_l : forall (A B : part_set E) (x : E), ~ in_part x A -> ~ in_part x (inter A B).
Lemma inter_not_in_r : forall (A B : part_set E) (x : E), ~ in_part x B -> ~ in_part x (inter A B).
Lemma included2_inter : forall A B C : part_set E, included A C -> included B C -> included (inter A B) C.
Lemma inter_comp : forall A A' B B' : part_set E, Equal A A' -> Equal B B' -> Equal (inter A B) (inter A' B').
Lemma inter_assoc : forall A B C : part_set E, Equal (inter A (inter B C)) (inter (inter A B) C).
Lemma inter_com : forall A B : part_set E, Equal (inter A B) (inter B A).