RE: Is n3 a rules language or a logic language?

>>> Here one of the problems with N3. There is no indication in N3 of
whether
>>> log:implies is supposed to be material implication, a proof rule, or
some
>>> other logical connective (such as, for example, some sort of relevance
>>> implication).
>>
> In the sense of 'rule' I think you want (the one in which RuleML and 
> rule engines are about rules) there is no fundamental difference. The 
> use of "rule" rather than "implication" is a signal that you are not 
> planning to use it in the context of a logically complete reasoner 

I think that we prefer the term "rule" over "implication" since
we consider a rule not in the narrow sense of mathematical logic,
but in the broader sense of a knowledge representation (KR) expression,
and KR is not a branch of classical/mathematical logic but rather
the other way around. In real world domains, and in natural language,
we use the term "rule" for denoting many different things with very
different semantics. The same holds for the term "business rule", which
is a popular concept in enterprise modeling and information system
design. 

That's why, in RuleML, we use a basic distinction between at least 
three different types of rules: derivation rules, integrity rules,
and reaction rules (a possible fourth kind of rule may be called
"deontic assignment rules" subsuming permission, prohibition,
duty assignment and empowerment rules).

The discussion here (at rdf-rules) seems to be limited to certain
types of derivation rules. But notice that there may be many different
types of such rules, and indeed there are many different derivation
rule systems out there: normal/extended logic programs with one/two 
negations, intuitionistic logic programs, temporal/fuzzy/etc. logic 
programs, OO rule systems, etc. Most of these systems have some
underlying non-classical logic, which does often not have any 
(genuine) implication connective. Rules are simply more fundamental 
than implications as KR expressions. This also holds, e.g., for SQL
which allows a type of derivation rule, called "views", but does not
support an implication (in the query language).

> (or, possibly, that you are using it relative to a more 
> 'computational' semantics, such as minimal-model semantics, relative 
> to which it is complete; but then you ought to think hard about 
> whether you still want to call it the material conditional, maybe.)

Under the minimal model semantics, a rule does no longer have the
same intended models as the corresponding implication. This is easy
to see: consider the rule q :- ~p. It has only one intended (i.e.
minimal) model, which may be expressed by the set {q}, whereas the
corresponding material implication ~p -> q, which is equivalent to
q v p, has two intended/minimal models: {q} and {p}.

-Gerd

---------------------------------------
Gerd Wagner  
http://tmitwww.tm.tue.nl/staff/gwagner/
Dep. Information & Technology 
Eindhoven University of Technology  
Email: G.Wagner@tm.tue.nl 
Phone: (+31 40) 247 26 17  
Fax: (+31 40) 247 26 12

Received on Wednesday, 11 December 2002 13:09:28 UTC