def like_term?(x)
      self == x                         ||
      formula?(:*) && include?(x)       ||
      x.formula?(:*) && x.include?(self)||
      (formula?(:*) && formula?(:*) && !([f, g] & [x.f, x.g]).empty?)
    end
def like_term?(x)
      self == x                         ||
      formula?(:*) && include?(x)       ||
      x.formula?(:*) && x.include?(self)||
      (formula?(:*) && formula?(:*) && !([f, g] & [x.f, x.g]).empty?)
    end
TODO: Cyclomatic complexity for combinable? is too high. [9/6]