Re: Idempotence and "Replication Insensitivity" are equivalent ?
Date: Mon, 18 Sep 2006 22:15:34 -0600
Message-ID: <MPG.1f791cd1affff985989715_at_news.altopia.net>
William Hughes <wpihughes_at_hotmail.com> wrote:
> > - h(a, 0) = a
> > - For any other value of the second argument P, choose an arbitrary
> > member b from P, then
> >
> > h(a, P) = h(g(a, b), P - {b})
> >
> > As a technical detail, h remains undefined when its value depends
> > on the choice of b. In practice, g should be chosen so that this
> > never happens.
> >
>
> Quite a "technical detail". It is very clear that not all functions
> A x M(A) -> A can be characterized as above. How does one find
> g? (note if g exists it is unique).
> > 5. Let f: M(A) -> A be a function defined as follows. To evaluate f(P),
> > choose an arbitrary member a from P.
> >
> > f(P) = h(b, P - {a})
> >
>
> I think you mean f(P) = h(a, P - {a})
Yes, I do.
> f(P) replication insensitive => g(a,b) idempotent is not obvious to
> me. I think it's true, but I can't see a clean proof.
> Note that the function CountUnique can be M(A)->A but
> does not have a generator g and is replication insensitive.
Yes. There are a number of useful functions that can't be defined as aggregate functions. This is much to the annoyance of database practitioners.
-- Chris SmithReceived on Tue Sep 19 2006 - 06:15:34 CEST