Linear Clause Generation by Tableaux and DAGs

Similar documents
Foundations of AI. 9. Predicate Logic. Syntax and Semantics, Normal Forms, Herbrand Expansion, Resolution

Binary Decision Diagrams

A Knowledge Compilation Technique for ALC Tboxes

Encoding First Order Proofs in SMT

Artificial Intelligence. Chapters Reviews. Readings: Chapters 3-8 of Russell & Norvig.

Automatic Reasoning (Section 8.3)

Module 6. Knowledge Representation and Logic (First Order Logic) Version 2 CSE IIT, Kharagpur

SAT-CNF Is N P-complete

Encoding First Order Proofs in SAT

Definition: A context-free grammar (CFG) is a 4- tuple. variables = nonterminals, terminals, rules = productions,,

Multi Domain Logic and its Applications to SAT

Discrete Optimization. Lecture Notes 2

Where Can We Draw The Line?

Knowledge Representation and Reasoning Logics for Artificial Intelligence

CS40-S13: Functional Completeness

Boolean Representations and Combinatorial Equivalence

Mixed Integer Linear Programming

The Resolution Algorithm

Normal Forms for Boolean Expressions

CS 395T Computational Learning Theory. Scribe: Wei Tang

DM841 DISCRETE OPTIMIZATION. Part 2 Heuristics. Satisfiability. Marco Chiarandini

On Resolution Proofs for Combinational Equivalence Checking

Theorem proving. PVS theorem prover. Hoare style verification PVS. More on embeddings. What if. Abhik Roychoudhury CS 6214

Data Analytics and Boolean Algebras

Mathematical Logic Prof. Arindama Singh Department of Mathematics Indian Institute of Technology, Madras. Lecture - 37 Resolution Rules

Decision Procedures for Recursive Data Structures with Integer Constraints

Polarized Rewriting and Tableaux in B Set Theory

CSL105: Discrete Mathematical Structures. Ragesh Jaiswal, CSE, IIT Delhi

Deductive Methods, Bounded Model Checking

Propositional Theories are Strongly Equivalent to Logic Programs

Knowledge Representation and Reasoning Logics for Artificial Intelligence

Finite Model Generation for Isabelle/HOL Using a SAT Solver

Mathematical Logic Prof. Arindama Singh Department of Mathematics Indian Institute of Technology, Madras. Lecture - 9 Normal Forms

Propositional Logic. Part I

Integrity Constraints (Chapter 7.3) Overview. Bottom-Up. Top-Down. Integrity Constraint. Disjunctive & Negative Knowledge. Proof by Refutation

PROPOSITIONAL LOGIC (2)

T h e incomplete database

To prove something about all Boolean expressions, we will need the following induction principle: Axiom 7.1 (Induction over Boolean expressions):

Losp for Predicate Calculus

Lee Pike. June 3, 2005

COMP4418 Knowledge Representation and Reasoning

To prove something about all Boolean expressions, we will need the following induction principle: Axiom 7.1 (Induction over Boolean expressions):

Knowledge Representation. CS 486/686: Introduction to Artificial Intelligence

LOGIC AND DISCRETE MATHEMATICS

ROUGH MEMBERSHIP FUNCTIONS: A TOOL FOR REASONING WITH UNCERTAINTY

(a) (4 pts) Prove that if a and b are rational, then ab is rational. Since a and b are rational they can be written as the ratio of integers a 1

Notes. Notes. Introduction. Notes. Propositional Functions. Slides by Christopher M. Bourke Instructor: Berthe Y. Choueiry.

Boolean Functions (Formulas) and Propositional Logic

Unification in Maude. Steven Eker

Answer Sets and the Language of Answer Set Programming. Vladimir Lifschitz

Computation Club: Gödel s theorem

Module 6. Knowledge Representation and Logic (First Order Logic) Version 2 CSE IIT, Kharagpur

Polynomial SAT-Solver Algorithm Explanation

6. Inference and resolution

HOL DEFINING HIGHER ORDER LOGIC LAST TIME ON HOL CONTENT. Slide 3. Slide 1. Slide 4. Slide 2 WHAT IS HIGHER ORDER LOGIC? 2 LAST TIME ON HOL 1

On Resolution Proofs for Combinational Equivalence

AND-OR GRAPHS APPLIED TO RUE RESOLUTION

