<?xml version="1.0"?><!DOCTYPE article SYSTEM "/project/take/software/searchbench_offline_processing/paperxml_generator/aclextractor/src/python/../resource/dtd/paperxml.dtd"><article><header><firstpageheader><page local="1" global="17"/><title>Semantic Abstraction and Anaphora</title><author surname="Johnson" givenname="Mark"><org  name="Brown University" country="USA" city="Providence"/></author><author surname="Kay" givenname="Martin"><org  name="Palo Alto Research Center" country="USA" city="Palo Alto"/></author></firstpageheader><frontmatter><p><b>Semantic Abstraction and Anaphora</b></p><p><b>Mark Johnson</b></p><p><i>Drown University</i></p><p><b>Martin Kay</b></p><p><i>Xerox Palo Alto Research Center and Stanford University</i></p></frontmatter><abstract>This paper describes a way of expressing syn­tactic rules that associate semantic formulae with strings, but in a manner thai is inde­pendent of the syntactic details of these for­mulae. In particular we show how the same rules construct predicate argument formulae in the style of Montague grammar[13|, rep­resentations reminiscent of situation seman-tics(Barwise and Perry [2]) and of the event logic of Davidson [5], or representations in­spired by the discourse representations pro­posed by Kamp [9|. The idea is that seman­tic representations arc specified indirectly us­ing <i>semantic construction operators, </i>which en­force an abstraction barrier between the gram­mar and the semantic representations them­selves. First we present a simple grammar which is compatible with the three different sets of constructors for the three formalisms. We then extend the grammar to provide one treatment that accounts for quantifier raising in the three different semantic formalisms </abstract></header><body><section title="Introduction"><p>Grammars specifying the relationship between strings and semantic representations often have details of these representations embedded in them. We show how grammar rules can be written in a form which, by abstracting away from details of the semantic representation, ac­quires greater modularity and hence theoretical perspicuity and practical robustness. In partic­ular, we believe that the approach helps clarify the relationship between apparently disparate theories of semantic representation.<footnote anchor="1"/>. The basis of our proposal is that each grammatical rule should contain, or be paired with, an expres­sion written in terms of semantic construction operators. Different operations can be associ­ated with these operators and, depending on the set in force at a given time, the effect of interpreting the expression will be to construct a representation in one semantic formalism or another. The set of operators contains mem­bers corresponding to such notions as <i>compo­sition, conjunction, </i>etc. The set is small and in­dependent of the semantic formalism. The op­erations arc associated with the operators inde­pendently of the grammar and they determine the form of the semantic representation.</p><p>We present three different sets of seman­tic constaictors here, which we have dubbed the <i>predicate-logic, </i>the <i>sets-of-infons </i>and the <i>discourse-representation </i>constructors. We be­gin by introducing the constructors used in this paper: no claims are made for their general sufficiency. Not all of the constructors arc rel­evant to all semantic theories and those not needed for a particular one arc given degen­erate definitions. The simplest kind of con­struction operator is the identity function which maps every input <i>i </i>onto just one output, namely <i>i.</i></p><p>The operators arc the following:</p><footnote label="1">The kind of separation between tlie grammar and the details of Lhe semantie representation proposed here also appears in the examples of Pereira and Shieber[l2] and in Lexical-Functional Grammar (see [6]). Our use of different sets of semantic constructors with a single grammar is novel, as far as we are aware.</footnote><doubt alpha="0.0" length="1" tooSmall="False" monospace="0.0">1</doubt><page local="2" global="18"/><p><i>external(S, </i><i>EF)</i><i> </i>relates a semantic represen­tation 5 and an <i>external form EF, </i>e.g. a representation that constitutes the parser's output. The internal and external forms are distinguished because the (internal) repre­sentation 5* will, in general, contain infor­mation that plays a role in the process of an­alyzing a sentence (e.g. for anaphora track­ing) but that is not part of the logical form <i>(EF) </i>of the sentence as a whole.</p><p><i>atom(S, Prop) </i>specifies that the content of the (internal) semantic representation, 5, is the atomic proposition <i>Prop. </i>This is used to construct the semantic values for lexical entries, for example.</p><p><i>conjoin(S </i><i>1,</i><i> </i><i>S2,</i><i> </i><i>S</i><i>12)</i><i> </i>relates three semantic representations. It specifics that the content of 512 is constructed by conjoining 51 and 52. This operator occurs crucially in the semantics of indefinite determiners.</p><p><i>newJndex(S,I) </i>specifics that the content of 5 is <i>I, </i>a <i>referential index </i>for a non-anaphoric NP. The form of a referential index is de­fined by the particular semantic theory.</p><p><i>accessible Jndex(S</i><i>I)</i><i> </i>specifies that the con­tent of 5 is a referential index / of some noun phrase that is a potential antecedent of an anaphor. Constraints on accessible in­dices are defined by the particular semantic theory.</p><p>While the primitives discussed in this paper have relatively simple definitions, in other more elaborate theories they may involve non-trivial computation. For example, the <i>com­pose </i>primitive might impose certain discourse-consistency requirements arising from a more restrictive theory of discourse structure than those described here.</p><p>A key insight of the Discourse Repre­sentation and Situation Semantics accounts, but originating with Kartlunen[10], is that anaphoric and quantificational domains coin­cide. Thus, in (1), <i>it </i>can be co-indexed with <i>a donkey </i>only if <i>a donkey </i>is interpreted as hav­ing wide-scope.</p><p>(1)    Every man kicked a donkey. It developed blue bumps.</p><p>The relationship between these sentences is one of (semantic) <i>precedence, </i>and we call the op­erator that relates the corresponding semantic representations <i>compose: compose(Sl, </i>52, 512) specifies that the infor­mation in the representation 512 is the in­formation in 51 followed by the informa­tion in 52. Compose defines an ordering of semantic operations that particular semantic theories may or may not be sensitive to. (In this paper, the Montague constructors are not sensitive to this ordering, while the other two types of semantic representations are). When <i>a donkey </i>is interpreted as having nar­row scope with respect to <i>every man </i>in (1), the reference marker introduced by <i>a donkey </i>is located in a context subordinate to the sen­tence as a whole, and hence not accessible to anaphors in the following discourse. To pro­vide for this, we introduce the following op­erator:</p><p><i>subordinate^, SubName, Sub) </i>specifies that 5 contains an anaphorically and quantifi-cationally subordinate representation <i>Sub, </i>which has the "name" <i>SubName. </i>The <i>SubName </i>would be distinguished from <i>Sub </i>in non-cxtcnsional theories of meaning, where a meaning is distinguished from its propositional content (say), as in the sets-of-infons representation described below. We turn now to the grammar without quantifier-raising.     We formulate both the grammar and the semantic constructors in pure Prolog (exploiting the syntactic sugar of <i>Def­inite Clause Grammar </i>(Pcrcira and Shicbcr [12], pp.   70-79)) because it is expressive enough for our purposes and is widely used in work of this kind(scc, <i>inter alia </i>Colmeraucr [3], Abramson and Dahl [1] and [11]).</p></section><section title="A Grammar using Semantic Constructors"><p>The grammar generates simple transitive clauses and subject-relative clauses that do not involve long-distance dependencies.<page local="3" global="19"/> It is based on the Montague-style grammars presented in Chapter 4 of Pereira and Shieber[12], and the treatments of agreement, Wh-dcpcndcncics, etc., presented there could also be incorporated without difficulty.</p><doubt alpha="0.0" length="1" tooSmall="False" monospace="0.0">2</doubt><doubt alpha="42.3" length="71" tooSmall="False" monospace="0.0">jA A A A A A * A A A A A A A A A A A A * A A A A A A A * * A * A A' * A</doubt><doubt alpha="60.0" length="15" tooSmall="False" monospace="0.0">* Operators : *</doubt><doubt alpha="54.5" length="33" tooSmall="False" monospace="0.0">* "       for lambda abstracts, *</doubt><doubt alpha="58.3" length="24" tooSmall="False" monospace="0.0">* •  for  implication. *</doubt></section><section title="A  A  A  A  A  A  A  A  A  A  A  A  A  A  A  A  A  A  A  A  A  A  A  A  A  A  A  A  A  A  A  A  A  A  A  /"><p>:- op (950,   xfy,   " ) .</p><p>:- op(300,   xfx,   - -&gt;) .</p><p>pa r s o ( S t. r j n g , Ext Sem)   : -external(Int Sem,KxtSem) , s(]ntScm,String,[)&gt; .</p><doubt alpha="66.7" length="15" tooSmall="False" monospace="0.0">* The grammar *</doubt><p>s (S)   —&gt; np(VP"5),   vp (VP) . np(NP)   —&gt; det(Nl"NP),   ni(NI), ni (N)   --&gt;  n (N) .</p><doubt alpha="36.4" length="33" tooSmall="False" monospace="0.0">ni (X"S)   —&gt;  n(X"Sl), rc(X"S2),</doubt><p>{conjoin(SI,S2,S) ) . vp(X"S)   --&gt;  v(X"VP), np(VP"S). rc(VP)   —&gt;   [that], vp(VP).</p><doubt alpha="48.0" length="204" tooSmall="False" monospace="0.0">v(X"Y"S)   —&gt; [Verb], (verb(Verb,X"Y"Prod), atom(Pred,S)). n(X"S)   —&gt; [Noun], (noun(Noun,X"Pred), neviindex ( X, S1 ) , atom (Pred,S2), compose(S1,S2, S) }. det( (X "Res) " (X " Scope) " S )   — &gt; [Det],</doubt><p>{ determiner ( Dot:,   Res"Scope"S) } . np((X"Sl)"S)   —&gt; [Pronoun], {pronoun (Pronoun), accessible  index(X,S2), compose(S1,S2,S) }.</p></section><section title="/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"><doubt alpha="62.5" length="16" tooSmall="False" monospace="0.0">* The  lexicon *</doubt><p>pronoun(he). pronoun(she). pronoun(him). pronoun(he r) . pr onoun (it.) .</p><p>verb (likes, X"Y"likes(X,Y)). verb(saw,   X"Y"see(X,Y)). verbfbeats,   X"Y"beat(X,Y)). verb(owns,   X"Y"own(X,Y).</p><p>noun (woman,   X"worr.an (X) ) .</p><p>noun(man,   X"man(X)).</p><p>noun(donkey,  X"donkey(X) ) .</p><doubt alpha="60.6" length="33" tooSmall="False" monospace="0.0">determiner(a,   Res"Scope"S  ) :-</doubt><p>con join(Res,Scope,S) . determiner(every, subordinate(Res,   ResName, SI), subordinate(Scope,   ScopeName, Resl), atom(ResName ==&gt; ScopeName,   S2).</p><doubt alpha="50.0" length="20" tooSmall="False" monospace="0.0">RosO "Scope's  ) : -</doubt><doubt alpha="50.0" length="22" tooSmall="False" monospace="0.0">compose (SI,   S2, S),</doubt><doubt alpha="48.6" length="35" tooSmall="False" monospace="0.0">compose ( Re sO ,   Res].,   Res) ,</doubt><p>Most of the grammar should be familiar, even if it is somewhat more pedantically expressed than is usual. Following Pereira and Shicbcr (who were in turn inspired by Montague), VP and N meanings arc represented by terms of the form X"S, where X represents a referential index and S represents an S meaning. NP meanings are represented by terms of the form VP'S (or cquivalcntly, (x~S0)~S), where VP represents a VP meaning, X a referential index, and S and SO represent S meanings.</p><p>All manipulation of semantic values is per­formed by constructor primitives, rather than by explicit construction of terms. For exam­ple, the Nl production that introduces relative-clauses invokes conjoin explicitly to conjoin the semantic values of the N and the relative clause to yield the semantic value of the Nl. The sharing of the referential index X between the N and the VP is performed in the gram­mar alone, since it is a syntactic rather than semantic property of the construction.</p><p>The semantic component of the production that introduces lexical nouns has two parts. SO represents the atomic predicate Pred associ­ated with the lexical meaning of the noun. S2 represents the fact that X is a (possibly new) referential index. The component S of the se­mantic value associated with the noun contains all of the information in SO and S2.</p><p>The production introducing (lexical) pro­nouns requires that the referential index X of the pronoun be accessible in SO, and speci­fies that the S component is the composition of SO and the SO component of the VP mean­ing. (Recall that the semantic representations of pronouns, like all NP's, arc terms of the form VP'S, so the SO is a component of the meaning of the VP or V phrase that this pro­noun is an argument of).<page local="4" global="20"/></p><doubt alpha="0.0" length="1" tooSmall="False" monospace="0.0">3</doubt><p>Undoubtedly the most complex component of the grammar is the lexical entry for <i>every. </i>Because the structure of the lexical entries for all anaphoric scope-inducing quantifiers will be similar to the entry for every, we explain it in some detail.</p><p>The quantification induced by the deter­miner <i>every </i>is described in terms of the de­terminer's <i>restriction, </i>which defines the enti­ties that the quantification ranges over, and its <i>scope, </i>the component of the expression quan­tified over. (2) indicates the components of the utterance corresponding to the restriction and the scope of the quantifier <i>every </i>in the absence of quantifier-raising.</p><p>(2) Every man that saw a donkey kicked it.</p><doubt alpha="12.5" length="8" tooSmall="False" monospace="0.0">-M----*-</doubt><p>Restrictor Scope</p><p>The grammars presented here identify the re­strictor and the scope of a determiner in the syntax; e.g. quantifier-raising arises from the grammar permitting multiple assignments of components of the utterance to the restrictions and scopes of the determiners of that utterance.</p><p>The semantic value associated with lex­ical entry for a determiner in the gram­mars presented here is a term of the form <i>Res'Scope'Sentence, </i>where <i>Res </i>is the seman­tic value associated with the restrictor and <i>Scope </i>is the semantic value associated with the scope. A grammar directly constructing predicate-logic style semantic representations would assign the lexical entry in (3) to the de­terminer <i>every, </i>where '==&gt;' is interpreted as the implication operator in semantic represen­tations (sec Pereira and Shicbcr [12]).</p><p>(3) <i>determiner(every,</i> <i>R es "Scope "(R es==&gt; Scope)).</i><i></i></p><p>This lexical entry docs not suffice for our pur­poses, since it provides no information about the relative anaphoric scope relationships be­tween the restrictor, the scope, and that portion of the utterance external to the quantificational expression as a whole.</p><p>Anaphors in opaque quantificational expres­sions can refer to entities superordinate to the quantificational expression, but in general anaphors outside of an opaque quantificational expression cannot refer to entities introduced in cither the restriction or scope of the quantifi­cational expression<footnote anchor="2"/>. Anaphors in the scope of an opaque quantificational expression can refer to entities introduced in the restriction of that expression (e.g. as in (3) above), but anaphors in the restriction cannot refer to entities intro­duced in the scope.</p><p>The compose and subordinate predi­cates in the lexical entry for <i>every </i>in the gram­mar presented above express subordination re­lationships that describe the behavior of opaque determiners. The semantic representation S is the composition of SI and S2, where S2 is the semantic atom ResName ==&gt; Scope-Name. Res is subordinate to SI, and is itself the composition of ResO and Re si, where ResO is the semantic representation of the re­strictor. Scope is subordinate to Resl, and is the semantic representation of the scope. The diagram on the following page sketches the relationship between the various semantic entities mentioned in the lexical entry for <i>ev­ery. </i>Subordination relationships arc depicted by vertical lines (the name of the subordinate space is written alongside the line), and compo­sition relationships arc indicated by V-shaped diagonals.</p></section><section title="The Predicate-Logic Constructors"><p>These constructors build a <i>predicate-logic </i>type of semantic representation in a fairly transparent fashion. Pronouns are treated as free variables, there are no constraints on their distribution, and anaphoric binding is not<page local="5" global="21"/></p><footnote label="2">There are exceptions lo this: for example, anaphors can refer to proper names introduced in the restrictor or scope of opaque de­terminers. Within the framework described below, this can be treated by adding a new semantic construction operator add_top_levcl, which adds a referential index to the most superordinate level</footnote><doubt alpha="0.0" length="1" tooSmall="False" monospace="0.0">4</doubt><p>Scope ScopeName ResO Resl</p><doubt alpha="100.0" length="3" tooSmall="False" monospace="0.0">Res</doubt><p>ResName ==&gt; ScopeName SI S2 treated. Thus the definitions of the constructors</p><doubt alpha="100.0" length="1" tooSmall="False" monospace="0.0">S</doubt><p>new__index, accessible^index, com­pose and subordinate have degenerate definitions.</p><p>A property is identical with the term repre­senting it:</p><p>atom(Prop, Prop).</p><p>The conjunction of P and Q is represented by the term P&amp;Q.</p><p>conjoin (P,P,P&amp;Q) .</p><p>There are no constraints on new indices.</p><doubt alpha="44.4" length="18" tooSmall="False" monospace="0.0">new__index (_,_) •</doubt><p>There arc no constraints on accessible indices.</p><p>accessible_index (__, _) .</p><p>Sequencing is unimportant.</p><p>compose(P,P,P).</p><p>A Subordinate space can be introduced freely.</p><p>subordinate (__, Sub, Sub) .</p><p>Internal and external forms arc identical.</p><p>external (P,P) .</p><p>The grammar described above and the predicate-logic constructors yield analyses such as the following:</p><doubt alpha="48.6" length="72" tooSmall="False" monospace="0.0">? - p([a, man,owns,a,donkey],S) . S == man (X) &amp; donkey ( Y) Sown (X, Y)</doubt><doubt alpha="66.7" length="36" tooSmall="False" monospace="0.0">?- p( [every,man,that,owns,a,donkey,</doubt><doubt alpha="53.3" length="60" tooSmall="False" monospace="0.0">beats,it],S). S =   (man(X)&amp;donkey(Y)Sown(X,Y)) ==&gt;beat(X,Z)</doubt><p>Roughly this latter form might be interpreted as: if <i>X </i>is a man and F is a donkey and <i>X </i>owns <i>Y,</i><i> </i>then there is a <i>Z</i><i> </i>such that <i>X</i><i> </i>beats <i>Z.</i></p></section><section title="The Sets-of-Infons Constructors"><p>The constructors for the <i>sets-of-infons </i>and the <i>discourse-representation </i>both constrain anaphora by requiring that the referential in­dices provided by the accessible__index constructor be indices that were introduced by new__index in some earlier representation (where precedence is defined by the compose constructor). This entails that the internal form of these semantic representations encode infor­mation about preceding representations. Both constructors thread this information using the difference-list technique described in |8j.</p><p>The primitive clement of the <i>sets-of-infons </i>representation is inspired by the <i>infons </i>of Situ­ation Semantics [2]. We represent an infon as a term of the form Sit : P, which means that P is true in the situation Sit. For example, Kim's sleeping in situation sO is represented by sO : sleep (kim). For simplicity arbitrar­ily named constants (like the <i>gensyms </i>of Lisp) arc used as the names of situations in this rep­resentation: this has the disadvantage that the definitions of the external and subordinate con­structors are not dcclarativcly specified.<footnote anchor="3"/></p><p>The internal form of a <i>sets of infons </i>rep­resentation has three components. We repre­sent them in Prolog with a term of the form @(Sits, Infonsln, InfonsOut). The first is a slack whose top element is the situa­tion currently being defined, and whose other elements arc the situations superordinate to this one (as defined by the subordinate con­structor). The second component is the set of all infons introduced in representations pre­ceding this one. The infons in this list as­sociated with the current or a superordinate situation provide the information needed for the accessible_index constructor. The third component of the representation is the set of infons introduced in preceding representa­tions with the addition any infons added to the representation by the semantic representation constructor.<page local="6" global="6"/> In describing the term @ (Sits, Infonln, InfonsOut ), we use the names Infons In and InfonsOut to stress the fact that they constitute a difference list.</p><footnote label="3">All that is required is that there is an infinite stock of situation n.imes, so e.g. integers could have been used as situation names at the expense of a slight complication of the representation's data structures.</footnote><doubt alpha="0.0" length="1" tooSmall="False" monospace="0.0">5</doubt><p>: - op(  900,   xfx,   :   ) .</p><doubt alpha="36.2" length="138" tooSmall="False" monospace="0.0">atom(P,   @ ( [Sit |_] , Is, [ (Sit:P) | Is] ) ) . compose (@ (Ss,10s,lis), @(Ss, lis,I2s), @(Ss, 10s,I2s)) . conjoin (II,   12,   112) :-</doubt><doubt alpha="48.4" length="91" tooSmall="False" monospace="0.0">compose (II,   12,   112) . subordinate (@([Sit|Sits],IOs,Ils), Sit,   @(Sits,10s,lis)) : -</doubt><doubt alpha="59.0" length="39" tooSmall="False" monospace="0.0">gensym(Sit). new__index ( Index, S ) :-</doubt><doubt alpha="64.9" length="57" tooSmall="False" monospace="0.0">atom(i(Index),S). accessible_index(Index,@(Ss,Is,Is)) : -</doubt><p>member(Sit :i(Index),Is), gensym(Sit).</p><doubt alpha="47.5" length="61" tooSmall="False" monospace="0.0">member (Sit,Ss) . external (@ ( [Sit],   [],   Is), Sit:Is):-</doubt><p>The atom constructor introduces a new atomic proposition P as an infon Sit:P, where Sit is the situation currently being constructed. Notice that InfonsOut is the same as Infonsln but for the addition of (Sit :P).</p><p>The compose constructor threads the dif­ference list of infons through both of the rep­resentations, so the composed representation contains all of the infons added to the sets of infons composed. The conjoin constructor is equivalent to the compose constructor.</p><p>The subordinate constructor introduces a new subordinate representation by pushing a new situation name Sit on to the list of (now superordinate) situations. The difference list of infons is threaded through the subordinate representation so that any infons added to it will appear in the superordinate representation as well.</p><p>The new_index constructor adds an atom of the form i (Index) to the representation S: no constraints are placed on Index.</p><p>The accessible index<footnote anchor="4"/> constructor is</p><p><b>The predicate </b>member <b>used here, and elsewhere in this paper, has its standard logical definition: viz: </b>member (X, [X ! _] ) . membGr(X,   {_,  I,])   :- member(X,   L) <b>. If this definition is</b></p><p>satisfied for a referential index Index if Index was introduced by new_index to a preceding non-subordinate representation, i.e. if the context contains an infon Sit : i (Index), where Sit is the current or a superordinate situation name.</p><p>The external(Internal, Exter­nal) predicate initializes Internal to have no superordinate situations and no preceding context, and returns the list of infons associated with this Internal representation as its external form.</p><p>When these constaictors are used with the grammar defined above, the following analyses are obtained:</p><doubt alpha="42.5" length="73" tooSmall="False" monospace="0.0">? - p([a,man,owns,a,donkey],S) . S = sO : [SO : own (X, Y) , sO : i (Y) ,</doubt><doubt alpha="53.1" length="32" tooSmall="False" monospace="0.0">sO: donkey(Y),S0:i(X),s0:man(X)]</doubt><p>This can be paraphrased as: Situation 50 con­tains individuals <i>X</i><i> </i>and <i>Y;</i><i> </i>in <i>sO X </i>is a man, <i>Y</i><i> </i>is a donkey and <i>X</i><i> </i>owns <i>Y.</i></p><doubt alpha="47.9" length="117" tooSmall="False" monospace="0.0">?- p([every,man,owns,a,donkey],S) . S = sO: [SO :sl==&gt;s2,S2: own(X,Y) , s2:i(Y) ,s2 : donkey(Y), sl:i(X) , SI:man(X)]</doubt><p>This can be paraphrased as: Situation <i>sO </i>con­tains the fact that all situations of type <i>si</i><i> </i>are also situations of type <i>s'2. </i>A situation is of type si if it contains individuals <i>X</i><i> </i>and <i>Y,</i><i> </i>and <i>X</i><i> </i>is a man and <i>Y </i>is a donkey. A situation is of type <i>s2 </i>if <i>X </i>owns <i>Y.</i></p><p>?- p([every,man,that,owns,a,donkey,</p><doubt alpha="50.0" length="46" tooSmall="False" monospace="0.0">beats,it],S). S = sO:[sO:sl==&gt;s2,s2:beat(X,Y),</doubt><doubt alpha="52.6" length="38" tooSmall="False" monospace="0.0">si : own(X,Y),sl:i(Y),si : donkey (Y),</doubt><doubt alpha="55.6" length="18" tooSmall="False" monospace="0.0">sl:i(X),sl:man(X)]</doubt><p>This can be paraphrased as: Situation <i>sQ </i>contains the fact that all situations of type <i>si </i>are also situations of type <i>s2. </i>A situation is of type si if it contains individuals <i>X</i><i> </i>and <i>Y,</i><i> </i><i>X</i></p><p><b>used with the grammars and constructors given in this paper, the SLD selection rule of Prolog may lead to non-termination. It is in general necessary to delay the evaluation of the </b>member <b>predicate until its second argument is instantiated, which can be done using the </b>freeze <b>primitive of Prolog II.</b></p><page local="7" global="7"/><p>?- p([every,man,that,owns,a,donkey,</p><p>is a man, <i>Y </i>is a donkey and <i>X </i>owns <i>Y. </i>A situation is of type <i>s2 </i>if <i>X </i>beats <i>Y </i><i>.<footnote anchor="5"/></i></p></section><section title="The Discourse-Representation Constructors"><p>The representations built by these construc­tors are inspired by the "box representations" of Kamp's (1981) Discourse Representation Theory [9]. A discourse representation "box" is represented by the list of items that con­stitute its contents. A representation is a difference-pair of the lists of the representa­tions of the currently open boxes (i.e. the cur­rent box and all superordinate boxes), as in Johnson and Klein [8]. In Prolog, we use the binary '-' operator to separate the two mem­bers os the pair.</p><doubt alpha="44.8" length="105" tooSmall="False" monospace="0.0">atom (P,   [B IBs] - [ [P |B] I Bs] ) . compose (BOs-Bls,   Bls-B2s, B0s-B2s). conjoin (PI,   P2,   P) :-</doubt><doubt alpha="49.1" length="57" tooSmall="False" monospace="0.0">compose (PI,   P2,   P) . subordinate ([[] |B0s]-[B|Bls],</doubt><doubt alpha="48.8" length="43" tooSmall="False" monospace="0.0">B,     BOs-Bls). new_index(Index,   C)   :-</doubt><doubt alpha="63.6" length="55" tooSmall="False" monospace="0.0">atom(i(Index),C) . accessible  index(Index,   Bs-Bs) :-</doubt><p>member(B,Bs),   member(i (Index) ,B) . external ([[]]- [S] ,   S) .</p><p>The atom constructor introduces a new atomic proposition P.by adding it to the cur­rent box, i.e. the first clement of the list of open boxes.</p><p>The compose constructor threads the dif­ference list representing the open boxes through both compose representations of the items be­ing composed in the same way that the com­pose constructor of the sets-of-infons repre­sentations docs. The conjoin constructor is equivalent to the compose constructor.</p><p>The subordinate constructor introduces an empty subordinate box onto the list of cur-</p><p><b>The grammar and the sets of infons constructors also generate an additional reading in which die man that owns the donkey beats himself; i.e. </b><i>it </i><b>is taken as anaphorically dependent on <i>every man. </i>Simple extensions to die grammar (e.g. requiring the index of a pronoun to differ from the index of all c-commanding Nl's) or the semantics (e.g. requiring the gender of the pronoun to agree with its antecedent's gender) would rule out this spurious analysis.</b></p><p>rently open boxes. The "name" B of the sub­ordinate box is the list of atoms it contains.</p><p>The new_index constructor adds an atom of the form i (Index) to the semantic repre­sentation: no constraints arc placed on Index (as in the sets-of-infons representation).</p><p>The accessible_index constructor is satisfied by a referential index Index if Index is introduced by new_index in a preceding non-subordinate representation, i.e. if one of the superordinate boxes contains i(Index).</p><p>The external(Internal,External) predicate initializes Internal to have ex­actly one open box (empty), and returns the contents of that box as its external form.</p><p>With these constructors, the parser yields the following semantic values for the test sen­tences.</p><doubt alpha="46.3" length="82" tooSmall="False" monospace="0.0">? - p ( [a,man,owns,a,donkey],S) . S =   [own(X,Y),donkey(Y),i(Y), man(X) , i(X) ]</doubt><p>This representation is true just in case there are two individuals <i>X </i>and <i>Y, X </i>is a man and <i>Y </i>is a donkey, and <i>X </i>owns <i>Y.</i><i></i></p><doubt alpha="42.0" length="100" tooSmall="False" monospace="0.0">?- p([every,man,owns,a,donkey],S). S =   [ [man (X) , i (X) ] ==&gt; [own (X, Y) , donkey(Y) ,i (Y) ] ]</doubt><p>This representation is true just in case for all individuals <i>X </i>such that <i>X </i>is a man there is an individual <i>Y </i>such that <i>Y </i>is a donkey and <i>X </i>owns <i>Y.</i></p><doubt alpha="40.2" length="87" tooSmall="False" monospace="0.0">beats,it],S). S =   [ [own (X, Y) , donkey (Y) , i (Y) , man (X) , i(X)]==&gt;[beat(X,Y)]]</doubt><p>This representation is true just in case for all individuals <i>X </i>and <i>Y </i>such that <i>X </i>is a man and <i>Y </i>a donkey and <i>X </i>owns <i>Y, </i>it is also true that <i>X</i><i> </i>beats <i>Y.</i><i></i></p></section><section title="Extending the Grammar to handle Quantifier-Raising"><p>In this section we sketch a syntactic ac­count of quantifier-raising inspired by the im­plementation of Cooper-storage (Cooper [4]) presented in Pereira and Shieber [12], to which we refer the reader for details.<page local="8" global="8"/> Each syntactic constituent is associated with a list of quanti­fiers that are "in storage" (this corresponds in an LF-movement account of quantifier-scope to being raised out of this constituent). Quantifi­cational determiners add items to the quantifier store, and at S nodes, quantifiers are removed from the store and applied to the semantic representation. The quantifier-store of nodes at which quantifiers are neither added nor re­moved is the shuffle of the quantifier-stores of its children.<footnote anchor="6"/>. The grammar presented below is simply the grammar presented above with the addition of quantifier-storage. The lexical entries for this grammar arc the same as the above, and so are not listed here.</p><doubt alpha="0.0" length="2" tooSmall="False" monospace="0.0">23</doubt><doubt alpha="53.8" length="290" tooSmall="False" monospace="0.0">q(String,  Analysis) :-external (S, Analysis), s(S,   [],   String, []). s(S,Qs)   —&gt; np(VP'Sl,Qnp), vp(VP,Qvp), (shuffle(Qnp,Qvp,Qls), apply_some(Qls,SI,Qs,S) }. np(NP,Qnp)   --&gt; det (Nl*NP,Qdet), nl(Nl,Qnl), {append(Qdet,Qnl,Qnp) }. nl (N,Qn)   --&gt; n (N,Qn) . nl(X~S,Qnl)   —&gt; n(X"Sl,Qn),</doubt><doubt alpha="54.1" length="85" tooSmall="False" monospace="0.0">rc(X~S2,Qrc), {conjoin (SI,S2,S), shuffle(Qn,Qrc,Qnl)). vp(X~S,Qvp)   --&gt; v(X~VP,Qv),</doubt><doubt alpha="51.2" length="80" tooSmall="False" monospace="0.0">np(VP"S,Qnp), {shuffle(Qv,Qnp,Qvp)}. rc(X"S2,Qrc)   —&gt;   [that],   vp(X~S1,Qvp),</doubt><doubt alpha="50.6" length="243" tooSmall="False" monospace="0.0">{apply_some(Qvp,SI,Qrc,S2) }. np ( (X"S1) "S, [] )   --&gt; [Pronoun], {pronoun (Pronoun), accessible_index(X,S2), compose(SI,S2,S)   }. v(X~Y~S,[])   —&gt;   [Verb], (verb(Verb,X'Y'Pred), atom(Pred,S)}. n(X"S,[])   --&gt;   [Noun], (noun(Noun,X'Pred),</doubt><footnote label="6">Treating the quantifier-store as a syntactic feature can express many properties of LF-movement accounts, such as quantificational islandhood, etc., without the explicit construction of additional repre­sentations</footnote><p>compose(SI, S2, S) , atom(Pred,SI) , new_index(X,S2)). det((X'Res)"(X'Scope)'Scope, [Quant])   --&gt; [Det], {determiner(Det, Res'Quant)].</p><p>The proposition shuffle (LI, L2, L3) is true just in case L3 is a list that can be seen as having been constructed in a sequence of steps in each of which the next available item is taken from either LI or L2 and added to the end. So long as items remain on both LI and L2, it is immaterial which of them supplies the next member of L3. What is important is that the members of LI and L2 should all be on L3, and in their original order. This relationship is assured by the following Prolog clauses:</p><p>shuffle([],[],[]).</p><doubt alpha="53.1" length="32" tooSmall="False" monospace="0.0">shuffle([QIQls],Q2s, [Q|Q3s]) :-</doubt><doubt alpha="56.6" length="53" tooSmall="False" monospace="0.0">shuffle(Qls,Q2s,Q3s). shuffle(Qls,[Q|Q2s],[Q|Q3s]) :-</doubt><p>shuffle(Qls,Q2s,Q3s).</p><p>The first clause asserts that the proposition is true of three empty lists, and serves to ter­minate the recursion implicit in the other two. The second clause says that, if Q2s and Q3s arc suffixes of a pair of lists to be shuffled, and that shuffling them gives Qls, then the item that precedes Qls in the final result can come from the first list, that is, it can be the item preceding Qls. The third clause says that, al­ternatively, the item preceding Qls can come from the second list.</p><p>The grammar also makes use of the predicate</p><p>apply_some(Quants, OldSemantic-Value, UnappliedQuants, NewSe-manticValue)</p><p>which is true if applying zero or more quanti­fiers from the beginning of the list <i>Quants </i>to a given <i>OldSemanticValue </i>yields <i>NewSemantic-Value </i>and leaves a suffix of that list of quanti­fiers, namely <i>UnappliedQuants </i>still unapplied. It can be defined with the following pair of clauses, the first of which terminates the se­quence of applications and the second of which applies the next quantifier in sequence.</p><doubt alpha="0.0" length="2" tooSmall="False" monospace="0.0">24</doubt><page local="9" global="9"/><p>apply_some(Qs,P,Qs,P). apply_some([P"Qp|Qs],P,Qls,PI) : -apply_some(Qs,Qp,Qls, PI).</p><p>'The new grammar can be used with the three different semantic constructors presented above. Using the Predicate-Logic constaictors, it yields results like the following:</p><doubt alpha="58.2" length="91" tooSmall="False" monospace="0.0">?- q([a,man,owns,a,donkey],S). S = donkey(Y)&amp;man(X)Sown(X,Y); S = man(X)&amp;donkey(Y)Sown(X,Y)</doubt><p>This example has two (scmantically-cquiva-lcnt) representations corresponding to the two scope possibilities for the two cxistcntially quantified NPs.</p><doubt alpha="49.6" length="113" tooSmall="False" monospace="0.0">?- q([every,man,owns,a,donkey],S). S = donkey(Y) &amp; man (X)==&gt;own (X,Y); S = man (X) ==&gt; (donkey (Y) Sown (X, Y) )</doubt><p>In this example the two non-equivalent rep­resentations correspond to the two different scope possibilities for the quantified NPs. These readings paraphrase as: There is a don­key <i>Y</i><i> </i>and for each man <i>X,</i><i> </i><i>X</i><i> </i>owns <i>Y</i><i> </i>and For each man <i>X </i>there is a donkey <i>Y </i>and <i>X </i>owns Y".</p><doubt alpha="65.4" length="26" tooSmall="False" monospace="0.0">?- q([every,man,that,owns,</doubt><doubt alpha="61.1" length="54" tooSmall="False" monospace="0.0">a,donkey,beats,it],S). S = donkey(Y)&amp;(man(X)Sown(X,Y))</doubt><doubt alpha="51.0" length="49" tooSmall="False" monospace="0.0">==&gt;beat (X,Z); S =   (man(X)Sdonkey (Y)Sown(X,Y))</doubt><doubt alpha="42.9" length="14" tooSmall="False" monospace="0.0">==&gt;beat (X,Z);</doubt><p>In this example the two non-equivalent representations correspond to the two differ­ent scope possibilities for the quantified NPs. These readings paraphrase as: There is a don­key <i>Y </i>and for each man <i>X </i>such that <i>X </i>owns <i>Y </i>it is the case that <i>X </i>beats <i>Y, </i>and "For each man <i>X </i>and donkey <i>Y </i>such that <i>X </i>owns <i>Y, </i>il is the case that <i>X </i>beats <i>Y.</i></p><p>Using the sets-of-infons constructors, we get the following results:</p><doubt alpha="50.7" length="69" tooSmall="False" monospace="0.0">?- q([every,man,owns,a,donkey],S). S = sO: [sO:sl==&gt;s2,s2: own(X,Y) ,</doubt><doubt alpha="44.8" length="29" tooSmall="False" monospace="0.0">si :i(X),si : man(X),S0:i(Y),</doubt><doubt alpha="45.1" length="51" tooSmall="False" monospace="0.0">sO:donkey(Y)]; S  = sO: [sO : sl==&gt;s2,s2: own(X,Y),</doubt><doubt alpha="35.7" length="42" tooSmall="False" monospace="0.0">s2 : i (Y) , s2 : donkey (Y) , si: i (X) ,</doubt><doubt alpha="50.0" length="12" tooSmall="False" monospace="0.0">si : man(X)]</doubt><p>The scope possibilities arc indicated here by the situation in which the noun phrases are interpreted. The first reading displayed cor­responds to ihe quantifier-raised interpretation, which paraphrases as: Situation <i>s()</i><i> </i>contains the individual <i>Y, </i>the fact that <i>Y </i>is a donkey, and the fact that for all ways of making <i>si </i>true, <i>s2 </i>is also true, where <i>si </i>contains the individual <i>X </i>and the fact that <i>X </i>is a man, and <i>s2 </i>con­tains the fact that <i>X </i>owns <i>Y. </i>Since <i>Y </i>is in sO, under this reading it is a potential antecedent for anaphors in for following sentences.</p><p>The second reading differs from the first in that the NP <i>a donkey </i>is interpreted in the subordinate situation <i>si </i>instead of 50. As well as causing <i>a donkey </i>to be quantilicationally subordinate to <i>every man, </i>this also makes <i>a donkey </i>unavailable as a potential antecedent for anaphors in following sentences.</p><p>We can therefore account for the fact that under normal intonation <i>a donkey </i>is interpreted as having wide scope over <i>every man </i>in the following discourse fragment (3).</p><doubt alpha="66.0" length="50" tooSmall="False" monospace="0.0">(3)    Every man saw a donkey. It had a bushy tail</doubt><p>We now consider one of the famous "don­key" sentences:</p><p>?- q([every,man,that,owns,a,donkey,</p><doubt alpha="41.1" length="56" tooSmall="False" monospace="0.0">beats,it],S). S =  sO : [sO : sl==&gt;s2, s2 :beat-(X, Y) ,</doubt><doubt alpha="54.8" length="31" tooSmall="False" monospace="0.0">si:own(X,Y),sl:i(X),sl:man (X),</doubt><doubt alpha="48.3" length="58" tooSmall="False" monospace="0.0">sO:i(Y),sO: donkey(Y)]; S = sO: [sO:sl==&gt;s2,s2:beat (X,Y),</doubt><doubt alpha="55.6" length="36" tooSmall="False" monospace="0.0">si:own(X,Y),sl:i(Y),sl: donkey (Y) ,</doubt><doubt alpha="45.5" length="22" tooSmall="False" monospace="0.0">si :i (X) ,si:man (X)]</doubt><p>The first reading displayed again corresponds to the quantifier-raised interpretation, which paraphrases as: Situation <i>si) </i>contains an indi­vidual <i>Y</i>, and the facts that <i>Y </i>is a donkey and that every way of making 51 true also makes 52 true, where 51 contains the individual <i>X </i>and the facts that <i>X </i>is a man and <i>X </i>owns <i>Y, </i>and 52 contains the fact that <i>X </i>beats <i>Y.</i></p><doubt alpha="0.0" length="2" tooSmall="False" monospace="0.0">25</doubt><page local="10" global="10"/><p>?- q([every,man,that,owns,a,donkey,</p><p>Finally, the discourse-representation con­structors yield the following:</p><p>?- q([every,man,owns,a,donkey] , S ) .</p><doubt alpha="42.0" length="100" tooSmall="False" monospace="0.0">S = [[i(X),man(X)]==&gt;[own(X,Y)],i(Y), donkey(Y)]    S = [[i(X),man(X)] ==&gt;[own(X,Y),i(Y),donkey(Y)]]</doubt><p>Again, these representations arc direct nota­tional variants of the two sets-of-infons repre­sentations of this sentence given above. The truth conditions of the first reading correspond to the wide-scope interpretation of <i>a donkey, </i>and can be paraphrased as: There is a donkey <i>Y, </i>and for every man <i>X </i>such that <i>X </i>owns <i>Y, </i><i>X</i><i> </i>beats <i>Y.</i></p><doubt alpha="37.7" length="53" tooSmall="False" monospace="0.0">beats,it],S). S =   [ [own (X, Y) , i (X) , man (X) ]</doubt><doubt alpha="38.6" length="83" tooSmall="False" monospace="0.0">==&gt;[beat(X,Y)],i(Y),donkey (Y)]; S =   [ [own (X, Y) , i (Y) , donkey (Y) , i (X) ,</doubt><doubt alpha="38.5" length="26" tooSmall="False" monospace="0.0">man(X)]==&gt;[beat (X, Y) ] ]</doubt><p>The same correlation between quantifica­tional scope and anaphoric scope holds with these constructors, as expected.</p></section><section title="Conclusion"><p>We have worked out a scheme for comput­ing the logical forms of sentences incremen­tally in the course of parsing them which we believe achieves an unprecedented level of ab­straction of the semantic from the syntactic parts of the grammar. The very incrementality of the scheme might be used to argue against it. Given the prevalence of scope ambiguities, the interests of computational efficiency may be best served by a scheme that delays all seman­tic computation until the parsing is complete so as not to work unnecessarily on phrases that turn out not to be capable of incorporation in a complete analysis of the sentence. Hobbs and</p><p>Sheibcr [7] adopt such a scheme apparently on the grounds of greater perspicuity. In any case, the modifications that need to be made to our scheme are entirely trivial, requiring only the introduction of a modest amount of symbolic computation. Basically, the idea is to use oper­ations which, instead of returning pieces of the final logical form incrementally and nondctcr-ministically, return expression that will exhibit this nondelcrministic behavior when evaluated later. The later evaluation will, of course, be as specified be the definitions we have given. In short, we believe that the abstractions we have created effectively isolate the syntactic rules both from the corresponding semantic formal­ism and from the architecture of the system by which both of them will be interpreted.</p></section><section title="Bibliography"><p>[1] Abramson, H., and Dahl, V. Logic Gram­mars. Springer Verlag, New York, 1989.</p><p>[2] Barwisc, J., and Perry, J. Situations and At­titudes. Bradford Books/MIT Press, Cam­bridge, Massachusetts, 1983.</p><p>[3] Colmeraucr, A. An interesting subset of natural language. In Logic Programming, K. L. Clark and S.-A. Tamlund, Eds. Academic Press, New York, 1982.</p><p>[4] Cooper, R. Quantification and Syntactic Theory, vol. 21 of Synthese Language Library. D. Rcidcl, Dordrecht, 1983.</p><p>[5] Davidson, D. The logical form of ac­tion sentences. In The Logic of Decision and Action, N. Rcscher, Ed. University of Pittsburgh Press, Pittsburgh. Pennsylvania, 1967.</p><p>[6] Fenstad, J. E., et al. Situations, Language and Logic. Rcidel, Dordrecht, 1987.</p><p>[7] Hobbs, J. R., and Shiebcr, S. M. An al­gorithm for generating quantifier scopings. Computational Linguistics 13, 1-2, 47-63.</p><p>[8] Johnson, M., and Klein, E. Discourse, anaphora and parsing. In Coling 88 (Bonn, West Germany, 1986).</p><doubt alpha="0.0" length="2" tooSmall="False" monospace="0.0">26</doubt><page local="11" global="11"/><p>[9] Kamp, H. A theory of truth and semantic representation. In Formal Methods in the Study of Language, J. A. G. Groencndijk, T. M. V. Janssen, and M. B. J. Stokhof, Eds., vol. 136. Mathematical Centre Tracts, Amsterdam, 1981, pp. 277-322.</p><p>[l()]Karttunen, L. Discourse referents. In Syn­tax and Semantics, 7, J. McCawley, Ed. Academic Press, New York, 1976, pp. 363­385.</p><p>[HJMcCord, M. C. Focalizcrs, the scoping problem, and semantic interpretation rules in logic grammars. In Logic Programming and Its Applications. Ablcx, New Jersey, 1986.</p><p>[12]Pcrcira, F. C. N., and Shiebcr, S. M. Prolog and Natural Language Analysis, vol. 10 of CS.L.I. Lecture Notes Scries. Chicago University Press, Chicago, 1987.</p><p>[13]Thomason, R. Formal Philosophy. Se­lected Papers of Richard Montague. Yale University Press, New Haven, Connecti­cut, 1974.</p><doubt alpha="0.0" length="2" tooSmall="False" monospace="0.0">27</doubt></section></body></article>