docstr: This method returns the symbols in the object, excluding those
  that take on a specific value (i.e. the dummy symbols).
  
  Examples
  ========
  
  >>> from sympy import Sum
  >>> from sympy.abc import x, y
  >>> Sum(x, (x, y, 1)).free_symbols
  {y}
docstr_tok: ["This","method","returns","the","symbols","in","the","object",",","excluding","those","that","take","on","a","specific","value","(","i.e",".","the","dummy","symbols",")",".","Examples","========",">",">",">","from","sympy","import","Sum",">",">",">","from","sympy.abc","import","x",",","y",">",">",">","Sum","(","x",",","(","x",",","y",",","1",")",")",".free_symbols","{","y","}"]
code: def free_symbols(self):
      """
      This method returns the symbols in the object, excluding those
      that take on a specific value (i.e. the dummy symbols).
  
      Examples
      ========
  
      >>> from sympy import Sum
      >>> from sympy.abc import x, y
      >>> Sum(x, (x, y, 1)).free_symbols
      {y}
      """
      # don't test for any special values -- nominal free symbols
      # should be returned, e.g. don't return set() if the
      # function is zero -- treat it like an unevaluated expression.
      function, limits = self.function, self.limits
      # mask off non-symbol integration variables that have
      # more than themself as a free symbol
      reps = {
          i[0]: i[0] if i[0].free_symbols == {i[0]} else Dummy()
          for i in self.limits
      }
      function = function.xreplace(reps)
      isyms = function.free_symbols
      for xab in limits:
          v = reps[xab[0]]
          if len(xab) == 1:
              isyms.add(v)
              continue
          # take out the target symbol
          if v in isyms:
              isyms.remove(v)
          # add in the new symbols
          for i in xab[1:]:
              isyms.update(i.free_symbols)
      reps = {v: k for k, v in reps.items()}
      return {reps.get(_, _) for _ in isyms}
  
imports: from sympy.core.add import Add
  from sympy.core.containers import Tuple
  from sympy.core.expr import Expr
  from sympy.core.function import AppliedUndef, UndefinedFunction
  from sympy.core.mul import Mul
  from sympy.core.relational import Equality, Relational
  from sympy.core.singleton import S
  from sympy.core.symbol import Symbol, Dummy
  from sympy.core.sympify import sympify
  from sympy.functions.elementary.piecewise import piecewise_fold, Piecewise
  from sympy.logic.boolalg import BooleanFunction
  from sympy.matrices.matrixbase import MatrixBase
  from sympy.sets.sets import Interval, Set
  from sympy.sets.fancysets import Range
  from sympy.tensor.indexed import Idx
  from sympy.utilities import flatten
  from sympy.utilities.iterables import sift, is_sequence
  from sympy.utilities.exceptions import sympy_deprecation_warning
label_desc: Use image node_id 7 for calling the ExprWithLimits obj's underlying member method code with example usage: obj.free_symbols() and returns: unknown