Re: Proposal: 6NF

From: Aloha Kakuikanu <>
Date: 19 Oct 2006 09:25:47 -0700
Message-ID: <>

vc wrote:
> Jan Hidders wrote:
> > vc wrote:
> [...]
> > > A, B and C are real;
> > > D, E are integer;
> > >
> > > C = A / B -- is OK
> > > C = D / E -- the LSP requires that should be OK too but it is not
> > > because D / E is undefined.
> >
> > No, it is defined. D and E are in the domain of integers, and therefore
> > also in the domain of reals, so the result is the real D/E with / the
> > operator (in both expressions) as defined by the reals.
> The result cannot be "defined by reals" because you do not have any
> elements in your integer domain to define such result. There is no
> number 0.66666666... (2/3) in it, it's gone when you subsetted your
> integers.

But any CA system has rationals. There is noreason programmatic environments cant have them too.

> If you jump into the real domain each time the operation cannot be
> defined in integers, what's the point of even talking about the
> integeres? They are simply unnecessary, they just do not exist in
> your picture, they are useless labels without any obvioius purpose.
> Essentially, you are saying that everything is done with reals, but
> whenever a real number looks like an integer *and* the operation is
> possible with integers you pretend that you are using integers,
> otherwise you use reals. What's the point of such talk ? Needless to
> say that such viewpoint does not make any sense in math.

Having multiple datatypes for the same concept (slightly different in implementation) is one of the most contageous diseases in information field. Take oracle for example. They had a wonderful machine-independent datatype called number. Then perhaps they fealt that having so few number datatypes makes a wrong impression of their "feature rich" product, so now they have native floats. Received on Thu Oct 19 2006 - 18:25:47 CEST

Original text of this message