Notation Formula := (Formula L) (only parsing).Notation Formulas := (Formulas L) (only parsing).Notation System := (System L) (only parsing).Notation Term := (Term L) (only parsing).Notation Terms := (Terms L) (only parsing).Definition cTriple (a b c : nat) : nat := cPair a (cPair b c).Definition cTriplePi1 (n : nat) : nat := cPairPi1 n.Definition cTriplePi2 (n : nat) : nat := cPairPi1 (cPairPi2 n).Definition cTriplePi3 (n : nat) : nat := cPairPi2 (cPairPi2 n).

(* Specifications: *)
Lemma cTripleIsPR : isPR 3 cTriple.
Lemma cTriplePi1IsPR : isPR 1 cTriplePi1.
Lemma cTriplePi2IsPR : isPR 1 cTriplePi2.
Lemma cTriplePi3IsPR : isPR 1 cTriplePi3.
Lemma cTripleProj1 : forall a b c : nat, cTriplePi1 (cTriple a b c) = a.
Lemma cTripleProj2 : forall a b c : nat, cTriplePi2 (cTriple a b c) = b.
Lemma cTripleProj3 : forall a b c : nat, cTriplePi3 (cTriple a b c) = c.
Lemma cTripleProj : forall a : nat, cTriple (cTriplePi1 a) (cTriplePi2 a) (cTriplePi3 a) = a.