On 28 Jan 2006, at 13:51, Gerd Wagner wrote:
> { p v q => r. }
>
> and
>
> { p => r. q => r. }
>
>>> are equivalent rulesets, no?
>
>> Well obviously not at least in some readings, as they produce
>> different answers.
>
> Their equivalence (according to the principle called
> "disjunction in the premise") is generally valid in all
> kinds of standard logics if "=>" is read as the implication
> connective. And it also holds in disjunctive logic programs.
>
> However, they may not be equivalent, if "=>" is read as a
> rule operator (not an object language symbol) having the
> epistemic flavor of requiring the condition to be "known"
> (it's not the same to know just p v q or to know p or q).
>
> Since we are assuming standard classical logic (do we?),
> reading rules as plain Horn formulas, Jos is right.
This is irrelevant at this point.
In fact, in this case *both* rulesets would not solve correctly the
example in <http://lists.w3.org/Archives/Public/public-rif-wg/2006Jan/
0110>, if a part of 'p' and a part of 'q' are locally evaluated as
queries over some external KB.
--e.