(self, predicate)
return attr, op, const
relax_binary_predicate returns the attribute, operation, and
        tuple attribute reference.

        :return: (attr, op, const), for example:
            ("StateAvg", "<>", 't1."StateAvg"')
relax_binary_predicate returns the attribute, operation, and
        tuple attribute reference.
relax_binary_predicate returns the attribute operation and tuple attribute reference .
def relax_unary_predicate(self, predicate):
        """
        relax_binary_predicate returns the attribute, operation, and
        tuple attribute reference.

        :return: (attr, op, const), for example:
            ("StateAvg", "<>", 't1."StateAvg"')
        """
        attr = predicate.components[0][1]
        op = predicate.operation
        comp = predicate.components[1]
        # do not quote literals/constants in comparison
        const = comp if comp.startswith('\'') else '"{}"'.format(comp)
        return attr, op, const
def relax_unary_predicate ( self , predicate ) : attr = predicate . components [ 0 ] [ 1 ] op = predicate . operation comp = predicate . components [ 1 ] # do not quote literals/constants in comparison const = comp if comp . startswith ( '\'' ) else '"{}"' . format ( comp ) return attr , op , const