The language of second-order arithmetic is (by definition) generated by a constant symbol $0$ and a unary function $S$. However, first-order arithmetic (hereafter $\mathrm{PA}$) famously requires a $+$ symbol and a $\times$ symbols.
Question. Can we eliminate the need to take $+$ and $\times$ as primitive in $\mathrm{PA}$, by replacing the "axiom schema of induction" with something stronger? I mean a schema guaranteeing that primitive recursion always defines a unique function.
I feel like this is impossible in a first-order language.
But if it is possible, it means we can define $+$ in the obvious way:
- $\forall xy.(x+Sy) = S(x+y)$
- $\forall x.x+0 = x$
Similarly with $\times$.
I know that PRA already does something like this, but that is much weaker than $\mathrm{PA}.$ I want something equal to $\mathrm{PA}$ in its power. I also don't want to start out with infinitely many function symbols like $\mathrm{PRA}$ does. Just $S$.
It is known that addition is not definable in the structure $(\mathbb{N},0,S)$ by any first-order formula. There is a sketch here. The same holds for multiplication, with a small variation of the proof.
That structure satisfies all true sentences of its language. So even if we took all those sentences as axioms, we still would not be able to define addition.