ABSTRACT

We may distinguish two broadly different approaches to increasing the expressive range of a logical system; the difference between them relates to the distinction between the logical and nonlogical elements of a logical language. In standard first-order predicate logic, the logical vocabulary comprises the Boolean connectives š›™and , the quantifiers and , and, for first-order logic with identity, the symbol =. These symbols have fixed interpretations: that is, their meanings are determined by the definition of the logic, not by the user. By contrast, the interpretation of individual constants, function symbols, and predicate symbols is not determined in the logic itself; rather, the user is free to specify their interpretations, subject only to the constraint that they adhere to the correct form laid down by the logic: An individual constant must be interpreted as denoting an element of the domain of discourse , an n-ary function symbol as denoting a function of type n , and an n-ary predicate symbol as denoting a set of n-tuples of domain elements. Thus the formula x(P(x) y(Q(y)šR(x, y))) might be understood as saying that every positive integer has a prime factor, that every human being has a mother, or that every country has a capital city (among innumerable other possibilities), depending on how the nonlogical symbols P, Q, and R are interpreted; but throughout all the possible interpretations, the logical symbols , , š, and are interpreted in exactly the same way.