Hacker News new | ask | show | jobs
by joe_the_user 806 days ago
OK, the confusing thing is that Dedekind proved that a two second order models of arithmetic are equivalent/unique but Godel essentially proved that there are an infinity of first order models of arithmetic. But it seems logical that a second order model of arithmetic would contain a first model and that you couldn't say "which" model contained.

I probably phrased that wrong but I think the question is clear

1 comments

The distinction between "first order" and "second order" is in the first instance a distinction at the level of formal languages. A second order language has more complicated syntax and semantics: it allows variables in predicate position, which (in the standard semantics) take values from the entire powerset of the underlying domain.

This makes second order languages, including the language of arithmetic, much more expressive: they can distinguish models that first order languages can't. Those infinitely many non-isomorphic models of arithmetic expressed in a first order language can be distinguished, and excluded, as models of arithmetic expressed in a second order language. That's why second order arithmetic is categorical: all of its models are isomorphic.

Yes, a model of second order arithmetic contains a model of first order arithmetic, but within the second order language, you can say "which model it is" (up to isomorphism). It's only if you restrict yourself to a first order language that you can no longer say anything which will be true in that model, but false in any non-isomorphic one.