def __new__(cls, symbol, set): return RandomDomain.__new__(cls, (symbol, ), FiniteSet(*set))
def __new__(cls, elements): elements = FiniteSet(*elements) symbols = FiniteSet(sym for sym, val in elements) return RandomDomain.__new__(cls, symbols, elements)
def __new__(cls, symbol, set): assert symbol.is_Symbol symbols = FiniteSet(symbol) return RandomDomain.__new__(cls, symbols, set)