':param xs: a list of (symbol, value) pairs.'

def __init__(self, xs):

    super(Valuation, self).__init__()
    for (sym, val) in xs:
        if (isinstance(val, string_types) or isinstance(val, bool)):
            self[sym] = val
        elif isinstance(val, set):
            self[sym] = set2rel(val)
        else:
            msg = textwrap.fill((u"Error    in    initializing    Valuation.    Unrecognized    value    for    symbol    '%s':\n%s" % (sym, val)), width=66)
            raise ValueError(msg)