Homework 1. Due Date: Wednesday 11/26/07 - at the beginning of the lecture

Complexity of unique list colorability

Term Algebras with Length Function and Bounded Quantifier Elimination

Finding a winning strategy in variations of Kayles

Notes for Chapter 12 Logic Programming. The AI War Basic Concepts of Logic Programming Prolog Review questions

Lecture 14: Lower Bounds for Tree Resolution

Warm-Up Problem. Let L be the language consisting of as constant symbols, as a function symbol and as a predicate symbol. Give an interpretation where

Lecture 17 of 41. Clausal (Conjunctive Normal) Form and Resolution Techniques

These notes present some properties of chordal graphs, a set of undirected graphs that are important for undirected graphical models.

A SIMPLE APPROXIMATION ALGORITHM FOR NONOVERLAPPING LOCAL ALIGNMENTS (WEIGHTED INDEPENDENT SETS OF AXIS PARALLEL RECTANGLES)

Stable Harmony. Nils Kurbis

Improving Coq Propositional Reasoning Using a Lazy CNF Conversion

New Upper Bounds for MAX-2-SAT and MAX-2-CSP w.r.t. the Average Variable Degree

Name: CSCI E-220: Artificial Intelligence Midterm Exam, Fall Term 2001

Description Logics and Disjunctive Datalog The Story so Far

Reverse Polish notation in constructing the algorithm for polygon triangulation

Automata Theory for Reasoning about Actions

CS 512, Spring 2017: Take-Home End-of-Term Examination

Conjunctive queries. Many computational problems are much easier for conjunctive queries than for general first-order queries.

System Description: iprover An Instantiation-Based Theorem Prover for First-Order Logic

Towards a Logical Reconstruction of Relational Database Theory

Range Restriction for General Formulas

Part I Logic programming paradigm

Overview. CS389L: Automated Logical Reasoning. Lecture 6: First Order Logic Syntax and Semantics. Constants in First-Order Logic.

Solving 3-SAT. Radboud University Nijmegen. Bachelor Thesis. Supervisors: Henk Barendregt Alexandra Silva. Author: Peter Maandag s

Semantic Tableau Prover for Modal Logic

Lecture 5: Formation Tree and Parsing Algorithm

The Metalanguage λprolog and Its Implementation

The Encoding Complexity of Network Coding

Answer Key #1 Phil 414 JL Shaheen Fall 2010

Revisiting Kalmar completeness metaproof

THE DEVELOPMENT OF PARALLEL RESOLUTION ALGORITHMS USING THE GRAPH REPRESENTATION. Andrey Averin, Vadim Vagin

Eulerian disjoint paths problem in grid graphs is NP-complete

6.034 Notes: Section 10.1

CSE 20 DISCRETE MATH. Fall

argo-lib: A Generic Platform for Decision Procedures

The underlying idea for the proposed proof procedure is to transform a formula into a Shannon graph and compile this graph into Horn clauses When run

Linear Time Unit Propagation, Horn-SAT and 2-SAT

Validating Plans with Durative Actions via Integrating Boolean and Numerical Constraints

8.1 Polynomial-Time Reductions

The Inverse of a Schema Mapping

BDDC v2 A basic bdd-based logical calculator

A Short Introduction to First-Order Theorem Proving with KeY

Transcription:

kovasznai 2007/8/10 11:27 page 109 #1 5/1 (2007), 109 118 tmcs@inf.unideb.hu http://tmcs.math.klte.hu Linear Clause Generation by Tableaux and DAGs Gergely Kovásznai Abstract. Clause generation is a preliminary step in theorem proving since most of the state-of-the-art theorem proving methods act on clause sets. Several clause generating algorithms are known. Most of them rewrite a formula according to well-known logical equivalences, thus they are quite complicated and produce not very understandable information on their functioning for humans. There are other methods that can be considered as ones based on tableaux, but only in propositional logic. In this paper, we propose a new method for clause generation in first-order logic. Since it inherits rules from analytic tableaux, analytic dual tableaux, and free-variable tableaux, this method is called clause generating tableaux (CGT). All of the known clause generating algorithms are exponential, so is CGT. However, by switching to directed acyclic graphs (DAGs) from trees, we propose a linear CGT method. Another advantageous feature is the detection of valid clauses only by the closing of CGT branches. Last but not least, CGT generates a graph as output, which is visual and easy-to-understand. Thus, CGT can also be used in teaching logic and theorem proving. Key words and phrases: discrete mathematics, logic, graph theory, proof methods, artificial intelligence (theorem proving). ZDM Subject Classification: N75, E35, K35, E55, R45. 1. Introduction Most of the state-of-the-art theorem proving methods act on clause sets. Some of them are resolution-based, like binary resolution [10] and hyper-resolution [11], but there are other ones that are based on tableaux, like clause tableaux [4], hyper tableaux [1], and multi-hyper (hypers) tableaux [5]. Therefore, techniques Copyright c 2007 by University of Debrecen

