XTT+ Rule Design Using the ALSV(FD) Grzegorz J. Nalepa and Antoni Lig˛eza 1 Abstract. This paper presents advances in Set Attributive Logic In this way, a set of tables is interconnected using links, correspond- and its application to develop tabular rule-based systems within the ing to inference control. This makes up a decision-tree like structure, XTT framework. The primary goal is to extend the expressive power with tables in the tree nodes. In a general case, the XTT is a directed of simple attributive languages so that it becomes satisfactory for graph, with cycles optionally allowed. complex applications, including the business rules support. A formal In RBS, a rule has a general format: framework of extended Attributive Logic with Set Values over Finite IF condition THEN decision Domains (ALSV(FD)) is presented and specific inference rules are provided with their corresponding prototype in P ROLOG. This format can be used in both forward and backward chaining sys- tems. However, here we focus on the production rule systems, based on the forward chaining paradigm. The power of a rule language 1 INTRODUCTION stems from the syntax and semantics of the conditional and decision expressions. Number of systems implicitly assume, that this rule for- Rule-based systems (RBS) are one of the most efficient paradigms mat can be extended to the conjunctive normal form (CNF), that is: for knowledge representation and automated inference. This is an intuitive and well-established language [5]. However, when it comes IF cond1 AND cond2 AND ... AND condN to the engineering practice, as well as its scientific aspect, the formal THEN decision approach to the rule language specification has to be considered. In which in fact corresponds to a Horn clause ϕ [1, 9], that is: fact, there are number of specific rule languages based on different formal calculi, from simple propositional logic, through subsets of ϕ = ¬p1 ∨ ¬p2 ∨ . . . ¬pk ∨ q, predicate calculus, to specific higher-order logics [9]. Such a clause can be represented as an implication of the form: This paper presents advances in Set Attributive Logic and its appli- cation to develop tabular rule-based systems within the XTT frame- ϕ = p1 ∧ p2 ∧ . . . ∧ pk ⇒ q. work. The primary goal is to extend the expressive power of sim- ple attributive languages so that it becomes satisfactory for complex which can be regarded as a rule in the above format, where ps cor- monitoring, control, decision support and business rules applications. respond to conditions and q corresponds to the decision. In fact the A formal framework of extended Set Attributive Logic is presented P ROLOG language uses a subset of predicate calculus, restricted to and specific inference rules are provided. The practical representa- Horn clauses [3]. tion and inference issues both at the logical and implementation level The decision expression can also be a compound one in the CNF. are tackled. Now the question is what are the conditional and decision expres- sions. In number of systems these correspond to expressions in the propositional calculus, which makes the semantics somehow limited. 2 HEKATE RULE LANGUAGE Some systems try to use some subsets of predicate logic, which gives much more flexibility, but may complicate a RBS design and the in- In the H E K AT E project (hekate.ia.agh.edu.pl) an extended ference process. This is the case of the P ROLOG language [2]. In XTT rule language is proposed. It is based on the XTT language described these expressions are in the the attributive logic [9] described in more in [11]. The version used in the project is currently called XTT+. detail in Sect. 4. This gives much more power than the propositional The XTT+ rule language is based on the classic concepts of rule logic, but does not introduce problems of the predicate logic-based languages for rule-based systems [8], with certain important exten- inference. In XTT an extended rule semantics is used. These exten- sions and features, such as: sions were introduced in [13], and refined in [12]. • strong formal foundation based on attributive logic, Let us now move to attributive logic that provides a formal foun- • explicit rulebase structurization, dation for the rule language. • extended rule semantics. 3 A MOTIVATIONAL EXAMPLE In this paper the XTT+ language will be simply referred to as XTT. In XTT there is a strong assumption, that the rule base is explicitly Consider a simple piece of knowledge expressed with natural lan- structured. The rules with same sets of attributes are grouped within guage as follows. decision tables. On the rule level explicit inference control is allowed. The regular class hours are from 8:00 to 18:00. If all the teach- 1 Institute of Automatics, AGH – University of Science and Technology, ing hours are located within regular class hours then the salary Al. Mickiewicza 30, 30-059 Kraków, Poland email: gjn@agh.edu.pl is regular. If the teaching hours goes beyond the regular class ligeza@agh.edu.pl hours then the salary is special. The problem is to formalize these two rules with attributive logic. semantics of Ai = d is straightforward – the attribute takes a single Let RCH stays for regular class hours, and TH for teaching hours. value. The semantics of Ai = t is that the attribute takes all the val- We can define a fact like: ues of t (the so-called internal conjunction) while the semantics of Ai ∈ t is that it takes some of the values of t (the so-called internal RCH = {8, 9, 10, 11, 12, 13, 14, 15, 16, 17}, disjunction). The SAL as introduced in [9] seems to be an important step to- and wards the study and extension of attributive logics towards practical TH = {10, 11, 12, 16, 19, 20} applications. On the other hand it still suffers from lack of expressive to specify a case of teaching hours. Note that teaching hours may power and the provided semantics of the atomic formulae is poor. form any subset of {0, 1, 2, 3, . . . , 23} (not necessarily a convex in- In this paper an improved and extended version of SAL is pre- terval). sented in brief. For simplicity no object notation is introduced. The Now, to express the rules we need an extended attributive logic formalism is oriented toward Finite Domains (FD) and its expressive employing set values of attributes and some powerful relational sym- power is increased through introduction of new relational symbols. bols. For example, we can have: The practical representation and inference issues both at the logi- cal level and implementation level are tackled. The main extension R1 : TH ⊆ RCH −→ Salary =0 regular 0 consists of a proposal of extended set of relational symbols enabling definitions of atomic formulae. The values of attributes can take sin- and gular and set values over Finite Domains (FD). R2 : TH ∼ NRCH −→ Salary =0 special 0 where 4.1 ALSV(FD) NRCH = {0, 1, 2, 3, 4, 5, 6, 7, 18, 19, 20, 21, 22, 23} An extension of SAL was proposed in [10]. Both the syntax and se- mantics were extended and clarified. Here some further details to is a specifications of non-regular class hours, and sim means a non- support set values of attributes over finite domains are discussed. empty intersection. Note that an attempt to specify the rules with The basic element of the language of Attribute Logic with Set Val- attribute logic based on atomic values (even if relational symbols ues over Finite Domains (ALSV(FD) for short) are attribute names such as <, ≤, > and ≥ are allowed) would lead to a very long and at and attribute values. Let us consider: least clumsy set of hardly readable rules. A – a finite set of attribute names, D – a set of possible attribute values (the domains). 4 ATTRIBUTIVE LOGIC Let A = {A1 , A2 , . . . , An } be all the attributes such that their val- Attributive logics constitute a simple but widely-used tool for knowl- ues define the state of the system under consideration. It is assumed edge specification and inference. In fact in a large variety of ap- that the overall domain D is divided into n sets (disjoint or not), plications in various areas of Artificial Intelligence (AI) [14] and D = D1 ∪ D2 ∪ . . . ∪ Dn , where Di is the domain related to at- Knowledge Engineering (KE) attributive languages constitute the tribute Ai , i = 1, 2, . . . , n. Any domain Di is assumed to be a finite core knowledge representation formalism. The most typical areas of (discrete) set. applications include rule-based systems [8, 9], expert systems (ones As we consider dynamic systems, the values of attributes can based on rule formalism) [6, 15] and advanced database and data change over time (or state of the system). We consider both simple warehouse systems with knowledge discovery applications [7] and attributes of the form Ai : T → Di (i.e. taking a single value at any contemporary business rules and business intelligence components instant of time) and generalized ones of the form Ai : T → 2Di (i.e. (e.g. Jess, Drools). taking a set of values at a time); here T denotes the time domain of However, it is symptomatic that although Propositional Logic and discourse. Predicate Logic (in the form of First-Order Predicate Calculus) have Let Ai be an attribute of A and Di the sub-domain related to it. well-elaborated syntax and semantics, presented in details in numer- Let Vi denote an arbitrary subset of Di and let d ∈ Di be a single el- ous books covering logic for knowledge engineering [4, 6, 15], logic ement of the domain. The atomic formulae of ALSV(FD) are defined for computer science or Artificial Intelligence [1, 8], the discussion as follows. of syntax and semantics of attribute-based logic is omitted in such positions. Definition 1 The legal atomic formulae of ALSV for simple at- In a recent book [9] the discussion of attributive logic is much tributes are: more thorough. The added value consist in allowing that attributes Ai = d, (1) can take set values and providing formal syntax of the Set Attribu- Ai 6= d, (2) tive Logic (SAL) with respect to its syntax, semantics and selected inference rules. Ai ∈ Vi , (3) The very basic idea is that attributes can take atomic or set values. Ai 6∈ Vi . (4) After [9] it is assumed that an attribute Ai is a function (or partial function) of the form Ai : O → Di . A generalized attribute Ai is a Definition 2 The legal atomic formulae of ALSV for generalized at- function (or partial function) of the form Ai : O → 2Di , where 2Di tributes are: is the family of all the subsets of Di . The atomic formulae of SAL Ai = Vi , (5) can have the following three forms: Ai = d, Ai = t or Ai ∈ t, where d ∈ D is an atomic value from the domain D of the at- tribute and t = {d1 , d2 , . . . , tk }, t ⊆ D is a set of such values. The Ai 6= Vi , (6) Ai ⊆ Vi , (7) Table 1. Inference rules for atomic formulae for simple attributes Ai ⊇ Vi (8) A ∼ V, (9) |= A = dj A 6= dj A ∈ Vj A 6∈ Vj Ai 6∼ Vi . (10) A = di di = dj di 6= dj di ∈ Vj di 6∈ Vj A 6= di _ di = dj Vj = D \ Vj = {di } {di } In case Vi is an empty set (the attribute takes in fact no value) we A ∈ Vi Vi = {dj } dj 6∈ Vi Vi ⊆ Vj Vi ∩ Vj = shall write Ai = {}. In case the value of Ai is unspecified we shall ∅ write Ai = NULL (a database convention). If we do not care about A 6∈ Vi D \ Vi = Vi = Vj = D \ Vj ⊆ Vi the current value of the attribute we shall write A = _ (a P ROLOG {dj } {dj } Vi convention). The semantics of the atomic formulae as above is straightforward and intuitive. In case of the first three possibilities given by (1), (2), Table 2 the conditions are satisfactory ones. However, it is impor- (3) and (4) we consider Ai to be a simple attribute taking exactly one tant to note that in case of the first rows of the tables (the cases of value. In case of (1) the value is precisely defined, while in case of A = di and A = V , respectively) all the conditions are also nec- (3) any of the values d ∈ Vi satisfies the formula. In other words, essary ones. The interpretation of the tables is straightforward: if an Ai ∈ Vi is equivalent to (Ai = d1 ) ⊗ (Ai = d2 ) ⊗ . . . ⊗ (Ai = dk ), atomic formula in the leftmost column in some row i is true, then the where Vi = {d1 , d2 , . . . , dk } and ⊗ stays for exclusive-or. Here (2) atomic formula in the topmost row in some column j is also true, pro- is a shorthand for Ai ∈ Di \ {d}. Similarly, (4) is a shorthand for vided that the relation indicated on intersection of row i and column Ai ∈ Di \ Vi . j is true. The rules of Table 1 and Table 2 can be used for checking The semantics of (5), (2) (7),(8), (9), and (10) is that Ai is a gener- if preconditions of a formula hold or verifying subsumption among alized attribute taking a set of values equal to Vi (and nothing more), rules. different from Vi (at at least one element), being a subset of Vi , being a superset of Vi , having a non-empty intersection with Vi or disjoint 4.3 RULES IN ALSV(FD) to Vi , respectively. More complex formulae can be constructed with conjunction (∧) ALSV(FD) has been introduced with practical applications for rule and disjunction (∨); both the symbols have classical meaning and languages in mind. In fact, the primary aim of the presented language interpretation. is to extend the notational possibilities and expressive power of the There is no explicit use of negation. The proposed set of re- XTT-based tabular rule-based systems [9]. An important extension lations is selected for convenience and as such is not completely consist in allowing for explicit specification of one of the symbols independent. For example, Ai = Vi can perhaps be defined as =,6=,∈, 6∈, ⊆, ⊇, sim and 6∼ with an argument in the table. Ai ⊆ Vi ∧ Ai ⊇ Vi ; but it is much more concise and convenient to Consider a set of n attributes A = {A1 , A2 , . . . , An }. Any rule use “=” directly. Various notational conventions extending the basic is assumed to be of the form: notation can be used. For example, in case of domains being ordered (A1 ∝1 V1 ) ∧ (A2 ∝2 V2 ) ∧ . . . (An ∝n Vn ) −→ RHS sets symbols such as >, >=, <, =< can be used. where ∝i is one of the admissible relational symbols in ALSV(FD), 4.2 BASIC INFERENCE RULES FOR ALSV(FD) and RHS is the right-hand side of the rule covering conclusion and perhaps the retract and assert definitions if necessary; for details see Since the presented language is an extension of the SAL (Set At- [9]. tributive Logic) presented in [9], its simple and intuitive semantics Knowledge representation with eXtended Tabular Trees (XTT) in- is consistent with SAL and clears up some points of it. For example, corporates extended attributive table format. Further, similar rules the upward and downward consistency rules do hold and can be for- are grouped within separated tables, and the whole system is split mulated in a more elegant way. Let V and W be two sets of values into such tables linked by arrows representing the control strat- such that V ⊆ W . We have the following straightforward inference egy. Consider a set of m rules incorporating the same attributes rules for atomic formulae: A1 , A2 , . . . , An . In such a case the preconditions can be grouped to- A⊇W gether and form a regular matrix. Together with the conclusion part (11) this can be expressed as in Tab. 3 A⊇V Table 3. A general scheme of an XTT table i.e. if an attribute takes all the values of a certain set it must take all the values of any subset of it (downward consistency). Similarly A⊆V (12) Rule A1 A2 ... An H A⊆W 1 ∝11 t11 ∝12 t12 ... ∝1n t1n h1 i.e. if the values of an attribute takes values located within a certain 2 ∝21 t21 ∝22 t22 ... ∝2n t2n h2 set they must also belong to any superset of it (upward consistency). . . . .. . . .. .. .. . .. .. These rules seem a bit trivial, but they must be implemented for en- m ∝m1 tm1 ∝m2 tm2 ... ∝mn tmn hm abling inference, e.g they are used in the rule precondition checking. The summary of the inference rules for atomic formulae with sim- ple attributes (where an atomic formula is the logical consequence In Table 3 the symbol ∝ij ∈ {=, 6=, ∈, 6∈} for simple attributes of another atomic formula) is presented in Table. 1. In Table 1 and and ∝ij ∈ {=, 6=, ⊆, ⊇, ∼, 6∼} for the generalized ones. In practical Table 2. Inference rules for atomic formulae for generalized attributes |= A=W A 6= W A⊆W A⊇W A∼W A 6∼ W A=V V =W V 6= W V ⊆W V ⊇W V ∩ W 6= ∅ V ∩W =∅ A 6= V _ V =W W =D _ W =D _ A⊆V _ V ⊂W V ⊆W _ W =D V ∩W =∅ A⊇V _ W ⊂V W =D V ⊇W V ∩ W 6= ∅ _ A∼V _ V ∩W =∅ W =D _ V =W _ A 6∼ V _ V ∩ W 6= ∅ W =D _ W =D V =W applications, however, the most frequent relation are =, ∈, and ⊆, – decide whether the attribute can take only single values, or also i.e. the current values of attributes are restricted to belong to some multiple values. specific subsets of the domain. If this is the case, the relation symbol can be omitted (i.e. it constitutes the default relation which can be Generalized attributes are unordered or ordered sets (lists). This identified by type of the attribute and the value). means attributes are in fact multi-valued. Some applications for this The current values of all the attributes are specified with the con- features are e.g.: a set of languages a person speaks, or storing sub- tents of the knowledge-base (including current sensor readings, mea- sequent values (changing in time). surements, inputs examination, etc.). From logical point of view it is a formula of the form: 4.5 RULE FIRING (A1 = S1 ) ∧ (A2 = S2 ) ∧ . . . ∧ (An = Sn ), (13) The XTT+ rule firing process is coherent with the regular RBS se- mantics. It involves: condition checking and decision execution. where Si = di (di ∈ Di ) for simple attributes and Si = Vi , (Vi ⊆ The condition checking can be described as a pattern matching Di ) for complex. process, where the condition evaluates true or false. The condition is Having a table with defined rules the execution mechanism an expression in the CNF build of expressions in the ALSV(FD). searches for ones with satisfied preconditions. The satisfaction of The decision execution is where actions are possible. In a general preconditions is verified in an algebraic mode, using the dependen- case, the XTT+ rule decision involves: attribute value change context cies specified in the first row of Table 1 for simple attributes and the switching through inference control links event triggering. In XTT it first row of Table 2 for the complex ones. is assumed, that the whole system state is described by the means of The rules having all the preconditions satisfied can be fired. In attributes. general, rules can be fired in parallel (at least in theory) or sequen- tially. For the following analysis we assume the classical, sequential model, i.e. the rules are examined in turn in the top-down order and 5 PROTOTYPE IMPLEMENTATION EXAMPLE fired if the preconditions are satisfied. Various mechanisms can be In the prototype implementation of the knowledge base, rules and used to provide a finer inference control mechanism [9]. the interpreter are developed in P ROLOG. A meta-programming ap- proach is followed. This allows for encoding virtually any structured 4.4 ATTRIBUTE DOMAINS information. Note that in such a case the built-in P ROLOG inference facilities cannot be used directly, there is a need for a meta-interpreter It is assumed that for each XTT attribute a type has to be stated. A (however, this gives more flexibility in terms of rule processing). type is named and it specifies: the base type and the domain. In the Example domains and attributes specification in P ROLOG follows: design of the XTT+ attributive language the set of base types was in- troduced in a way that simplifies the low-level interpreter integration domain(d7,[1,2,3,4,5,6,7]). with Prolog, Java, and RDBMS. attribute(aDN,atomic,d7). An example definition could be as follows: attribute(sDN,set,d7). • suppose we have a natural language specification: “some temper- The atomic formulae (facts) are represented as terms of the type ature”, fact/4 with four arguments; here are some examples: • create attribute type, %%% fact(,, – pick a attribute type name, e.g. “Temperature” % ,) fact(atomic,aDN,eq,7). – decide what base type to use, in this case it could be a float, fact(atomic,aDD,in,[monday,wednesday,friday]). – define the domain by specifying constraints, e.g. -100, 100 de- fact(set,sDD,sim,[monday,wednesday,friday]). pending on the conditions, fact(set,sSE,subseteq,[spring,summer,autumn]). – decide whether the domain is ordered – in case of symbolic Facts are used mostly in rule preconditions. The mean- base type, in this case numbers are ordered, ing of the above facts is as follows: f1: sDN=7, • create new attribute, with given, f2: aDD∈[monday,wednesday,friday], f3: sDD∼[monday, wednesday,friday], and f4: – attribute type, in this case of “Temperature”, sSE⊆[spring,summer,autumn]. P ROLOG list are used – name, e.g. sensor_temperature, to represent set values. The state of the system is represented by all the facts true in that In the paper new inference rules specific for the introduced logic state. Recall that the form A = d and A = V are allowed for state are presented and examined. New inference possibilities constitute specification. a challenge for efficient precondition matching algorithm. Algebraic solutions are proposed. Knowledge representation and some excerpt %%% state(, % ,,). from inference engine implemented in P ROLOG is described. Com- state(s17,aDD,atomic,friday). ponents of a rule-based system in form of extended attributive de- state(s17,aSE,atomic,spring). cision tables (the so-called XTT paradigm) are presented and their state(s17,sDN,set,[1,3,5,7]). characteristics and applications are outlined. Future work includes a more robust implementation of the type Note that using set values in state specification increases dras- system, tighter integration with a Java-based runtime, as well as an tically the expressive power. This is a bit similar to the Cartesian interface do RDBMS. Product: in state s17 the attribute sDN takes all the values from [1,3,5,7]. Inference, i.e. checking logical consequence defined by first rows ACKNOWLEDGEMENTS of Table 1 and Table 2 is performed with the valid/s predicate The paper is supported by the Hekate Project funded from 2007– defined as follows: 2009 resources for science as a research project. valid(f(atomic,A,eq,Value),State):- state(State,A,atomic,StateValue), References Value == StateValue,!. valid(f(atomic,A,neq,Value),State):- [1] Mordechai Ben-Ari, Mathematical Logic for Computer Science, Springer-Verlag, London, 2001. state(State,A,atomic,StateValue), [2] Ivan Bratko, Prolog Programming for Artificial Intelligence, Addison Value =\= StateValue,!. Wesley, 3rd edn., 2000. valid(f(atomic,A,in,SetValue),State):- [3] Michael A. Covington, Donald Nute, and André Vellino, Prolog pro- state(State,A,atomic,StateValue), gramming in depth, Prentice-Hall, 1996. member(StateValue,SetValue),!. [4] Michael R. Genesereth and Nils J. Nilsson, Logical Foundations for valid(f(atomic,A,notin,SetValue),State):- Artificial Intelligence, Morgan Kaufmann Publishers, Inc., Los Altos, state(State,A,atomic,StateValue), California, 1987. \+member(StateValue,SetValue),!. [5] Adrain A. Hopgood, Intelligent Systems for Engineers and Scientists, valid(f(set,A,eq,SetValue),State):- CRC Press, Boca Raton London New York Washington, D.C., 2nd edn., state(State,A,set,StateValue), 2001. [6] Peter Jackson, Introduction to Expert Systems, Addison–Wesley, 3rd eqset(SetValue,StateValue),!. edn., 1999. ISBN 0-201-87686-8. valid(f(set,A,neq,SetValue),State):- [7] Handbook of Data Mining and Knowledge Discovery, eds., Willi Klös- state(State,A,set,StateValue), gen and Jan M. Żytkow, Oxford University Press, New York, 2002. neqset(SetValue,StateValue),!. [8] The Handbook of Applied Expert Systems, ed., Jay Liebowitz, CRC valid(f(set,A,subseteq,SetValue),State):- Press, Boca Raton, 1998. state(State,A,set,StateValue), [9] Antoni Lig˛eza, Logical Foundations for Rule-Based Systems, Springer- subset(SetValue,StateValue),!. Verlag, Berlin, Heidelberg, 2006. valid(f(set,A,supseteq,SetValue),State):- [10] Antoni Lig˛eza and Grzegorz J. Nalepa, ‘Knowledge representation with state(State,A,set,StateValue), granular attributive logic for XTT-based expert systems’, in FLAIRS-20 subset(StateValue,SetValue),!. : Proceedings of the 20th International Florida Artificial Intelligence Research Society Conference : Key West, Florida, May 7-9, 2007, eds., valid(f(set,A,sim,SetValue),State):- David C. Wilson, Geoffrey C. J. Sutcliffe, and FLAIRS, pp. 530–535, state(State,A,set,StateValue), Menlo Park, California, (may 2007). Florida Artificial Intelligence Re- intersect(SetValue,StateValue,[_|_]),!. search Society, AAAI Press. valid(f(set,A,notsim,SetValue),State):- [11] Grzegorz J. Nalepa and Antoni Lig˛eza, ‘A graphical tabular model state(State,A,set,StateValue), for rule-based logic programming and verification’, Systems Science, intersect(SetValue,StateValue,[]),!. 31(2), 89–95, (2005). [12] Grzegorz J. Nalepa and Igor Wojnicki, ‘Proposal of visual generalized The excerpt of the implementation code presented above includes rule programming model for Prolog’, in 17th International conference only symbolic domains. The definitions for the remaining domains on Applications of declarative programming and knowledge manage- ment (INAP 2007) and 21st Workshop on (Constraint) Logic Program- are similar to the ones presented here. Currently the use of CLP ming (WLP 2007) : Wurzburg, Germany, October 4–6, 2007 : pro- (Constraint Logic Programming) P ROLOG extensions are being in- ceedings : Technical Report 434, eds., Dietmar Seipel and et al., pp. vestigated. 195–204, Wurzburg : Bayerische Julius-Maximilians-Universitat. Insti- tut für Informatik, (september 2007). Bayerische Julius-Maximilians- Universitat Wurzburg. Institut für Informatik. 6 CONCLUDING REMARKS [13] Grzegorz J. Nalepa and Igor Wojnicki, ‘Visual software modelling with extended rule-based model : a knowledge-based programming solution Providing an expressive yet formally described rule language is of a for general software design’, in ENASE 2007 : proceedings of the sec- high importance for practical rule design and implementation. This ond international conference on Evaluation of Novel Approaches to Software Engineering : Barcelona, Spain, July 23–25, 2007, eds., Cesar paper presents extensions of Set Attributive Logic as presented in Gonzalez-Perez and Leszek A. Maciaszek, pp. 41–47. INSTICC Press, [9]. In the proposed logic both atomic and set values are allowed (july 2007). and various relational symbols are used to form atomic formulae. [14] Stuart Russell and Peter Norvig, Artificial Intelligence: A Modern Ap- The proposed language provides a concise and elegant tool of sig- proach, Prentice-Hall, 2nd edn., 2003. [15] I. S. Torsun, Foundations of Intelligent Knowledge-Based Systems, nificantly higher expressive power than in case of classical attribute Academic Press, London, San Diego, New York, Boston, Sydney, logic. It can be applied for design, implementation and verification Tokyo, Toronto, 1995. of rule-based systems.