Rules are *not* Horn clauses!

> I would say that the languages of queries and rules in Prolog 
> were *identical*: both consist of Horn clauses.

Please notice that Prolog rules (as well as any other practical
computational rule concept such as SQL views and OCL implications) 
are *not* Horn clauses! They are, for good reasons, more expressive, 
allowing for negation in their body/antecedent (and other things, 
such as quantifiers, as in the case of SQL views). 
 
We should consider the concept of a rule as a basic one that 
is not derived from that of a Horn clause (which happens to be 
a very restricted/simplified type of rule). The concept of a
Horn clause is tight to classical (two-valued) logic. But rules 
play a role in all kinds of formalism with a non-classical
logic semantics (such as intuitionistic, partial, temporal,
inconsistency-tolerant logic, etc.).

-Gerd

--------------------------------------------
Gerd Wagner        Email: G.Wagner@tm.tue.nl
http://tmitwww.tm.tue.nl/staff/gwagner
 
Eindhoven University of Technology
Faculty of Technology Management
Department of Information & Technology 
P.O. Box 513       
5600 MB Eindhoven    Tel: (+31 40) 247 26 17
The Netherlands      Fax: (+31 40) 243 26 12

Received on Wednesday, 19 September 2001 08:30:51 UTC