: Re: unambiguity constraint
> James Clark wrote:
>
> > I should also mention that I believe the technique I use here can also
be
> > used for determining whether the intersection of two name classes is
empty:
>
> Can this technique be also used for determining equivalence? In other
> words, if contains(nc1, x) and contains(nc2, x) always coincide, are
> nc1 and nc2 equivalent?
I believe so. Two name classes are equivalent if for any possible name x,
contains(nc1, x) == contains(nc2, x)
But I believe we can prove that for any name x for which either
contains(nc1, x) = true or contains(nc2, x) = true, there exists a y in
possibleNames(nc1) union possibleNames(nc2) such that
contains(nc1, x) = contains(nc1, y)
and
contains(nc2, x) = contains(nc2, y)
So if we establish that for any x in possibleNames(nc1) union
possibleNames(nc2), contains(nc1, x) = contains(nc2, x), then we have proved
that for any possible name x whatsoever, contains(nc1, x) = contains(nc2,
x).
James