A language consists of a unary function $f$, a unary predicate $p$ and a constant $c$. Write two models $M_1$, $M_2$ such that $M_1 \models \phi$ and $M_2 \models \neg \phi$ given $\phi \iff (\forall x)(\exists y)(p(f(y)) \lor x=c$
This one is a little bit confusing for me, but I managed to write these two models:
The first one:
Set: $\mathbb N$
Function: $f(x) = x^2$
Predicate: $p(x) \iff x \ge 0$
Constant: $0$
And so the formula: $(\forall x)(\exists y)(y^2 \ge 0) \lor x=0$
Holds, because the first part always holds.
The second one:
Set: $ \mathbb N $
Function: $f(x) = x^2$
Predicate: $p(x) \iff x < 0$
Constant: $0$
Formula: $(\forall x)(\exists y)(y^2<0) \lor x=0$
Does not work for $x \ne 0$
My question is - do these models work? If so, is there an easier way to do this, perhaps using some more common predicates and functions?