code: def iter_cofactors(self, vs=None):
          r
          vs = self._expect_vars(vs)
          for point in iter_points(vs):
              yield self.restrict(point)
docs: r"""Iterate through the cofactors of a function over N variables.
  
          The *vs* argument is a sequence of :math:`N` Boolean variables.
  
          The *cofactor* of :math:`f(x_1, x_2, \dots, x_i, \dots, x_n)`
          with respect to variable :math:`x_i` is:
          :math:`f_{x_i} = f(x_1, x_2, \dots, 1, \dots, x_n)`
  
          The *cofactor* of :math:`f(x_1, x_2, \dots, x_i, \dots, x_n)`
          with respect to variable :math:`x_i'` is:
          :math:`f_{x_i'} = f(x_1, x_2, \dots, 0, \dots, x_n)`