I like that setup too.
I could have a set of question words, and then somehow create a system on how to interpret a question.
I think I almost have a supposition system (it can suppose something based on a condition). But I need to add a bit of probability, so I am simulating set notation in python. Etc.
Cool stuff nevertheless.
Decided to check stack overflow for help:
# Sets#import dis A = [1,2,3] B = [4,5,6,3,2] C = ['a','b',3] ### BORROWED CODE def getIntersection(*S): sets = iter(map(set, S)) result = sets.next() for s in sets: result = result.intersection(s) return list(set(result)) print getIntersection(A,B,C) ### END BORROWED CODE def getUnion(*S): result = set().union(*S) return list(set(result)) print getUnionS(A,B,C)