Definition CPPair {T : Type} :
forall (cp : cartesianPower T 2),
cp = (fst cp, snd cp).
Definition tailCPbis {T:Type} {n:nat} m1 m2 (cp : cartesianPower T m1) :
(S (S n)) = m1 -> (S n) = m2 -> (cartesianPower T m2).

Lemma consHeadCPTl {T:Type} {n:nat} :
forall (cp : cartesianPower T (S n)) t,
tailCP (consHeadCP t cp) = cp.