# RE: Reification

From: Peter F. Patel-Schneider <pfps@research.bell-labs.com>
Date: Sun, 08 Apr 2001 11:20:25 -0400

Message-Id: <20010408112025G.pfps@research.bell-labs.com>
```From: "Danny Ayers" <danny@panlanka.net>
Subject: RE: Reification
Date: Sun, 8 Apr 2001 19:22:04 +0600

> I'm a little confused here, though I think it's down to the terminology.
> Surely I can give a triple -
>
> subject : a
> predicate : not
> object : b
>
> and define 'not' as a relation between a and b where if a is true then b is
> false & vice versa - isn't this negation?

No, this is not negation.  To really have negation you have to have a
theory for it.  You need to at least know what happens when you have both a
statement and its negation (in some input collection).

> surely RDF can express negation in just the same way that saying a = !b
> would express it?

No, RDF can encode negation, not express it.

> I've a feeling words like 'encoding' and 'expressing' are being used in a
> very specific way, one that differs from their common English usage - maybe
> it would help me if someone gave/pointed to definitions?

What is probably needed is a pointer to a good advanced book on logic.

In the absence of that, let me give you an example.

Propositional logic can be defined with just one connective: nor (the
negation of or).  This logic can express all the normal propositional
connectives such as negation (p nor p), conjunction, and disjunction.  This
is called ``expressing'' because, after the syntactical transformation, the
entire meaning of the connectives is captured by the standard mechanisms of
propositional logic.  Propositional logic can also encode first-order
logic, by using nor as a variant of cons and representing the syntax of
first-order logic in a fairly obvious way.  This is not ``expressing''
first-order logic, because it does not capture the entire meaning of first
order logic.  (Actually there is more to the story than this, and some
would argue that my definition of ``expressing'' is not strong enough.)

Your scheme above is encoding, not expressing, because RDF has no mechanism
that can be used to capture the meaning of negation.

Peter Patel-Schneider
Bell Labs Research
```
Received on Sunday, 8 April 2001 11:22:05 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Monday, 7 December 2009 10:52:38 GMT