Set Implicit Arguments.
Global Set Asymmetric Patterns.
Require Export Basics.
Arguments eq {A}.
Arguments fst {A B}.
Hint Unfold compose.
Definition proj1_conj (A B: Prop) (c: A /\ B): A :=
match c with conj x _ => x end.
Definition proj2_conj (A B: Prop) (c: A /\ B): B :=
match c with conj _ x => x end.

Lemma eq_trans (X: Set) (a b c: X): a = b -> b = c -> a = c.