Dear Stephen,
Thank you very much for your reply.
Stephen Tashi said:
Let's see, according the Wikipedia article on "closure", the closure of a binary relation R on the set SxT with respect to a property P is the smallest relation (i.e. the smallest as a set) that contains R (as a subset) and satisifies property P.
The problem is that I am not sure whether the procedure that I described is called "finding the closure". Otherwise there would have not been any problems in finding the suitable information in the literature regarding this topic. Maybe in the literature the process that I mean here is called "finding the extension" or something else. It is my fault that I have not mentioned the "notion uncertainty" in the previous post.
Stephen Tashi said:
Since P can be any property, it would surprise me if there was any elegant algorithm for solving this problem in general.
The number of possible properties P of a set is fixed here as well as the number of possible relations between sets.
Properties of a set can be thought of as unary predicates. We have the following properties:
-emptyness(S)=true iff S=∅;
-nonemptyness(S)=true iff S≠∅.
Obviously property emptyness is equivalent to negation of nonemptyness.
Relations between the sets can be thought of as binary predicates.
We have the following binary relations:
-empty_intersection(S,T)=true iff S∩T=∅;
-inclusion(S,T)=true iff S⊆T;
-equality(S,T)=true iff S=T;
-inequality(S,T)=true iff S≠T;
Equality is equivalent to negation of inequality.
So the number of properties of a set as well as relations between sets is fixed.
Stephen Tashi said:
As to the exmaple, trying to translate the object oriented programming jargon:
Possible properties of a set of elements S:
1. S=∅
2. S≠∅
Is this simply a statement of two possible cases for a set S or does it refer somehow to a property of the relation?
These statements relate to two possible cases for a set S: either it is empty or not.
Stephen Tashi said:
What is the property with respect to which, we are trying to compute the closure?
The properties and relations with respect to which, we are trying to compute the closure
have already been mentioned above in this post.
So properties are:
-emptyness(S)
-nonemptyness(S)
Relations are:
-empty_intersection(S,T)
-inclusion(S,T)
-equality(S,T)
-inequality(S,T)
Stephen Tashi said:
What is the relation that the Instance attempts to define? Does it define a binary relation? A ternary relation?
The Instance has information about all properties of the sets S and T and relation between these sets.
In our example the instance states that:
1. empty_intersection (S,T) is true (S∩T=∅), i.e. S does not intersect with T
2. inclusion(S,R) is true (S⊆R), i.e. S is included in R
3. inclusion(R,T) is true (R⊆T), i.e. R is included in T
Intuitively what I mean by computing closure is the derivation of all the information that is possible to derive from the data described in the instance. However, as I have already mentioned this process could be called in the literature but something else.
So in our example, knowing that S is included in R and R is included in T gives us that
S is included in T (this bit is definitely called computing the transitive closure but it is only part of the problem considered).
Moreover, it is given that intersection of S and T is empty, which together with S⊆T means that S is empty. We can not get anymore information from the data stated in Instance, hence we have computed the "closure".
So maybe if there does not exist any algorithms in the context of set theory, it could be the case that an algorithm that solves a similar problems exists in some logic (like some sort of restricted variant of first order logic maybe)?
If it is still not clear what the question is, I would be happy to try to make things clearer.
Any further help will be very much appreciated.
Thanks again.