Definition cart : Setoid := Build_Setoid cart_eq_equiv.Definition proj1 (x : cart E F) : E := cart_l x.Definition proj2 (x : cart E F) : F := cart_r x.

(* Specifications: *)
Lemma proj1_comp : forall x y : cart E F, Equal x y -> Equal (proj1 x) (proj1 y).
Lemma proj2_comp : forall x y : cart E F, Equal x y -> Equal (proj2 x) (proj2 y).