Definition. FOL - Syntax [000v]
Definition. FOL - Syntax [000v]
We can define a first order language as a tuple of 3 sets \(\langle \mathcal C, \mathcal F, \mathcal R\rangle \) where:
- Constants (\(\mathcal C\)): the set of constants in the language. E.g., \(\{a, b, c\}\)
- Function Symbols (\(\mathcal F\)): the set of function symbols in the language. E.g., \(\{f, g, h\}\)
- Relation Symbols (\(\mathcal R\)): the set of relation symbols in the language. E.g., \(\{R, S, T\}\)
Using BNF we can define the syntax as follows
Here the atom \(p\) represents an atomic predicate applied to terms \(t_1, \ldots , t_n\), where \(p \in \mathcal R\) with an arity of \(n\)