The Automatic Deduction of Classi catory Systems from ... - CiteSeerX

0 downloads 0 Views 370KB Size Report
Feb 12, 1998 - zLaboratory for Linguistic Modelling, Bulgarian Academy of Sciences, Acad. .... 1Note however that some German nouns have additional letters ...
The Automatic Deduction of Classi catory Systems from Linguistic Theories Paul John Kingy Kiril Ivanov Simovz February 12, 1998 Abstract. Classifying linguistic objects is a widespread and important linguistic task, but hand de-

ducing a classi catory system from a general linguistic theory can consume much e ort and introduce pernicious errors. We present an abstract prototype device that e ectively deduces an accurate classi catory system from a nite linguistic theory.

1 Introduction

A classi catory system for a set U of objects comprises a classi cation C over U, a set of labels that indicate subsets of U, and an index from U to C, an algorithm that computes from limited information about an object in U a label in C that indicates a set to which the object belongs. Classifying linguistic objects is a widespread and important linguistic task. For example, the bene ts of a classi cation of words according to their in ectional paradigms are apparent for an in ectionally simple language, such as English, and even more so for an in ectionally complex language, such as Bulgarian, in which in ection is a ubiquitous and indispensable part of syntactic processing. Indeed, the morphoassistant system of [13] and [14] builds a dictionary acquisition module by means of a classi catory system for Bulgarian in ectional morphology built by Paskaleva, Avgustinova, Damova and Simov. Some linguistic theories give classi catory systems implicitly, others explicitly. Linguists usually prefer implicit classi catory systems, since they enable the expression of linguistic intuitions as general theories, but computer scientists usually prefer explicit classi catory systems, since they enable such tasks as fast look-up of tabulated data, automated knowledge acquisition, controlled linguistic inference, etc. Thus, computational linguistics often requires the deduction of a classi catory system from a general linguistic theory. However, hand deducing a classi catory system may consume much e ort and risks unwittingly violating the theory from which it is deduced, with disastrous consequences if, say, the classi cation subsumes two classes under one label, or the index assigns some object a wrong label. Thus, a device that e ectively deduces an accurate classi catory system from a general linguistic theory would greatly bene t computational linguistics. We present here an abstract prototype of just such a device. Our experiences show that such a device should ideally compute a classi catory system possessing at least the following ve qualities: (Q1) Distinct labels in the classi cation should inherently indicate disjoint sets of objects, to ensure that each object receives a unique label. (Q2) No label in the classi cation should inherently indicate an empty set of objects, to prune out intrinsically useless labels. (Q3) The labels of the classi cation should indicate sets of objects that are neither too narrow nor too broad, to ensure that the classi cation truly captures the intuitions of the theory from which it is deduced. (Q4) The index should correctly assign each object the label of the class to which the object belongs, for obvious reasons.  This paper is y Seminar f ur

an unabridged version of [8], and is due in equal parts to both authors. Sprachwissenschaft, Eberhard-Karls-Universitat, Wilhelmstr. 113, 72074 Tubingen, Germany.

Email: [email protected] z Laboratory for Linguistic Modelling, Bulgarian Academy of Sciences, Acad. G. Bonchev Str. 25A, So a 1113, Bulgaria. Email: [email protected]

(Q5) The index should eciently assign each object the label of the class to which it belongs, to facilitate rapid classi cation of objects. Qualities (Q3) and (Q5) require control mechanisms to compute an optimal classi catory system from a given input linguistic theory. Here, we address only qualities (Q1), (Q2) and (Q4) in order to establish that automatically generating a classi catory system from a general linguistic theory is at all possible. We structure the paper as follows. Section 2 illustrates a classi catory system by giving a simple linguistic example, and motivates the need for a device that automatically deduces classi catory systems from general linguistic theories by sketching a linguistically important classi catory system that cannot be easily hand deduced. Section 3 reviews the formal language in which our linguistic theories are written. Section 4 shows that a special disjunctive normal form, called an exclusive matrix, constitutes a classi cation over its own denotation with qualities (Q1) and (Q2). It then gives an algorithm Class that e ectively deduces from each nite theory a semantically-equivalent exclusive matrix. Section 5 shows that a nite structure of queries and responses, called an index tree, which analyzes an exclusive matrix, together with a xed algorithm Clause, constitutes an index from the denotation of the matrix to the matrix with quality (Q4). It then gives an algorithm Index that e ectively deduces from each exclusive matrix an index tree that analyzes the matrix. Thus, Class e ectively deduces from each nite theory an exclusive matrix that constitutes a classi cation of the denotation of the theory with qualities (Q1) and (Q2), and Index e ectively deduces from the matrix an index tree that, together with Clause, constitutes an index from the denotation of the theory to the matrix with quality (Q4). Section 6 concludes the paper.

2 Illustration and Motivation Classifying words according to their in ectional paradigms is a simple classi catory system. For example, each German noun has eight declensions, a singular and a plural declension for each of the cases nominative, accusative, genitive and dative. The declension of each German noun can be classi ed according to how its nominative singular declension is modi ed by axation and umlauting, and almost all German nouns exhibit one of the following patterns:1 (D1) (D2) (D3) (D4) (D5) (D6) (D7) (D8) (D9)

Nom.

?? ?? ?? ?? ?? ?? ?? ?? ??

Singular Acc. Gen. ?? ??s ?? ??(s) ?? ??(s) ?? ??(s) ?? ??s ?? ??s ?? ??(s) ?? ??(s) ??n ??n(s)

Dat.

?? ?? ?? ?? ?? ?? ?? ?? ??n

Nom.

?? ?_?_ ??e ?_?_ e ??er ?_?_ er ??s ??n ??n

Plural Acc. Gen.

?? ?_?_ ??e ?_?_ e ??er ?_?_ er ??s ??n ??n

?? ?_?_ ??e ?_?_ e ??er ?_?_ er ??s ??n ??n

Dat.

??n ?_?_ n ??en ?_?_ en ??ern ?_?_ ern ??s ??n ??n

