docs: def factorset_divide(factorset1, factorset2):
      r"""
      Base method for dividing two factor sets.
  
      Division of two factor sets :math:`\frac{\vec\phi_1}{\vec\phi_2}` basically translates to union of all the factors
      present in :math:`\vec\phi_2` and :math:`\frac{1}{\phi_i}` of all the factors present in :math:`\vec\phi_2`.
  
      Parameters
      ----------
      factorset1: FactorSet
          The dividend
  
      factorset2: FactorSet
          The divisor
  
      Returns
      -------
      The division of factorset1 and factorset2
  
      Examples
      --------
      >>> from pgmpy.factors import FactorSet
      >>> from pgmpy.factors.discrete import DiscreteFactor
      >>> from pgmpy.factors import factorset_divide
      >>> phi1 = DiscreteFactor(['x1', 'x2', 'x3'], [2, 3, 2], range(12))
      >>> phi2 = DiscreteFactor(['x3', 'x4', 'x1'], [2, 2, 2], range(8))
      >>> factor_set1 = FactorSet(phi1, phi2)
      >>> phi3 = DiscreteFactor(['x5', 'x6', 'x7'], [2, 2, 2], range(8))
      >>> phi4 = DiscreteFactor(['x5', 'x7', 'x8'], [2, 2, 2], range(8))
      >>> factor_set2 = FactorSet(phi3, phi4)
      >>> factor_set3 = factorset_divide(factor_set2, factor_set1)
      >>> print(factor_set3)
      set([<DiscreteFactor representing phi(x3:2, x4:2, x1:2) at 0x7f119ad78f90>,
           <DiscreteFactor representing phi(x5:2, x6:2, x7:2) at 0x7f119ad78e50>,
           <DiscreteFactor representing phi(x1:2, x2:3, x3:2) at 0x7f119ad78ed0>,
           <DiscreteFactor representing phi(x5:2, x7:2, x8:2) at 0x7f119ad78e90>])
  
      """
      if not isinstance(factorset1, FactorSet) or not isinstance(factorset2, FactorSet):
          raise TypeError("factorset1 and factorset2 must be FactorSet instances")
      return factorset1.divide(factorset2, inplace=False)