Require LNN.
Require LNT.
Definition natToTermLNN := LNN.natToTerm.
Definition natToTermLNT := LNT.natToTerm.
Definition codeNatToTerm : nat -> nat :=
nat_rec (fun _ => nat) (cPair 4 0)
(fun _ rec : nat => cPair 3 (S (cPair rec 0))).

(* Specifications: *)
Lemma codeNatToTermCorrectLNN :
forall n : nat,
codeNatToTerm n = codeTerm LNN codeLNTFunction (natToTermLNN n).
Lemma codeNatToTermCorrectLNT :
forall n : nat,
codeNatToTerm n = codeTerm LNT codeLNTFunction (natToTermLNT n).
Lemma codeNatToTermIsPR : isPR 1 codeNatToTerm.