second-order logic the logic of languages that contain, in addition to variables ranging over objects, variables ranging over properties, relations, functions, or classes of those objects. A model, or interpretation, of a formal language usually contains a domain of discourse. This domain is what the language is about, in the model in question. Variables that range over this domain are called first-order variables. If the language contains only first-order variables, it is called a first-order language, and it is within the purview of first-order logic. Some languages also contain variables that range over properties, relations, functions, or classes of members of the domain of discourse. These are second-order variables. A language that contains first-order and second-order variables, and no others, is a secondorder language. The sentence ‘There is a property shared by all and only prime numbers’ is straightforwardly rendered in a second-order language, because of the (bound) variable ranging over properties.
There are also properties of properties, relations of properties, and the like. Consider, e.g., the property of properties expressed by ‘P has an infinite extension’ or the relation expressed by ‘P has a smaller extension than Q’. A language with variables ranging over such items is called thirdorder. This construction can be continued, producing fourth-order languages, etc. A language is called higher-order if it is at least second-order. Deductive systems for second-order languages are obtained from those for first-order languages by adding straightforward extensions of the axioms and rules concerning quantifiers that bind first-order variables. There may also be an axiom scheme of comprehension: DPEx(Px S F(x)), one instance for each formula F that does not contain P free. The scheme ‘asserts’ that every formula determines the extension of a property. If the language has variables ranging over functions, there may also be a version of the axiom of choice: ER(ExDyRxy P DfExRxfx). In standard semantics for second-order logic, a model of a given language is the same as a model for the corresponding first-order language. The relation variables range over every relation over the domain-of-discourse, the function variables range over every function from the domain to the domain, etc. In non-standard, or Henkin semantics, each model consists of a domain-ofdiscourse and a specified collection of relations, functions, etc., on the domain. The latter may not include every relation or function. The specified collections are the range of the second-order variables in the model in question. In effect, Henkin semantics regards second-order languages as multi-sorted, first-order languages. See also FORMAL LOGIC, FORMAL SEMAN- TICS , PHILOSOPHY OF LOGI. S.Sha.