fact: Definition makeTraceImp (f1 : fol.Formula L) (f1rec : nat * fol.Term L -> nat) (f2 : fol.Formula L) (f2rec : nat * fol.Term L -> nat) (p : nat * fol.Term L) : nat := let v := fst p in let s := snd p in cTriple (cTriple v (codeTerm s) (codeFormula (impH f1 f2))) (codeFormula (substF (impH f1 f2) v s)) (cPair (f1rec p) (f2rec p)).
imports: Coq(Arith Vector Lia) hydras.Ackermann(primRec cPair folProp code extEqualNat codeSubTerm codeFreeVar)