- From: Jos de Bruijn <debruijn@inf.unibz.it>
- Date: Fri, 26 Sep 2008 16:26:40 -0400
- To: kifer@cs.sunysb.edu
- CC: RIF <public-rif-wg@w3.org>
- Message-ID: <48DD4580.5090508@inf.unibz.it>
Michael Kifer wrote:
>
>
> On Fri, 26 Sep 2008 16:00:21 -0400
> Jos de Bruijn <debruijn@inf.unibz.it> wrote:
>
>> It was my test case, and you missed the p(?x) in the body, so the rule
>> is not inconsistent.
>
> OK. But then we actually derive
>
> Forall ~p(?X) \/ isInt(?X) \/ isStr(?X)
>
> which is not a condition formula.
Sure.
But we also derive isInt(a) \/ isStr(a)
because p(a) is in the premise.
Best, Jos
>
> m
>
>>
>> Jos
>>
>> Michael Kifer wrote:
>>> This is regarding the rule that kept bugging me:
>>>
>>> 1=2 :- AND(p(?X) isNotInt(?X) isNotString(?X)).
>>>
>>> It seems this is inconsistent in the presence of other data types, such as
>>> xsd:date. This is because this implies
>>>
>>> Forall ?X OR(isInt(?X) isString(?X))
>>>
>>> Since there are things that are disjoint from ints and strs (e.g., dates,
>>> time), it follows that the above rule is inconsistent.
>>>
>>> To make the above stick, all data types must be mentioned in the body.
>>>
>>>
>>> --michael
>>>
>
--
debruijn@inf.unibz.it
Jos de Bruijn, http://www.debruijn.net/
----------------------------------------------
One man that has a mind and knows it can
always beat ten men who haven't and don't.
-- George Bernard Shaw
Received on Friday, 26 September 2008 20:27:31 UTC