fact: Definition substituteFormulaNot (f : fol.Formula L) (frec : nat * fol.Term L -> {y : fol.Formula L | depth L y = depth L f}) (p : nat * fol.Term L) : {y : fol.Formula L | depth L y = depth L (notH f)} := match frec p with | exist f' prf1 => exist (fun y : fol.Formula L => depth L y = S (depth L f)) (notH f') (eq_ind_r (fun n : nat => S n = S (depth L f)) (refl_equal (S (depth L f))) prf1) end.
imports: Coq(Wf_nat Arith Lists.List Peano_dec) hydras.Ackermann(ListExt)