Thus, (D1){(D9) is a classi cation in which each pattern is a label that indicates the class of German nouns whose declensions exhibit the pattern. There is also an index, since the nominative singular and genitive singular declensions of a noun determine all of its singular declensions, and the nominative plural declension further determines all of its plural declensions.2 However, not all German nouns exhibit a regular declension pattern. For example, the German noun `Herz' (heart) exhibits the following pattern: Nom. Herz

Acc. Herz

Singular Gen. Herzens

Dat. Herzen

Nom. Herzen

Plural Acc. Gen. Herzen Herzen

Dat. Herzen

No pattern in (D1){(D9) indicates a class containing `Herz'. Worse, the index wrongly assigns `Herz' pattern (D9), giving the accusative singular declension of `Herz' as `Herzen'. Clearly, we can modify our classi cation to provide a label that indicates a class containing `Herz' by adding the following pattern: (D10) ?? ?? ??ns ??n ??n ??n ??n ??n Note however that some German nouns have additional letters (typically `e' and `s') inserted into some of their declensions, with the inserted letters regularly determined by additional factors such as dialect, style and rhythm. 2 Indeed, all German dictionaries exploit this index, in that each entry for a noun gives only its nominative singular, genitive singular and nominative plural declensions. 1

2

We can then modify our index in order to assign `Herz' the appropriate pattern: To classify a noun, if the genitive singular declension appends nothing or `s' to the nominative singular form then the declension pattern is among (D1){(D8), and the nominative plural declension determines all declensions of the noun. If the genitive singular declension appends `n' to the nominative singular declension, then the declension pattern of the noun must be (D9). If the genitive singular declension appends `ns' to the nominative singular declension then the declension pattern is (D9) or (D10), and the accusative singular declension determines all declensions of the noun. In order to better motivate the need for a device to automatically deduce classi catory systems from general linguistic theories, we now give an example of a linguistically important classi catory system that does not presently exist, and whose hand deduction would involve an inordinate amount of work. In a highly lexicalized grammar, the lexical entries in a theory of a natural language constrain word behavior. Such constraints apply both internally to limit the structure of individual words, and externally to limit the possible sister constituents that can occupy speci c positions within larger linguistic structures. Subcategorization is an example of the external application of such constraints. For example, in the HPSG (Head-driven Phrase Structure Grammar) of [10] and [11], the principle type of linguistic structure is the sign, where signs include both words and phrases. Each sign bears, among other things, a complex of syntactic and semantic objects called a synsem object. In turn, each synsem object bears, among other things, a nite list of synsem objects called a subcat list. The subcat list serves to restrict which signs a given sign can take as sister constituents within a larger sign. \The subcat value of a sign is in essence the sign's valence, that is, a speci cation of what other signs the sign in question must combine with in order to become saturated. More precisely, the subcat value is a list of synsem objects, corresponding to the synsem values of the other signs selected as complements by the sign in question." [11, p. 23]

Suppose that a new lexical entry, constraining a new word, is added to a HPSG theory. Two converse problems may arise. The new constraints on the subcat list of the new word and the existing constraints on the synsem objects of the existing words may wrongly allow or forbid some existing words to occupy certain positions on the subcat list of the new word. Conversely, the new constraints on the synsem object of the new word and the existing constraints on the subcat lists of the existing words may wrongly allow or forbid the new word to occupy certain positions on the subcat lists of some existing words. To prevent both problems, the writer of a lexicon for a HPSG theory must bear in mind the synsem objects and subcat lists that the theory currently licenses, and how they may interact with the synsem objects and subcat lists that each new lexical entry licenses. This is a daunting, perhaps overwhelming, task as the lexicon grows to license tens or hundreds of thousands of words. In practice, the lexicon writer informally deduces from the current theory tacit classi cations of synsem objects and subcat lists, and ensures that each new lexical entry licenses words whose synsem objects and subcat lists fall into classes indicated by appropriate labels in the classi cations. However, the informality of the classi cations can lead the lexicon writer to overlook subtle or unexpected interactions between synsem objects and subcat lists, and the tacitness of the classi cations can allow a lexicon writer working as part of a team to add a lexical entry that accords with their idiosyncratic classi cations but con icts with those of their colleagues. Thus, it is good practice for lexicon writers to work with explicit and formally proven classi cations, particularly if the lexicon is intended to be large or produced by a team of writers. The utility of a device to automatically deduce classi catory systems from general linguistic theories is obvious in such circumstances.

3 Speciate Re-entrant Logic The SRL (Speciate Re-entrant Logic) of [6] provides a formal language designed speci cally to support formalisms for both the information-based HPSG of [10] and the object-based HPSG of [11]. Here we review those aspects of the formal language of SRL that are germane to the present paper. We recommend the reader interested in the logic of SRL or the use of SRL to express a HPSG theory to consult [1], [5], [6], [7] and [9]. Underlying a typical interpretable logic is the intuition that an assertion is a nite and syntactically well-formed string of symbols that is either true or false when interpreted. Underlying SRL is the intuition that a description is a nite and syntactically well-formed string of symbols that is either true or false of an object when interpreted. For example, the English description `it is black' is true of a soot particle but false of a snow ake when interpreted. To capture these intuitions, SRL provides a class of formal languages, each comprising a signature and a class of interpretations. Each signature provides the

3

nonlogical symbols from which descriptions are syntactically constructed. Each interpretation provides a universe of objects, and assigns each nonlogical symbol a meaning from which is generated a denotation function that assigns each description the collection of objects in the universe of which the description is true. In the present paper, we work in a subclass of SRL comprising those formal languages with what we call a computable signature, since this ensures the termination of the algorithms we subsequently present. 1 De nition. Triple hSpec; Feat; Appri is a computable signature i Spec is a nite set, Feat is a countable set, and Appr is a total recursive function from Spec  Feat to Pow (Spec ). Suppose that Sign = hSpec ; Feat; Appri is a computable signature. We call each member of Spec a species in Sign, each member of Feat a feature in Sign, and Appr the appropriateness function in Sign. For notational facility, we henceforth work with respect to an implicit computable signature Sign = hSpec; Feat; Appri, and assume that none of the symbols :, , , 6, :, ^, _, !, [ and ] is a species or a feature. 2 De nition. Triple I = hU ; S ; F i is an interpretation i U is a set, S is a total function from U to Spec, F is a total function from Feat to the set of partial functions from U to U , and for each ' 2 Feat, for each  2 U , F (')() is de ned i Appr hS (); 'i = 6 ;, and if F (')() is de ned then S (F (')()) 2 ApprhS (); 'i. Suppose that I = hU ; S ; F i is an interpretation. We call U the universe in I , each member of U an object in I , S the species assignment function in I , and F the feature denotation function in I . Each species denotes one member of a set of disjoint sets that cover U , and S assigns each object in I the species that denotes the unique set to which the object belongs: for each  2 Spec ,  denotes f 2 U j S () = g. Each feature denotes a partial function from U to U , and F assigns each feature the partial function it denotes: for each ' 2 Feat, ' denotes F ('). The appropriateness function encodes { and the last line in the de nition of an interpretation enforces { a relationship between the denotations of species and features: for each  2 Spec , for each ' 2 Feat, if Apprh; 'i = ; then the denotation of ' acts upon no object in the denotation of , and if Apprh; 'i = 6 ; then the denotation of ' acts upon each object in the denotation of  to yield an object in the denotation of some species in Apprh; 'i. 3 De nition. Term and Desc are the smallest sets such that : 2 Term, for each  2 Term, for each ' 2 Feat, ' 2 Term, for each  2 Term, for each  2 Spec ,    2 Desc, for each 1 2 Term, for each 2 2 Term, 1  2 2 Desc, for each 1 2 Term, for each 2 2 Term, 1 6 2 2 Desc, for each  2 Desc, : 2 Desc, for each 1 2 Desc, for each 2 2 Desc, [1 ^ 2 ] 2 Desc, for each 1 2 Desc, for each 2 2 Desc, [1 _ 2 ] 2 Desc, and for each 1 2 Desc, for each 2 2 Desc, [1 ! 2 ] 2 Desc. We call each member of Term a term, each member of Desc a description, and each subset of Desc a theory. 4 De nition. For each interpretation I = hU ; S ; F i, TI is the total function from Term to the set of partial functions from U to U such that for each  2 U , TI (:)() is de ned and TI (:)() = , for each  2 Term, for each ' 2 Feat, for each  2 U , TI (')() is de ned i TI ()() and F (')(TI ()()) are de ned, and if TI (')() is de ned then TI (')() = F (')(TI ()()), DI is the total function from Desc to Pow (U ) such that for each  2 Term, for each  2 Spec ,

4







DI (  ) =  2 U TI ()() is de ned and S (TI ()()) =  , for each 1 2 Term, for each 2 2 Term,  T ( )() and T ( )() are de ned, I 1 I 2 DI (1  2 ) =  2 U and T ( )() = T ( )() , I 1 I 2 for each 1 2 Term, for each 2 2 Term,  T ( )() and T ( )() are de ned, I 1 I 2 DI (1 6 2 ) =  2 U and T ( )() 6= T ( )() , I 1 I 2 for each  2 Desc, DI (:) = (U n DI ()), for each 1 2 Desc, for each 2 2 Desc, DI ([1 ^ 2 ]) = DI (1 ) \ DI (2 ), for each 1 2 Desc, for each 2 2 Desc, DI ([1 _ 2 ]) = DI (1 ) [ DI (2 ), and for each 1 2 Desc, for each 2 2 Desc, DI ([1 ! 2 ]) = (U n DI (1 )) [ DI (2 ), and I is the total function from Pow (Desc) to Pow (U ) such that for each   Desc, I () = f 2 U j for each  2 ,  2 DI ()g. Suppose that I is an interpretation. We call TI the term denotation function in I , DI the description denotation function in I , and I the theory denotation function in I . A term is the symbol :

followed by a nite string of features, and denotes the functional composition of the denotations of its constituent features (applied in order of occurrence). Description    is true of object  i term  denotes a function de ned on  to yield an object in the denotation of species . Description 1  2 is true of object  i terms 1 and 2 denote functions de ned on  to yield one and the same object. Description 1 6 2 is true of object  i terms 1 and 2 denote functions de ned on  to yield two di erent objects. Description : is true of object  i  is false of . Description [1 ^ 2 ] is true of object  i 1 is true of  and 2 is true of . Description [1 _ 2 ] is true of object  i 1 is true of  or 2 is true of  (or both). Description [1 ! 2 ] is true of object  i 2 is true of  whenever 1 is true of . Each description denotes the set of objects of which it is true. Theory  is true of object  i each description in  is true of . Each theory denotes the set of objects of which it is true. Notice that for each 1 2 Term, for each 2 2 Term, description 1 6 2 is not strictly part of the SRL syntax of [6], but is semantically equivalent to [[1  1 ^ 2  2 ] ^ :1  2 ], and is thus a harmless meta-syntactic addition that enables us to eliminate negation (:) and implication (!) in the exclusive matrices of the next section, while ensuring that every nite theory has a semantically-equivalent exclusive matrix. A theory is satis able i it is true of some object in some interpretation. 5 De nition. For each   Desc,  is satis able i for some interpretation I , I () 6= ;. In order to prepare the ground for the exclusive matrices of the next section, we now move beyond the SRL syntax and semantics of [6] and introduce some further de nitions of our own.

6 De nition. AtomK = f   j  2 Term and  2 Specg [ f1  2 j 1 2 Term and 2 2 Termg, and C Atom = AtomK [ f1 6 2 j 1 2 Term and 2 2 Termg. We call each member of AtomK a King atomic description, and each member of AtomC a Carpenter atomic description, after the atomic descriptions in the logics of [6] and [2] respectively. Clearly, AtomK  AtomC . 7 De nition. LiteK = AtomK [ f: j  2 AtomK g, and LiteC = AtomC [ f: j  2 AtomC g. We call each member of LiteK a King literal, and each member of LiteC a Carpenter literal, where a literal is either an atomic description or the negation of an atomic description. Clearly, LiteK  LiteC . 8 De nition. Clau = FinPow (LiteC) and Matr = FinPow (Clau).3 We call each member of Clau a clause, and each member of Matr a matrix. 3

For each set X , FinPow (X ) is the set of nite subsets of X .

5

9 De nition. For each interpretation I = hU ; S ; F i, MI is the total function from Matr to Pow (U ) such that for each  2 Matr, MI () = f 2 U j for some  2 ,  2 I ()g. Suppose that I is an interpretation. We call MI the matrix denotation function in I . Matrix  is true of object  i each literal in some clause in  is true of . Each matrix denotes the set of objects of which it is true. Clearly, each matrix represents a disjunctive normal form description: for each ffi;j j 1  j  nm g j 1  i  mg 2 Matr, for eachWinterpretation I, V m n m MI (ffi;j j 1  j  nm g j 1  i  mg) = DI ( i=1 ( j =1 i;j )). 10 De nition. Subterm is the total function from Matr to Pow (Term) such that for each  2 Matr, Subterm 8 () = for some  2 , for some ! 2 Feat,4 9 > > > for some  2 Spec, !   2  or :!   2 , or > > > < for some  0 2 Term, !   0 2  or :!   0 2 , or =  2 Term for some  0 2 Term,  0  ! 2  or : 0  ! 2 , or . > for some  0 2 Term, ! 6  0 2  or :! 6  0 2 , or > > > > for some  0 2 Term,  0 6 ! 2  or : 0 6 ! 2  > : ; Thus, for each  2 Matr, Subterm () is the set of subterms of terms occurring in literals in clauses in .

4 Classi cation An exclusive matrix is a matrix that meets several syntactic conditions. We rst show that the union of each pair of distinct clauses in an exclusive matrix is unsatis able but that each individual clause in an exclusive matrix is satis able. Thus, if each clause in an exclusive matrix is considered to be a label that indicates its own denotation then the matrix constitutes a classi cation over its own denotation with qualities (Q1) and (Q2). We then give an algorithm Class that e ectively deduces from each nite theory an exclusive matrix that is semantically equivalent to the theory. Thus, Class e ectively deduces from each nite theory an exclusive matrix that constitutes a classi cation over the denotation of the theory with qualities (Q1) and (Q2). We rst de ne, explain and investigate an exclusive matrix. 11 De nition.  is an exclusive matrix i  2 Matr, and for each  2 ,   AtomC , :  : 2 , for each  2 Term, for each ' 2 Feat, if '  ' 2  then    2 , for each 1 2 Term, for each 2 2 Term, if 1  2 2  then 2  1 2 , for each 1 2 Term, for each 2 2 Term, for each 3 2 Term, if 1  2 2  and 2  3 2  then 1  3 2 , for each 1 2 Term, for each 2 2 Term, for each ' 2 Feat, if 1  2 2 , 1 '  1 ' 2  and 2 '  2 ' 2  then 1 '  2 ' 2 , for each  2 Term,    2  i for some  2 Spec ,    2 , for each 1 2 Term, for each 2 2 Term, for each 1 2 Spec , for each 2 2 Spec , if 1  2 2 , 1  1 2  and 2  2 2  then 1 = 2, for each  2 Term, for each 1 2 Spec , for each ' 2 Feat, for each 2 2 Spec , if   1 2  and '  2 2  then 2 2 Apprh1 ; 'i, for each  2 Term, for each  2 Spec , for each ' 2 Feat, if    2 , Apprh; 'i = 6 ; and ' 2 Subterm () then '  ' 2 , for each 1 2 Term, for each 2 2 Term, 4

For each set X , X  is the set of nite strings of members of X .

6

if 1 6 2 2  then 1  1 2  and 2  2 2 , for each 1 2 Term, for each 2 2 Term, if 1  1 2  and 2  2 2  then 1  2 2  or 1 6 2 2 , and for each 1 2 Term, for each 2 2 Term, 1  2 62  or 1 6 2 62 . In order to gain an intuitive understanding of an exclusive matrix , consider the binary relations  and 6 on terms induced by  and 6 in some clause  in : for each 1 2 Term, for each 2 2 Term, 1  2 i 1  2 2 , and 1 6 2 i 1 6 2 2 .  is an equivalence relation on a nite, nonempty and subterm-closed domain of terms.  also has the following `growth' property: for each 1 2 Term, for each 2 2 Term, for each ' 2 Feat, if 1  2 , 1 ' is in the domain of , and 2 ' is in the domain of  then 1'  2 '. Moreover, each equivalence class in  is labeled with a unique species, and  must never violate the appropriateness function Appr: for each  2 Term, for each 1 2 Spec, for each ' 2 Feat, for each 2 2 Spec , if 1 labels the  equivalence class of , and 2 labels the  equivalence class of ' then 2 2 Apprh1; 'i. However, ful lling Appr is only compulsory if all the terms involved are subterms of terms already occurring in literals in clauses in : for each  2 Term, for each  2 Spec , for each ' 2 Feat, if  labels the  equivalence class of  and Apprh; 'i 6= ; then ' is in the domain of  provided ', and hence , are in Subterm (). We write Excl for the set of exclusive matrices. Notice that for each  2 Excl, for each 0  , 0 2 Excl. The ability of an exclusive matrix to constitute a classi cation over its own denotation follows from two facts. Firstly, the union of each pair of distinct clauses in an exclusive matrix is unsatis able. 12 Proposition. For each  2 Excl, for each 1 2 , for each 2 2 , if 1 [ 2 is satis able then 1 = 2 . Proof. For each  2 Excl, for each 1 2 , for each 2 2 , if 1 [ 2 is satis able then for each  2 Term, for each  2 Spec,    2 1 i    2 2 . by arithmetic induction on the length of  Moreover, for each  2 Excl, for each 1 2 , for each 2 2 , 1 [ 2 is satis able =) for each 1 2 Term, for each 2 2 Term, if 1  2 2 1 and 1  2 62 2 then contradiction, if 1  2 62 1 and 1  2 2 2 then contradiction, if 1 6 2 2 1 and 1 6 2 62 2 then contradiction, and if 1 6 2 62 1 and 1 6 2 2 2 then contradiction =) for each 1 2 Term, for each 2 2 Term, 1  2 2 1 i 1  2 2 2 , and 1 6 2 2 1 i 1 6 2 2 2 . Thus, for each  2 Excl, for each 1 2 , for each 2 2 , if 1 [ 2 is satis able then 1 = 2 .

ut

Secondly, each individual clause in an exclusive matrix is satis able.

7

13 Proposition. For each  2 Excl, for each  2 ,

 is satis able. Proof. Suppose that  is normal i  2 Clau,   LiteK , :  : 2 , for each  2 Term, for each ' 2 Feat, if '  ' 2  then    2 , for each 1 2 Term, for each 2 2 Term, if 1  2 2  then 2  1 2 , for each 1 2 Term, for each 2 2 Term, for each 3 2 Term, if 1  2 2  and 2  3 2  then 1  3 2 , for each 1 2 Term, for each 2 2 Term, for each ' 2 Feat, if 1  2 2 , 1'  1 ' 2  and 2 '  2 ' 2  then 1 '  2 ' 2 , for each  2 Term,    2  i for some  2 Spec ,    2 , for each 1 2 Term, for each 2 2 Term, for each 1 2 Spec , for each 2 2 Spec , if 1  2 2 , 1  1 2  and 2  2 2  then 1 = 2, for each  2 Term, for each 1 2 Spec , for each ' 2 Feat, for each 2 2 Spec , if   1 2  and '  2 2  then 2 2 Apprh1 ; 'i, for each  2 Term, for each  2 Spec , for each ' 2 Feat, if    2 , Apprh; 'i = 6 ; and ' 2 Subterm (fg) then '  ' 2 , and for each  2 Desc,  62  or : 62 . Suppose that K is the total function from AtomC to LiteK such that for each  2 Term, for each  2 Spec , K (  ) =   , for each 1 2 Term, for each 2 2 Term, K (1  2) = 1  2 , and for each 1 2 Term, for each 2 2 Term, K (1 6 2) = :1  2. Abusing notation, also suppose that K is the total function from FinPow (AtomC) to FinPow (LiteK ) such that for each  2 FinPow (AtomC ), K () = fK () j  2 g. Suppose that K is the total function from AtomC to FinPow (LiteK ) such that for each  2 Term, for each  2 Spec , K (  ) = f  g, for each 1 2 Term, for each 2 2 Term, K (1  2) = f1  2 g, and for each 1 2 Term, for each 2 2 Term, K (1 6 2) = f1  1 ; 2  2 ; :1  2 g. Again abusing notation, also suppose that K is the total function from FinPow (AtomC ) to FinPow (LiteK ) such that S for each  2 FinPow (AtomC ), K () = fK () j  2 g. Firstly, by [5, Th. 77], for each  2 Clau, if  is normal then  is satis able. .. .(1) Secondly, for each  2 Excl, for each  2 , Subterm (fg) = Subterm (fK ()g), and for each  2 Desc,  2 K () and : 2 K () =) for some 1 2 Term, for some 2 2 Term, 1  2 2 K () and :1  2 2 K () =) for some 1 2 Term, for some 2 2 Term, 1  2 2  and 1 6 2 2  =) contradiction.

8

Thus, for each  2 Excl, for each  2 , K () is normal. Thirdly, for each  2 Excl, for each  2 , for each 1 2 Term, for each 2 2 Term, if 1 6 2 2  then K (1 6 2 )  K (). Thus, for each  2 Excl, for each  2 , K () = K () and for each interpretation I , I () = I (K ()). Thus, for each  2 Excl, for each  2 , for each interpretation I , I () = I (K ()) Therefore, for each  2 Excl, for each  2 ,  is satis able.

ut

.. .(2)

.. .(3) by (1), (2) and (3)

Thus, if each clause in an exclusive matrix is considered to be a label that indicates the denotation of the clause then proposition 12 shows that distinct labels inherently indicate disjoint sets of objects and proposition 13 shows that no label inherently indicates an empty set of objects. Thus, the matrix constitutes a classi cation over the denotation of the matrix with qualities (Q1) and (Q2). We now turn to the algorithm Class. Class uses three component algorithms, Matrix, Goetz and Atomic. Loosely speaking, Class is as follows. An application of Matrix rst turns nite theory  into a semantically-equivalent matrix  via standard techniques for converting arbitrary propositionallogic formulae into semantically-equivalent disjunctive-normal-form formulae. Recursive applications of Goetz then turn  into a semantically-equivalent and almost exclusive matrix 0 by deleting, splitting and modifying clauses. An application of Atomic nally turns 0 into a semantically-equivalent exclusive matrix 00 by deleting every nonatomic literal in every clause in 0. We now give each of Matrix, Goetz, Atomic and Class in turn, and prove that Class e ectively deduces from each nite theory an exclusive matrix that is semantically equivalent to the theory. Since the descriptions are the propositional-logic formulae with their propositional variables replaced by Carpenter atomic descriptions, any algorithm that converts arbitrary propositional-logic formulae into semantically-equivalent disjunctive-normal-form formulae yields an algorithm that converts arbitrary descriptions into semantically-equivalent disjunctive-normal-form descriptions. Further, for each interpretation I , for each n 2 IN, for each f1 ; : : :; ng  Desc, I (f1 ; : : :; n g) = DI ([:  : ^W1 ^V: : : ^ n ]), and m  ) 2 Desc, for each disjunctive normal form mi=1 ( nj =1 i;j W V m n m DI ( i=1 ( j =1 i;j )) = MI (ffi;j j 1  j  nm g j 1  i  mg). Thus, there exists an algorithm Matrix that computes a total function from FinPow (Desc) to Matr such that for each  2 FinPow (Desc), for each interpretation I , I () = MI (Matrix()). We next give Goetz. 14 De nition. + is the smallest binary relation on Matr  Matr such that for each  2 Matr, for each  2 Clau, for each  2 AtomC , if  62 ,  2  and : 2  then  [ fg + , if  62  and :  : 62  then  [ fg +  [ f [ f:  :gg, for each  2 Term, for each ' 2 Feat, if  62 , '  ' 2  and    62  then  [ fg +  [ f [ f   gg, for each 1 2 Term, for each 2 2 Term, if  62 , 1  2 2  and 2  1 62  then  [ fg +  [ f [ f2  1gg, for each 1 2 Term, for each 2 2 Term, for each 3 2 Term, if  62 , 1  2 2 , 2  3 2  and 1  3 62  then  [ fg +  [ f [ f1  3 gg, for each 1 2 Term, for each 2 2 Term, for each ' 2 Feat, if  62 , 1  2 2 , 1 '  1 ' 2 , 2 '  2' 2  and 1'  2 ' 62  then  [ fg +  [ f [ f1 '  2 'gg,

9

for each  2 Term, 10 if  62 ,    2  and for each  2 Spec,    62  then  [ fg +  [ f [ f  g j  2 Specg, for each  2 Term, for each  2 Spec , if  62 ,    2  and    62  then  [ fg +  [ f [ f   gg, for each 1 2 Term, for each 2 2 Term, for each 1 2 Spec , for each 2 2 Spec , if  62 , 1  2 2 , 1  1 2 , 2  2 2  and 1 6= 2 then  [ fg + , for each  2 Term, for each 1 2 Spec , for each ' 2 Feat, for each 2 2 Spec , if  62 ,   1 2 , '  2 2  and 2 62 Apprh1; 'i then  [ fg + , for each  2 Term, for each  2 Spec , for each ' 2 Feat, if  62 ,    2 , Apprh; 'i 6= ;, ' 2 Subterm ( [ fg) and '  ' 62  then  [ fg +  [ f [ f'  'gg, for each 1 2 Term, for each 2 2 Term, if  62 , 1 6 2 2  and 1  1 62  then  [ fg +  [ f [ f1  1gg, for each 1 2 Term, for each 2 2 Term, if  62 , 1 6 2 2  and 2  2 62  then  [ fg +  [ f [ f2  2gg, for each 1 2 Term, for each 2 2 Term, if  62 , 1  1 2 , 2  2 2 , 1  2 62  and 1 6 2 62  then  [ fg +  [ f [ f1  2 g;  [ f1 6 2gg, and for each 1 2 Term, for each 2 2 Term, if  62 , 1  2 2  and 1 6 2 2  then  [ fg + . + is adapted from the rewrite rules of [3] used in [5], and is best understood intuitively as a set of leftto-right rewrite rules. Ignoring all nonatomic literals, each rule in + acts upon a clause  in a matrix  i  violates some or other condition for  being exclusive, and the rule either modi es  to better conform  to the exclusive matrix conditions or deletes  entirely. A matrix is terminal i no rewrite rule in + applies to it. 15 De nition. For each  2 Matr,  is terminal i for no 0 2 Matr,  + 0. There clearly exists an algorithm Goetz that computes a total function from Matr to fprovisional ; terminal g Matr such that for each  2 Matr, if  is terminal then Goetz() = hterminal ; i else for some 0 2 Matr,  + 0 and Goetz() = hprovisional ; 0i. Algorithm Atomic deletes the nonatomic literals from the clauses in a matrix. Thus, Atomic computes the total function from Matr to Matr such that for each  2 Matr, Atomic() = f \ AtomC j  2 g. We present Class and some of our subsequent algorithms as computer programs written in a simple abstract imperative language. A program is a nite sequence of instructions, where each instruction is in one of the following ve forms: value into register value into register output value while condition do program end if condition then program 1 else program 2 end input

put

Instructions and

input

value into register

put

value into register

both mean \make value value the content of register register ". However, the value for an input instruction must be given to the computer, whereas the value for a put instruction must be determined by the computer itself. Instruction output

register

means \display the contents of register register in a comprehensible form". Instruction

condition do program end means \perform program program for as long as condition condition is true". Instruction if condition then program 1 else program 2 end means \if condition condition is true then perform program program 1, but if condition condition is false then perform program program 2 ". while

For legibility, we sometimes refer to registers in conditions and values when we should strictly refer to the contents of registers. For examples, if X and Y are registers then put X into Y

means \put the content of register X into register Y" and if X = Y then put 0 into X else put 1 into X end means \if the contents of registers X and Y are identical then put 0 into register X, but if the contents of registers X and Y are di erent then put 1 into register X". Some of the put instructions in our algorithms have complex values in which various operations must be performed on various arguments. We explain these as we give the algorithms. Class is the following algorithm: for each  2 FinPow (Desc), input  into T put

provisional

()

into F

put Matrix T into M while F

= provisional () put left(G) into F put right(G) into M

do put Goetz M into G

end

()

put Atomic M into E

output E, where for each register X, if the content of X is ordered pair hy; z i then left(X) is y and right(X) is z, Matrix(X) is the result of applying algorithm Matrix to the content of X, Goetz(X) is the result of applying algorithm Goetz to the content of X, and Atomic(X) is the result of applying algorithm Atomic to the content of X. Class e ectively deduces from each nite theory an exclusive matrix that is semantically equivalent to the theory. 16 Proposition. Class computes a total function from FinPow (Desc) to Excl such that for each  2 FinPow (Desc), for each interpretation I , I () = MI (Class()). Proof. Suppose that / is the binary relation on Matr  Matr such that for each 1 2 Matr, for each 2 2 Matr, 1 / 2 i for some  2 Matr,   1 ,5   2 , and for each 2 2 2 n , for some 1 2 1 n , 1  2 , for each  2 Clau, + =  \ AtomC and ? =  n AtomC , and 5

For each set X , for each set Y , X  Y i X is a proper subset of Y .

11

for each  2 Matr, Lite = f   j  2 Subterm () [ f:g and  2 Spec g [f:   j  2 Subterm () [ f:g and  2 Specg [f1  2 j 1 2 Subterm () [ f:g and 2 2 Subterm () [ f:gg [f:1  2 j 1 2 Subterm () [ f:g and 2 2 Subterm () [ f:gg [f1 6 2 j 1 2 Subterm () [ f:g and 2 2 Subterm () [ f:gg [f:1 6 2 j 1 2 Subterm () [ f:g and 2 2 Subterm () [ f:gg, and Matr = Pow (Pow (Lite )). Then, for each 1 2 Matr, for each 2 2 Matr, if 1 + 2 then 1 / 2, .. .(1) for each  2 Matr, Matr is nite, .. .(2) for each 1 2 Matr, for each 2 2 Matr, for each 3 2 Matr, 1 / 2 and 2 / 3 =) for some  2 Matr, for some ^ 2 Matr,   1 ,   2, ^  2 , ^  3 , for each 2 2 2 n , for some 1 2 1 n , 1  2 , and for each 3 2 3 n ^, for some 2 2 2 n ^, 2  3 =) for some  2 Matr, for some ^ 2 Matr,  \ ^  1 ,  \ ^  3, and for each 3 2 Clau, 3 2 3 n ( \ ^) =) 3 2 3 n ^ or 3 2 ^ n  =) for some 2 2 2 n ^, 2  3 , or 3 2 2 n  =) for some 2 2 2 n , 2  3 , for some 2 2  n ^, 2  3 , or for some 1 2 1 n , 1  3 =) for some 1 2 1 n , 1  3 , or for some 1 2 1 n ^, 1  3 =) for some 1 2 1 n ( \ ^), 1  3 =) 1 / 3, .. .(3) for each 0 2 Matr, 0 / 0 =) for some  2 Matr,   0 and for each 2 2 0 n , for some 1 2 0 n , 1  2 =) 0 is in nite =) contradiction, .. .(4) for each terminal  2 Matr, Atomic() 2 Excl, and .. .(5) for each  2 Matr, for each 0 2 Matr, if  + 0 then for each interpretation I , MI () = MI (0). .. .(6) Therefore, for some fn j n 2 INg  Matr, for each n 2 IN, n + n+1 =) for some fn j n 2 INg  Matr, for each n 2 IN, by (1) and arithmetic induction on n n / n+1 and n 2 Matr0 =) for some m 2 IN, for some n 2 IN, m < n and m = n , and by (2) for each m 2 IN, for each n 2 IN, if m < n then m / n, and by (3) =) for some  2 Matr,  /  =) contradiction. by (4)

12

Thus,

computes a total function from FinPow (Desc) to Excl. by (5) + Moreover, for each terminal  2 Matr, for each  2 , for each interpretation I , for each  2 I ( ), for each  2 Subterm (), if TI ()() is de ned then    2 . by arithmetic induction on the length of  Thus, for each terminal  2 Matr, for each  2 , for each interpretation I , for each  2 I (+ ), for each  2 Term, for each  2 Spec , :   2  =)  2 Subterm () and    62  =) TI ()() is not de ned, or (   62  and    2 ) =) TI ()() is not de ned, or for some 0 2 Spec n fg,   0 2  =)  62 DI (  ) =)  2 DI (:  ), for each 1 2 Term, for each 2 2 Term, :1  2 2  =) 1 2 Subterm (), 2 2 Subterm () and 1  2 62  =) TI (1 )() is not de ned, TI (2 )() is not de ned, or (1  1 2 , 2  2 2  and 1  2 62 ) =) TI (1 )() is not de ned, TI (2 )() is not de ned, or 1 6 2 2  =)  62 DI (1  2 ) =)  2 DI (:1  2), and similarly for each 1 2 Term, for each 2 2 Term, if :1 6 2 2  then  2 DI (:1 6 2 ). Thus, for each terminal  2 Matr, for each  2 , for each interpretation I , for each  2 I (+ ), for each  2 AtomC , if : 2  then  2 DI (:). Thus, for each terminal  2 Matr, for each  2 , for each interpretation I , I () = I (+ ). Thus, for each terminal  2 Matr, for each interpretation I , MI () = MI (Atomic()). Thus, for each  2 FinPow (Desc), for each interpretation I , I () = MI (Class()). by (6) Class

ut

Thus, Class e ectively deduces from each nite theory an exclusive matrix that constitutes a classi cation over the denotation of the theory with qualities (Q1) and (Q2). We conclude this section with a simple illustration of Class and the classi cations it deduces. Suppose that Spec = fa; b; cg, Feat = fx; yg, Appr is the total function from Spec  Feat to Pow (Spec ) such that Apprha; xi = fb; cg, Apprha; yi = fb; cg, Apprhb; xi = ;, Apprhb; yi = ;, Apprhc; xi = ;, and

13

Apprhc; yi = ;, and  = f[:x  b ! :y  c]; [:x  c ! :x  :y]g Clearly, hSpec ; Feat; Appri is a computable signature,   Desc, and for each interpretation I = hU ; S ; F i, for each  2 U ,  2 I () i  is of the form a a

14

eh  eh  y , beh, or ch y, x x e. hb ch ch  ?

?

- 

Since, for each interpretation 02 [::x  bI^, ::x  c] 31 B66 _[::x  b ^ :x  :y] 77CC MI () = DI B @4 _[:y  c ^ ::x  c] 5A, _[:y  c ^ :x  :y] we can suppose that  ::x  b;   ::x  b;   :y  c;   :y  c; Matrix() = ::x  c ; :x  :y ; ::x  c ; :x  :y Then Class  () = fP; Q; R; Sg, where P =  :  :; :  b , Q = 8 :  :; :  c , 9 < :  :; :x  :x; :y  :y; :x  :y; :y  :x; = R = : : 6 :x; :x 6 :; : 6 :y; :y 6 :; ;, and :  a; :x  c; :y  c 9 8 :  :; :x  :x; :y  :y; = < S = : : 6 :x; :x 6 :; : 6 :y; :y 6 :; :x 6 :y; :y 6 :x; ;. :  a; :x  b; :y  c Clearly, for each interpretation I = hU ; S ; F i, for each  2 U ,  2 I (P) i  is of the form b ,  2 I (Q) i  is of the form c , a



.

he eh eh 

 2 I (R) i  is of the form x

y , and

ch  aeh  - 

 2 I (S) i  is of the form x

y.

h ch b ?

?

Thus, for each interpretation I , Class() is a classi cation over I ().

5 Index An index tree is a nite and rooted tree labeled with queries, responses and clauses. We rst show that if an index tree analyzes an exclusive matrix and the matrix is true of an object then a xed algorithm

Clause can use the tree to e ectively interrogate a human or computer oracle about the object and thereby deduce the unique clause in the matrix that is true of the object. Thus, an index tree that analyzes an exclusive matrix, together with Clause, constitutes an index from the denotation of the matrix to the matrix with quality (Q4). We then give an algorithm Index that e ectively deduces from each nonempty exclusive matrix an index tree that analyzes the matrix. Thus, Index e ectively deduces from each nonempty exclusive matrix an index tree that, together with Clause, constitutes an index from the denotation of the matrix to the matrix with quality (Q4). Deducing an index tree from the empty matrix is of no interest, since for each interpretation I , MI (;) = ;: there are simply no objects to classify. Queries and responses are merely symbols that represent respectively certain questions that could be asked regarding objects and the answers that could be given in reply.

17 De nition. Quer = f  j  2 Termg [ f 1 ; 2 j 1 2 Term and 2 2 Termg, and Resp = f  j  2 Spec g [ f ? ;  ; 6 ;  ;  ; = g. We call each member of Quer a query and each member of Resp a response. For each interpretation I = hU ; S ; F i, for each  2 U , for each  2 Term,

 represents the query \What is S (TI ()())?", to which  represents, for each  2 Spec , the response \TI ()() is de ned and S (TI ()()) = ", and ? represents the response \TI ()() is unde ned", and for each 1 2 Term, for each 2 2 Term, 1 ; 2 represents the query \Does TI (1)() = TI (2 )()?", to which  represents the response \TI (1 )() and TI (2 )() are de ned and TI (1 )() = TI (2 )()", 6 represents the response \TI (1 )() and TI (2 )() are de ned and TI (1 )() 6= TI (2 )()",  represents the response \TI (1 )() is de ned and TI (2 )() is unde ned",  represents the response \TI (1 )() is unde ned and TI (2)() is de ned", and = represents the response \TI (1 )() and TI (2 )() are unde ned". 18 De nition. For each interpretation I = hU ; S ; F i, for each  2 U , Accurate I is the total function from Quer to Resp such that for each  2 Term, ( S (TI ()()) if TI ()() is de ned Accurate I ( ) = ? if TI ()() is unde ned, and for each 1 2 Term, for each 8 2 2 Term, >  if TI (1 )() and TI (2 )() are de ned and > > TI (1 )() = TI (2 )() > >  6 if T I (1 )() and TI (2 )() are de ned and > > T I (1 )() 6= TI (2 )() <  Accurate I (1 ; 2 ) = >  if TI (1 )() is de ned and > TI (2 )() is unde ned > >  if TI (1 )() is unde ned and > > T ( )() is de ned > : = if TII (12)() and TI (2)() are unde ned. Clearly, for each interpretation I = hU ; S ; F i, for each  2 U , for each  2 Quer, Accurate I () is the unique accurate response to  about  in I . An index tree is a nite and rooted tree such that each of its inner nodes bears a query, each of its

15

edges bears a response, and each of its outer nodes bears a clause. 19 De nition. Quadruple hN ; I ; O; Li is an index tree i N 2 FinPow (Resp ), " 2 N ,6 for each  2 Resp , for each  2 Resp, if  2 N then  2 N , I = f 2 N j for some  2 Resp,  2 Ng, O = f 2 N j for each  2 Resp,  62 Ng, L is a total function from N to Quer [ Clau, for each  2 I , L() 2 Quer, and for each  2 O, L() 2 Clau. Suppose that T = hN ; I ; O; Li is an index tree. We call each member of N a node in T , each member of I an inner node in T , each member of O an outer node in T , and L the labeling in T . For each  2 N , we say L() labels  in T . T can be pictured as a nite and rooted tree with labeled nodes and labeled directed edges. The nodes are the members of N , and there is an edge from node 1 to node 2 labeled with response  i 2 = 1. Thus, the root node is ", each inner node has some edge leaving it, and each outer node has no edge leaving it. Inner node  is labeled with query L(). Outer node  is labeled with clause L(). We write Tree for the set of index trees. As an example of an index tree, suppose that N = f"; 0; 1 ; 12 ; 1 3 g, I = f"; 1 g, O = f0; 1 2 ; 1 3 g, and L is the total function from N to Quer [ Clau, such that L(") = 0 2 Quer, L(0 ) = 0 2 Clau, L(1 ) = 1 2 Quer, L(1 2 ) = 1 2 Clau, and L(1 3 ) = 2 2 Clau. Then hN ; I ; O; Li is an index tree. We depict this tree as follows, where we write labels to the left of nodes and edges. 0 "

 

 A  A 0  1A  A  AA  U

 

0 0

 

1  1

 A  A 2  3A  A AA   U

 2 13  

1  1  2

To show how an index tree can be used to help e ectively classify objects, we must rst introduce and investigate the notions of a residue and a marking. 20 De nition. Residue is the total function from Matr  Quer  Resp to Matr such that for each  2 Matr, for each  2 Term, for each  2 Spec, Residue h;  ;  i = f 2  j    2 g, Residue h;  ; ?i = f 2  j    62 g, Residue h;  ; i = ;, Residue h;  ; 6 i = ;, 6"

is the empty string.

16

Residue h;  ; i = ;, Residue h;  ; i = ;, and Residue h;  ; = i = ;, and for each 1 2 Term, for each 2 2 Term, for each  2 Spec, Residue h; 1; 2 ;  i = ;, Residue h; 1; 2 ; ? i = ;, Residue h; 1; 2 ;  i = f 2  j 1  2 2 g, Residue h; 1; 2 ; 6 i = f 2  j 1 6 2 2 g, Residue h; 1; 2 ;  i = f 2  j 1  1 2  and 2  2 62 g, Residue h; 1; 2 ;  i = f 2  j 1  1 62  and 2  2 2 g, and Residue h; 1; 2 ; = i = f 2  j 1  1 62  and 2  2 62 g. If  2 Matr,  2 Quer and  2 Resp then we call Residue h; ; i the residue of ,  and . Notice that for each  2 Matr, for each  2 Quer, for each  2 Resp, Residue h; ; i  . Thus, for each  2 Excl, for each  2 Quer, for each  2 Resp, Residue h; ; i 2 Excl.

For us, the value of a residue lies in the following fact. Suppose that exclusive matrix  is true of object , query  concerns only subterms of terms occurring in literals in clauses in , and response  is the accurate response to  about . Then exclusive matrix Residue h; ; i is also true of . 21 De nition. For each  2 Matr, Quer = f  j  2 Subterm ()g [ f 1; 2 j 1 2 Subterm () and 2 2 Subterm ()g. For each  2 Matr, for each  2 Quer ,  concerns only subterms of terms occurring in literals in clauses in . 22 Proposition. For each  2 Excl, for each interpretation I , for each  2 MI (), for each  2 Quer, Residue h; ; AccurateI ()i = 6 ; and  2 MI (Residue h; ; Accurate I ()i). Proof. For each  2 Excl, for each  2 , for each interpretation I , for each  2 I (), for each  2 Subterm (), if TI ()() is de ned then    2 . by arithmetic induction on the length of  Thus, for each  2 Excl, for each  2 , for each interpretation I , for each  2 I (), for each  2 Quer ,  2 Residue h; ; Accurate I ()i. Thus, for each  2 Excl, for each interpretation I , for each  2 MI (), for each  2 Quer , Residue h; ; AccurateI ()i = 6 ; and  2 MI (Residue h; ; Accurate I ()i).

ut

To show the relevance of proposition 22 to classifying objects, suppose that we know some (though not which) clause in exhaustive matrix  is true of object , query  concerns only subterms of terms occurring in literals in clauses in , and response  is the accurate response to  about  Then, by proposition 22, we also know some (though not which) clause in exhaustive matrix Residue h; ; i is true of . However, Residue h; ; AccurateI ()i  . If, in fact, Residue h; ; AccurateI ()i   then we have sharpened our knowledge of which unique clause in  is true of  and so made progress

17

towards classifying . A marking of an index tree is an assignment of exclusive matrices to nodes in the tree in such a way that proposition 22 can be exploited in order to classify objects. 23 De nition. For each T = hN ; I ; O; Li 2 Tree, M is a marking of T i M is a total function from N to Excl, for each  2 I , L() 2 QuerM( ) , for each  2 I , for each  2 Resp, if Residue hM(); L(); i = 6 ; then  2 N and M() = Residue hM(); L(); i, and for each  2 O, M() = fL()g. Suppose that T = hN ; I ; O; Li is an index tree, and M is a marking of T . For each  2 N , we say M() marks  in T under M. A marking of an index tree assigns each node in the tree a unique exclusive matrix such that for each inner node , if matrix  marks , and query  labels  then  concerns only subterms of terms occurring in literals in clauses in , for each inner node , if matrix  marks , query  labels ,  is a response, and Residue h; ; i 6= ; then  labels an edge from  to node , and Residue h; ; i marks , and for each outer node , if matrix  marks , and clause  labels  then  = fg. Notice that for each T = hN ; I ; O; Li 2 Tree, for each marking M of T , for each  2 N , M()  M("). Thus, for each T = hN ; I ; O; Li 2 Tree, for each marking M of T , for each  2 O, L() 2 M("). For the purposes of classifying objects, the value of an index tree with a marking follows from two facts. Let T be an index tree, and M be a marking of T . Firstly, suppose that, within T and M,  is an inner node, query  labels , exclusive matrix  marks , response 1 labels an edge from  to node 1, : : :, response n labels an edge from  to node n, exclusive matrix 1 marks 1, : : :, and exclusive matrix n marks n. We depict this fragment of T and M as follows, where we write labels to the left of nodes and edges and write marks to the right of nodes.

18

 

  

?

1 ?

1 1 

? ? ?

?

19

@ @

: : : n@

@

:::

  

@ R @

n

n

Suppose further that  is true of object , and  is the accurate response to  about . Then, by proposition 22, Residue h; ; i 6= ;, and Residue h; ; i is true of . Thus, for some i 2 f1; : : :; ng, i is the accurate response to  about , and i is true of . 24 Proposition. For each T = hN ; I ; O; Li 2 Tree, for each marking M of T , for each  2 I , for each interpretation I , for each  2 MI (M()),  Accurate I (L()) 2 N and  2 MI (M( Accurate I (L()))). Proof. Follows immediately from proposition 22. ut Secondly, suppose that, within T and M,  is an outer node, clause  labels , and matrix  marks . Suppose further that  is true of object . Then  is true of . 25 Proposition. For each T = hN ; I ; O; Li 2 Tree, for each marking M of T , for each  2 O, for each interpretation I , for each  2 MI (M()),  2 I (L()). Informally speaking, propositions 24 and 25 show the following. Suppose that T is an index tree with a marking, exclusive matrix  marks the root node of T , and  is true of object . If one navigates node by node through T from the root node out to an outer node by posing queries about  and following the directed edges labeled with the responses to those queries then one eventually nds the unique clause in  that is true of . This is the informal idea that underlies the algorithm Clause. More fully, though still informally, Clause operates as follows. Given an accurate and e ective oracle concerning , Clause navigates through T , considering nodes one after another in a certain sequence which ensures that each of the nodes Clause considers is marked by an exclusive matrix that is true of . Clause starts by considering the root node, and we have supposed that the exclusive matrix marking the root node is true of . If Clause is considering an inner node  then Clause poses the query  that labels  to the oracle and receives the accurate response  in reply. By proposition 24, an edge labeled  must leave  for node , and the exclusive matrix that labels  must be true of . Clause turns its consideration to  0. Eventually, Clause must consider an outer node . By proposition 25, the clause  that labels  must be true of . Clause outputs  and stops. Clause has e ectively deduced the unique clause in  that is true of . Notice two points about the operation of Clause. Firstly, Clause makes no use of the marking of T . It suces that a marking of T exists that marks the root node with .

26 De nition. For each T 2 Tree, for each  2 Excl, T analyzes  i for some marking M of T , M(") = .

Secondly, Clause can e ectively classify  only if Clause can pose queries to an accurate and e ective oracle concerning . 27 De nition. An oracle is an algorithm that computes a total function from Quer to Resp. 28 De nition. For each oracle Oracle, for each interpretation I = hU ; S ; F i, for each  2 U , Oracle discloses  under I i Oracle computes Accurate I . Thus, an oracle discloses an object i the oracle responds accurately and e ectively to each query concerning the object. Example of oracles that disclose an object under a natural language might include a human native speaker of the natural language applying their linguistic competence, and a corpus analysis program searching through corpora written in the natural language. Whatever its exact nature, an oracle that discloses an object is someone or something that knows the accurate response to each query about the object and can deliver that response e ectively on demand. We can now give Clause formally: for each oracle Oracle, for each hN ; I ; O; Li 2 Tree,

I into I input L into L input

" into P while P 2 I;

put

()

do put L P into Q

() (; )

put Oracle Q into R put suffix P R into P end

()

put L P into C

output C, where for each register X, for each register Y, if the content(of X is function f and the content of Y is y if f(y) is de ned then X(Y) is f(y) unde ned if f(y) is unde ned, if the content of X is string x1 : : :xn and the content of Y is symbol y then suffix(X; Y) is string x1 : : :xny, and Oracle(X) is the result of applying algorithm Oracle to the content of X. Given an oracle that discloses an object in the denotation of an exclusive matrix, Clause e ectively deduces from an index tree that analyzes the matrix the unique clause in the matrix that is true of the object. 29 Proposition. For each  2 Excl, for each interpretation I , for each  2 MI (), for each oracle Oracle, if Oracle discloses  under I then Clause computes a partial function from Tree to Clau such that for each T 2 Tree, if T analyzes  then Clause(T ) is de ned, Clause(T ) 2  and  2 I (Clause(T )). Proof. Follows immediately from propositions 24 and 25. ut Thus, an index tree that analyzes an exhaustive matrix, together with Clause, constitutes an index from the denotation of the matrix to the matrix with quality (Q4). Notice one extremely important and potentially confusing point. An oracle is not an input to Clause, but rather an external algorithm that Clause consults. However, there is no one xed oracle. Even with a xed index tree as input, Clause may function di erently if it consults di erent oracles. This is all entirely in keeping with the notion of an index. Remember that an index is an algorithm that computes from limited information about objects labels in a classi cation. The index itself does not provide the limited information. It merely classi es objects on the basis of limited information provided elsewhere. For Clause, the oracles provide this information, and di erent oracles provide di erent information as they disclose di erent objects.

20

Since an index tree that analyzes an exhaustive matrix, together with Clause, constitutes an index from the denotation of the matrix to the matrix, it only remains for us to give the algorithm Index that deduces from each nonempty exclusive matrix an index tree that analyzes the matrix. Unfortunately, Index is far more complicated than any of the algorithms we have de ned hitherto, and its de nition is commensurately harder. Given a nonempty exclusive matrix , the task of Index is to construct an index tree that analyzes . In fact, Index constructs both a tree and a marking of the tree that assigns  to the root node, but outputs only the tree. In describing the operation of Index it is helpful to have a term to refer to a node marked with an exclusive matrix but not yet labeled with a query of a clause. We call such a node a pending node. Index begins with a single pending node, " marked with . From this single pending node, Index constructs an index tree and a marking simultaneously by recursively converting each pending node into a marked inner or outer node of the tree. The conversion of a pending node may itself introduce new pending nodes. Faced with a pending node  and its mark 0 , Index rst considers 0 in order to judge whether  should be converted to an inner or an outer node. We will see later that no pending node is ever marked with the empty matrix. If 0 contains exactly one clause  then Index judges  to be an outer node and labels  with . However, if 0 contains more than one clause then Index judges  to be an inner node and applies two algorithms, Query and Grow, to . Query deduces a query  that concerns only subterms of terms occurring in literals in clauses in 0 , and Index labels  with . Grow then helps Index create a number of labeled directed edges leaving  for pending nodes in the following manner. Since there are only nitely many species in a computable signature, there are only nitely many responses. For each response , Grow ascertains whether Residue h0 ; ; i is empty. If so then Index creates no directed edge labeled  leaving . If not then Index creates a directed edge labeled  from  to a pending node  marked with Residue h0 ; ; i. Notice two points. Firstly, for each  2 0, for some  2 Resp,  2 Residue h0 ; ; i. Thus, Index creates at least one directed edge leaving . Thus, Index is right to judge  an inner node. Secondly, Index only creates pending nodes marked with nonempty matrices. This, together with the fact that  is nonempty, ensures that Index never marks a pending node with the empty matrix. Clearly, if Index stops { that is, Index eventually converts every pending node into an inner or outer node { then the result is an index tree with a marking that marks the root node of the tree . To ensure Index stops, Query selects queries carefully, and it is this careful selection that makes Index so complicated. Whenever Index judges a pending node  with mark 0 to be an inner node and applies Query to , Query always nds a query  concerning only subterms of terms occurring in literals in clauses in 0 such that for each  2 Resp, Residue h0 ; ; i  0 . Thus, each time Index calls Query to convert a pending node to an inner node and Grow to create new pending nodes, the matrices marking the new pending nodes have fewer clauses than the matrix marking the old pending node. Eventually, all markings of pending nodes are reduced to singletons, whereupon Index converts the pending nodes to outer nodes and creates no new pending nodes. Thus, Index must eventually stop and output an index tree that analyzes . As already mentioned, Index has two component algorithms, Query to help label pending nodes with queries, and Grow to help create new directed edges and pending nodes. Query in turn has a component algorithm called Weight. We describe each of Weight, Query and Grow individually before giving Index formally. Algorithm Weight deduces, for each matrix and each query, the cardinality of the largest residue. Suppose that  is a matrix,  is a query, and Resp = f1 ; : : :; ng.7 Suppose further that for each i 2 f1; : : :; ng, ri is the cardinality of Residue h; ; ii. Then Weighth; i is the largest number in fr1; : : :; rng. Formally, Weight computes the total function from Matr  Quer to IN such that for each  2 Matr, for each  2 Quer, 7

Since there are nitely many species in a computable signature, Resp is nite.

21

h; i = Max fCard (Residue h; ; i) j  2 Respg.8

Weight

To ensure Index stops, algorithm Query need only deduce from each exclusive matrix  that contains more than one clause (remember that Index only applies Query to a pending node if the matrix marking the node contains more than one clause) a query  concerning only subterms of terms occurring in literals in clauses in  such that Weighth; i is smaller than the cardinality of . Such a query always exists. 30 Proposition. For each  2 Excl, if Card () > 1 then for some  2 Quer , Weighth; i < Card (). Proof. For each  2 Excl, for each 1 2 , for each 2 2 , for each  2 Term, for each  2 Spec , if    2 (1 n 2 ) then for each  2 Resp, 1 62 Residue h;  ; i or 2 62 Residue h;  ; i, for each 1 2 Term, for each 2 2 Term, if 1  2 2 (1 n 2 ) then for each  2 Resp, 1 62 Residue h; 1; 2 ; i or 2 62 Residue h; 1; 2 ; i, and for each 1 2 Term, for each 2 2 Term, if 1 6 2 2 (1 n 2 ) then for each  2 Resp, 1 62 Residue h; 1; 2 ; i or 2 62 Residue h; 1; 2 ; i. Thus, for each  2 Excl, Card () > 1 =) for some 1 2 , for some 2 2 , for some  2 AtomC ,  2 (1 n 2 ) =) for some 1 2 , for some 2 2 , for some  2 Quer  , for each  2 Resp, 1 62 Residue h; ; i or 2 62 Residue h; ; i =) for some  2 Quer , for each  2 Resp, Residue h; ; i   =) for some  2 Quer , Weighth; i < Card ().

ut

Actually, in order to construct a shorter index tree and hence a more ecient index, Query selects from Quer { the set of queries that concern only subterms of terms occurring in literals in clauses in  { the query  with the smallest Weighth; i. Suppose that  is a matrix, Quer = f1; : : :; ng,9 and for each i 2 f1; : : :; ng, wi = Weighth; i i Then, for some j 2 f1; : : :; ng, Query() = j , and wj is the smallest number in fw1 ; : : :; wm g. Formally, Query computes a total function from Matr to Quer such that for each  2 Matr, Query() 2 Quer , and Weighth; Query()i = Min fWeighth; i j  2 Quer g.10 Clearly, if exhaustive matrix  contains more than one clause then Weighth; Query()i is smaller than the cardinality of . 31 Proposition. For each  2 Excl, if Card () > 1 then Weighth; Query()i < Card (). Proof. Follows immediately from proposition 30. ut Algorithm Grow deduces from each matrix and each query a sequence of ordered pairs comprising responses with nonempty residues and their residues. Formally, Grow computes the total function from X.

8

9 10

For each set X , Card (X ) is the cardinality of X . For each nonempty nite X  IN, Max (X ) is the largest member of Since  is nite, Subterm () is nite, and hence Quer is nite. For each nonempty X  IN, Min (X ) is the smallest member of X .

22

Matr  Quer to (Resp  Matr) such that for each  2 Matr, for each  2 Quer , Growh; i = hh1 ; Residue h; ; 1ii; : : :; hn; Residue h; ; niii,

where h1 ; : : :; n i is some well-ordering of f 2 Resp j Residue h; ; i 6= ;g.11 Notice that for each  2 Excl, for each  2 Quer, for each h; 0i 2 Growh; i, 0 2 Excl and 0 6= ;. We can now give Index formally: for each  2 Excl n f;g, input  into E

; into I put ; into O put ; into L put hh"; Eii into P

put

is a nonempty sequence do put head(P) into H put tail(P) into T put left(H) into N put right(H) into E if E is a singleton set then put member(E) into C

while P

put O put L

[ fNg into O [ fhN; Cig into L

put T into P

() put GrowhE; Qi into G put inserthN; Gi into G

else put Query E into Q

[ fNg into I [ fhN; Qig into L put concatenatehT; Gi into P

put I put L end end

put I

[ O into N

output N output I output O

,

output L

where

constructs the inner nodes, outer nodes and their labels in registers I, O and L respectively, and P is a sequence of the pending nodes Index has yet to consider, and where for each register X, for each register Y, if the content of X is nonempty sequence hx0; : : :; xni then head(X) is x0 and tail(X) is sequence hx1 ; : : :; xni, if the content of X is ordered pair hy; z i then left(X) is y and right(X) is z, if the content of X is singleton set fxg then member(X) is x, if the content of X is x and the content of Y is sequence of ordered pairs hhy1 ; z1 i; : : :; hyn; zn ii then inserthX; Yi is sequence of ordered pairs hhxy1 ; z1 i; : : :; hxyn; znii, if the content of X is sequence hx1; : : :; xni and the content of Y is sequence hy1 ; : : :; yn i then concatenate(X; Y) is sequence hx1 ; : : :; xn; y1 ; : : :; yni, Index

11 Since there are nitely many species in a computable signature, Resp is nite, and hence there exists a nite wellordering of f 2 Resp j Residue h; ; i 6= ;g.

23

( ) is the result of applying algorithm Oracle to the content of X, and

Query X

h ; i is the result of applying algorithm Grow to the contents of X and Y.

Grow X Y Index

e ectively deduces from each nonempty exclusive matrix an index tree that analyzes the matrix.

32 Proposition. Index computes a total function from Exclnf;g to Tree such that for each  2 Exclnf;g,

() analyzes . Overview of proof. We rst suppose that  is an arbitrary nonempty exclusive matrix and de ne a number of mathematical entities, T among them. We then prove a technical result and use this result to show that T is an index tree, T analyzes , and if Index starts with input  then Index stops with output T . Since  is an arbitrary nonempty exclusive matrix, this suces to prove the proposition. Proof. Suppose that  2 Excl and  6= ;. We now de ne a rather large number of mathematical entities. Loosely speaking, most of these entities are intended to emulate mathematically the contents of certain registers at various stages in the working of Index if Index starts with input . Suppose that N0 = ;, I0 = ;, O0 = ;, L0 = ;, M0 = ;, and P0 = hh"; ii. Suppose that for each i 2 IN, if Pi is the nonempty sequence hh0; 0i; : : :; hm ; m ii, Query(0 ) = , Growh0 ; i = hh1 ; 01i; : : :; hn ; 0nii then if 0 is the singleton set fg then Ni+1 = Ni [ f0g, Ii+1 = Ii, Oi+1 = Oi [ f0g, Li+1 = Li [ fh0; ig, Mi+1 = Mi [ fh0; 0ig, and Pi+1 = hh1 ; 1i; : : :; hm; m ii else Ni+1 = Ni [ f0g, Ii+1 = Ii [ f0g, Oi+1 = Oi , Li+1 = Li [ fh0; ig, Mi+1 = Mi [ fh0; 0ig, and Pi+1 = hh1 ; 1i; : : :; hm; m i; h01 ; 01i; : : :; h0n ; 0nii else Ni+1 = Ni , Ii+1 = Ii , Oi+1 = Oi , Li+1 = Li , Mi+1 = Mi, and Pi+1 = Pi. Suppose that N =SSfNi j i 2 INg, I = fIi j i 2 INg, Index

24

S

O = S fOi j i 2 INg, L = SfLi j i 2 INg, M = fMi j i 2 INg, and T = hN ; I ; O; Li.

We now prove a somewhat technical result that we need later.

32.1 Claim. For each i 2 IN, if Pi = hh0 ; 0i; : : :; hm; m ii then 0 62 Ni , 0 2 Excl and 0 6= ;. Proof. Firstly, suppose that  is the binary relations on Resp  Resp such that for each 1 2 Resp ,  for each 2 2 Resp , 1  2 i for some  2 Resp , 1 = 2. Then, for each i 2 IN, if Pi = hh1 ; 1i; : : :; hm; m ii then for each j 2 f1; : : :; mg, for each k 2 f1; : : :; mg, if j = 6 k then j 6 k , for each  2 Ni , j 6 , j 2 Excl, and j = 6 ;. by arithmetic induction on i Thus, for each i 2 IN, if Pi = hh0 ; 0i; : : :; hm; m ii then 0 62 Ni , 0 2 Excl and 0 = 6 ;.

< > With the frequent help of claim 1, we can now prove three claims of obvious relevance. 32.2 Claim. T is an index tree. Proof. We simply show that T meets each of the eight conditions to be an index tree. Firstly, for each i 2 IN, Pi = hh0; 0 i; : : :; hm; m ii and 0 is not a singleton set =) 0 2 Excl and Card (0 ) > 1 by claim 1 =) Weighth0 ; Query(0)i < Card (0 ) by proposition 31 =) for each  2 Resp, Card (Residue h0 ; Query(0); i) < Card (0 ). Thus, for each i 2 IN, if Pi = hh1 ; 1i; : : :; hm; m ii then for each j 2 f1; : : :; mg, Length (j ) + Card (j )  Card ().12 by arithmetic induction on i Thus, for each  2 N , Length ()  Card (0 ). Thus, N  Resp0 [ : : : [ RespCard (0 ) . Thus, since Resp is nite, N 2 FinPow (Resp ). .. .(1) Secondly, since P0 = hh"; ii, " 2 N. .. .(2)  Thirdly, for each  2 Resp , for each  2 Resp,  2 N =) for some i 2 IN, Pi = hh0; 0i; : : :; hm ; m ii and  = 0 =) for some j 2 IN, 12

For each nite sequence X , Length (X ) is the length of X . Thus, Length (hx1 ; : : : ; xn i) = n.

25

Pj = hh0 ; 0i; : : :; hm ; m ii and  = 0 =)  2 N . .. .(3) Fourthly, for each 0 2 Excl, for each  2 0, for each  2 Quer, for some  2 Resp,  2 Residue h0 ; ; i. Thus, for each 0 2 Excl, if 0 6= ; then Growh0 ; Query(0)i = 6 ". Thus, for each , 2I =) for some i 2 IN, Pi = hh0; 0i; : : :; hm ; m ii,  = 0, 0 2 Excl and Card (0) > 1 by claim 1 =) for some i 2 IN, for some 0 2 Resp, : : :, for some n 2 Resp,  2 Ni+1 and Pi+1 = hh1 ; 1i; : : :; hm; m i; h0; 00i; : : :; hn; 0nii =)  2 N and for some  2 Resp,  2 N . Moreover, for each  2 N , for some  2 Resp,  2 N =) for some i 2 IN, Pi = hh0; 0i; : : :; hm ; m ii and  = 0 =) for some j 2 IN, Pj = hh0 ; 0i; : : :; hm ; m ii and  = 0 =)  2 I . Thus, I = f 2 N j for some  2 Resp,  2 Ng. .. .(4) Fifthly, for each i 2 IN, Ii [ Oi = Ni and Ii \ Oi = ;. by arithmetic induction on i and claim 1 Thus, I [ O = N and I \ O = ;. Thus, O = N n I = f 2 N j for each  2 Resp,  62 Ng. .. .(5) Sixthly, for each i 2 IN, Li is a total function from Ni to Quer [ Clau. by arithmetic induction on i and claim 1 Thus, L is a total function from N to Quer [ Clau. .. .(6) Seventhly, for each , 2I =) for some i 2 IN, Pi = hh0; 0i; : : :; hm ; m ii,  = 0 and 0 is not a singleton set =) for some i 2 IN, for some  2 Matr, h; Query()i 2 Li+1 by claim 1 =) for some  2 Quer, h; i 2 L =) L() 2 Quer. .. .(7) Eighthly, for each , 2O =) for some i 2 IN, Pi = hh0; 0i; : : :; hm ; m ii,  = 0 and 0 is a singleton set =) for some i 2 IN, for some  2 Clau, h; i 2 Li+1 by claim 1 =) for some  2 Clau, h; i 2 L =) L() 2 Clau. .. .(8) Therefore, by (1){(8),

26

>

28

8 9 > > :; :x; :y ; > < :; :; :; :x; :; :y ; > = QuerfP;Q;R;S g = > . > :x; :; :x; :x; :x; :y ; > > : ; For example,

:y; :; :y; :x; :y; :y

Residue hfP; Q; R; S g; :; a i = fR; S g, Residue hfP; Q; R; S g; :; b i = fP g, Residue hfP; Q; R; S g; :; c i = fQg, Residue hfP; Q; R; S g; :; ?i = ;, Residue hfP; Q; R; S g; :; i = ;, Residue hfP; Q; R; S g; :; 6 i = ;, Residue hfP; Q; R; S g; :; i = ;, Residue hfP; Q; R; S g; :; i = ;, and Residue hfP; Q; R; S g; :; = i = ;.

Thus

hfP; Q; R; S g; : i = 2.

Weight

In fact,

hfP; Q; R; S g; :x i = 2, WeighthfP; Q; R; S g; :y i = 2, WeighthfP; Q; R; S g; :; : i = 4, WeighthfP; Q; R; S g; :; :x i = 2, WeighthfP; Q; R; S g; :; :y i = 2, WeighthfP; Q; R; S g; :x; : i = 2, WeighthfP; Q; R; S g; :x; :x i = 2, WeighthfP; Q; R; S g; :x; :y i = 2, WeighthfP; Q; R; S g; :y; : i = 2, WeighthfP; Q; R; S g; :y; :x i = 2, and WeighthfP; Q; R; S g; :y; :y i = 2. Thus, Query(fP; Q; R; S g) can be any of Weight

:, :x, :y , :; :x, :; :y , :x; :, :x; :x, :x; :y , :y; :, :y; :x and :y; :y . Suppose that Query(fP; Q; R; S g) = :. Then GrowhfP; Q; R; S g; Query(fP; Q; R; S g)i = hh a ; fR; S gi; h b; fP gi; h c; fQgii, and upon completing the rst performance of its 3while instruction, the registers of Index are such that 2 h a ; fR; S gi;7 6 hI [ O; I; O; Li = " : and P = 64 h b ; fP gi; 75. h c ; fQgi Since P is a nonempty sequence, Index begins the second performance of its while instruction, considering pending node h a ; fR; S gi. Since fR; S g is not a singleton set, Index must compute Query(fR; S g). Since WeighthfR; S g; : i = 2, WeighthfR; S g; :x i = 1, WeighthfR; S g; :y i = 2, WeighthfR; S g; :; : i = 2, WeighthfR; S g; :; :x i = 2,

j

29

hfR; S g; :; :y i = 2, hfR; S g; :x; : i = 2, WeighthfR; S g; :x; :x i = 2, WeighthfR; S g; :x; :y i = 1, WeighthfR; S g; :y; : i = 2, WeighthfR; S g; :y; :x i = 1, and WeighthfR; S g; :y; :y i = 2, Query(fR; S g) can be any of

30

Weight

Weight

:x, :x; :y and :y; :x. Suppose that Query(fR; S g) = :x. Then GrowhfR; S g; Query(fR; S g)i = hh b ; fS gi; h c; fRgii, and upon completing the second performance of its while instruction, the registers of Index are such that 3 2 h b ; fP gi; " : 66 h c ; fQgi; 77 ? 7. hI [ O; I; O; Li = a ? and P = 66 4h a b ; fSgi;75 ? ? h a c ; fRgi :x Since P is still a nonempty sequence, Index begins the third performance of its while instruction, considering pending node h b ; fP gi. However, since fP g is a singleton set, Index need not compute Query(fP g). Instead, upon completing the third performance of its while instruction, the registers of Index are such that 2 3 " : h c ; f Q gi ; ? 6 7 hI [ O; I; O; Li = a ? b and P = 64h a b; fS gi;75. ? h a c ; fRgi ? ? :x P Index performs its while instruction three more times. Upon completing the fourth performance, the registers of Index are such that " : # " ? @ a b ; fS gi; , h hI [ O; I; O; Li = a ? b @ c and P = h a c ; fRgi ? @ ? ? R @ Q :x P upon completing the fth, they are such that " :

j

j

j j j j

j j

a

? ? ?

hI [ O; I; O; Li = b

? ? ?

?

j:x

j j b c jP jQ and

? @ @ @ ? R @

j S and upon completing the sixth, they are such that

P

h

i

= h a c ; fRgi ,

j h [ ; ; ; i= j:x jP jQ and = []. b c j j S R Since is now the empty sequence, stops with output "j: a b c j:x jP jQ, b c jS jR an index tree T that, under marking "jfP; Q; R; S g jfR; Sg jfP g jfQg, jfSg jfRg " :

I

? @ a ? b@ c ? @ ? ? R @

O I O L

P

? @ @ ? @ ? R @ ?

P

Index

? @ ? @ ? @ ? ? @ R

? ? ?

? @

@ @ R @

? @ ? @ ? @ ? ? R @

? ?

?

? @

@ @ R @

analyzes fP; Q; R; S g. Thus, T enables any object in the denotation of fP; Q; R; S g to be classi ed, according to the classi cation fP; Q; R; S g, with responses to at most two queries.

6 Conclusions In this paper, we have presented an abstract prototype device that e ectively deduces an accurate classi catory system from a nite linguistic theory. More speci cally, we have de ned two notions { exclusive matrices and index trees which analyze exclusive matrices { and three algorithms { Class, Clause and Index { and shown that each exclusive matrix constitutes a classi cation over the denotation of the matrix with qualities (Q1) and (Q2), Class e ectively deduces from each nite theory a semantically-equivalent exclusive matrix, each index tree which analyzes an exclusive matrix, together with Clause, constitutes an index from the denotation of the matrix to the matrix with quality (Q4), Index e ectively deduces from each nonempty exclusive matrix an index tree that analyzes the matrix. Thus, Class e ectively deduces from each nite theory an exclusive matrix that constitutes a classi cation of the denotation of the theory with qualities (Q1) and (Q2), and Index e ectively deduces from the matrix an index tree that, together with Clause, constitutes an index from the denotation of the theory to the matrix with quality (Q4). For example, suppose that  is a nite theory, I is an interpretation, and  2 I (). Then our device can be depicted schematically as follows.

31

nite theory  such that  2 I ()

32

? Class

?

exclusive matrix  such that MI () = I ()

a classi cation over I ()

? Index

?

index tree T such that T analyzes  which discloses  under I

Oracle

? 

-

an index from I () to 

Clause

?

clause 0 0 such that  2  and  2 I (0 ) We conclude this paper by making four points about our device. Firstly, our device is computationally expensive { Class and Index are time exponential or worse { and makes no attempt to compute classi catory systems meeting qualities (Q3) and (Q5). Nonetheless, our device shows that the automatic deduction of classi catory systems meeting qualities (Q1), (Q2) and (Q4) is possible in principle. Only future research can show if the automatic deduction of classi catory systems meeting qualities (Q1){(Q5) is possible in practice. Secondly, an index queries an external oracle in order to elicit sucient information to classify an object. However, certain inferential processes, such as parsing and generation, themselves pose queries, but to a classi cation, in order to further instantiate their current information about some objects. Though this is not strictly indexing, we envisage extending our index along the lines of [4] in order to yield a device that can eciently support such inferencing. Thirdly, given the complexity of natural language, a linguistic theory can easily overlook certain linguistic objects. If a classi catory system accurately deduced from a theory fails to classify an object then the object is identi ed as theoretically overlooked, thus indicating that a revision of the theory is necessary. Unfortunately, our device deduces from a theory a classi catory system that can occasionally classify an object the theory is not true of, much like the rst classi cation of Sect. 2 classi es `Herz' as exhibiting pattern (D9). To overcome this shortcoming, and render our device more scienti cally useful, we must modify our device so that if Clause classi es an object then Clause seeks con rmation that the indicated clause is actually true of the object. Lastly, our device deliberately delivers a classi cation with quality (Q1), but one can argue that the labels in a classi cation should name a hierarchy of subsets, not a partition. However, let quadruple hL; ; ; #i be an exclusive hierarchy i hL; i is a pre-order,  2 Excl, # is a total function from L to Pow (), and for each 1 2 L, for each 2 2 L,

1  2 i #(1)  #(2). Intuitively, hL; i is a hierarchical classi cation such that for each  2 L,  is a label, and S for each interpretation I ,  indicates 2#() MI (). Meets, joins, etc. can be added to hL; i as required, and our index easily modi ed to suit. Though not all hierarchies can be construed as exclusive hierarchies, we believe that the majority of important linguistic hierarchies can be so construed.

7 Acknowledgments The authors wish to thank the Seminar fur Sprachwissenschaft of the Eberhard-Karls-Universitat, Tubingen, for hosting the writing of this paper, and the Internationales Zentrum of the EberhardKarls-Universitat, Tubingen, for funding Simov's visit to the Seminar. The authors also wish to thank two anonymous and very patient referees for their helpful comments on earlier drafts of this paper.

References [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14]

Bjrn Aldag. \A proof theoretic investigation of prediction in HPSG." Master's thesis. Seminar fur Sprachwissenschaft, Eberhard-Karls-Universitat, Tubingen, Germany. 1997. Bob Carpenter. The Logic of Typed Feature Structures. Cambridge Tracts in Theoretical Computer Science, number 32. Cambridge University Press, Cambridge, England. 1992. Thilo Gotz. \A normal form algorithm for King's descriptive formalism." Term paper. Seminar fur Sprachwissenschaft, Eberhard-Karls-Universitat, Tubingen, Germany. 1993. Peter Graf. Term Indexing. Lecture Notes in Arti cial Intelligence 1053. Springer-Verlag, Berlin, Germany. 1995. Stephan Kepser. \A satis ability algorithm for a typed feature logic." SFB 340 technical report 60. IBM Deutschland GmbH, Heidelberg, Germany. 1994. Paul J. King. A Logical Formalism for Head-Driven Phrase Structure Grammar. Doctoral thesis. The University of Manchester, Manchester, England. 1989. Paul J. King. \An expanded logical formalism for head-driven phrase structure grammar." SFB 340 technical report 59. IBM Deutschland GmbH, Heidelberg, Germany. 1994. Paul J. King and Kiril Iv. Simov. \The automatic deduction of classi catory systems from linguistic theories." In Proc. Logical Aspects of Computational Linguistics, Lecture Notes in Arti cial Intelligence. Springer-Verlag, Berlin, Germany. 1997. Paul J. King, Kiril Iv. Simov and Bjrn Aldag, \The complexity of modellability in nite and computable signatures of a constraint logic for head-driven phrase structure grammar." In Journal of Logic, Language and Information. To appear. Carl J. Pollard and Ivan A. Sag. Information-Based Syntax and Semantics, vol. 1. CSLI Lecture Notes 13. CSLI, Stanford, California, USA. 1987. Carl J. Pollard and Ivan A. Sag. Head-Driven Phrase Structure Grammar. University of Chicago Press, Chicago, Illinois, USA. 1994. Kiril Simov and Paul J. King. \Indexing of linguistic knowledge." In Proc. Logical Aspects of Computational Linguistics (conference abstracts), pages 81{84. Nancy, France. 1996. Kiril Simov, Galia Angelova and Elena Paskaleva. \MORPHO-ASSISTANT: The proper treatment of morphological knowledge." In Proc. COLING'90, vol. 3, pages 453{457. Helsinki, Finland. 1990. Kiril Simov, Elena Paskaleva, Mariana Damova and Milena Slavcheva. \MORPHO-ASSISTANT: A knowledge-based system for Bulgarian morphology." In Proc. Third Conference on Applied Natural Language Processing (systems demonstrations), pages 17{18. Trento, Italy. 1992.

33

Suggest Documents