Re: Key attributes with list values was Re: What are the differences ...KEY

From: Marshall Spight <marshall.spight_at_gmail.com>
Date: 26 Feb 2006 20:46:16 -0800
Message-ID: <1141015576.629401.216370_at_i39g2000cwa.googlegroups.com>


JOG wrote:
> Marshall Spight wrote:
> > If you want a system that supports identity, you don't want to
> > be using set theory. There are plenty to choose from, and
> > they are well-supported and popular!
>
> When I have arbitrary sets of numbers say and I want to use those sets
> in some form of manipulation I can, of course, quite happily state them
> mathematically something of the nature:
>
> x = {1, 3, 8}, y = {2, 4, 7}, z = {x, y}, etc.
>
> This is simple assignment, and gives my sets a label, or identity if
> you will, so that I may go ahead and use these descriptions in future
> manipulations without referring to the sets extensionally.

If all you're doing when you say "x = {1, 3, 8}" is declaring x as an alias for the set, then x has no identity; it is just a name for the extensional value. This is no different than if you said "pi = 3.14159". I would call x a "constant", although it is common parlance to call it a variable, even if it cannot in any way vary. :-( The = sign would not properly be called assignement; rather, it would be called declaration.

If, on the other hand, x is a variable, and supports destructive update operators, of whatever kind (reassignment, insert, delete, etc.) then x indeed has identity.

> Surely this is identity (an artifice of course, but valuable here
> nonetheless) and set theory working in perfect harmony at the heart of
> mathematics?

Certainly. Note that the relational algebra has no destructive update. Insert, delete, etc., are not algebraic operators but imperative ones. The imperative operators can exist side-by-side in harmony with the algebraic ones, just like we can embed the algebra of the integers inside an imperative language.

However it has occasionally been claimed that individual rows in a relation have identity. That is, a relation variable is a set of other variables. This is OOP; it is not relational. Not that there's anything wrong with that. :-)

> Now, this methodology clearly violates the information
> principle-centric view of using attributes only to refer to things. Yet
> it is exactly the sort of thing I want to do with the data I work with
> (genetic and other bioinformatics data), in spite of the cognitive
> dissonance it seems to be causing me (yes,trying to reconcile what
> currently seem to be equally arguable but opposing standpoints is
> hurting my head ).

HTH Marshall Received on Mon Feb 27 2006 - 05:46:16 CET

Original text of this message