Re: Principle of Orthogonal Design(B

From: JOG(B <jog_at_cs.nott.ac.uk>
Date: Wed, 6 Feb 2008 16:24:21 -0800 (PST)
Message-ID: <484fe9a0-c7e1-4d43-a544-2ae5fcd46a72_at_b2g2000hsg.googlegroups.com>


On Feb 6, 7:12 pm, Marshall <marshall.spi..._at_gmail.com> wrote:

> On Feb 5, 3:50 pm, JOG <j..._at_cs.nott.ac.uk> wrote:
> > On Feb 5, 9:06 pm, Marshall <marshall.spi..._at_gmail.com> wrote:
>
> > > However, suppose we have a binary predicate P over
> > > domain X and we want to assert it is reflexive? In predicate
> > > logic we can use the same name twice and express this
> > > very conveniently:
>
> > > Ax in X: P(x,x)
>
> > In my own work I prefer to view the input of the predicate as a set,
> > given attributes are no longer ordered. So to state reflexivity I'd
> > have:
>
> > $B"O(Bx P( { a:x, b:x } )
>
> > With the : notation just being a shorthand to represent an ordered
> > pair.
>
> Hmmm. Syntactically they are ordered pairs, yes; but the
> use of that term here worries me, because the syntactic
> elements are names not values. But maybe I am just being
> picky.

I am not /entirely/ sure what your pickiness concerns here ;) If one recognizes that corresponding attribute names to attribute values is a functional mapping, and that a functional mapping is a binary relation, well then one has a set of ordered pairs. I certainly don't see attribute names merely as syntax.

>
> > 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? And is that not exactly what a data model should be concerned with? Perhaps I am missing your point.

> 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...

>
> (Using => as the Tropashko generalized subset, from the
> Relational Lattice.)
>
> In this case we can even get away without projecting
> the left side of the inequality over (a, b).
>
> Let's try another one. Symmetry in its positional expression:
>
> Aa in X: Ab in X: R(a, b) -> R(b, a)
>
> Bleah. We have to swap attribute names, which means a
> pair of renames. Um ...
>
> R & a=c & b=d | set(c, d) {} & c=b & d=a => R
>
> I'm sure no one can read that except me.

Let me be the first to offer my support for that statement ;)

> "R join a=c
> join b=d inner-union with the empty relation of attributes
> c and d join c=b join d=a is a subset of R."
>
> That would be a *lot* easier with a rename/rebind
> operation.
>
> R => R(b,a)
>
> I need to work on this sometime when I'm not stupid.
>
> > Hmmm. I really must remember to use that terminology
> > in a paper some time.
>
> Yes you should.
>
> Marshall
Received on Thu Feb 07 2008 - 01:24:21 CET

Original text of this message