I work in a first-order language containing only a unary function symbol $f$, a unary predicate symbol $P$ and a constant symbol $c$. Consider the formula:
$$\psi :((P(c) \land \forall x_0(P(x_0) \to P(f(x_0)))) \to \forall x_0 P(x_0))$$
I'd like to caracterise the structures $< A;f;c >$ where $A$ is infinite and such that for every unary relation $P$ on $A$
$$<A;f;c;P> \vDash \psi$$
I'm confused here, letting $\phi$ be $(P(c) \land \forall x_0(P(x_0) \to P(f(x_0))))$ and $\alpha$ be $\forall x_0 P(x_0)$, we want to make sure that for no $P$ on $A$ we'll have $\phi$ true and $\alpha$ false. When $P(c)$ is false, we're all good but we cannot choose $c$ such that $P(c)$ is false for all $P$. I'm not sure where the infinite size of $A$ has any impact on this... Could you hint me? Am I misunderstanding everything?