<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<TEI xmlns="http://www.tei-c.org/ns/1.0" xmlns:ns2="http://www.tei-c.org/ns/Examples">
    <teiHeader>
        <fileDesc>
            <titleStmt>
                <title>Inheritance and Constraint-Based Grammar Formalisms</title>
            </titleStmt>
        </fileDesc>
    </teiHeader>
    <text>
        <front/>
        <body>
            <div>
                <p>R6mi Zajac*t Project POLYGLOSS We describe an approach to unification grammars that integrates two paradigms: the objectoriented approach, which offers multiple inheritance, complex objects with role-value restrictions and role-values equality, querying as subsumption; the relational programming approach, which offers declarativity, logical variables, nondeterminism with backtracking, and existential queries. This approach is embodied in a constraint-based object-oriented formalism. The interpreter of the formalism is described as a term rewriting system based on unification of typed feature structures.</p>
                <p>The grammar writer organizes unification grammars as inheritance networks of typed feature structures. Complex linguistic structures are described by means of recursive type constraints. We illustrate the use of inheritance networks with two examples: an HPSG example where implication (as used for &quot;principles&quot;) is modeled using inheritance and an example of bilingual transfer where the minimal amount of information needed for the translation is specified at different levels of generalization. Ideally, a linguistic formalism combining the best of the object-oriented approach and the unification-based approach would be realized in a constraint-based architecture for an object-oriented language based on inheritance, feature structures, and unification.</p>
                <p>The Typed Feature Structure language (TFS) is an attempt o provide a synthesis of several key concepts stemming from unification-based grammar formalisms (feature structure: Kay 1984) knowledge representation languages (inheritance), and logic programming (narrowing). The formalism supports an object-oriented style based on abstraction and generalization through inheritance; it is a fully declarative formalism based on unification of typed feature structures. It is flexible and has enough expressive power to support various kinds of linguistic theories, not necessarily based on constituencyL</p>
                <p>The use of an object-oriented methodology for natural language processing is very attractive, and the use of inheritance offers a number of advantages uch as abstraction and generalization, information sharing and default reasoning, and modularity and reusability (Daelemans 1990). Inheritance-based descriptions are already used in computational linguistics: linguistic theories such as Systemic Functional Grammar (Halliday 1985), Word Grammar (Fraser and Hudson 1990), or HPSG (Pollard * IMS-CL/IfI-AIS, University of Stuttgart, Azenbergstrat~e 12,D-W-7000 Stuttgart 1. E-marl:</p>
                <p>zajac@informatik.uni-stuttgart.de, t Research reported in this paper is partly supported by the German Ministry of Research and</p>
                <p>Technology (BMFT, Bundesminister ffir Forschung und Technologie), under grant No. 08 B3116 3. The</p>
                <p>views and conclusions contained herein are those of the author and should not be interpreted as</p>
                <p>representing official policies. 1 In particular, itallows a direct implementation ofHPSG-style grammars (Emele 1988): HPSG is so far</p>
                <p>the only linguistic theory based on both inheritance and feature structures. (~ 1992 Association for Computational Linguistics Computational Linguistics Volume 18, Number 2 and Sag 1987) make use of inheritance to describe linguistic structures at the lexical, morphological, syntactic, or semantic (conceptual) levels. These theories are usually directly implemented in object-oriented programming languages (e.g., LOOM in the case of the PENMAN system \[Mann and Matthiessen 1985\]), but there is a growing number of linguistic formalisms used for specific purposes, e.g., DATR (Evans and Gazdar 1989) for the lexicon.</p>
                <p>On the other hand, current linguistic theories such as LFG, UCG, HPSG, and some formalisms for linguistic description such as FUG or PATR-II are based on the notion of partial information: linguistic structures are described using feature structures that give partial information about the object being modeled, a linguistic structure being described by a set of feature structures that mutually constrain the description. Feature structures are partially ordered according to a subsumption ordering interpreted as an ordering on the amount of conveyed information; the combination of information is defined as the unification of feature structures. Formalisms based on feature structure and unification are declarative, and they can be given a sound formal semantics.</p>
                <p>Combining object-oriented approaches to linguistic description with unificationbased grammar formalisms, as in HPSG, is very attractive. On one hand, we gain the advantages of the object-oriented approach: abstraction and generalization through the use of inheritance. On the other hand, we gain a fully declarative framework, with all the advantages of logical formalisms: expressive power, simplicity, and sound formal semantics. To arrive at such a result, we have to enrich the formalism of feature structures with the notion of inheritance and abandon some of the procedural features of object-oriented languages in order to gain referential transparency.</p>
                <p>Referential transparency is one of the characteristic properties of declarative languages (Stoy 1977), where the meaning of each language construct is given by a few simple and general rules. For example, the value of a variable should be independent from its position within the scope of its declaration. This is true for PROLOG variables inside a clause, but not for PASCAL or LIsP variables that make use of assignment. A higher level example is the meaning of a procedure: it is not transparent if the procedure makes use of global variables that are set by some other procedure. Similarly, the meaning of a PROLOG predicate should be transparent because there is no global variable, but a predicate definition might be modified during execution by imperative predicates uch as assert and retract, thus destroying the referential transparency of pure PROLOG.</p>
                <p>Clearly, most of the object-oriented languages lack referential transparency in several ways, using for example procedural attachments for object methods. Another example is the use of nonmonotonic inheritance, which is advocated in computational linguistics by, for example, Evans and Gazdar 1989; Bouma 1990; De Smedt and de Graaf 1990; and Fraser and Hudson 1990. Nonmonotonic inheritance is seen as a practical device designed to deal with exceptions, but such a feature goes against generality and referential transparency. Furthermore, as expressed by Etherington et al. 1989, a still unresolved issue in nonmonotonic reasoning is the issue of ... scaling formal non-monotonic theories up to real problems (merely a formality?). Most existant heories are intractable some don't have even a proof theory--and it is often difficult to tell how large bodies of information will (or even should) interact. Given the complexity of the state of the art in nonmonotonic reasoning and the lack of</p>
            </div>
            <note n="1." place="below">Introduction</note>
            <div1>
                <head xml:id="sec160"></head>
                <p>R6mi Zajac Inheritance and Constraint-Based Grammar Formalisms a basic commonly agreed formalization, a the issue of nonmonotonicity is not addressed in the work described in this article.</p>
                <p>Knowledge representation languages are evolving toward more declarativity, as exemplified by the evolution from KL-ONE (Brachman and Schmolze 1985) to languages such as GLASSIC (Borgida et al. 1989) or LOOM (MacGregor 1988, 1990). The terminological component describing the objects (the data model of object-oriented database systems) has always been more declarative than the assertional component (procedural attachment or methods), and the current trend is to integrate those two components more closely, where the assertional component is some kind of rule-based system, as in LOOM (Yen, Neches, and MacGregor 1988).</p>
                <p>Typed feature structures are very similar to structured objects of object-oriented languages and to conceptual structures of knowledge representation languages. Thus, typed feature structures have the potential to act as a lingua franca for both computational linguistics and artificial intelligence, and this should ease the communication between those two worlds. Since conceptual structures are used for example in text generation (Bourbeau et al. 1990) or knowledge-based machine translation (Nirenburg et al. 1992), typed feature structures provide an attractive alternative to current procedural implementations.</p>
                <p>In Section 2, we present a language that combines the notions of partial information and inheritance in a fully declarative framework. It is based on feature structures augmented with the notion of types, which are organized into an inheritance network. Using types, it is possible to define structured domains of feature structures and to classify feature structures. Logical conditions are attached to types, akin to method attachment, but in a fully declarative framework. Recursivity is an integral part of the language, giving the necessary expressive power for describing complex recursive linguistic structures. We end the section by an overview of the TFS abstract rewrite machine used for computing descriptions of the meaning of typed feature structures. 3</p>
                <p>Section 3 describes the use of inheritance in two examples of unification grammars using the TFS formalism: an HPSG grammar for a fragment of English and an LFGstyle transfer grammar for a small machine translation problem between English and French.</p>
            </div1>
            <div1>
                <head xml:id="sec2.">Inheritance Networks of Typed Feature Structures</head>
                <p>Assume the existence of an (abstract) informational domain U, for example, the set of linguistic objects. Feature structures describe objects of this universe by specifying values for attributes of objects and equality constraints between some values. More precisely, as feature structures can provide only partial information about the objects they describe, a feature structure denotes a set of objects in this universe. This set could be a singleton set, for example, in the case of atomic feature structures. Feature structures are ordered by a subsumption relation: a feature structure fl subsumes another feature structure f2 iff fl provides the same or less information than f2: fl _&gt; f2. In our universe, this means that the set described by fl is a superset of the set described by f2. Note that there can be feature structures that cannot consistently describe the 2 The KR logic (Rounds and Kasper 1986), from which most of other logic formalizations of feature</p>
                <p>structures are derived, plays this role in formal accounts of feature structures. 3 This formalism is fully implemented. An interpreter for the TFS rewrite machine has been</p>
                <p>implemented at the University of Stuttgart by Martin Emele and the author and has been used to test</p>
                <p>several linguistic models such as DCG, LFG, HPSG, and SFG \[Emele and Zajac 1990b; Emele et al.</p>
                <p>1990; Zajac 1990a; Bateman and Momma 1991\]. Computational Linguistics Volume 18, Number 2 same objects. For example, a feature structure describing verb phrases and a feature structure describing noun phrases are not consistent: the intersection of the sets they denote is usually empty.</p>
                <p>As different sets of attribute-value pairs make sense for different kinds of objects, we also divide our feature structures into different ypes. These types are ordered by a subtype relation: a type t2 is a subtype of another type tl if t2 provides at least as much information as tl. For example, assuming that a verb phrase is a phrase, then the set of verb phrases is included in the set of phrases. Using types to model this taxonomic hierarchy, the type symbol VP denotes the set of verb phrases, the symbol PH denotes the set of phrases, and we define VP as a subtype of I'H.</p>
                <p>This description implies that, if we know that a linguistic object is a verb phrase, we can deduce that it is a phrase. This deduction mechanism is expressed in our type system as type inheritance. Furthermore, with each type we associate constraints expressed as feature structures, thereby defining an inheritance network of typed feature structures: ifa feature structure is of type t and tlhere exist supertypes of t, then t inherits all the attribute-value pairs and equality constraints of the feature structures associated with all the supertypes of t.</p>
                <p>Computation isperformed by a typed feature structure machine capable of checking a set of type constraints defined as an inheritance network of typed feature structures. Given a typed feature structure inheritance network, we query the machine by asking if some feature structure satisfies the constraints defined by the network. To produce the answer, the system proceeds by gradually adding the constraints that should be satisfied by the query: an answer will be a set of feature structures where each feature structure is subsumed by the query and where all the type constraints of the network hold on all substructures ofthe elements of the answer. The answer is the empty set when the query does not satisfy the constraints defined by the network. Related work. The basic approach described in this section is based on original work by Ait-Kaci (1984, 1986) on the KBL language and has also been influenced by the work on HPSG by Pollard and Sag (1987) and Pollard and Moshier (1990). Among the growing literature on the semantics of feature structures, many relevant results and techniques have been published by Smolka (1988, 1989), Smolka and A'/t-Kaci (1988), and AitKaci and Podelski (1991). Based on Pollard and Sag (1987), Pollard (1990), and Pollard and Moshier (1990), a computational formalism, very close to the TFS formalism, is currently under design at CMU for implementing HPSG (Carpenter 1990, Franz 1990).</p>
                <p>The early work presented in Emele and Zajac (1989a) was an attempt o directly implement he ideas presented in Ait-Kaci (1984, 1986); Emele and Zajac (1989b) was already a departure from Ait-Kaci's KBL language, implementing a different evaluation strategy that allowed the use of cyclic feature structures. Compared with the KBL language, the current TFS language • allows the use of cyclic feature structures, • has a simple operational semantics implementing an inheritance rule and a specialization rule, • uses a lazy evaluation scheme for the evaluation of constraints, • implements tatic coherence checks, • has a simple syntax distinguishing the definition of the partial order on type symbols, and the definition of constraints associated to types. R6mi Zajac Inheritance and Constraint-Based Grammar Formalisms</p>
                <div2>
                    <head xml:id="sec2.1">Types</head>
                    <p>In the following presentation, we adopt an algebraic approach based on lattice theory (Birkoff 1984; Ait-Kaci 1984). Alternative presentations could be developed as well; for example, a proof-theoretical pproach using an adaptation of a feature logic (Rounds and Kasper 1986; Smolka 1988). It is possible to prove formally the equivalence of these different models, as this is done for the LIFE language in Ait-Kaci and Podelski (1991). The presentation isnevertheless rather informal, and a more technical account can be found in Emele and Zajac (1990a) and Zajac (1990b).</p>
                    <p>The universe of feature structures is structured in an inheritance network that defines a partial ordering on kinds of available information. The backbone of the network is defined by a finite set of type symbols T together with a partial ordering &lt; on T: the partially ordered set (poset) (T, -&lt;/- The ordering _ defines the subtype relation: for A, B E T we read A &lt; B as &quot;A is a subtype of B.&quot; We call the smallest types of T the minimal types.</p>
                    <p>To have a well-behaved type hierarchy, we require that (T, _&lt;) be such that: • T contains the symbols T and _1_, where T is the greatest element and _1_ is the least element of 7-.4 any two type symbols A and B of T have a greatest common lower bound written glb(A, B}. A poset where greatest common lower bounds exist is a meet semi-lattice: we introduce a new operation A A B = glb(A, B}, where A A B is called the meet of A and B.</p>
                    <p>Since we allow the user to specify any finite poset, a technicality arises when two types do not have a unique greatest common lower bound: in that case, the set of greatest common lower bounds is interpreted isjunctively using the following powerlattice construction, which preserves the ordering and the existing meets.</p>
                    <p>The poset (T, &lt;) is embedded in (crowns(T), C-H). The set crowns(T) is the set of all nonempty subsets of incomparable lements of T (the &quot;crowns&quot; of T). These subsets are partially ordered by the Hoare ordering GH: VX, Y E crowns(T), X GH Y iff Vx E X, 3y C Y such that x &lt; y.</p>
                    <p>The canonical injection of T in crowns(T), which takes any element x of T into the singleton {x} trivially preserves the ordering: {x} GH {y} iff x ~ y.</p>
                    <p>The meet between two elements X and Y of crowns(T), X ~ Y, is defined as the union of the intersection of each of the principal ideals generated by the elements of X with each of the principal ideals generated by the elements of Y and then extracting the maximal elements. It is easy to see that existing meets are preserved: {z} -- {x} ~ {y} iffz=xAy.</p>
                    <p>Some meets are added, as in the following example. Let ({a, b, c, d}, _&lt;) be a poset where d &lt; b, d &lt; a, c &lt; b, and c &lt; a (this poset is represented using a Hasse diagram in Figure 1). The meet a A b does not exist, but {a} R {b} -~ {c, d}, and this meet is interpreted isjunctively.</p>
                    <p>The join between two elements Xand Y of crowns(T), X U Y, is defined as the set of maximal elements of the union of X and Y. It can be shown that, equipped with R and U, (crowns(T), ~-H/is a distributive lattice. This construction is carried over to typed feature structures, with the property that this definition of the join does not lose information, contrary to the strict generalization of feature structures: this definition of 4 T represents underspecified information, and ± represents inconsistent i formation. Computational Linguistics Volume 18, Number 2 b {a, c, d \[b, c, d} c d {el \[d} Figure 1 A poset and the set of the principal ideals generated by the elements of the poset ordered by set inclusion. the join is appropriate to represent disjunctive information as, for example, generated by a nondeterministic computation (see Section 2.4).</p>
                    <p>This powerlattice construction is completely transparent o the user, and to simplify the presentation, we will assume in the following that (T, ~) is a meet semilattice. 2.2 Feature Structures We use the attribute-value matrix (AVM) notation for feature structures, and we write the type symbol for each feature structure in front of the opening square bracket of the AVM. In the remainder of this section, we shall implicitly refer to some given signature (T, &lt;, .T / where (T, ~, ) is a type hierarchy and ~&quot; is a set of feature symbols, and we shall also assume a set of variables V.</p>
                    <p>A typed feature structure t is then an expression tl\] of the form \[\]A ...</p>
                    <p>: tn where \[\] is a variable in a set of variables V, A is a type symbol in T, fl,..., fn (with n _&gt; 0) are features in ~-, and h,.-., tn are typed feature structures.</p>
                    <p>We have to add some restrictions that capture properties commonly associated with feature structures: 1. A feature is a selector that gives access to a substructure: ithas to be unique for a given feature structure. 2. 3_ represents inconsistent information: it is not allowed in a feature structure. 3. A variable is used to capture equality constraints (&quot;reentrancy&quot;) in the feature structure, and the shared value is represented only once: there is at most one occurrence of a variable \[\] that is the root of a structure different from \[\]T.</p>
                    <p>Given a signature (T, _&lt;,/T), feature structures are partially ordered by a subsumption relation. This captures the intuitive notion that a feature structure t~ containing R6mi Zajac Inheritance and Constraint-Based Grammar Formalisms more information than a feature structure t is more specific than t. A feature structure t subsumes a structure {, t &gt; t' iff: 1. all paths in t are in t~; 2. all equality constraints in t hold in t'. 3. for a given path in t, its type isgreater or equal than the corresponding type in tq</p>
                    <p>Since we have a partial order on feature structures, the meet operation between two feature structures tand t r is defined in the usual way as the greatest common lower bound of t and tq It is computed using a typed unification algorithm. A feature structure is represented as a graph where each node has a type, an equivalence class used to represent equational constraints (&quot;co-references&quot;), and a set of outgoing arcs. The unification algorithm uses the union/find procedure on an inverted set representation of the equivalence classes adapted by Ait-Kaci (1984) after Huet (1976). The actual algorithm used in the system is optimized using several different echniques to minimize copying and to behave as efficiently as a pattern-matcher in cases when one of the feature structures ubsumes the other (Emele 1991). 2.3 Inheritance Network of Feature Structures The template mechanism (as, for example, in PATR-II \[Shieber 1986\]) already provides a simple inheritance mechanism used to organize lexical descriptions. In comparison, networks of typed feature structures are more expressive and provide a more general and more powerful inheritance mechanism, which allows the use of recursive type definitions, whereas recursivity is forbidden in templates since they are expanded statically using a macro-expansion mechanism. Furthermore, typing provides a notion of well-formedness that is used to implement a type-discipline and consistency checks, giving the user the means of checking statically the coherence of a set of type definitions. 2.3.1 Type Discipline. As different combinations of attribute value pairs make sense for different kinds of objects, we divide our feature structures into different classes by associating with a type a certain class of feature structures. Each type defines a specific collection of features that are appropriate for it, restrictions on their possible values, and equality constraints between values. The definition of a type A is def(A), expressed as a feature structure (of type A). A type symbol that does not have any definition is called an atomic type. A type that has a definition is called a complex type.</p>
                    <p>The association of types and feature structures allows the definition of wellformedness conditions for feature structures using the following two typing rules: Typing Rule 1:</p>
                    <p>A feature appearing in a feature structure has always to be declared as</p>
                    <p>appropriate for some type. The user cannot introduce arbitrary features:</p>
                    <p>one must declare all the features that one will use. All features that are</p>
                    <p>not explicitly declared as being appropriate for some type are by default</p>
                    <p>defined as being appropriate for _L. Typing rule 2:</p>
                    <p>A feature structure cannot have a feature that is not appropriate for its Computational Linguistics Volume 18, Number 2 type or for one of the supertypes. Thus, any feature structure with a feature f has to belong to some type for which f is appropriate.</p>
                    <p>These well-formedness conditions are enforced at compile-time using a type inference procedure which infers for each feature structure its possible minimal types. If the inferred type is _l_, an error is reported indicating that the respective feature structure does not obey the typing rules. The internal representation built by the compiler uses these inferred minimal types to ensure that it is not possible to add an arbitrary feature to a feature structure during computation, but only those declared for the type of the structure, thus preserving well-formedness. 2.3.2 Inheritance and Generalization. Since types are organized in an inheritance network, a type inherits all the features, value restrictions, and equality constraints from all its super-types monotonically: the constraints expressed as feature structures are conjoined using typed unification. The compiler makes sure that the user has specified an inheritance network, building an internal representation where for every two types such that A &lt; B we have def(A) &lt; def(B). 5 If there is a type A such that A # _1_ and def(A) = 3_, the network is inconsistent and an error is reported. The compiler also has a generalization step where all constraints common to all subtypes of a given type are also defined for that type. 2.3.3 Interpreting an Inheritance Network. The constraints expressed as an inheritance network are interpreted as follows. For a given typed feature structure t= GIA\[...\], the feature structure tbelongs to the domain of A (i.e., it satisfies the constraints associated with A) if and only if: Inheritance Rule:</p>
                    <p>t satisfies the constraints pecified by the definition of A and by the defi-</p>
                    <p>nitions of all the supertypes of A; Specialization Rule:</p>
                    <p>t satisfies the constraints pecified by the definitions of at least one of</p>
                    <p>the subtypes of A.</p>
                    <p>The inheritance rule states the necessary conditions for a feature structure of type A to satisfy the constraints associated with A. The specialization rule states the sufficient conditions and implements akind of closed-world assumption: a type is exhaustively covered by its subtypes. For example, a feature structure of type LIST can be an empty list (type NIL) or a nonempty list (CONS), but nothing else. These two rules are implemented by the TFS interpreter described in Section 2.4. Example. A simple example of an inheritance network of feature structures is displayed in Figure 2 using Hasse diagrams. The subnetwork on the right defines a domain of lists expressed as feature structures: the set of all possible lists is defined by the type LIST, which has no associated constraints. This type has two subtypes: • NIL is an atomic type and represents the empty list; • CONS is a complex type and represents the set of all possible nonempty</p>
                    <p>lists and defines the following constraints, ik feature structure of type 5 Inheritance is pre-computed statically: AG B =~ def(A) = def(A) A def(B). R6mi Zajac Inheritance and Constraint-Based Grammar Formalisms APPEND0\[2: \[\]\]LIST I , APPENDli2: ~\]LIST :- APPEND \[,o1 2: \[\] t3: J /3: Figure 2 Type hierarchy for LIST and APPEND (T and 3_ omitted). CONS has only two features (first typing rule): first, whose value is the first element of the list and can be anything, and rest, whose value is constrained to be a list. 6 Note that this latter constraint is recursive.</p>
                    <p>The subnetwork on the left defines the domain of the APPEND relation, encoded using feature structures. The constraints associated with the supertype APPEND say that it has three arguments, identified by the features 1, 2, and 3, and that the values of all arguments hould be in the LIST domain. The subtypes APPEND0 and APPEND1 encode the two cases where the first argument is the empty list (APPEND0), and the nonempty list (APPEND1), in a way similar to the classical PROLOC encoding. As shown for the type APPEND1, it is possible to have additional constraints that are not represented in the feature structure proper: they are introduced by the ':-' sign. 7 These conditions can be inherited and are conjoined using the logical and operation. For APPEND1, the condition states the recursive constraint on the concatenation of the lists, which is expressed as a feature structure of type APPEND. 2.4 The TFS Abstract Rewrite Machine The meaning (denotation) of a typed feature structure t in a universe U defined by an inheritance network is represented by the largest set of feature structures St = {h,..., tn} such that, for all ti</p>
                </div2>
            </div1>
            <note n="1:" place="below">LIST 1 LIST</note>
            <div1>
                <head xml:id="sec1."></head>
                <p>ti &lt;_ t, and 2. for all substructures u = \[XIA\[...\] of ti, type A is a minimal type and u ~ def(A).</p>
                <p>The first condition says that all the elements of St satisfy the constraints expressed by t. The second condition says that all the elements of ,St satisfy the constraints defined Computational Linguistics Volume 18, Number 2 LIST LIST APPEND \[!: APPEND : LIST\] : LIST.\] : LIST\[ : LIST\] NIL CONSIfirst: T</p>
                <p>Lrest: LIS'\[ APPEND0/2: m L: ~T</p>
                <p>rst:N CO lSLrest: \[\] \[\] LIST : CONS\[ first:N</p>
                <p>\[rest:IN APPEND1 Figure 3 Rewrite rules for LIST and APPEND. by the network. If St is empty, the feature structure t is inconsistent (modulo the constraints of the inheritance network). St can be finite, e.g. in the case of a dictionary, but it can also be infinite in the case of recursive types: for example, the set of feature structures subsumed by LIST is the (infinite) set of all possible lists represented as feature structures,</p>
                <p>In this section, we describe an abstract rewrite machine for computing the representation of the denotation of typed feature structures given an inheritance network. The rewrite mechanism is based on a variant of narrowing 9adapted to feature structures.</p>
                <p>An inheritance network of feature structures is compiled into a rewriting system as follows: each direct link between a type A and a subtype B generates arewrite rule of the form A\[a\] --* B\[b\] where A\[a\] and B\[b\] are the definitions of A and B, respectively. Figure 3 shows the rewrite rules corresponding to the network of Figure 2.</p>
                <p>The interpreter is given a &quot;query&quot; (formulated as a typed feature structure) to evaluate. The first step is to check that the feature structure respects the two typing rules (Section 2.3.1). The idea is then to try to satisfy all the constraints defined by the inheritance network by incrementally adding more constraints to the query using the rewrite rules (nondeterministically) toget closer to the solution step by step. The rewriting process stops when conditions 1 and 2 described above hold.</p>
                <p>A rewrite step for a structure t is defined as follows: if u is a substructure of t at path p and u is of type A, and there exists a rewrite rule A\[a\] --, B\[b\] such that • A\[a\] A u 3_, and • A\[a\] A u &lt; A\[a\] then the right-hand side B\[b\] is unified with the substructure uat path p, giving a new structure t' that is more specific than t (Figure 4). R6mi Zajac Inheritance and Constraint-Based Grammar Formalisms Figure 4 A rewrite step.</p>
                <p>The first condition checks that the rule is applicable: the 1.h.s. has to be consistent with the substructure. The implementation factorizes common 1.h.s., avoiding the DNF expansion: if a 1.h.s. l of a rule l --* r is not consistent with the substructure, this computation branch is a failure branch, and all rules u ~ v where u &lt; I are discarded in one step without further computation.</p>
                <p>The second condition implements a lazy rewriting strategy: if A\[aJ A u is equal to A\[a\], all rules A\[a\] --* B\[b\] could be applied with success, and failure could come only from the rewriting of some other substructures after the exploration of all choices for u. To avoid the exploration of failure branches as much as possible, the evaluation of the substructure u is suspended until the evaluation of some other substructure having some part in common with u makes u more specific, narrowing the set of potential choices for the subtypes of A for u. Thus, the search space is explored &quot;intelligently,&quot; postponing the evaluation of branches of computation that would correspond for example to uninstantiated PROLOC goals (see for example van Hentenryck and Dincbas \[1987\], van Hentenryck \[1989\] on evaluation techniques in constraint logic programming).</p>
                <p>Rewrite steps are applied nondeterministically everywhere in the structure until no further rule is applicable. 1°</p>
                <p>The choice of which substructure to rewrite is only partly determined by the availability of information (using the lazy rewriting rule). When there are several substructures that could be rewritten, the computation rule is to choose one of the outermost ones, i.e., one closest to the root of the feature structure (innermost strategies are usually nonterminating). This outermost rewriting strategy is similar to hyperresolution in logic programming. In comparison, PROLOG uses a leftmost computation rule.</p>
                <p>For a given substructure, the choice of which rule to apply is done nondeterministically, and the search space is explored depth-first using a backtracking scheme. Although this strategy is not complete (a complete breadth-first search strategy could be used for debugging purposes), the use of the outermost rule has favorable termination 10 Conditions do not change this general scheme (they are evaluated using the same rewriting</p>
                <p>mechanism) and are omitted from the presentation here for the sake of simplicity. See for example</p>
                <p>Dershowitz and Plaisted (1988) and Klop (1990) for a survey on rewriting. Computational Linguistics Volume 18, Number 2 properties when compared to PROLOG'S leftmost rule: there are problems where a TFS computation will terminate when the corresponding logic program implemented in PROLOG will not; for example, for left-recursive rules in naive PROLOG implementations of DCGs. 3. Inheritance and Constraint-Based Grammars</p>
            </div1>
            <note n="6" place="below">Conversely, using the second typing rule, we can deduce that CONS is a possible type for \[first : Mary, rest : T\], since the combination of first and rest is defined as appropriate for CONS. 7 This construction provides room for future evolution of the formalism by adding new kinds of constraints that cannot be directly expressed in the AVM format e.g., negation. A definition &quot;X : - Y, Z.&quot; is read &quot;X such that Y and Z.&quot;</note>
            <note n="8" place="below">See A'ff-Kaci (1984), Pollard and Moshier (1990), and Emele and Zajac (1990a) for fixed-point characterizations of the denotation of typed feature structures. 9 Narrowing uses unification instead of pattern-matching for checking the applicability of the l.h.s, of a rule. Narrowing is used in the logic programming paradigm (e.g., as an alternative to resolution for implementing PROLOG interpreters). Pattern-matching is used in the functional programming paradigm.</note>
            <div1>
                <head xml:id="sec3.1">Related Approaches In the constraint-based framework, a grammar is regarded as a set of constraints to be satisfied by a given linguistic object: parsing and generation differ only in the nature of the &quot;input,&quot; and use the same constraint evaluation mechanism. The properties of a computational framework for implementing constraint-based grammars are:</head>
                <p>• A unique general constraint solving mechanism is used: grammars define constraints on the set of acceptable linguistic structures. • As a consequence, there is no formal distinction between &quot;input&quot; and &quot;output.&quot; For example, the same kind of data structure could be used to encode both the string and the structural description, and, as for the HPSG sign (Pollard and Sag 1987), they could be embedded into a single data structure that represents the relation between the string and the associated linguistic structure. • Specific mapping properties, based on constituency, linear precedence, or functional composition, are not part of the formalism itself, but can be encoded explicitly in the formalism.</p>
                <p>An approach that uses a unique deductive mechanism for parsing and generation is described in Dymetman and Isabelle (1988). Within this approach, a lazy evaluation mechanism based on the specification of input/output arguments is implemented (in PROLOG), and the evaluation is completely data-driven: the same program parses or generates, depending only on the form of the input structure.</p>
                <p>A constraint-based grammar does not need a context-free mechanism to build up constituent structures for parsing or generation: Dymetman, Isabelle, and Perrault (1990) describe a class of reversible grammars (&quot;Lexical Grammars&quot;) based on a few composition rules that are very reminiscent of categorial grammars. Other kinds of approaches have been proposed, e.g., using a dependency structure and linear precedence relations (Reape 1990; see also Pollard and Sag \[1987\]). In Saint-Dizier (1991), linear precedence rules are defined as constraints in a language based on typed feature structures and SLD-resolution, which is used to experiment with GB theory.</p>
                <p>In the following sections, we describe two examples of constraint-based grammars: an HPSG grammar for a fragment of English, and an LFG-style transfer grammar for a small machine translation problem between English and French.</p>
            </div1>
            <div1>
                <head xml:id="sec3.2">Head-Driven Phrase Structure Grammar In general, a grammar describes the relation between strings of words and linguistic structures. To implement a constraint-based grammar in TFS, we have to encode both kinds of structures using the same data structure provided by the TFS language: typed feature structures. A linguistic structure will be encoded using features and values. Conditions that constrain the set of valid linguistic structures have to be declared explicitly. A string of words will be encoded as a list of word forms, using the same kind</head>
            </div1>
            <div1>
                <head xml:id="sec170"></head>
                <p>R6mi Zajac Inheritance and Constraint-Based Grammar Formalisms</p>
                <p>\[sYH I Loc f SuBcAT ~ \] \[DTRS headed..~trueture\[ \] \]:~'\[DTRs\[HEAD-DTR I SYN \] LOC l SUBCAT append(ID,l~)\] \[ \[COMP-DTRS ~\] J PHRASE &lt; SUBCAT-FP. t dtrs: \[comp-dtm: ~\[~ \[3: ~J Figure 5 The HSPG subcategorization principle and its TFS encoding. of definitions as in Figure 2.11 HPSG is so far the only formal linguistic theory based on the notion of typed feature structures (Pollard 1990), and is thus a good candidate to illustrate the possibilities of the TFS formalism. The following presentation isbased on Emele (1988) and Emele and Zajac (1990b).</p>
                <p>The basic linguistic object in HPSG (Pollard and Sag 1987) is a complex linguistic structure, the &quot;sign,&quot; with four levels of description: phonology, constituent structure, syntax, and semantics. In HPSG, there is no distinction between &quot;input&quot; and &quot;output:&quot; the relation between a string and a linguistic structure is encoded as a single feature structure representing the &quot;sign.&quot;</p>
                <p>HPSG &quot;principles&quot; are encoded using inheritance: a feature structure of type PHRASE inherits the constraints associated with types SUBCAT-FP, HEAD-FP, and SEM-FP. For example, the HPSG subcategorization principle is encoded in TFS using inheritance to model implication, and the TFS APPEND relation to encode the functional constraint on concatenation (Figure 5). In a similar way, HEAD-FP encodes the HPSG Head Feature Principle and SEM-FP encodes the Semantics Principle.</p>
                <p>The type SIGN is divided into several subtypes corresponding to different mappings between a string and a linguistic structure. We first have the basic distinction between phrases and words. The definition of a phrase recursively relates subphrases and substrings, and defines the phrase as a composition of subphrases and the string as the concatenation of substrings. Since the formalism itself does not impose any constraints on how the relations between phrases and strings are defined, the grammar writer has to define them explicitly. In HPSG (Pollard and Sag 1987), the ordering of phrases is defined using linear precedence relations: the order in which the substrings associated with subphrases are concatenated to give the string associated with a phrase are guided by these linear precedence relations (Reape 1990).</p>
                <p>In the example given below (Figure 6), we make simplifying assumptions: the LOCAL feature is not used and there are two possible orderings for complements. The type IDP1 encodes Grammar Rule 1 (Pollard and Sag 1987, pp. 149-155), which says that a &quot;saturated phrasal sign,&quot; i.e., a feature structure with \[syn : \[subcat :(&gt;\]\], is the combination of an unsaturated phrasal head with one phrasal complement on the left. For example, for structures like S ~ NP VP, S is the &quot;saturated phrasal sign,&quot; NP is 11 We will use a more condensed notation for lists with angle brackets provided by the TFS language: a</p>
                <p>list C0NS\[first: Mary, rest: CONS \[first : sings, rest: NIL\]\] is writtenas &lt;Mary sings&gt;.</p>
            </div1>
            <div1>
                <head xml:id="sec171"></head>
                <p>Computational Linguistics Volume 18, Number 2 SUBCAT-FP HEAD-FP SEM-:FP \[phon: \[sl~Dubcat: 0 \]</p>
                <p>Fphon: B \]</p>
                <p>/syn: \[subcat: (SIGN)\] \], J \] IDP2/. \[hea(l-dtz: WOl~D\[phon: m \] L Lcomp-dt~s: (SXGN\[phon: El\]) JJ .'~ APPEND : :- APPEND : L3: ~J Figure 6 Part of the HPSG PHRASE hierarchy: PHRASE inherits from &quot;principles&quot; (given here without their definitions) and is subdivided into two subtypes corresponding to different complement orderings. the left phrasal complement and VP is the unsaturated phrasal head. Furthermore, the string (the value of the phon feature) of the IDP1 phrase is the concatenation of the string of the complement with the string of the head.</p>
                <p>The type IDP2 encodes Grammar Rule 2 and states that an &quot;unsaturated phrasal sign,&quot; i.e., a feature structure with \[syn:\[subcat:lSIGNI\] \], is the combination of a lexical head with any number of complements on the r~ht (e.g., for VP --* V XP*): the string associated with IDP2 is the concatenation of the string of the head with the concatenation of the strings of the complements, where the relation ORDER-COMP defines in which order the complements strings are concatenated.</p>
                <p>The difference between the parsing and the generation problem is then only in the form of the structure given to the interpreter for evaluation. A query for the parsing problem is an underspecified structure where only the string is given; conversely, a query for the generation problem is an underspecified structure where only the semantic form is given (Figure 7).</p>
                <p>In both cases, the interpreter uses the same set of rewrite rules to fill in &quot;missing information&quot; according to the type definitions. The result in both cases is exactly the same: a fully specified structure containing the string, the full semantic form, and also all other syntactic information such as the constituent structure (Figure 8). 3.3 Bi-directional Transfer in Machine Translation We have sketched above a very general framework for specifying mappings between a linguistic structure, encoded as a feature structure, and a string, also encoded as a feature structure. We apply a similar technique for specifying transfer ules for machine translation, which we prefer to call &quot;contrastive rules&quot; since there is no directionality involved (Zajac 1989; 1990a). R6mi Zajac Inheritance and Constraint-Based Grammar Formalisms Query for parsing PHILASE\[phon: (Elm ate every cookie)\] Query for generation Paa.asz : |~gl:~,-d:\[r,~tr:\[n~e: KXM\]\]\] _\]</p>
                <p>\[ / g2:|spec: Li.a: \[r--tr:\[ra&quot;: EVERY COOKm\]\]\] Figure 7 Queries for parsing and generation. phon: (Kim ate every cookie)</p>
                <p>L subcat: 0</p>
                <p>__\[comp-dtrs: (...) dtrs: TR~:~\[head.dtr: IDP2..,</p>
                <p>'zeln: EAT J IDP1 sem: 2ARG-REL \[m h°r rein: NAMING m lr,.,r&quot; • 111 / / / \[ kname: KIM J J J Figure 8 The common solution to the parsing and generation problems.</p>
                <p>The idea is rather simple: assume we are working with linguistic structures imilar to LFG's functional structures for English and French as proposed in Kaplan et al. (1989). We define a translation relation as a type TAU-LEX with two features, eng for the English structure and fr for the French structure. This &quot;bilingual sign&quot; is defined on the lexical structure: each subtype of TAU-LEX defines a lexical correspondence between a partial English structure and a partial French structure for a given lexical equivalence. Such a lexical contrastive definition for a verb also has to pair the arguments recursively. This is expressed in the condition part of the definition (Figure 9) by a recursive condition TAU-LEX on the arguments. The translation of syntactic and semantic features, like tense or determination, isalso specified in the condition part, and these contrastive definitions can and should be defined separately from the lexical definitions as different subnetworks.</p>
                <p>Inheritance is used here to capture generalizations over relations: all the information in the example of Figure 9 can be unpacked and redefined as follows. We have Computational Linguistics Volume 18, Number 2 TAU-LEX-FALL ~ TAU-LEX-ITV.</p>
                <p>/eng:/subj: l \[tense: TAU-LEX-FALL \] ipred: TOMBEI 1 . I~: \[subj: ~ L L tense: Figure 9 A transfer ule. /\ TAU TAU-LEX... TAU-TENSE... U L /Feng:rtense le'tea*el U eng ~reng subj ~ eng ~reng pred FALL\] Figure 10 Part of an inheritance network of transfer elations for verbs. three levels of generalization for the translation of verbs: TAU-LEX-V is subdivided into several relations for translating, for example, transitive verbs (TAU-LEX-TV), intransitive verbs (TAU-LEX-ITV), etc. The condition that specifies the translation of tenses is defined for the whole class of verbs TAU-LEX-V. The condition that specifies the translation relation between subjects is defined for intransitive verbs (TAU-LEX-ITV), but cannot be specified for all verbs since it does not apply to, e.g., impersonal verbs. This leaves only the translation of predicates to be defined at the leaves of the hierarchy (Figure 10). Thus, at each level of generalization, we specify the minimal amount of information needed for translation. The same kind of organization can be used for nouns, where syntactic features uch as determination are associated with the higher types, and where the minimal types define the equivalences between lexical forms of nouns themselves. R6mi Zajac Inheritance and Constraint-Based Grammar Formalisms Query FA '. / rPre(l: STUDENT \] / / TAU eng: isubj: / B,ea: A 1/// / Ln&quot;&quot;: s GJJ Ltense: E-PRES 11 \[ / J J Answer TAU-LEX-FALL PrecI: FALL \] \] rPre(i: STUDENT 11 o-s:/,.bj: ! \[p,~: A \]/! / L*~:: L,,,,m: ~_s~JJ /</p>
                <p>Ltense: F-PRES J</p>
                <p>rp,ed: TOMBER \]</p>
                <p>\[ rp,ed: ETUDIANT \] \[ ~: i \[subj: \[ \[pred:UN &quot;1// L='&gt;~:: L&quot;u&quot;: F'S~GJ J / Ltense: F-PRES J Figure 11 Query and answer for the translation of &quot;A student falls.&quot;</p>
                <p>The transfer problem for each direction is then stated in the same way as for parsing or generation: the input structure is an underspecified &quot;bilingual sign&quot; where only the structure for the source language is given. Using the contrastive grammar, the interpreter fills in missing information and builds a bilingual sign 12 (Figure 11).</p>
                <p>It is not necessary to specify in the contrastive definitions all monolingual constraints that have to be satisfied by the English structure and by the French structure. We can assume that we have monolingual grammars that define the appropriate mappings between the set of English sentences and the set of associated English structures, and similarily for French. Using these monolingual constraints in addition to the contrastive grammar, the TFS interpreter would build the fully specified monolingual structures, implementing a constraint-based translation system. 3.4 Termination Problems For parsing and generation, since no constraints are imposed on the kind of mapping between the string and the semantic form, termination has to be proved for each class of grammar and for the particular mechanism used for either parsing or generation with this grammar. If we restrict ourselves to classes of grammars for which terminating evaluation algorithms are known, we can implement hose directly in TFS. However, the TFS evaluation strategy allows more naive implementations ofgrammars, and the outermost rewriting of &quot;sub-goals&quot; terminates on a strictly larger class of programs than for corresponding logic programs implemented inPROLO~. Furthermore, the grammar writer does not need, and actually should not, be aware of the control that follows the shape of the input rather than a fixed strategy, thanks to the lazy evaluation mechanism. Computational Linguistics Volume 18, Number 2</p>
                <p>For HPSG-style grammars, completeness and coherence as defined for LFG, and extended to the general case by Wedekind (1988), are implemented in HPSG using the &quot;subcategorization feature principle&quot; (Johnson 1987): for the TFS implementation of HPSG, termination is guaranteed, at least for the simplified version containing only head-complement structures, described in Section 3.2. Termination conditions for parsing are well understood in the framework of context-free grammars. For generation using feature structures, one of the problems is that the input could be &quot;extended&quot; during processing, i.e., arbitrary feature structures could be introduced in the semantic part of the input by unification with the semantic part of a rule. However, if the semantic part of the input is fully specified according to a set of type definitions describing the set of well-formed semantic structures (and this condition is easy to check), this cannot arise in a type-based system since it is not possible to add arbitrary features to a typed feature structure.</p>
                <p>A more general approach is described in Dymetman, Isabelle, and Perrault (1990), who define sufficient termination properties for parsing and generation for the class of &quot;Lexical Grammars.&quot; These termination properties are conditions on the existence of &quot;conservative guides&quot; for parsing and generation and seem generalizable to other classes of grammars as well, and are also applicable to TFS implementations. Since Lexical Grammars are implemented in PROLOG, lefbrecursion must be eliminated for parsing and for generation, but this does not apply to TFS implementations. The idea of conservative guides is relatively simple and says that for parsing, each rule must consume a nonempty part of the string, and for generation, each rule must consume a nonempty part of the semantic form. These conditions seem to be equivalent as to require the existence of a well-founded relation on strings (for parsing) and of a well-founded relation on semantic forms (for generation). The existence of such well-founded relations is actually a necessary condition for proving the termination of parsing and generation (see Deville \[1990\] for a more general discussion on wellfounded relations in the context of logic programming).</p>
                <p>Termination for reversible transfer grammars is discussed in van Noord (1990). One of the problems mentioned there is the extension of the &quot;input,&quot; as in generation, and the answer is similar (see above). However, properties imilar to the &quot;conservative guides&quot; of Dymetman, Isabelle, and Perrault (1990) have to hold in order to ensure termination. 4. Conclusion The TFS system has been developed to provide a computational environment for the design and the implementation of formal models of natural language. The TFS formalism is designed as a specification language that can be used to design and implement formal linguistic models. It is not a programming language: it does not offer means of defining control information that would make execution more efficient (but less general), as it would be needed if it would be envisaged to use the system in an application-oriented environment (e.g., as a parser in a natural language interface to a database system). From formal linguistic models developed in TFS, it could be envisaged to develop programs, i.e., parsers or generators, that would efficiently implement the declarative knowledge contained in the formal specifications. 13</p>
            </div1>
            <note n="12" place="below">See also Reape (1990) for another approach to MT using feature structures and based on Whitelock (1990).</note>
            <note n="13" place="below">See for example in Biggerstaff and Perlis (1989) the papers on the development of programs from specifications, a very important issue in software engineering. See also Ait-Kaci and Meyer (1990) for a programming language based on typed feature structures.</note>
            <div1>
                <head xml:id="sec176"></head>
                <p>R6mi Zajac Inheritance and Constraint-Based Grammar Formalisms</p>
                <p>The TFS system is implemented using rewriting techniques in a constraint-based architecture adapted to feature structures: • • • The language is a logical language directly based on typed feature structures, and supports an object-oriented style based on multiple inheritance. Grammars are expressed as inheritance networks of typed feature structures. They define constraints on the set of acceptable linguistic structures. As a consequence, there is no formal distinction between &quot;input&quot; and &quot;output.&quot; A unique general constraint solving mechanism is used. Specific mapping properties, based on constituency, linear precedence or functional composition, are not part of the formalism itself, but can be encoded explicitly using the formalism.</p>
                <p>Although the current implementation isvery much at the level of an experimental prototype, and is still evolving, it has validated the basic concepts of the language and of the implementation, and has been used to test different linguistic models and formalisms such as LFG, DCG, HPSG, and SFG on small examples. From these various experimentations, we have defined extensions and improvements, both on the language and on the implementation, that are needed for scaling up the system.</p>
                <p>On the language side, more expressivity is needed. For example, disjunctions over feature structures, various kinds of negation (Ait-Kaci 1986), and sets of feature structures (Pollard and Moshier 1990) are necessary to formalize, e.g., nontrivial semantic structures. Some types together with a specific syntax and associated operations could be conveniently added to the system as libraries of built-in types, e.g., characters, strings, and trees.</p>
                <p>On the implementation side, the use of implementation techniques adapted from PROLOG implementations, constraint satisfaction languages, and object-oriented languages can be beneficial to the implementation of typed feature structure-based systems and have to be more thoroughly explored.14One of the major efficiency issues in the current implementation isthe lack of an efficient indexing scheme for typed feature structures. For example, since the dictionaries are accessed using unification only, each entry is tried one after the other, leading to an extremely inefficient behavior with large dictionaries. Thus, the use of a general indexing scheme based on a combination of methods used in PROLOG implementations and in object-oriented atabase systems is necessary and will be implemented in a future version of the system. Acknowledgments The design and the implementation ofthe TFS system have been carried out in cooperation with Martin Emele. I would like to thank Stefan Momma and Ulrich Heid; their numerous comments and advices helped to make this article more readable. I would also like to thank anonymous referees for their many detailed and helpful comments. All remaining errors are of course the sole responsibility of the author. 14 For example, the use in the current implementation f several techniques adapted from PROLOG</p>
                <p>implementations such as structure sharing, chronological dereferencing (Emele 1991) and last call</p>
                <p>optimization, have improved efficiency by several orders of magnitude over previous &quot;naive&quot;</p>
                <p>implementations. Computational Linguistics References Ait-Kaci, Hassan (1984). &quot;A lattice theoretic</p>
                <p>approach to computation based on a</p>
                <p>calculus of partially ordered type</p>
                <p>structures.&quot; Doctoral dissertation,</p>
                <p>University of Pennsylvania, Philadelphia,</p>
                <p>PA. A'/t-Kaci, Hassan (1986). &quot;An algebraic</p>
                <p>semantics approach to the effective</p>
                <p>resolution of type equations.&quot; Theoretical</p>
                <p>Computer Science, 45, 293-351. Ait-Kaci, Hassan, and Meyer, Richard</p>
                <p>(1990). Wild_LIFE, a user manual.</p>
                <p>DEC-PRL Technical Note PRL-TN-1,</p>
                <p>Rueil-Malmaison, France. Ait-Kaci, Hassan, and Podelski, Andreas</p>
                <p>(1991). Towards a meaning of LIFE.</p>
                <p>DEC-PRL Research Report PRL-RR-11,</p>
                <p>Rueil-Malmaison, France. Bateman, John A., and Momma, Stefan</p>
                <p>(1991). The nondirectional representation</p>
                <p>of Systemic Functional Grammars and</p>
                <p>Semantics as Typed Feature Structures.</p>
                <p>IMS Technical Report, University of</p>
                <p>Stuttgart, Germany. Biggerstaff, Ted J., and Perlis, Alan J. (eds).</p>
                <p>(1989). Software Reusability. ACM</p>
                <p>Press-Addison-Wesley. Birkoff, Garrett (1940). Lattice Theory.</p>
                <p>American Mathematical Society, third</p>
                <p>edition, 1973. Borgida, Alexander; Brachman, Ronald J.;</p>
                <p>McGuinness, Deborah L.; and Resnick,</p>
                <p>Lori Alperin (1989). &quot;CLASSIC: a</p>
                <p>structural data model for objects.&quot; In</p>
                <p>Proceedings, 1989 ACM SIGMOD</p>
                <p>International Conference on Management of</p>
                <p>Data, Portland, Oregon. Bouma, Gosse (1990). &quot;Non-monotonic</p>
                <p>inheritance and unification.&quot; In</p>
                <p>Proceedings, Workshop on Inheritance in</p>
                <p>Natural Language Processing, Institute for</p>
                <p>Language Technology and AI, Tilburg</p>
                <p>University, The Netherlands. Bourbeau, L.; Carcagno, D.; Goldberg, E.;</p>
                <p>Kittredge, R.; and Polgu6re, A. (1990).</p>
                <p>&quot;Bilingual generation of weather forecasts</p>
                <p>in an operation environment.&quot; In</p>
                <p>Proceedings, 13th International Conference on</p>
                <p>Computational Linguistics (COLING'90).</p>
                <p>Helsinki. Brachman, Ronald J., and Schmolze, James</p>
                <p>G. (1985). &quot;An overview of the KL-ONE</p>
                <p>knowledge representation language.&quot;</p>
                <p>Cognitive Science 9, 171-216. Carpenter, Bob (1990). &quot;Typed feature</p>
                <p>structures: inheritance, (in)equality and</p>
                <p>extensionality.&quot; InProceedings, Workshop on</p>
                <p>Inheritance in Natural Language Processing,</p>
                <p>Institute for Language Technology and</p>
                <p>AI, Tilburg University, The Netherlands. Volume 18, Number 2 Daelemans, Walter (1990). &quot;Inheritance and</p>
                <p>object-oriented natural anguage</p>
                <p>processing.&quot; In Proceedings, Workshop on</p>
                <p>Inheritance in Natural Language Processing,</p>
                <p>Institute for Language Technology and</p>
                <p>AI, Tilburg University, The Netherlands. Dershowitz, N., and Plaisted, D. A. (1988).</p>
                <p>&quot;Equational programming.&quot; In Machine</p>
                <p>Intelligence 11, edited by Hayes, Michie,</p>
                <p>and Richards. Oxford: Clarendon Press. De Smedt, Koenraad, and de Graaf, Josje</p>
                <p>(1990). &quot;Structured inheritance in</p>
                <p>frame-based representation oflinguistic</p>
                <p>categories.&quot; In Proceedings, Workshop on</p>
                <p>Inheritance in Natural Language Processing.</p>
                <p>Institute for Language Technology and</p>
                <p>AI, Tilburg University, The Netherlands. Deville, Yves (1990). Logic programming.</p>
                <p>Systematic Program Development. Reading,</p>
                <p>MA: Addison-Wesley. Dymetman, Marc, and Isabelle, Pierre</p>
                <p>(1988). &quot;Reversible logic grammars for</p>
                <p>machine translation.&quot; In Proceedings, 2nd</p>
                <p>International Conference on Theoretical and</p>
                <p>Methodological Issues in Machine Translation</p>
                <p>of Natural Language. Pittsburgh, PA. Dymetman, Marc; Isabelle, Pierre; and</p>
                <p>Perrault, Francois (1990). &quot;A symmetrical</p>
                <p>approach to parsing and generation.&quot; In</p>
                <p>Proceedings, 13th International Conference on</p>
                <p>Computational Linguistics (COLING'90).</p>
                <p>Helsinki. Emele, Martin (1988). &quot;A typed feature</p>
                <p>structure unification-based approach to</p>
                <p>generation.&quot; In Proceedings, WGNLC of the</p>
                <p>IECE. Oiso University, Japan. Emele, Martin (1991). &quot;Unification with lazy</p>
                <p>non-redundant copying.&quot; In Proceedings,</p>
                <p>29th Annual Meeting of the ACL. Berkeley,</p>
                <p>CA. Emele, Martin, and Zajac, R6mi (1989).</p>
                <p>&quot;RETIF: A rewriting system for typed</p>
                <p>feature structures.&quot; ATR Technical report</p>
                <p>TR-I-0071, ATR, Kyoto. Emele, Martin, and Zajac, R6mi (1989).</p>
                <p>&quot;Multiple inheritance in RETIE&quot; ATR</p>
                <p>Technical report TR-I-0114, ATR, Kyoto. Emele, Martin, and Zajac, R6mi (1990a). &quot;A</p>
                <p>fixed-point semantics for feature type</p>
                <p>systems.&quot; In Proceedings, 2nd Workshop on</p>
                <p>Conditional and Typed Rewriting Systems</p>
                <p>(CTRS'90). Montr6al, Qu6bec. Emele, Martin, and Zajac, R6mi (1990b).</p>
                <p>&quot;Typed unification grammars.&quot; In</p>
                <p>Proceedings, 13th International Conference on</p>
                <p>Computational Linguistics (COLING'90).</p>
                <p>Helsinki. Emele, Martin; Heid, Ulrich; Momma,</p>
                <p>Stefan; and Zajac, R6mi (1990).</p>
                <p>&quot;Organizing linguistic knowledge for</p>
                <p>multilingual generation.&quot; In Proceedings, R6mi Zajac Inheritance and Constraint-Based Grammar Formalisms</p>
                <p>13th International Conference on</p>
                <p>Computational Linguistics (COLING'90).</p>
                <p>Helsinki. Etherington, David W.; Forbus, Kenneth D.;</p>
                <p>Ginsberg, Matthew L.; Israel, David; and</p>
                <p>Lifschitz, Vladimir (1989). &quot;Critical issues</p>
                <p>in nonmonotonic reasoning.&quot; In</p>
                <p>Proceedings, 1st International Conference on</p>
                <p>Principles of Knowledge Representation ad</p>
                <p>Reasoning. Toronto, Ontario. Evans, Roger, and Gazdar, Gerald (1989).</p>
                <p>&quot;Inference in DATR.&quot; In Proceedings, 4th</p>
                <p>European ACL Conference. Manchester, U.K. Franz, Alex (1990). &quot;A parser for HPSG.&quot;</p>
                <p>CMU report CMU-LCL-90-3, Laboratory</p>
                <p>for Computational Linguistics, Carnegie</p>
                <p>Mellon University. Fraser, Norman M., and Hudson, Richard</p>
                <p>A. (1990). &quot;Word grammar: An</p>
                <p>inheritance-based theory of language.&quot; In</p>
                <p>Proceedings, Workshop on Inheritance in</p>
                <p>Natural Language Processing. Institute for</p>
                <p>Language Technology and AI, Tilburg</p>
                <p>University, The Netherlands. Halliday, M. A. K. (1985). Introduction to</p>
                <p>Functional Grammar. London: Edward</p>
                <p>Arnold. Huet, G6rard (1976). Rdsolution d'dquations</p>
                <p>dans les langages d'ordre 1, 2,..., w. Doctoral</p>
                <p>dissertation, Universit6 de Paris VII. Johnson, Mark (1987). &quot;Grammatical</p>
                <p>relations in attribute-value grammars.&quot; In</p>
                <p>Proceedings, West Coast Conference on Formal</p>
                <p>Linguistics, Vol. 6. Stanford, CA. Kaplan, Ronald M.; Netter, Klaus;</p>
                <p>Wedekind, J~irgen; and Zaenen, Annie</p>
                <p>(1989). &quot;Translation by structural</p>
                <p>correspondences.&quot; In Proceedings, 4th</p>
                <p>European ACL Conference. Manchester, U.K. Kay, Martin (1984). &quot;Functional unification</p>
                <p>grammar: A formalism for machine</p>
                <p>translation.&quot; In Proceedings, l Oth</p>
                <p>International Conference on Computational</p>
                <p>Linguistics (COLING-84). Stanford, CA. Klop, Jan Willem (1990). &quot;Term rewriting</p>
                <p>systems.&quot; To appear in Handbook of Logic</p>
                <p>in Computer Science, Volume 1, edited by</p>
                <p>S. Abramsky, D. Gabbay and T. Maibaum.</p>
                <p>Oxford University Press. MacGregor, Robert M. (1988). &quot;A deductive</p>
                <p>pattern matcher.&quot; In Proceedings, 7th</p>
                <p>National Conference on Artificial Intelligence</p>
                <p>(AAAI'88). St. Paul, MN, 403-408. MacGregor, Robert M. (1990). &quot;LOOM user</p>
                <p>manual.&quot; USC/ISI Technical Report,</p>
                <p>Marina del Rey, CA. Mann, William C., and Matthiessen,</p>
                <p>Christian I. M. I. (1985). &quot;Demonstration</p>
                <p>of the Nigel text generation computer</p>
                <p>program.&quot; In Systemic Perspectives on</p>
                <p>Discourse, Volume 1, edited by James</p>
                <p>D. Benson and William S. Greaves.</p>
                <p>Norwood, NJ: Ablex. Nirenburg, Sergei, Carbonele, Jaime, Tomita,</p>
                <p>Masaru, and Goodman, Kenneth (1992).</p>
                <p>Machine Translation. AKnowledge-Based</p>
                <p>Approach. San Mateo, CA: Morgan</p>
                <p>Kaufmann. Pollard, Carl J. (In press). &quot;Sorts in</p>
                <p>unification-based grammar and what they</p>
                <p>mean.&quot; In Unification in Natural Language</p>
                <p>Analysis, edited by M. Pinkal and</p>
                <p>B. Gregor. Cambridge, MA: The MIT</p>
                <p>Press. Pollard, Carl J., and Moshier, Drew (1989).</p>
                <p>&quot;Unifying partial descriptions of sets.&quot; In</p>
                <p>Information, Language and Cognition, edited</p>
                <p>by P. Hanson, Vancouver Studies in</p>
                <p>Cognitive Science 1. Vancouver:</p>
                <p>University of British Columbia Press. Pollard, Carl J., and Sag, Ivan A. (1987).</p>
                <p>Information-Based Syntax and Semantics.</p>
                <p>Volume 1: Syntax. CSLI Lecture Notes 13,</p>
                <p>Chicago University Press. Pollard, Carl J., and Sag, Ivan A.</p>
                <p>(Unpublished research). Information-Based</p>
                <p>Syntax and Semantics. Volume 2: Agreement,</p>
                <p>Binding and Control. Reape, Mike (1990). &quot;Parsing semi-free</p>
                <p>word order and bounded discontinuous</p>
                <p>constituency and &quot;shake 'n' bake&quot;</p>
                <p>machine translation (or 'generation as</p>
                <p>parsing').&quot; International Workshop on</p>
                <p>Constraint Based Formalisms for Natural</p>
                <p>Language Generation, Bad Teinach,</p>
                <p>Germany. Rounds, Williams C., and Kasper, Robert T.</p>
                <p>(1986). &quot;A Complete Logical Calculus for</p>
                <p>Record Structures Representing Linguistic</p>
                <p>Information.&quot; IEEE Symposium on Logic in</p>
                <p>Computer Science. Saint-Dizier, Patrick (1991). &quot;Processing</p>
                <p>language with logical types and actives</p>
                <p>constraints.&quot; In Proceedings, 5th Conference</p>
                <p>of the European Chapter of the ACL. Berlin,</p>
                <p>Germany. Shieber, Stuart (1986). An Introduction to</p>
                <p>Unification-based Grammar Formalisms. CSLI</p>
                <p>Lectures Notes 4, Chicago University</p>
                <p>Press. Smolka, Gert (1988). &quot;A feature logic with</p>
                <p>subsorts.&quot; LILOG Report 33, IBM</p>
                <p>Deutschland GmbH, Stuttgart. Smolka, Gert (1989). &quot;Feature constraint</p>
                <p>logics for unification grammars.&quot; IWBS</p>
                <p>Report 93, IBM Deutschland GmbH,</p>
                <p>Stuttgart. Smolka, Gert, and Ait-Kaci, Hassan (1988).</p>
                <p>&quot;Inheritance hierarchies: Semantics and</p>
                <p>unification.&quot; J.Symbolic Computation, 7,</p>
                <p>343-370. Stoy, Joseph E. (1977). Denotational Semantics: Computational Linguistics</p>
                <p>The Scott-Strachey Approach to Programming</p>
                <p>Language Theory. Cambridge, MA: The</p>
                <p>MIT Press. van Hentenryck, Pascal (1989). Constraint</p>
                <p>Satisfaction i Logic Programming,</p>
                <p>Cambridge, MA: The MIT Press. van Hentenryck, Pascal, and Dincbas,</p>
                <p>Mehmet (1987). &quot;Forward checking in</p>
                <p>logic programming.&quot; In Proceedings, 4th</p>
                <p>International Conference on Logic</p>
                <p>Programming. Melbourne, Australia. van Noord, Gertjan (1990). &quot;Reversible</p>
                <p>unification-based machine translation.&quot; In</p>
                <p>Proceedings, 13th International Conference on</p>
                <p>Computational Linguistics (COLING'90).</p>
                <p>Helsinki. Wedekind, Jiirgen (1988). &quot;Generation as</p>
                <p>structure driven generation.&quot; In</p>
                <p>Proceedings, 12th International Conference on</p>
                <p>Computational Linguistics (COLING'88).</p>
                <p>Budapest. Whitelock, Pete (1990). &quot;Shake-and-bake Volume 18, Number 2</p>
                <p>translation.&quot; Ms. Sharp Laboratories of</p>
                <p>Europe, Oxford. Yen, John; Neches, Robert; and MacGregor,</p>
                <p>Robert (1988). &quot;Classification-based</p>
                <p>programming: Adeep integration of</p>
                <p>frames and rules.&quot; Technical Report</p>
                <p>ISI/RR-88-213, USC/Information Science</p>
                <p>Institute. Zajac, R6mi (1989). &quot;A transfer model using</p>
                <p>a typed feature structure rewriting system</p>
                <p>with inheritance.&quot; In Proceedings, 27th</p>
                <p>Annual Meeting of the ACL. Vancouver, B.C. Zajac, R6mi (1990a). &quot;A relational approach</p>
                <p>to translation.&quot; In Proceedings, 3rd</p>
                <p>International Conference on Theoretical nd</p>
                <p>Methodological Issues in Machine Translation</p>
                <p>of Natural Language. Austin, Texas. Zajac, R6mi (1990). &quot;Semantics of typed</p>
                <p>feature structures.&quot; International Workshop</p>
                <p>on Constraint Based Formalisms for Natural</p>
                <p>Language Generation. Bad Teinach,</p>
                <p>Germany. R6mi Zajac Inheritance and Constraint-Based Grammar Formalisms Appendix: Syntax of the TFS Language In the TFS language, there are two kinds of comments. In-line comments begin with a semicolon and end with the end of line. These comments can appear anywhere where a white space character is allowed in the syntax. They are skipped during reading. Syntactic comments begin and end with the % character. These comments can appear only where specified in the BNF syntax specification. They are attached to the structure produced by the reader and can be displayed if the appropriate printer option is set. Identifiers are case-sensitive. Macros are expanded statically by the compiler. The operator ~ is interpreted as the meet (unification).</p>
                <p>The following extensions of the BNF notation are used: • \[X\] denotes the optional element X (zero or one occurrence). • X* denotes the free iteration of element X (zero, one or more occurrences). • X + denotes the iteration of element X (one or more occurrences). • Symbols in typewriter font denote symbols of the TFS syntax. &lt;entity&gt; ::= &lt;query&gt; I&lt;definition&gt; &lt;query&gt; ::-- .9 &lt;expression&gt; . &lt;definition&gt; ::= &lt;po-definition&gt; I &lt;macro-definition&gt; \] &lt;type-definition&gt; &lt;po-definition&gt; ::= &lt;type-symbol&gt; &lt;&lt;type-symbol&gt; . &lt;macro-definition&gt; ::= &lt;identifier&gt; &quot;= &lt;expression&gt; . &lt;type-definition&gt; ::-- &lt;type-symbol&gt; &lt;expression&gt; :- &lt;conditions&gt; . &lt;conditions&gt; ::= &lt;expression&gt; \[, &lt;conditions&gt; \] &lt;expression&gt; ::= &lt;feature-structure&gt; \[ &amp;&lt;expression&gt; \] &lt;feature-structure&gt; ::=&lt;comments&gt; &lt;tagged-feature-structure&gt; &lt;tagged-feature-structure&gt; ::= &lt;tag&gt; \[ = &lt;typed-feature-structure&gt; \] I</p>
                <p>&lt;typed-feature-structure&gt; &lt;typed-feature-structure&gt; ::-- &lt;type-symbol&gt; \[ &lt;attribute-value-matrix&gt; \] I</p>
                <p>&lt;attribute-value-matrix &gt; I</p>
                <p>&lt;list&gt; &lt;attribute-value-matrix&gt; ::= \[ \[ &lt;attribute-value-pairs&gt; \] \] &lt;attribute-value-pairs&gt; ::=&lt;attribute-value-pair&gt; \[ , &lt;attribute-value-pairs&gt; \] &lt;attribute-value-pair&gt; ::=&lt;attribute&gt; : &lt;expression&gt; &lt;list&gt; ::= &lt; &lt;expression&gt;* \[ . &lt;expression&gt; \] &gt; &lt;tag&gt; ::= #&lt;identifier&gt; &lt;type-symbol&gt; ::= &lt;identifier&gt; &lt;attribute&gt; ::= &lt;identifier&gt; Example 1: the textual definitmns ~r F~u~ 2. NIL &lt; LIST. CONS &lt; LIST. CONS\[first: T, rest: LIST\]. APPEND\[I: LIST, 2: LIST, 3: LIST\]. Computational Linguistics Volume 18, Number 2 APPENDO&lt; APPEND. APPENDO\[I: NIL, 2: #I=LIST, 3: #i\]. APPEND1 &lt; APPEND. APPEND1\[1: &lt;#x #ii&gt;, 2: #12, 3: &lt;#x . #13&gt;\]</p>
                <p>• -APPEND\[I: #ii, 2: #12, 3: #13\]. Example 2: the textual definitions ~r F~ure 10. TAU-LEX &lt; TAU. TAU-LEX-V &lt; TAU-LEX. TAU-LEX-V\[eng: \[tense: #e-tense\],</p>
                <p>fr: \[tense: #f-tense\]\]</p>
                <p>:- TAU-TENSE\[eng: #e-tense, fr: #f-tense\]. TAU-LEX-ITV &lt; TAU-LEX-V. TAU-LEX-V\[eng: \[subj: #e-subj\],</p>
                <p>fr: \[subj: #f-subj\]\]</p>
                <p>• - TAU-LEX\[eng: #e-subj, fr: #f-subj\]. TAU-LEX-FALL &lt; TAU-LEX-ITV. TAU-LEX-FALL\[eng: \[pred: FALL\],</p>
                <p>fr: \[pred: TOMBER\]\]</p>
            </div1>
        </body>
        <back/>
    </text>
</TEI>
