Re: Do values have constraints?

From: Costin Cozianu <c_cozianu_at_hotmail.com>
Date: Fri, 05 Sep 2003 12:23:07 -0700
Message-ID: <bjanme$grmiq$1_at_ID-152540.news.uni-berlin.de>


Of course values don't "have" constraints. The phrase itself is nonsensical.

I'm affraid that D&D orthodoxy led both you and Bob to discuss about undefined things in an ilusory theory that has nothing to do with modern mathematics and computer science.

Just think about it the value 2 has the most specific constraint:

        { x | x=2 }

Voila! Here are your constraints. You can't get any better than that !!!

The notion of values, types, variables have well defined meaning when you established that you are talking in a specific *formal system* (for the purpose of this discussion can be identified as programming language), with a well defined semantics. Only after you establish your universe of discourse, you can talk about its terms. You haven't established what you're talking about, yet you go into in-depth details that makes no sense.

The second fundamental mistake you both makes, is that you take (not unlike D&D) a hopelessly naive platonistic approach to discussing database theory. You think that there's such thing as * X is Y period *( for example type inheritance is specialization by constraints), therefore you seem entrenched into a never ending quest to discover universal truths about the eternal relational model. This approach has long been proven wrong by now.

There is such thing however as "X is Y in my pet theory Z". Now, you have to keep in mind that the pet theory Z in your case is not even well defined, yet you seem to be talking about the eternal theory Z that has an imanent existence and we just need to uncover the details.

This allows you to fall into traps such as asking

"Do values have constraints ?"
and that is wrong methodologicaly.

The right question to ask is:

"Does it make sense to construct a theory Z in which values shall have
constraints somehow attached to them?" Where "makes sense" literally means "puts food on the table" i.e. it helps in solving very practical problems.

Now, of course nobody has made any argument in that sense. Because what escapes you is that you can build a theory Z' where values do not have types and we may even discard the infamous specialization by constraint and have a more useful theory that is more adequate to build valuable software systems.

Just think about it: values are elements of sets ("constants") makes very little sense. A better approach is values are elements of algebras.   Algebras may sometimes be defined by constraints, for example even integers and the element {1) form a sub-algebra of integers.

But does it make sense however, to formulate a theory where we keep track of constraints attached to designated values ? For example, ( x % 2 = 0) \/ (x=1) to the value 6 ? I don't think it makes any sense whatsoever for obvious reasons, like the burden put both unto the user and the system.

If you have other ideas, I'd like to see a justfication, and remeber there's no *is* or *is not*, there's it makes sense to have a theory with this feature because those are the benefits.

Best,
Costin Received on Fri Sep 05 2003 - 21:23:07 CEST

Original text of this message