kovasznai 2007/8/10 11:27 page 110 #2 110 Gergely Kovásznai for generating clauses from arbitrary first-order formulas are required. Most of the clause generating algorithms rewrite a formula according to well-known logical equivalences, like the de Morgan rules, the rules for converting implication to disjunction, and the rules of distributivity. A survey of such algorithms can be found in [6]. As rare exceptions, there are other alternative methods. Some of them are based on BDDs (Binary Decision Diagrams), also known as Shannon graphs [6, 9]. These algorithms use BDDs as intermediate forms, i.e., a formula is converted to a BDD at first, and then this latter one is converted to a set of clauses. BDDs can basically be used in propositional logic, but they increasingly attract attention in first-order logic in these days. Logicians often draw a parallel between BDDs and tableaux [9], they are compared in clause generation and in theorem proving. Similarly, a parallel can be drawn between tableaux and clause generating algorithms based on generalized conjunction and disjunction, the dual forms of formulas, and embedded lists [3, 7]. However, these methods can only be used in propositional logic, either. Such an algorithm can convert a formula to either disjunctive normal form (DNF) or conjunctive normal form (CNF); this latter one is called clause normal form as well. For instance, in the case of DNF it generates a list [Q 1,...,Q m ] where each Q i is a list L 1,...,L k where each L j is a literal. That is, a list... represents the conjunction of its elements, and a list [...] represents the disjunction of its elements. Consider that the list [...,...,... ] constructed as DNF can be considered as an analytic tableau (AT) [13]. In the case of CNF, a list [...],...,[...] is constructed and can be considered as an analytic dual tableau (ADT) 1. The connection between tableaux and normal forms is well-known in literature, but only in propositional logic. In this paper, we propose a novel algorithm for clause generation in first-order logic, in Section 2. That algorithm is based on tableaux, and is exponential. In Section 3, that algorithm is linearized by the use of DAGs (Directed Acyclic Graphs). In Section 4, a simple technique is introduced for simplifying the clause set generated by the latter method. In the followings, we assume that the reader is familiar with the basic concepts of first-order logic. 1 The rules of ADT can be formed by transposing the rules of AT: exchanging the α-rule and the β-rule, and exchanging the γ-rule and the δ-rule.

kovasznai 2007/8/10 11:27 page 111 #3 Linear Clause Generation by Tableaux and DAGs 111 2. Clause Generation by Tableaux Unfortunately, ADT cannot directly be used for generating CNF (i.e., clauses) in first-order logic. It is prevented by the γ-rule and the δ-rule. As compared to propositional logic, the definition of satisfiability is supplemented with the concept of assignment, which prevents us from considering satisfiability (in AT) to be the negation of unsatisfiability (in ADT) only by taking model generation for basis. Thus, the adequate tableau rules for clause generation: the γ-rule and the δ-rule of AT, and the α-rule and the β-rule of ADT. Besides, existential quantifiers must be eliminated by introducing Skolem-functions [12]. Furthermore, universal quantifiers must be taken to the beginning of the formula by introducing new parameters, like in free-variable tableaux [3]. These transcriptions have to be done on the fly. The required tableau rules can be seen in Figure 1. α-rule: α α 1 α 2 β-rule: β β 1 β 2 γ-rule: γ γ(x) δ-rule: δ δ ( f(x 1,...,x k ) ) x is a new variable f is a new Skolem-function and FV (δ) = {x 1...,x k } Figure 1. Clause generating tableau Rules Definition 1. Let A be a formula. A clause generating tableau (CGT) for A is defined inductively as follows: (1) A tableau consisting of one single node labeled by A is a CGT for A. (2) If T is a CGT for A then so is T where T is the result of applying any rule in Figure 1 to T.

