Fixpoint LNT2LNN_formula (f : Formula) : fol.Formula LNN :=
  match f with
  | fol.equal t1 t2 => fol.equal LNN (LNT2LNN_term t1) (LNT2LNN_term t2)
  | atomic r ts => match r with
                   end
  | fol.impH A B => fol.impH LNN (LNT2LNN_formula A) (LNT2LNN_formula B)
  | fol.notH A => fol.notH LNN (LNT2LNN_formula A)
  | fol.forallH v A => fol.forallH LNN v (LNT2LNN_formula A)
  end.

Lemma LNT2LNN_subTerm : forall (t : Term) (v : nat) (s : Term), LNT2LNN_term (substituteTerm LNT t v s) = substituteTerm LNN (LNT2LNN_term t) v (LNT2LNN_term s).