Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
Home -> Community -> Usenet -> comp.databases.theory -> Re: Date's First Great Blunder
Neo wrote:
> Say we have two pieces of data: X and Y.
> We can say "X equals Y" or "X doesn't equal Y".
> Depending on X and Y's type, we might say "X is less than Y"
> or "X is greater than Y".
>
> In the above example, I show one type of 4VL system.
That's a strange 4VL system. For one thing, it's obviously based on a 2VL system, so I don't think it's a good example of a 4VL system.
The only 4VL system I know of that works in general is [TRUE, FALSE, UNKNOWN, UNKNOWABLE] (aka [TRUE, FALSE, MAYBE, BULLSHIT]), . I refer to this system as Larsenian logic. Any predicate can resolve to one of those values.
> The initial
> problem is not how many different values I can conlcude, but what do X
> and Y represent. If X and Y represent things in reality, we can create
> a model/operations to match reality. The problem arises when X or Y
> are given a value that don't represent reality.
Neither X nor Y *can* represent reality. They can only represent a value from an abstraction of reality. Look at imaginary numbers. They don't exist in reality, but they are easily manipulated in math. On the other hand, look at irrational numbers. We can't even fully express an irrational number (we just have some nifty shorthands for a few of them), yet most numbers in reality are in fact irrational! Do not confuse logic or math with reality. In a computer system, we're never working with reality. The best we can do is find a logical system that helps us deal with reality. Boolean logic has its limitations. Larsenian logic has its annoyances in that people really want a "yes" or a "no", even when they can't get one.
> In RDM, when X's value isn't provided by reality, RDM incurs a NULL.
The RM actually proscribes the existence of NULL, because the RM depends on values, and a NULL is the lack of value. Therefore, the RM cannot incur a NULL. Instead, it precludes you from including the anomalous X or Y in a relation. This is an example of the limitation of Boolean logic.
> Even if that NULL is masked by "UNKOWN" or "UNAVAILABLE", logic/operations
> on it will be bogus.
I'm not sure, but it seems to me that you are expanding the concept of NULL to beyond how I see it. As far as I know, NULL is the *lack* of value, not a specific non-Boolean value.
There is no masking going on in Larsenian logic. There are simply 4 values to which a given predicate may resolve, instead of 2.
> If I make up HAHA and HOHO and they represent nothing in the
> real world, one may be able to create consistent logic around them,
> but could one guarantee the results would match reality???
No one can generally guarantee that for any logical system, not even Boolean logic. You can only guarantee it for specific cases.
>> If computers had 'trits' instead of 'bits' and >> if our modern school of thought had descended from the Incans instead of >> from the Greeks, we'd take 3VL [true, false, unknown] for granted. >> Honestly, I am not familiar with a culture that developed 4VL [true, >> false, unknown, unknowable], but I believe that such 4VL is the only >> complete way to address all possible predicates.
Again, you are using the word NULL in a stretched manner. What I believe you mean to say is that the problem is initially incurring an unquantifiable value. I agree that that unquantifiable values are a bummer, and are best avoided; sadly, they exist and plague us all the time. Larsenian logic accepts that.
Now to reiterate the point of my earlier paragraph, if you had been told by society since birth that 3VL was the basis of everything, you'd believe it and think that Boolean logic was some silly limited model that those goofy old Greeks came up with.
Take a look at how some other people see the world:
http://www.aymara.org/ternary/ternary.php
>> Incidentally, the reason that UNAVAILABLE equals UNAVAILABLE by default >> in >> today's implementations is due to the limitations of 2VL. In proper 4VL, >> (UNKNOWN ?= UNKNOWN) = UNKNOWN >> and >> (UNAVAILABLE ?= UNAVAILABLE) = UNAVAILABLE >> so John's age is not equal to Mary's age.
I goofed by not refining the example. I should have thrown out the term
UNAVAILABLE as ambiguous. The fact is, in a logically proper 4VL, John's
age and Mary's age are UNKNOWN. (The fact that they are UNKNOWN due to
their unavailability is irrelevant.) The fourth value UNKNOWABLE does not
come into play. So, specifically
(John's age ?= Mary's age) = UNKNOWN
This matches human reality. Not allowing to ask if John's age equals Mary's
age (as Boolean sanity requires) does *not* match human reality.
Also, the Boolean system can't reach many conclusion because its logic does not match reality. The main argument that supports Boolean logic is that it is consistent (never mind completeness).
> The base logic is that X = Y is either TRUE or FALSE.
The base Boolean logic is. That does not imply that the logic of the universe is. I do not claim to know the logic of the universe, but I'm sure it's not Boolean.
> When a logic
> starts making exceptions (ie unless X or Y has the special values
> "UNAVAILABLE/UNKOWN" or Mercury in Newton's case), it is a red flag
> that the model may not be entirely correct or has a limited scope (and
> probably every model is limited, just to different degrees).
Boolean is the limited model, not Larsenian. When a model claims that there are only two possibilities, it prevents you from asking many real-life questions. The classical logician loves to say "You asked a bullshit question" when you ask something that cannot resolve to TRUE or FALSE. It would be convenient if the universe did not have bullshit questions, but it does--lots of them, even. The Larsenian system I mentioned gives an answer to all possible predicates; Boolean logic does not. The fact that Larsenian answers are uncomfortable to many does not make it an improper system; the fact that Boolean logic does not let you ask many questions means it's an incomplete system.
>> Besides, nobody until recently had even given the RM >> a try in implementation. I'm hoping it finally catches on.
Seriously, I'm hoping that Alphora's Dataphor (the first RDBMS I've ever seen) gets more attention. Even if they don't make it big, maybe they'll inspire others to try the RM for a change.
Basically, my main gripe (the reason I jumped in here) is about the (perhaps implicit) claim that Boolean logic matches reality more than any other form of logic. Let's do a comparison of Boolean vs. Larsenian with this predicate.
"Boolean logic matches reality more than any other form of logic."
According to Boolean logic, this statement must be TRUE or FALSE. Which is it? By what proof can one demonstrate that it is TRUE or FALSE?
According to Larsenian logic, this statement must be TRUE, FALSE, UNKNOWN, or UNKNOWABLE. I would say the answer is UNKNOWABLE, i.e., the predicate is a bullshit statement. I can prove this by the impossibility of proving that it resolves to any of the other three values.
I think I'm done with this thread, because before continuing, a lot of details need to be ironed out to avoid crumbling into chaos. Not only are we not on the same page...I think we might be in different chapters.
--Senny Received on Fri Apr 23 2004 - 15:29:32 CDT