Re: Principle of Orthogonal Design(B

From: Marshall(B <marshall.spight_at_gmail.com>
Date: Thu, 7 Feb 2008 10:38:29 -0800 (PST)
Message-ID: <c21f401f-491b-413a-9c7a-1968ffd812cb_at_f47g2000hsd.googlegroups.com>


On Feb 6, 4:24 pm, JOG <j..._at_cs.nott.ac.uk> wrote:
> On Feb 6, 7:12 pm, Marshall <marshall.spi..._at_gmail.com> wrote:
>
> > > In fact, if one considers the full enumeration of the binary
> > > predicate (denoted as S), one can state reflexivity as:
>
> > > $B"O(Bx { a:x, b:x } $B":(B S
>
> > > Which I find kind of neat - that sort of notation allows one to get
> > > completely set-theoretic on a data model ass.
>
> > Yeah, that's sort of the direction I want to go in.
>
> > But you've still got tuple-level constructs in there, which
> > I think we can do without.
>
> Is a tuple level construct not a ... proposition?

Fer sure.

> And is that not
> exactly what a data model should be concerned with? Perhaps I am
> missing your point.

It's not a point so much as a style of a preference for one formalism over another equivalent one. I am interested if it is possible to avoid any tuple-level constructs. I think it is, in much the same way that it is possible to formalize set theory with the subset operator instead of the is-a-member-of operator.

> > Let's see:
>
> > X(x) -- the domain
> > R(a, b) -- the relation
>
> > R is reflexive if the domain extended to a and b is a subset of R
>
> > X & x=a & x=b => R
>
> I can't follow the above I'm afraid - I'm unclear how x=a and x=b for
> starters, but that is no doubt because I haven't read the lattice
> theory papers you refer to. If you have a reference I will certainly
> have a look when I get chance, or if you want to break it down to
> brass tacks for chimps like myself, that is also welcome...

Brass tacks:

  X(x) -- the domain
  R(a, b) -- the relation

  X & (x=a) & (x=b) => R

X is a relation with one attribute, x.
R is a relation with attributes a and b, taken from

   the members of X

The phrase "(x=a)" denotes the infinite relation of attributes a and x where a = x. In set builder notation:

  {(x, a) | x in X and x = a}

"&" is natural join. So

  X & (x=a)

joins X with (x=a), creating a new relation with attributes x and a.

  X & (x=a) & (x=b)

does the same thing, so now we have

  {(x, a, b) | x in X and x = a and x = b}

"=>" is the generalized subset operator. It takes two relation operands, and evaluates to true if the left operand has a superset of the attributes, and a subset of the elements of the right operand.

The thing on the left has attributes {x, a, b} so it clearly has a superset of the attributes of R. Its projection over {a, b} is {(a, b) | a in X and a = b} which is exactly the reflexive criteria for X, cast in the attribute names of R. So has all such elements in it, R is reflexive.

Did that make any sense?

Marshall Received on Thu Feb 07 2008 - 19:38:29 CET

Original text of this message