The question you are asking is interesting and known. You are using the so-called impredicative encoding of the natural numbers. Let me explain a bit of the background.
Given a type constructor $T : \mathsf{Type} \to \mathsf{Type}$, we might be interested in the "minimal" type $A$ satisfying $A \cong T(A)$. In terms of category theory $T$ is a functor and $A$ is the initial $T$-algebra. For example, if $T(X) = 1 + X$ then $A$ corresponds to the natural numbers. If $T(X) = 1 + X \times X$ then $A$ is the type of finite binary trees.
An idea with long history is that the initial $T$-algebra is the type
$$A \mathrel{{:}{=}} \prod_{X : \mathsf{Type}} (T(X) \to X) \to X.$$
(You are using Agda notation for dependent products, but I am using a more traditional mathematical notation.) Why should this be? Well, $A$ essentially encodes the recursion principle for the initial $T$-algebra: given any $T$-algebra $Y$ with a structure morphism $f : T(Y) \to Y$, we get an algebra homomorphism $\phi : A \to Y$ by
$$\phi(a) = a \, Y \, f.$$
So we see that $A$ is weakly initial for sure. For it to be initial we would have to know that $\phi$ is unique as well. This is not true without further assumptions, but the details are technical and nasty and require reading some background material. For instance, if we can show a satisfactory parametricty theorem then we win, but there are also other methods (such as massaging the definition of $A$ and assuming the $K$-axiom and function extensionality).
Let us apply the above to $T(X) = 1 + X$:
$$\mathsf{Nat} =
\prod_{X : \mathsf{Type}} ((1 + X) \to X) \to X =
\prod_{X : \mathsf{Type}} (X \times (X \to X)) \to X = \\
\prod_{X : \mathsf{Type}} X \to (X \to X) \to X.
$$
We got Church numerals! And we also understand now that we will get a recursion principle for free, because the Church numerals are the recursion principle for numbers, but we will not get induction without parametricity or a similar device.
The tehcnical answer to your question is this: there exist models of type theory in which the type SimpleNat contains exotic elements that do not correspond to numerals, and moreover, these elements break the induction principle. The type SimpleNat in these models is too big and is only a weak initial algebra.
A = forall X. (F X -> X) -> Xis the initial F-algebra by using parametricity but I don't seem to get quite the right result. There are easily written implementations of functionsfix: F A -> Aandunfix: A -> F A. I am using the parametricity theorem for the type signatureforall X. (F X -> X) -> Xand I am trying to show thatunfix . fix = id. But it only follows thatunfix . fixequals a certain function of typeA -> A, namely,\a -> a(fix), that is not obviously equal to identity. What am I missing? – winitzki Nov 01 '20 at 22:30unfix . fix = id. For that, one needs to show that "strong dinaturality" holds for type signaturesforall X. (F X -> X) -> X. This gives a shortcut for the proof, without having to resort to fully general relational parametricity. – winitzki Jan 16 '23 at 10:49