4 in math, nth term is defined by previous term, and f is defined non-recursively. so, it's well defined. In a sense, no “recursion”
5 in most programing langs, body of recursive f use “if” to check input. So, “no recursion” really. But chicken n egg remain in defining f.
6 some lang, (Mathematica, haskell), can define f(1) and f(n) separately. So, no chicken n egg recursive definition problem.
7 actually chicken n egg recursive definition problem remain. With respect to order of evaluation.