kovasznai 2007/8/10 11:27 page 112 #4 112 Gergely Kovásznai In contrast with tableaux in theorem proving, it is sufficient to apply a rule only once to the same node 2. In order to force this, erase each label to which a rule has already been applied. A CGT is called finished iff all of its labeled nodes are labeled by literals. It should be proven that the clause set specified by a CGT for a formula A is satisfiable iff so is A. The following definition and lemma pave the way for that proof. Definition 2. Let us define the function cnf () on branches and tableaux, as follows: (1) If B is a branch consisting of the formulas A 1,...,A k (k 1) then cnf (B) = (A 1... A k ) (2) If T is a tableau consisting of the branches B 1,...,B k (k 1) then cnf (T ) = cnf (B 1 )... cnf (B k ) Lemma 3. Let T be a CGT. cnf (T ) is satisfiable iff cnf (T ) is also satisfiable where T is the result of applying a CGT rule to T. Proof. Let the proof divide in two according to the rule applied. (1) If either the α-rule, the β-rule, or the γ-rule is applied: Suppose cnf (T ) to be satisfiable. Since there is a model M such that M = cnf (T ), for all branches B of T M = cnf (B). When applying a rule, only one branch changes, but the other ones remain unchanged. It is sufficient to focus on the branch that changes, which is denoted by B and regarded as a set of its formulas in the followings. Similarly, let T be regarded as a set of its branches. (a) If B = X {(A B)}, i.e., M = cnf (X) (A B): The β-rule is applied to (A B), which results in branch B = X {A,B}. Since cnf (B ) = cnf (X) A B, M = cnf (B) iff M = cnf (B ). (b) If B = X {(A B)}, i.e., M = cnf (X) (A B): 2 For a complete calculus in first order logic, it must be allowed to apply the γ-rule of AT and the δ-rule of ADT several times. The method of CGT is not a calculus.

kovasznai 2007/8/10 11:27 page 113 #5 Linear Clause Generation by Tableaux and DAGs 113 The α-rule is applied to (A B), which results in branches B 1 = X {A} and B 2 = X {B}. Since cnf (B 1) = cnf (X) A and cnf (B 2) = cnf (X) B, M = cnf (B) iff M = cnf (B 1) cnf (B 2). (c) If B = X { xa(x)}, i.e., M = cnf (X) xa(x): The γ-rule is applied to xa(x), which results in branch B = X {A(y)}. The variable y is new, i.e., y / FV (T ). Thus, y / B and y / X. Since cnf (B ) = cnf (X) A(y), M = cnf (B) iff M = cnf (B ). (2) If the δ-rule is applied, i.e., there is a branch B T such that B = X { xa(x)}: The δ-rule is applied to xa(x), which results in branch B = X {A(f(x 1,...,x k ))}. According to Skolem [12], a formula is satisfiable iff it remains also satisfiable after eliminating one of its existential quantifiers by introducing a new Skolem-function. Thus, cnf (T ) is satisfiable iff so is cnf (T ). Theorem 4. Let A be a formula, and let T be a CGT for A. A is satisfiable iff so is C = {cnf (B) B T }. Proof. By Lemma 3, A is satisfiable iff so is cnf (T ). And by the definition of C, cnf (T ) is satisfiable iff so is C. Consider that if T is finished then C is a clause set. I.e., the branches of a finished CGT represent the required clauses. 3. Linear algorithm by DAGs All the known clause generating algorithms are exponential, which is caused by the rewritings according to distributivity. The worst case is the one when the original formula is in DNF. In this case, the number of the generated clauses is l c at most where c is the number of disjuncts in the DNF, and l is the maximal number of literals within those disjuncts. Of course, that number cannot be reduced. Nevertheless, the number of steps of the generation can be.

