fact: Definition makeTraceNot (f : fol.Formula L) (frec : 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 (notH f))) (codeFormula (substF (notH f) v s)) (frec p).
imports: Coq(Arith Vector Lia) hydras.Ackermann(primRec cPair folProp code extEqualNat codeSubTerm codeFreeVar)