## Definition of First Order Language with Arbitrary Alphabet. Syntax of Terms, Atomic Formulas and their Subterms

Second of a series of articles laying down the bases for classical first order model theory. A language is defined basically as a tuple made of an integer-valued function (adicity), a symbol of equality and a symbol for the NOR logical connective. The only requests for this tuple to be a language is that the value of the adicity in = is -2 and that its preimage (i.e. the variables set) in 0 is infinite. Existential quantification will be rendered (see [11]) by mere prefixing a formula with a letter. Then the hierarchy among symbols according to their adicity is introduced, taking advantage of attributes and clusters.

The strings of symbols of a language are depth-recursively classified as terms using the standard approach (see for example [16], definition 1.1.2); technically, this is done here by deploying the ‘-multiCat' functor and the ‘unambiguous’ attribute previously introduced in [10], and the set of atomic formulas is introduced. The set of all terms is shown to be unambiguous with respect to concatenation; we say that it is a prefix set. This fact is exploited to uniquely define the subterms both of a term and of an atomic formula without resorting to a parse tree.

## Comments (0)