I state that I'm not very experienced in mathematical logic. I read that the theory of graphs in first-order logic is formalized simply by means of a binary predicate $R(x, y)$ which express the fact that two vertices are connected by an edge. Then one can impose some axioms to $R(x, y)$ for example that it is an irreflexive and symmetric relation.
My question is: if I want to add some information to the edges, for example, a weight, I need to reify edges in the domain of discourse in such a way that it is possible to quantify over and inscribe to the properties. Is it correct? (I want to remain in a first-order logic).
What I have in mind is to use two unary predicates, say $E(x)$ for $x$ is an edge and $V(x)$ for $x$ is a vertex, and one of the following relation:
- a ternary relation $C(x, y, z)$ to say that the edge $y$ connects the vertices $x$ and $z$
or
- two binary relations $R_1(x, y)$ and $R_2(y, w)$ (appropriately axiomatized) to say that the vertices $x$ and $w$ are connected through the edge $y$
Could you tell me if there are some books or papers which explain such things?
Thanks
Try the lovely paper:
Cai-Furer-Immerman "An Optimal Lower Bound on the Number of Variables for Graph Identification".
Not only does it set up in a very gentle way the methods of encoding graph theory in first order logic (including with labels and all), but it then goes on to prove remarkable properties such as that you can make graphs that are non-isomorphic but cannot be distinguished by any k-ary relations until $k\approx n$ (sometimes those methods are called "color refinement" or Weisefieler-Lehman invariants). I used that paper in a intro grad seminar and the students seemed to follow it well so I guage that as external validation to my own view of its excellent writing.
If that doesn't suite try "The graph isomorphism problem -- Its structural complexity" by Kobler-Schoening-Toran