Re: All hail Neo!

From: Frank Hamersley <>
Date: Tue, 25 Apr 2006 12:05:24 GMT
Message-ID: <8go3g.15459$>

Bob Badour wrote:
> Frank Hamersley wrote:

>> Bob Badour wrote:
>>> Frank Hamersley wrote:
>>>> Bob Badour wrote:
>>>>> Frank Hamersley wrote:
>>>>>> Bob Badour wrote:
>>>> [..]
>>>>>>> In that line of thought, here's an interesting question that Date 
>>>>>>> et al have posed before to the n-VL folks:
>>>>>>> If "exists but empty" is true and "doesn't exist" is false, what 
>>>>>>> is null?
>>>>>> Neither and both!
>>>>> I find that sort of handwaving to be a complete non-answer.
>>>> I suspect you are wearing the darkly tinted glasses of 
>>>> preconception. Whilst I was trying to show a little wit, the current 
>>>> 3VL state of affairs still seems to me to fit that description.
>>>>> A much more intellectually honest reply would be: "I don't know."
>>>> Not from this black duck (on this occasion)!
>>>>> or "Null has no similar analog in set theory."
>>>> I wasn't comparing/contrasting the RM with set theory.  Perhaps for 
>>>> you it is implicit?
>>> No, it is quite explicit.
>> I am quite interested in exploring this area so please bear with me as 
>> my analysis is heavily tainted with practical experience and less 
>> (recently) so with formal theoretical studies. My response may be 
>> somewhat affected by the serial reading and responding to your post 
>> and I never feel comfortable with long posts when it finally is time 
>> to click send!
>>> Relations are sets.
>> ALL relations are sets?

> Yes, ALL relations are sets of tuples. SQL tables are not relation
> variables and do not contain relations.

OK - I presume the dichotomy is practice (SQL) vs theory (RM) in that with the former tables can exist with repeated rows but in the latter it presumes in a relation all tuples are distinct?

>> My gut feeling is that this is not true.  I
>> recognise that I hold to this because I view it from the damaged goods 
>> position (aka SQL) or the RM as propounded by Codd, rather than from a 
>> sounder theoretical starting point.

> RM/V2 seems flawed to me. I am not sure whether I have ever found a
> complete copy of RM/T. Did Codd ever advocate null prior to RM/T? Did he
> ever drop the requirement for logical identity?

I'm not well read enough to be able to hazard answers to these questions. I will does some more reading on these topics after I get off Highway #1.

>> I understand this puts us at odds
>> from inception.  From there I expect anything brought to this issue by 
>> theory will be elegant, symmetrical _and_ compelling.

> Relations are elegant, symmetrical and compelling. Bags and null are
> none of those.

Relations it seems are E,S+C until missing information is added to the mix. Bags and nulls are quite apparently not but from where I am now the null at least seems the lesser of evils viz my post in the "beautiful mind" thread.

>> [2nd editing]
>> Having read the texts, below I felt inclined to retract the above 
>> para, but then decided to leave it so you could form your own view on 
>> how wacky my thinking might be.  That said perhaps the fact that nulls 
>> do exist in the RM today taken with your confirmed view that they 
>> shouldn't (from a theoretical basis) is implied confirmation of my 
>> rather unlikely original thought...he says stepping back two full 
>> paces - did I write that?

> Whether nulls exist in the RM today is a topic of some controversy.

Sure is - in biological terms noting that the bastard child SQL inherits only half its genome from the known parent (RM) then the question is - is it a meiotic mutation or a pre-existing recessive allele now homozygous and perhaps deleterious?

>>> Relational algebra is the equivalent of set theory, and relational 
>>> calculus is the equivalent of predicate calculus.
>> I have no beef here.

> With null or without logical identity, they lack the equivalences
> mentioned.

By logical identity I take it you mean the distinctness of each tuple?

>>> Thus, the equivalence of dee and true and of dum and false are very 
>>> important. And the question of what relation value equates to null is 
>>> a very good question.
>> Lets put that aside until the first question has been addressed.

> Shall we get back to this now?

Yep - although there probably no debate to be had once the various and varying starting points are determined.

>>>>> True and 1 both have the exact same analog in set theory. False and 
>>>>> 0 both have the exact same analog in set theory.
>>>> Perhaps but insistence on a parallel form for the RM does not seem 
>>>> to lead anywhere practical*...FWICT.
>>> Are you suggesting that query transformations lack practical benefits?
>> No sure where you are going here, can you be specific or illustrate?

> The equivalence between relation values and boolean values facilitates
> certain query transformations such as between a union and an 'or'
> predicate and vice versa.

OK. Obviously useful for the theorist to explore stuff (apols to Alexi).

>>>>> This has a certain elegance and symmetry.
>>>> I agree that and readily subscribe to that in my own endeavours.
>>>>> In canonical form:
>>>>> {} = 0 = false
>>>>> {{}} = 1 = true
>>>>> What is the similar analog for null?
>>>> My prior knowledge of your/the notation is non existent but I can 
>>>> prolly deduce its intent.  So having a stab at it how about ...
>>>> {}{} = null
>>> {} is the empty set and is the set with cardinality 0.
>>> {{}} is the set containing an empty set and is the canonical form of 
>>> all sets with cardinality 1.
>>> {{},{{}}} is the canonical set with cardinality 2.
>> Interesting read. However it seems the jury is not even cloistered 
>> yet! I quote "The implications of this idea are not yet fully 
>> understood and are a topic of current research".  Of course, this is 
>> from a web page ;-)

