(* * Constructors and Deconstructors for Pair Types *)
Local Arguments plus : simpl never. Local Arguments mult : simpl never.
Local Arguments size : simpl never.
Definition CasePair_steps {sigX X : Type} {cX : codable sigX X} (x : X) :=
34 + 16 * size x.
Definition CasePair_T : tRel sigPair^+ 2 :=
fun tin k => exists (p : X * Y), tin[@Fin0] ≃ p /\ CasePair_steps (fst p) <= k.

Lemma CasePair_Terminates : projT1 CasePair ↓ CasePair_T.