| Oracle FAQ | Your Portal to the Oracle Knowledge Grid | |
Home -> Community -> Usenet -> comp.databases.theory -> Re: Idempotence and "Replication Insensitivity" are equivalent ?
William Hughes ha scritto:
> Marshall wrote:
> > William Hughes wrote:
> > > Marshall wrote:
>
> > Well, they were never proposed to be *equivalent*, at least
> > not by me. The two kinds of functions have different types,
> > for one thing. They certainly look *related* though.
> >
>
> Then we agree completely.
> (See e.g. the last line of my first post in this thread
> "The two concepts while related are not the same.")
>
>
> I do not have a counterexample and indeed believe that,
> if not this, something very close to this will hold.
Marshall,
You are unbelievable. I think if one is successfull in discussing something with you then there is no way to beat him :)) LOL
all this discussion was based on my attempt
to show that the implication
"duplication insensitivite" ==> idempotent
does not hold, and now you are saying you never meant it ?
Now I am really willing to prove that "duplication insensitivity" and idempotence are the same thing :)) LOL
Anyway, I will try to make further intuitive statements.
Under the assumption that exists f2 such that for each n>2 we can write fn (assumed associative/commutative) as:
f3(x,y,z) = f2( f2(x,y), z)
...
fn(x1,...xn) = fn-1( fn-1(x,y), xn)
we have:
f2 idempotent ==> fn "duplication insensitivite"
under the assumption that fn is "duplication insensitivite" and n>3,
we can never imply f2(x,y) idempotent because duplication insensitivity can be attained duplicating item that are different among them, eg. 3,3,5,5
while idempotence requires at each "binary step" equal arguments. Therefore not commutativity or associativity are strong enough to imply idempotence.
The only case where we may not be able to apply the above argument is when we limit ourselves to the case n=3
In such a case:
f3 can be duplication insensitive if and only if f2 is idempotent (equivalence).
In fact, if it were not,
ie eg, f2(y,y) = z (z not= y)
ie eg, f2(z,z) = y (y not= z)
we could write
f3(y,y,z) = f2( f2(y,y), z) = f2(z,z) = y f3(z,z,y) = f2( f2(z,z), y) = f2(y,y) = z
and since z not= y, f3(y,y,z) not= f3(z,z,y)
the function would not be duplication insensitive.
Did I do mistakes? Received on Thu Sep 21 2006 - 08:11:50 CDT
![]() |
![]() |