'Piecewise conditions may contain bool which are not of Basic type.'

def _eval_subs(self, old, new):

    args = list(self.args)
    for (i, (e, c)) in enumerate(args):
        if isinstance(c, bool):
            pass
        elif isinstance(c, Basic):
            c = c._subs(old, new)
        if (c != False):
            e = e._subs(old, new)
        args[i] = (e, c)
        if (c == True):
            return self.func(*args)
    return self.func(*args)
