fact: Fixpoint LNT2LNN_term (t : Term) : fol.Term LNN := match t with | var v => var v | apply f ts => apply LNN f (LNT2LNN_terms _ ts) end with LNT2LNN_terms (n : nat) (ts : Terms n) {struct ts} : fol.Terms LNN n := match ts in (fol.Terms _ n0) return (fol.Terms LNN n0) with | Tnil => @Tnil LNN | Tcons m s ss => Tcons (LNT2LNN_term s) (LNT2LNN_terms m ss) end.
imports: Coq(Ensembles List Arith) hydras.Ackermann(misc ListExt folProp folProof Languages subAll subProp folLogic3 folReplace LNN LNT codeNatToTerm NewNotations)