This is a follow-up to question [Completeness vs Compactness in logic](https://mathoverflow.net/questions/68788/completeness-vs-compactness-in-logic) 68788. One common theme was that compactness in logic is a purely semantic notion, so should have no need of completeness.


The definition of compactness seems to depend in an irreducible way on the concept of a sentence, which appears to be a syntactic notion. So my question is: Is there any purely semantic definition of a sentence in first-order logic?



Semantic definition of sentence
One way to completely avoid syntax is to use [Ehrenfeucht–Fraïssé games](http://en.wikipedia.org/wiki/Ehrenfeucht%E2%80%93Fra%C3%AFss%C3%A9_game). If $\mathfrak{A}$ and $\mathfrak{B}$ are two structures with the same signature, then two $k$-tuples $\bar{a}$ and $\bar{b}$ from these respective structures satisfy the same type if and only if duplicator wins every finite length EF game between $(\mathfrak{A},\bar{a})$ and $(\mathfrak{B},\bar{b})$. This is a perfectly semantical way of defining the space $S\_k$ of $k$-types for a given signature. One can show directly that the resulting space $S\_k$ is a compact zero-dimensional space. The $k$-ary formulas of the language basically correspond to clopen sets in $S\_k$. The compactness of $S\_0$ is basically a restatement of the Compactness Theorem. Similarly, the Omitting Types Theorem is basically a restatement of the Baire Category Theorem for these spaces $S\_k$.


This is the approach used by the Fraïssé school of model theory. One recent book which tries to promote this approach is Bruno Poizat's *A Course in Model Theory*.


