Definition app_1_n {T:Type} {n:nat} (pred : arity T (S n)) (x : T) (cp : cartesianPower T n) : Prop.

(* Specifications: *)
Lemma app_1_n_app {T:Type} {n:nat} : forall (pred : arity T (S (S n))) (x : T) (cpp : cartesianPower T (S n)) (cpt : cartesianPower T (S (S n))), app_1_n pred x cpp -> headCP cpt = x -> tailCP cpt = cpp -> app pred cpt.
Lemma app_app_1_n {T:Type} {n:nat} : forall (pred : arity T (S (S n))) (x : T) (cpp : cartesianPower T (S n)) (cpt : cartesianPower T (S (S n))), app pred cpt -> headCP cpt = x -> tailCP cpt = cpp -> app_1_n pred x cpp.
Lemma app_1_n_app_eq {T:Type} {n:nat} : forall (pred : arity T (S (S n))) (x : T) (cpp : cartesianPower T (S n)) (cpt : cartesianPower T (S (S n))), headCP cpt = x -> tailCP cpt = cpp -> (app pred cpt <-> app_1_n pred x cpp).