> Goedel established limitations to formalism as the foundation of
> mathematics, and I am not sure that philosophy is meant to have an
> endpoint.

Which I find (philosophy) much more interesting these days, although much of it beyond me as a casual investigator.

>>> One can continue in this vein until Goedel stomps on one.
>> OK - it reminds me of a statement made in undergrad science that "you 
>> don't prove a hypothesis, you can only disprove it".  Of course Godel 
>> is more complete than that.

One the few occasions I can say I wish I had said that - and did!
>>> With respect to {}{} either it is completely meaningless, or perhaps 
>>> you intend the juxtaposition of two sets to mean conjunction or 
>>> disjunction, in which case:
>>> {}{} = {} = false
>> It was just a wild punt - the intent was to suggest that two empty 
>> sets were distinct and that their intersection was indefinable.

> One wonders in what way they are distinct. Is 1 distinct from 1? Is 0
> distinct from 0? Obviously, as values, they are indistinct. One must
> then posit that they differ in location.

So {1} and {1} are not distinct when conceptually imagined in an OO instance frame of mind? Thus it would take something like {1,2} and {1,3} at which point the sets are distinct? In this case are the 1's distinct?

> However, a single attribute
> within a single tuple within a single relation variable has a unique
> logical location.


> How then can null equate to two locations?

I'm guessing a bit here about your question - I take it to mean {1,null} and {1,null} should not be seen as distinct but nVL insists they are?

> What then
> does it mean when the null appears in a derived value which has no
> location at all?

But the RM proscribes every value (derived or not) has a location does it not - that is putting aside the stuff about nameless or duplicated attributes etc?

>>> If null and false are the same, we can do away with null.
>> They aren't but I guess it may be feasible to do away with null in the 
>> truth table ie. null implies false.  I expect you would still need its 
>> physical presence in the manifestation of tables/relations.

> If null is not the same as false, then it is not the same as {}. Does it
> then have an equivalent set representation?

No, I don't think it does. As you say it is not {} and {null} does not equal {null} - this is as I said before a paradoxical state of affairs and clearly does not marry well with the formal approach to analysis.


>> Thanks for the pointers - admittedly I have only limited time and have 
>> had to skim through the material, however it was apparent that there 
>> remains substantial areas where consensus has not been achieved (yet).

> I suspect your statement is true of all of mathematics and in fact of
> all fields of study.

Which is why we two are assembled here today - not enough of us for a riot however!

>>>> * (for another post perhaps) I don't see any great leap forward in 
>>>> the aspects of TTM that address the extinction of nulls.
>>> If nulls cause great damange without serving any particularly useful 
>>> purpose, why should one address their extinction?
>> No quite sure what your thrust is here, perhaps you would like to edit 
>> it given the damage (sic) it has suffered?  In advance of that, I can 
>> state that I don't hold that nulls cause _great_ damage (although 
>> neither does Semtex in capable hands for a proper purpose) and I 
>> certainly believe (at this point) that they do serve a purpose.

> Are you familiar with Date's various _Writings..._ books? He and Darwen
> and others have demonstrated that null causes great damage.

I don't need them to postulate it as I've seen it first hand. My opinion of Date mainly and Darwen to a much lesser extent (more by association than real research) is that whilst they have taken a pot shot at a low flying albatross, they haven't come up with anything even close to better. Being too tight to pay them for their various treatises means that I prolly have limited information to base that view upon but what I have seen doesn't thrill me one bit. Hence my 155 mm post on the BM thread.

Given the lesser evil option I expect to rely on skilled practitioners to mitigate the risk of that damage arising. Sadly they don't grow on trees!

> Nulls attempt to address missing information but do so with no basis in
> theory. I suggest that the null elixir only offers the illusion of power:

I understand your view. For the record mine is that null is no elixir - more like Cod Liver Oil and there ain't no illusions when swallowing that stuff.

>> As to
>> Date and Darwens attempt to remove nulls as shown in the Tutorial-D 
>> slides it didn't seem to meet the elegance or compelling stature I 
>> mentioned before.

> Missing information is messy, and we lack any theory to address it.
> Pretending otherwise may put the mess out of sight and out of mind, but
> that just makes the mess worse and the problems more surprising when
> re-discovered.

That is how I would characterise "D". On the theory side I am in a prolonged contemplation on the missing dimension in SQL (as compared to the RM) which is the temporal capability. I have made what I consider to be some progress but it is premature to discuss publicly lest I end up wearing lots of egg, suffice to say the null thang has a parallel in temporal matters. BTW I don't rate Date & Darwens offering on this either, nor FWIW much of the Snodgrass et al stuff that preceded them.

Cheers, Frank. Received on Tue Apr 25 2006 - 14:05:24 CEST

Original text of this message