I just got way in over my head with a "project" ***Advanced mathematical terms ahead*** I need to write a program which will display all the possible topological "surfaces" for a set of given size. ***Not so advanced mathematical terms*** I need to write a program which takes the power set for a given size set, and then find all possible subsets such that: the null set and the original set (what the power set is of) are elements of this subset, the intersection of an element with another element is an element in the set, and the union of any two elements in the set is also in the set (empty set is included) so... for a set containing two elements {a,b} the output would be (0 being null set) {0,{a,b}} {0,{a},{a,b}} {0,{b},{a,b}} {0,{a},{b},{a,b}}=P({a,b})=Power set of {a,b} and for a set containing 3 elements {a,b,c} it would be {0,{a,b,c}} {0,{a},{a,b,c}} {0,{b},{a,b,c}} {0,{c},{a,b,c}} {0,{a},{b},{a,b},{a,b,c}} {0,{b},{c},{b,c},{a,b,c}} {0,{c},{a},{a,c},{a,b,c}} {0,{a},{a,b},{a,c},{a,b,c}} {0,{b},{a,b},{b,c},{a,b,c}} {0,{c},{a,c},{b,c},{a,b,c}} {0,{a},{b},{c},{a,b},{b,c},{a,b,c}}=P({a,b,c})=power set of {a,b,c} you can see how this expands at an exponential rate.... what my project is to do is to find out how many topological spaces can be derived from a set of size 5. the professor is expecting us to write it out by hand, but if I can get a program written that will do this, then this will be VERY easy... my VB knowledge is rudimentary at best as I have only just started teaching myself the language.