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:
>>
>>> "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.
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.