fact: Definition codeOpen : nat -> nat := evalStrongRec 0 (fun f recs : nat => switchPR (car f) (switchPR (pred (car f)) (switchPR (pred (pred (car f))) (switchPR (pred (pred (pred (car f)))) f (codeNth (f - S (cdr (cdr f))) recs)) f) f) f).
imports: Coq(Ensembles List Arith Lia) hydras(primRec cPair folProp code codeList codeFreeVar extEqualNat prLogic codeNatToTerm Compat815) hydras.Ackermann(PA codeSubFormula)