In discussions about the hyperreals where the context seems to be that a first-order theory of the reals has been extended to a first-order theory of the hyperreals (obeying the transfer principle), the definition of the floor function always seems to be taken as a given when the hyperintegers are discussed, whereas the hyperintegers are treated as something that needs to be defined in terms of the floor function instead of the other way around.
For example, on the Wikipedia page for the hyperintegers,
The standard integer part function: ⌊x⌋ is defined for all real x and equals the greatest integer not exceeding x. By the transfer principle of nonstandard analysis, there exists a natural extension: ∗⌊⋅⌋ defined for all hyperreal x, and we say that x is a hyperinteger if x = ∗⌊x⌋. Thus, the hyperintegers are the image of the integer part function on the hyperreals.
However, the floor function cannot be defined in a first-order theory of the reals which doesn't have the integers in its vocabulary, otherwise the integers would be definable in a first-order theory of the reals which infamously they are not.
Therefore, to get to the hyperreals and then the hyperintegers from a first-order theory of the reals you could either add the construction of ℤ or ⌊⋅⌋ to however you constructed the reals for your theory, so that your theory has ℤ or ⌊⋅⌋ in its vocabulary. If you chose ℤ then ℤ goes on to represent the hyperintegers once you've turned your reals into hyperreals. If you chose ⌊⋅⌋ then you define the (hyper)integers as Wikipedia does above.
It seems to me that these are equivalent but every discussion I see chooses ⌊⋅⌋ and doesn't even say that it has to be added to the vocabulary of the first-order theory, they just treat the existence of ⌊⋅⌋ as a given and then go on to use it to define ℤ. Why isn't ℤ treated as a given and used to define ⌊⋅⌋? They're both undefinable in first-order theories of the reals and thus need to be constructed along with the reals to be in the vocabulary of the theory, right?
Thanks in advance!