def _intersect(self, other):
        if not other.is_ProductSet:
            return None
        if len(other.args) != len(self.args):
            return S.EmptySet
        return ProductSet(a.intersect(b)
                for a, b in zip(self.sets, other.sets))
This function should only be used internally
dataset/ETHPy150Open sympy/sympy/sympy/sets/sets.py/ProductSet._intersect