# Re: A Simple Notation

From: Bob Badour <bbadour_at_pei.sympatico.ca>

Date: Thu, 05 Jul 2007 13:07:47 -0300

Message-ID: <468d173e$0$4299$9a566e8b_at_news.aliant.net>

>> David Cressey wrote:

Date: Thu, 05 Jul 2007 13:07:47 -0300

Message-ID: <468d173e$0$4299$9a566e8b_at_news.aliant.net>

> Bob Badour wrote: >

>> David Cressey wrote:

*>>**>>> "Bob Badour" <bbadour_at_pei.sympatico.ca> wrote in message**>>> news:468cef93$0$4340$9a566e8b_at_news.aliant.net...**>>>**>>>> David Cressey wrote:**>>>>**>>>>> In Boolean algebra, you could, if you wanted to, express everything by**>>>**>>>**>>>**>>> just**>>>**>>>>> using brackets, as follows:**>>>>>**>>>>> [A B] means NOT (A AND B)**>>>>>**>>>>> This notation can be extended to 3 or more operands, as follows:**>>>>>**>>>>> [A B C] means NOT (A AND B AND C)**>>>>>**>>>>> "AND" is associative, so there's no confusion.**>>>>>**>>>>> You can reduce the notation to 1 operand as follows:**>>>>>**>>>>> [A] means NOT (A)**>>>>>**>>>>> And to zero operands as follows:**>>>>>**>>>>> [] means TRUE**>>>>> [[]] means FALSE**>>>>>**>>>>> You can build up everything else from there. For example,**>>>>>*

*>>>>> [[A B]] = A AND B**>>>>> [[A] [B]] = A OR B**>>>>>**>>>>> Now my question is, can you do the corresponding thing in the RA,**>>>**>>>**>>>**>>> using**>>>**>>>>> <NOT> and <AND>? I don't see why not.**>>>>>**>>>>> So you would get (for example)**>>>>>**>>>>> [[A B]] = A <AND> B**>>>>> [[A] [B]] = A <OR> B**>>>>>**>>>>> As written text, this notation is rather unwieldy, but you can**>>>**>>>**>>>**>>> represent it**>>>**>>>>> fairly tightly in internal data structures. And its simplicity does**>>>**>>>**>>>**>>> make**>>>**>>>>> some things easier.**>>>>**>>>>**>>>>**>>>> The RA generally replaces NOT with MINUS to avoid dealing with**>>>> open-ended or infinite relations. D&D show a similar approach in the**>>>> version of TTM that I have where they allow open-ended negation. They**>>>> use it to show that function calls are just another sort of relation**>>>> etc. Paul C mentions it here a lot.**>>>>**>>>> Then again, perhaps you refer to the same thing with <AND> and <OR> in**>>>> which case, I simply agree that using [A B] to mean <NOT>(A <AND> B)**>>>> achieves something similar.**>>>**>>>**>>>**>>> The truth is that <AND> and <OR> are new territory for me, and quite**>>> possibly over my head.**>>> But if the RA really is isomporhic to Bollean Algebra, then I'd like to**>>> leverage what I think I do understand in order to better understand**>>> something else.**>>>**>>> As far as replacing <NOT> with MINUS, something similar is done with 2s**>>> complement integer notation. We represent -1 in the computer as 2^X-1**>>> where X is some number like 32.**>>> My mind is not made up on this score. It's clear that, at**>>> implementation**>>> time, you have to settle for what's finite, as least witihn a certain**>>> limited time frame.**>>**>>**>>**>> I see the problem of NOT as being more than just the infinite. Most**>> actual uses of NOT in human communication have some implicit or**>> explicit universe of discourse. From a computational perspective,**>> unless one makes the universe explicit, which is basically what MINUS**>> does, the result is indeterminate even when finite.*> > Just agreeing (I think) - in Codd's RM, "NOT" means complement relative > to a relation with a specific heading. For argument's sake, if today's > giga-byte machines were limited to types of single byte integers, many > negated results would be tractable. For the average person (like me!) > <AND> is not hard to see as inference, <NOT> seems inherent in "DELETE" > and <OR> seems necessary to "INSERT". Mechanically, we could get rid of > any two ops if we wanted, but they are helpful at least for our > intuition. They are merely devices and remind me that RM > implementations can only imitate what we think we are modelling whereas > the mystical school seems to believe that we can echo exactly. The > usefulness of the RM approach seems to me to be that when comparing the > machine result to our own activities there is only one mental > transformation needed, ie., from "real world" to first-order logic and > sets - no need to ask whether the machine is wrong assuming it is > faithful to FOL.

Replacing NOT with MINUS allows one to explicitly state the universe of discourse--including the entire domain when that is the appropriate universe. Received on Thu Jul 05 2007 - 18:07:47 CEST