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
InorJare 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
ixandjx, 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..:i2containsj4, yes or no? ), what are these predicates, and to what elements do they apply? I can for example test whetherixintersects withjx, but at the same time I can’t test whetherix ∩ iyintersects withjz? What are the applicable restrictions?– mgibsonbr
@mgibsonbr I updated the question with additional information on possible operations. About testing whether
ix ∩ iyintersects withjz, is possible... will depend on the instance returned by the operationix ∩ iy.– Miguel Angelo