kovasznai 2007/8/10 11:27 page 114 #6 114 Gergely Kovásznai CGT is exponential, too. The problem is that some formulas are duplicated in the CGT, so they must be processed separately, although they are the same. This problem originates in distributivity and manifests itself in the α-rule. It is easy to consider that the tree as data structure causes the problem since a tree cannot contain a node with a degree greater than 1. This latter restriction should be eliminated, i.e., directed acyclic graphs (DAGs) are needed instead of trees. DAGs are well-known for logicians. Robinson s exponential unification algorithm was linearized by Paterson and Wegman in the 70s, by the use of DAGs [8]. The key idea was the replacing of all occurrences of a variable by references to the original variable. I.e., a variable is stored and substituted only in one spot, and not in all of its occurrences. DAGs are widely used in logical applications where duplications are to be prevented. Moreover, DAGs are used not only for the sake of efficiency: e.g., the relation between worlds in Kripke s modal semantics can be represented quite naturally by DAGs, as considered by Castilho et al. [2], who constructed their own modal tableaux based on DAGs. In the case of CGT, the introduction of DAGs is motivated for the sake of efficiency, and the fact that the resulting CGT produces a more expressive output. As Paterson and Wegman linearized the unification algorithm by changing the data structure only, so do we in the case of CGT. As mentioned above, the problematic α-rule has to be changed, as shown in Figure 2. It can be seen that every junction is immediately closed in an unlabeled node. α α-rule: α 1 α 2 Figure 2. Clause generating DAG α-rule changed The way that the rules are applied is also important. The traditional way of applying tableau rules to a node N is that the new formulas are appended at the end of each branch containing N. Now, in the case of CGT they get inserted right below N. Consider that such a CGT is really a DAG and always contains exactly one leaf. This algorithm is obviously linear in terms of the number of logical connectives in the original formula. In Figure 3, a finished CGT as a DAG can be seen which has been generated for the formula in the root.

kovasznai 2007/8/10 11:27 page 115 #7 Linear Clause Generation by Tableaux and DAGs 115 ( (P(x) ) ( ) ) x Q(x) y R(x,y) P(y) u v ( Q(u) R(u,v) ) ( (P(x) ) ( ) ) x Q(x) y R(x,y) P(y) ( (P(x) ) ( ) ) Q(x) y R(x,y) P(y) P(x) Q(x) P(x) y ( R(x,y) P(y) ) ( R(x,f(x)) P(f(x)) ) Q(x) R(x,f(x)) P(f(x)) u v ( Q(u) R(u,v) ) v ( Q(c) R(c,v) ) Q(c) R(c,v) Q(c) R(c, v) Figure 3. Example for CGT as DAG Consider that if a formula B was the result of applying a rule to a formula A then B is located right below A. Two Skolem-functions were introduced: f and c. In the figure, we have not erased the compound formulas, but have framed the nodes that are really located in the finished CGT. These latter nodes (literals) form the required clauses: P(x) Q(x) Q(c) R(c,v) R(x,f(x)) Q(c) R(c,v) P(f(x)) Q(c) R(c,v)

kovasznai 2007/8/10 11:27 page 116 #8 116 Gergely Kovásznai 4. Simplifying Clause Set by Closure In the generated clause set the clauses that are valid can be eliminated since they do not have an effect on the satisfiability of the clause set. It is quite easy to detect valid clauses in a CGT. In an ADT a branch can be proven to be valid by closure. So can it be in a CGT, since it inherits the α-rule and the β-rule from ADT. If a branch of a finished CGT can be closed, then that branch as a clause does not get in the generated clause set. The closing of CGT branches can be done as in the MGU Atomic Closure Rule in [3], i.e., by generating most general unifiers (MGUs), as follows: (1) Looking for an MGU for two oppositely negated literals in the branch. (2) If such an MGU exists then the given branch (as a clause) does not get in the generated clause set. In the case of the finished CGT in Figure 3 the clause R(x,f(x)) Q(c) R(c,v) does not get in the clause set, since the branch consisting of its literals can be closed by the MGU {x/c,v/f(c)}, which is in fact the MGU of the oppositely negated literals R(x,f(x)) and R(c,v). 5. Conclusion In this paper, a novel algorithm for clause generation is proposed and is called clause generating tableaux (CGT). CGT is based on tableaux, namely on both analytic tableaux and analytic dual tableaux. CGT is exponential like all the close generating algorithms, but it can easily be linearized by switching to DAGs from trees. Another advantage of using tableaux is that valid clauses can be eliminated very easily only by detecting the closure of branches. CGT is a very clear, simple, and easy-to-implement algorithm for clause generation, and it is linear in contrast with all the known algorithms for the same purpose. At the University of Debrecen, theorem proving was introduced to education in 1994. Currently, in the Bologna process, the following courses are held in connection with theorem proving: The Logical Bases of Informatics : In this compulsory and foundation course, students acquire the basics of the classical propositional and firstorder logic (syntax and semantics), logical laws, normal forms, etc.

