4
If I
and J
are two sets formed by intersections,
how to know if I
contains J
, knowing that:
I
= i1 i2 ... inJ
= j1 j2 ... jn- nor
I
norJ
are empty, therefore nox or jx the saint
I know the answer is ternary, it can be True, False or Undefined... As a matter of fact, I already know part of the answer, but since I am a single limited mind, Maybe there’s still some case I’m not able to visualize. Maybe someone with a more solid mathematical foundation can put an end to this.
Edition 1: Available operations
Sets are not enumerable. It is possible to use operators between sets. In my interface I have defined Contains(other)
, Intersects(other)
and IsEmpty()
, each operation can return a third value in addition to Yes and Not, that is Undefined... but for the tests carried out between the sets ix
and jx
we can assume a boolean response, because the undefined value would simply be propagated. There are also operations that return sets Intersection(other)
and Union(other)
.
In short:
- it is not possible to list
- there are test operations each returning Yes, Not and Undefined:
Contains(other)
Intersects(other)
IsEmpty()
- there are operations that return other sets
Intersection(other)
Union(other)
What is known about the sets
ix
andjx
, And what is testable about these sets? For example, if all sets were finite and enumerable, it would simply be a matter of seeing element by element... On the other hand, if this is not possible, but you can establish predicates in relation to the elements (e.g..:i2
containsj4
, yes or no? ), what are these predicates, and to what elements do they apply? I can for example test whetherix
intersects withjx
, but at the same time I can’t test whetherix ∩ iy
intersects withjz
? What are the applicable restrictions?– mgibsonbr
@mgibsonbr I updated the question with additional information on possible operations. About testing whether
ix ∩ iy
intersects withjz
, is possible... will depend on the instance returned by the operationix ∩ iy
.– Miguel Angelo