#b #H @(\P H)
qed.
-(* pairs *)
+(* The cartesian product of two DeqSets is still a DeqSet. To prove
+this, we must as usual define the boolen equality function, and prove
+it correctly reflects propositional equality. *)
+
definition eq_pairs ≝
λA,B:DeqSet.λp1,p2:A×B.(\fst p1 == \fst p2) ∧ (\snd p1 == \snd p2).
definition DeqProd ≝ λA,B:DeqSet.
mk_DeqSet (A×B) (eq_pairs A B) (eq_pairs_true A B).
-
+
+(* Having an unification problem of the kind T1×T2 = carr X, what kind
+of hint can we give to the system? We expect T1 to be the carrier of a
+DeqSet C1, T2 to be the carrier of a DeqSet C2, and X to be DeqProd C1 C2.
+This is expressed by the following hint: *)
+
unification hint 0 ≔ C1,C2;
T1 ≟ carr C1,
T2 ≟ carr C2,