Understanding First-order Logic 105 of any first-order language L have the unique readability property that every term or formula has an essentially unique construction tree, respectively parsing tree, up to the order of listing of the successor nodes More precisely, for any first-order language L the following hold Every occurrence of a functional symbol in a term t from T M (L) is the beginning of a unique subterm of t Every occurrence of a predicate symbol ¬, ∃, or ∀ in a formula A from F OR(L) is the beginning of a unique subformula of A Every occurrence of any binary connective ◦ ∈ {∧, ∨, →, ↔ } in a formula A from F OR(L) is in a context (B1 ◦ B2 ) for a unique pair of subformulae B1 and B2 of A 3.1.3.5 First-order instances of propositional formulae Definition 88 Given a propositional formula A, any uniform substitution of first-order formulae for the propositional variables in A produces a first-order formula, called a first-order instance of A For example, substituting (5 < x) for p and ∃y (x = y ) for q in the propositional formula (p ∧ ¬q ) → (q ∨ p) produces its first-order instance ((5 < x) ∧ ¬∃y (x = y )) → (∃y (x = y ) ∨ (5 < x)) 3.1.3.6 Many-sorted first-order structures and languages Often the domain of discourse involves different sorts of objects, for example: integers and reals; scalars and vectors; or points, lines, triangles, and circles The notions of first-order structures and languages can be extended naturally to many-sorted structures and languages, with suitable inter-sort and cross-sort functions and predicates An example is a two-sorted language for a simple geometric reasoning in the plane involving two sorts, one for points and another for lines Each sort has its own domain and these domains are disjoint (no point is a line) The only non-logical symbol is a binary relation of incidence between a point and a line Using several sorts for individuals comes with a technical overhead, as it requires different sorts of individual variables and various syntactic restrictions Instead, in this book we will use unary predicates to identify the different sorts within a universal domain References for further reading For many more examples (mostly mathematical) and further discussion of first-order structures and languages, see Tarski (1965), Kalish and Montague (1980), van Dalen (1983), Hamilton (1988), Ebbinghaus et al (1996), Barwise and Echemendy (1999), Enderton (2001), Hodges (2001), Hedman (2004), Nederpelt and Kamareddine (2004), Bornat (2005), Chiswell and Hodges (2007), Ben-Ari (2012), and van Benthem et al (2014)