Formalization of knowledge systems Enn Tyugu Estonian Business School Lauteri 3, 10114 Tallinn, Estonia email@example.com Abstract. We formalize the concept of knowledge system (KS) in the form of a class of deductive systems with interpretations of its objects. Explanation and justification of this approach is given in the form of an example of a knowledge system of computability represented in the form of a deductive system. Formalization of connectionist KS in the form of deductive systems is defined, and also a tower of knowledge systems bound by notationdenotation relation is briefly discussed. Keywords. Knowledge systems, representation, knowledge processing. deductive systems, knowledge 1. Introduction This paper is based on the assumption that knowledge processing can be formalized, and consequently, it makes sense to search for the most general representation of knowledge processing mechanisms (analogically to general definitions of algorithms). Informally, a knowledge system is a language for representing knowledge plus a mechanism (a program, usually) for using the knowledge by making inferences. A knowledge system can be implemented in the form of a knowledge base and an inference engine. In order to formalize the concept of knowledge system, we have to start from a formal definition of knowledge. A rather general definition of knowledge is given in  based on a fundamental relation of notation-denotation and intelligence is defined in  as ability to manipulate knowledge. According to this definition, any set of notations together with its set of denotations and the relation between these sets represents knowledge. The advantage of this definition is a possibility to characterize the amount of knowledge and some of its properties (depth, breadth), but its disadvantage is the absence of any hint on the means for knowledge handling. This definition of knowledge can be used in the case of manual manipulation of knowledge, when one is mainly interested in the amount and properties of knowledge, but it is insufficient for investigating knowledge systems that include automatic knowledge handling. 2. Deductive system and its interpretation We shall formalize the concept of knowledge system in the form of a class of deductive systems with interpretations of its objects. Deductive system is defined by S. Maslov  in the following very general way: There are a certain number of initial objects and a certain number of rules for generating new objects from the initial objects and from those already constructed. To put it another way: There are an initial position (state) and "rules of the game" (rules for transition from one state into another). A system of this kind is called a deductive system. Interpretation of a deductive system is a set S of objects which can be considered as possible meanings of objects of the deductive system, and a relation of notation-denotation which binds at least one meaning with every object of the deductive system, and from the other side, binds at least one notation with every meaning included in S. Here we use in essence the notation-denotation relation as it is defined in . Remarks: 1. When a new object is generated in a deductive system, it must get a meaning as well. It is highly recommendable to show at inference rules, how the meanings of new objects are built when a rule is applied – this provides some constructiveness. 2. The present definition of interpretation differs from the conventional one in logic, where a function from notations to denotations is used in the definition of an interpretation. Deductive systems in a very general form with minimal meaning are investigated in logics, and there are quite interesting results. Let us have an alphabet A (i.e. a set of symbols), a set of variables P, a set of initial objects that are words in the alphabet A. These initial objects are also called axioms. Inference rules are given in the following form: S1, ..., Sm ________ S0 where S0, S1, ... , Sm are words in the alphabet A P, and S0 doesn't contain variables which do not occur in S1, ... ,Sm. A word W0 is derivable from the words W1, ... ,Wm by an inference rule in the calculus iff there exists an assignment of words in A to variables occuring in the rule such that it transforms the words S1, ... , Sm into W1, ... , Wm. This kind of a calculus is called a Post's system (PS). These calculi were introduced and investigated by E. Post already before computers became known as a way to formalize reasoning and computing. Obviously, any logical system can be represented as a PS. They have considerable generality and some very fine properties showing the power of syntactically simple calculi. If a set B is included in A, and A is the alphabet of a PS, then we say that the PS is given over B and we can consider the words in the alphabet B generated by the system. Two PS over B are equivalent iff they generate the same set of words in B. A Post's system is decidable iff there exists a regular way (an algorithm) to decide for any word whether the word is generated by it or not. A set of words is called recursively enumerable iff there exists a Post's system that generates it. The following results are known: - there exist undecidable PS (exist undecidable recursively enumerable sets) - there exists a universal PS that generates exactly the set of all words NW such that N is a coding of a PS and W is a word generated by the latter. 3. Knowledge system Now we can define a knowledge system as a class of interpreted deductive systems with fixed language of objects. Interpreted PS are a general form of knowledge systems. A great number of specific knowledge systems exist for efficient usage of a particular kind of knowledge. Our thesis is that in all cases, when we use knowledge making inferences, we can build an interpreted deductive system that represents the particular knowledge system. It is obvious that this thesis cannot be proved formally. However, looking at numerous examples we can find good evidence in favor of this thesis. As an example we present a simple calculus of computability. Let us have a set of symbols called an alphabet. The objects of our language will be the formulas of the form: A ->B, where A and B are finite sets of symbols from the alphabet. (We can allow also formulas with the empty left side: ->B which we shall simplify to B by dropping the arrow at the beginning of a formula. We shall not allow formulas with the empty right side.) Inference rules are the following: A -> B B C -> D _______________ A C -> B D A -> B C ___________ A -> B (1) (2) The first rule allows us to build a new object A C -> B D from any two given objects A -> B and B C -> D, called premises of the rule. The second rule has only one premise, and it allows one to "simplify" objects by dropping some of the symbols from the set on the right side of the rule. This language of objects and inference rules determine a class of deductive systems. Providing these deductive systems with interpretations gives us a knowledge system. Let us introduce the interpretation as follows. Meanings of symbols of the alphabet are values (i.e. some known entities of interest for a knowledge user). Meaning of an object A->B is a function computing values of elements of the set B from given values of elements of the set A. Meaning of each initial object is given. The meanings of derived objects are constructed from the meanings of given objects in the following way. If the first derivation rule is applied, then the new meaning will be composition of functions f and g that are the meanings of the first and the second premise of the rule. If the second rule is applied, then the new meaning is a projection of the meaning of A->BC . (A logically minded reader may see an analogy between this system and constructive logic: an arrow represents implication, elements of sets are propositions and a set is logically a conjunction of its elements.) This knowledge system can be used in different ways: - for deciding whether a problem “compute y1,…yn from x1,…,xm” is solvable, where x1,…,xm, y1,…yn are symbols from the alphabet of the knowledge system; - for synthesizing an algorithm for computing y1,…yn from x1,…,xm; - for performing the actual computations; for guessing what should be additionally given in order to make an unsolvable problem solvable. We see from this example that, in order to specify a knowledge system, one has to do the following: - specify a language (only syntax), - give inference rules, - give an interpretation, i.e. rules for constructing meanings of derivable objects. We expect that interpretations of the deductive systems, i.e. the meaning of objects, can be of the extreme variety, because this reflects the variability of knowledge about the real world. We get another example of a knowledge system about computability by allowing also nested formulas of the form (A -> B)->( C -> D) and adding one more inference rule (A -> B)->(C -> D) A B _____________________________ C E -> B Meaning of a nested formula (A -> B)->( C -> D) is a function that computes values of elements of the set D. One argument of this function is itself a function computing values of elements of the set B from given values of elements of the set A, and the other arguments are values of elements of the set C. This knowledge system is sufficient for representing all total computable functions encoded as operator terms. A precise logical explanation of this system is presented in . 4. Formalizing the connectionist approach An advantage of the general definition of knowledge systems given here is also that it covers connectionist knowledge systems as well: in particular, the systems, where knowledge is represented in the form of a network (an abstract network, or even implemented as an electronic or biological device). In such a case, the knowledge system is a network together with rules for changing its states. As the definition of a deductive system says: there are an initial position (state) and "rules of the game" (rules for transition from one state into another). An interpretation of the system must be constructed from meanings of its components according to some composition rules. Let us consider semantic networks as an example of knowledge systems. Bearing in mind that any semantic network is a marked graph, one can represent it as a collection of arcs described by formulae of the form r(x,y), where r is marking and x, y are expressions describing end-points of the arc (they may contain not only the identity of a node, but also a connection information). Some formalizations of this kind of knowledge systems have been given in . 5. Towers of knowledge systems Set of meanings of a knowledge system can be a set of objects of some other knowledge system. This leads us to a tower of knowledge systems. This situation has been described for knowledge representation in paper  where the transitivity of the notation-denotation relation is assumed: for any sets A, B, C, if A denotes B and B denotes C then A denotes C. This can be expressed as well by the formula: A B & B C A C. This situation is rather familiar both in mathematics and in computing. Definitions of mathematical concepts are based on definitions of some other more fundamental concepts. In computing we have compilation from one representation into another, or a tower of ISO network protocols as examples. To describe the consistency requirements for a tower of knowledge systems the category theory is needed. Some examples of this kind can be found in the works on program synthesis . References  Peeter Lorents. (2001) Formalization of data and knowledge based on the fundamental notation-denotation relation. In: H. R. Arabnia. ICAI’2001, p.  Peeter Lorents. (2002) A system mining framework. In: N. Callos et al. (editors) Proc. SCI 2002, v. 1, p. 195 – 2000.  Sergei Maslov. (1987) Theory of Deductive Systems and its Application. The MIT Press.  Grigori Mints. (1991) Propositional logic programming. In: Hayes, J. et al. (eds.) Machine Intelligence v. 12 (Towards an automated logic of human thought). Clarendon Press, Oxford, p. 17 – 38.  Douglas Smith. (1999) Designware: Software Development by Refinement. In: Proceedings of the Eighth International Conference on Category Theory and Computer Science - Invited Paper, Edinburgh, September 1999. Kestrel Institute Technical Report KES.U.99.8.  Enn Tyugu. (1991) Modularity of Knowledge. In: Hayes, J. et al. (eds.) Machine Intelligence v. 12 (Towards an automated logic of human thought). Clarendon Press. Oxford, 3 - 16.