kovasznai 2007/8/10 11:27 page 117 #9 Linear Clause Generation by Tableaux and DAGs 117 The Basics of Artificial Intelligence : Logical puzzles are represented by graphs, and are solved with numerous graph search methods (e.g., backtracking, deep-first, breadth-first, heuristic). Automated Theorem Proving : Analytic tableaux and resolution are introduced in propositional logic, as well as several resolution strategies. In firstorder logic, after useful methods for automating tableaux and resolution are proposed (e.g., unification and skolemization), first-order tableaux and firstorder resolution are introduced. Logic Programming : Linear input resolution and Prolog. Several puzzles are represented by clause sets, solved with resolution, and implemented in Prolog by students. Since clause generation is already introduced in the foundation course The Logical Bases of Informatics, and is essential in the courses Automated Theorem Proving and Logic Programming, it is worth to show a linear and easy-toimplement algorithm for this problem to students (besides the method in [6]). Especially as students get acquainted with graph representation and graph methods in the course The Basics of Artificial Intelligence, teaching the CGT method in the courses Automated Theorem Proving and/or Logic Programming is quite useful, since it is a simple and linear algorithm for clause generation (i.e., it performs a preliminary task for resolution); it is based on analytic tableaux; it checks closure of branches and uses unification in order to eliminate valid clauses; and it produces a DAG as output, which is graphic, and therefore very expressive for humans. References [1] P. Baumgartner, U. Furbach, I. Niemelä, Hyper Tableaux, Lecture Notes in Computer Science 1126 (1996), 1 17. [2] M. A. Castilho, L. F. del Cerro, O. Gasquet, A. Herzig, Modal Tableaux with Propagation Rules and Structural Rules, Fundamenta Informaticae 32 (1997), 281 297. [3] M. Fitting, First-Order Logic and Automated Theorem Proving, Springer-Verlag, 1996.

kovasznai 2007/8/10 11:27 page 118 #10 118 Gergely Kovásznai : Linear Clause Generation by Tableaux and DAGs [4] R. Hähnle, Tableaux and Related Methods, in: Handbook of Automated Reasoning, Vol. 1, Chapter 3, (J. A. Robinson and A. Voronkov, eds.), Elsevier and MIT Press, 2001, 100 178. [5] G. Kovásznai, HyperS Tableaux Heuristic Hyper Tableaux, Acta Cybernetica 17 (2005), 325 338, ZBL#1099.68096, MR#2183822. [6] A. Nonnengart, C. Weidenbach, Computing Small Clause Normal Forms, in: Handbook of Automated Reasoning, Vol. 1, Chapter 6, (J. A. Robinson and A. Voronkov, eds.), Elsevier and MIT Press, 2001, 335 367. [7] K. Pásztorné Varga, M. Várterész, A Generalized Approach to the Theorem Proving Methods, 5 th International Conference on Applied Informatics, Hungary (2001), 191 200. [8] M. S. Paterson, M. N. Wegman, Linear Unification, Annual ACM Symposium on Theory of Computing (1976), 181 186. [9] J. Posegga, P. H. Schmitt, Automated Deduction with Shannon Graphs, Journal of Logic and Computation 5 (1995), 697 729. [10] J. A. Robinson, A Machine-Oriented Logic Based on the Resolution Principle, Journal of the ACM 12 (1965), 23 41. [11] J. A. Robinson, Automated Deduction with Hyper-Resolution, International Journal of Computer Mathematics 1 (1965), 227 234. [12] T. Skolem, Logisch-kombinatorische Untersuchungen über die Erfüllbarkeit oder Beweisbarkeit matematischer Sätze nebst einem Theoreme über dichte Mengen, Videnskabsakademiet i Kristiania, Skrifter I, no. 4 (1919), 1 36. [13] R. M. Smullyan, First-Order Logic, Springer-Verlag, 1968. GERGELY KOVÁSZNAI UNIVERSITY OF DEBRECEN FACULTY OF INFORMATICS H 4010 DEBRECEN HUNGARY P.O. BOX 12 E-mail: kovasz@inf.unideb.hu (Received November, 2006)