How to tackle finding sentences with the help of structures Assume a predicate logic language with binary predicate letter R and equality. Consider the following three models:



*

*Give a sentence $\varphi a$ that is true for 1, but not for 2 or 3.

*Give a sentence $\varphi b$ that is true for 3, but not for 1 or 2.

*Give a sentence $\varphi c$ that is true for 2, but not for 1 or 3.


My question is this: how can I find, or is there a good way to find, answers to these questions?
My thought process is as follows: I try to find any differences between the tree models. The only difference in this case that I can find is that between them, they differ in the number of relations they have. So, I think that I should base my answer on the number of relations, e.g. for the first model something like "There are exactly four relations". But then I'd have to write e.g. for 1: $\exists w \exists x \exists y \exists z ((wRx) \wedge (wRy) \wedge etc. \wedge \forall u(x = u \vee z = u...))$ That is going to be a very long formula!
 A: Length should not be a problem (also, model 3 also has exactly four arrows). Of course, we will always start from a rather short conceptual formula and then translate it to the basics, which we should expect to produce somwhat longer formulas.
Instead of counting the total number of arrows, I'd suggest other (high-level) properties, such as


*

*All nodes have at most two neighbours (i.e. among three neighbours, some must be equal)
$$\forall x\forall y\forall z\forall w\colon (xRy\land xRz\land xRw)\to (y=z\lor y=w\lor z=w) $$

*There exist at least two nodes having all others as neighbours
$$\exists x\exists y\forall z\colon (x\ne z\to xRz)\land(y\ne z\to yRz)\land x\ne y$$

*There exists a node with only one neighbor
$$\exists x\forall y\forall z\colon (xRy\land xRz)\to y=z $$


There are of course other properties one can think of.
For example, do you see in which of the models
$$ \forall x\forall y\forall z\colon\neg(xRy\land yRz\land zRx)$$
holds?
A: The unremarkable fact about (1) is that there is no point in it that 'sees' (R) every other point, so:
$$\phi_a\equiv \lnot\exists x \forall y(xRy).$$
The special feature of (3) is that it has a point (bottom left) that sees only one other point, so:
$$\phi_b\equiv \exists x\exists y(xRy \land \forall z(xRz \rightarrow z=y)).$$
Lastly, what's special about (2) is that it has two distinct points (top left, bottom right) s.t. every point either is or is seen by both of them (not sure if I expressed that properly). Formally that gives:
$$\phi_c \equiv \exists x \exists y(x \not= y \land \forall z([z=x \lor xRz] \land [z = y \lor yRz])).$$
Hagen's answer looks good. Mine are slightly different from his, so I thought I'd share the process.
