idef3_kbsi_report (1013870), страница 38
Текст из файла (страница 38)
The simplest sort ofcomplex term consists merely of a list of identifiers. The grammar of thelanguage allows one to form such terms regardless of what those termsmean. Thus, one could form a term such as, “(Plato Socrates)”. However, acomplex term of this sort containing n+1 terms is semantically meaningfulonly if the first term is an n-place function. Thus, in the semantics for theelaboration language “(Plato Socrates)”—assuming the terms “Plato” and“Socrates” mean the philosophers Plato and Socrates, respectively—will beconsidered meaningless; more precisely, the term will denote a special“empty” individual known as null.Term operators are used to form the other classes of complex terms.
listof forms a list, orsequence, from its arguments. Thus, the term “(listof 2 3)” denotes the two-element listconsisting of the numbers 2 and 3, in that order. Semantically, lists are treated as finitesequences, i.e., functions on proper initial segments of the positive integers.if and cond are used to form conditional terms, i.e., terms whose denotations depend onwhich of several mutually-exclusive conditions hold. Thus, the term(if (< (age-of ?x) 18) Galen (sister-of Galen))denotes Galen if ?x is under 18, and it denotes Galen’s sister otherwise. Terms formedwith operator cond work similarly, only they allow the specification of multipleconditions. Suppose that Larry is talking about some unspecified politician. Since thereis exactly one such politician that he is talking about (let it be supposed), a correspondingterm for that politician can be given a complete definition:(define-individual POL := (the ?x (and (politician ?x) (talking-about Larry ?x))))If one knew in addition that the object of Larry’s attention had to be either the President,Vice-President, or Speaker of the House (in August 1995), then one could denote theobject more specifically by means of the complex term:(cond (president POL) Bill)195(vice-pres POL) Al)(speaker POL) Newt),which picks out Bill Clinton if Larry is talking about the President, Al Gore if Larry istalking about the vice-president, and Newt Gingrich if Larry is talking about the Speaker.Such terms are especially useful in situations where one knows only that the object in agiven situation will be one of several objects that can be distinguished by appropriateconditions.
Without knowing which in particular it will be, one can nonetheless form aterm that picks out the right object depending on which condition holds.The remaining operators are “variable binding” operators, i.e., they use a variable and somecondition involving the variable or variables they bind to specify their denotations. the forms a“definite description” term that denotes the unique object satisfying the description in question.So, for example, (the ?x (current-U.S.-president ?x)) denotes (in 1995) Bill Clinton.
Note that anecessary and sufficient condition for a definite description term “(the ?x j)”—where j is any“description” (i.e., sentence; see below)—to denote is that one and only one thing that isdescribed by j. Thus, since there are many politicians, the term “(the ?x (politician ?x))” does notdenote; or, rather, in the semantics of the elaboration language, it denotes the empty object null.Similarly, number-of is used to form terms that denote the number of things satisfying acertain description. Thus,(number-of ?x (and (integer ?x) (> ?x 0) (< ?x 5)))denotes the number of integers greater than 0 and less than 5, i.e., the number 4.lambda and kappa are used to form terms that, when semantically meaningful, denotefunctions and relations.
Thus, letting “*” stand for multiplication, the term(lambda (?x ?y) (+ ?x (* ?y ?y)))denotes the 2-place function that takes a pair of numbers m and n to the sum of m and thesquare of n. Similarly, the kappa operator enables one to form terms for complexproperties and relations. Thus, the term(kappa (?x ?y) (and (person ?x) (house ?y) (owns ?x ?y)))is the ownership relation that holds between a homeowner and his or her home.As noted, terms formed from kappa, in which kappa binds only a single variable, denoteproperties, or kinds. And, because object states are viewed as a subclass of kinds, they too can bethought of as properties.
Hence, in these cases, a convention will be to allow the use of kind-ofto denote kinds and states. Thus, for instance,(kind-of ?x (and (person ?x) (> (age-of ?x) 40) (< (age-of ?x) 60))denotes the kind person over 40 but under 60. Similarly,196(kind-of ?x (and (person ?x) (sleeping ?x))is the way the elaboration language expresses the state that would be indicated byperson:sleeping in a state transition schematic.An untyped language with operators like lambda and kappa are, of course, prime candidatesfor paradox. For instance, the syntax of the language permits the formation of the term(kappa ?r (forall ?x (<=> (?r ?x) (?x ?x)which is the infamous Russell property of nonselfexemplification, the property true ofexactly those properties that are true of themselves.
Such properties can cause trouble,however, only in the context of a logic from which a paradox can arise—in particular, alogic that includes the naive comprehension principle (<=> j[var/term] ((kappa var j)term)), where j[var/term] is the result of replacing all free occurrences of the variable varin the sentence j with term.15 We will assume the adoption of some appropriate logic inwhich such paradoxes are avoided.16A.1.4SentencesIntuitively, sentences are expressions that can be true or false. They come in three basicvarieties in the elaboration language: atomic sentences, Boolean sentences, and quantifiedsentences.
Atomic sentences are simple sentences consisting of two or more terms. Specialcases include equality and inequality sentences, e.g., (= Mark_Twain Samuel_Clemens), andinequality, (/= Shakespeare Roger_Bacon). Similar to functions, any series of terms surroundedby parentheses is a legitimate atomic sentence. However, in order to have any chance of beingtrue, such a sentence must consist of an n-place relation followed by n terms. All other sentencesare deemed false in the semantics.All nonatomic sentences are built up recursively from atomic sentences and logical operators.Complex sentences are of two sorts: standard Boolean sentences, built up using the Boolean andother truth functional operators, and quantified sentences, built up using the quantifiers.Examples of Boolean sentences, playing the role of descriptions in terms, have already been seenabove, e.g., (and (person ?x) (> (age-of ?x) 40)).
These examples, however, all involve freevariables. If these variables are replaced by actual names, they become closed sentences, e.g.,(and (person Bill) (> (age-of Bill) 40)), which says that Bill—as opposed to some unspecified?x—is a person over forty.15An occurrence of a variable var in a sentence or term e occurs free in e just in case it does not occur within anexpression of the form (OP var y ) or (OP (var1 ... var ... varn) y ) or OP (var1 ... var ... varn : q) y ) in e,where OP is (in the first form) the term-op ‘the’ or one of the numerical quantifiers ‘exists-1’, ‘exists!-1’,‘exists-2’, exists!-2’, etc., or (in any of the three forms) one of the quantifiers ‘forall’, ‘exists’.16More accurately, avoided as we know.
For reasons first uncovered by the famous work of the logician KurtGödel, it is not possible to prove (without begging the question) that any reasonably powerful theory is free ofcontradiction. See [Gödel 31] or, for a more readable account in English, [Enderton 72], Ch. 3.197There are basically two types of quantified sentences: universally quantified sentences andexistentially quantified sentences. These, however, break into several forms. The most generalform consists of any quantifier followed by a single variable and a sentence, e.g.,(forall ?x (=> (and (human ?x) (>= (age-of ?x) 21)(adult ?x)))which says all humans 21 years of age or older are adults, and(exists ?x (and (person ?x) (> (age-of ?x) 100))which says that there exists a person over 100 years of age.A second form allows one to bind several variables with a single quantifier.
Thus,(forall (?x ?y) (=> (and (B-52 ?x) (F-16 ?x))(weighs-more-than ?x ?y)))says that every B-52 weighs more than every F-16.The elaboration language provides an optional way to express quantified statements byallowing one to put conditions directly on the bound variables. Thus, the proposition expressedby the above sentence can be expressed a bit more succinctly as(forall (?x ?y : (and (B-52 ?x) (F-16 ?x))) (weighs-more-than ?x ?y)).While the unadorned existential quantifier simply states the existence of at least one thingsatisfying a certain description, the numerical existential quantifiers state the existence ofat least, or exactly, n things, for some specific number n. Thus, that there are fifty statesin the U.S.
can be expressed simply as “(exists-50 ?x (state-in ?x US))”. Similarly, thefact that there is exactly one U.S. president can be expressed as “(exists!-1 ?x (USpresident ?x))”.It should be noted that the numerical quantifiers are, strictly speaking, dispensable. Thatis, anything that a numerical quantifier expresses can, in principle, be expressed byordinary quantifiers and the identity relation. Thus, “exists!-1 ?x (US-president ?x))” isequivalent to the sentence(exists ?x (and (US-president ?x) (forall (?y : (US-president ?y)) (= ?x ?y)))),i.e., there is at least one U.S. president, and furthermore every U.S. president must beequal to that one.
Numerical quantifiers, however, are exceedingly convenient, as toexpress that some number n of things satisfy a certain description requires the use of ndistinct variables instead of only one.198A.1.5DefinitionsDefinitions come in two varieties: complete and partial. In the case of an individual, acomplete definition provides a term that picks out the defined individual.















