Definition CPToList {T:Type} {n:nat} (cp : cartesianPower T n) : list T.Definition InCP {T:Type} {n:nat} p (cp : cartesianPower T n) := In p (CPToList cp).

(* Specifications: *)
Lemma InCPOK {T:Type} {n:nat} : forall p (cp : cartesianPower T (S (S n))), InCP p cp <-> ((p = headCP cp) \/ InCP p (tailCP cp)).
Lemma lastCPIn {T:Type} {n:nat} : forall (cp : cartesianPower T (S n)), InCP (lastCP cp) cp.