class_docstr: Represents unevaluated integral.
docstr: Create an unevaluated integral.
  
  Explanation
  ===========
  
  Arguments are an integrand followed by one or more limits.
  
  If no limits are given and there is only one free symbol in the
  expression, that symbol will be used, otherwise an error will be
  raised.
  
  >>> from sympy import Integral
  >>> from sympy.abc import x, y
  >>> Integral(x)
  Integral(x, x)
  >>> Integral(y)
  Integral(y, y)
  
  When limits are provided, they are interpreted as follows (using
  ``x`` as though it were the variable of integration):
  
      (x,) or x - indefinite integral
      (x, a) - "evaluate at" integral is an abstract antiderivative
      (x, a, b) - definite integral
  
  The ``as_dummy`` method can be used to see which symbols cannot be
  targeted by subs: those with a prepended underscore cannot be
  changed with ``subs``. (Also, the integration variables themselves --
  the first element of a limit -- can never be changed by subs.)
  
  >>> i = Integral(x, x)
  >>> at = Integral(x, (x, x))
  >>> i.as_dummy()
  Integral(x, x)
  >>> at.as_dummy()
  Integral(_0, (_0, x))
docstr_tok: ["Create","an","unevaluated","integral",".","Explanation","===========","Arguments","are","an","integrand","followed","by","one","or","more","limits",".","If","no","limits","are","given","and","there","is","only","one","free","symbol","in","the","expression",",","that","symbol","will","be","used",",","otherwise","an","error","will","be","raised",".",">",">",">","from","sympy","import","Integral",">",">",">","from","sympy.abc","import","x",",","y",">",">",">","Integral","(","x",")","Integral","(","x",",","x",")",">",">",">","Integral","(","y",")","Integral","(","y",",","y",")","When","limits","are","provided",",","they","are","interpreted","as","follows","(","using","``","x","``","as","though","it","were","the","variable","of","integration",")",":","(","x",",",")","or","x","-","indefinite","integral","(","x",",","a",")","-","``","evaluate","at","''","integral","is","an","abstract","antiderivative","(","x",",","a",",","b",")","-","definite","integral","The","``","as_dummy","``","method","can","be","used","to","see","which","symbols","can","not","be","targeted","by","subs",":","those","with","a","prepended","underscore","can","not","be","changed","with","``","subs","``",".","(","Also",",","the","integration","variables","themselves","--","the","first","element","of","a","limit","--","can","never","be","changed","by","subs",".",")",">",">",">","i","=","Integral","(","x",",","x",")",">",">",">","at","=","Integral","(","x",",","(","x",",","x",")",")",">",">",">","i.as_dummy","(",")","Integral","(","x",",","x",")",">",">",">","at.as_dummy","(",")","Integral","(","_0",",","(","_0",",","x",")",")"]
code: def __new__(cls, function, *symbols, **assumptions):
      """Create an unevaluated integral.
  
      Explanation
      ===========
  
      Arguments are an integrand followed by one or more limits.
  
      If no limits are given and there is only one free symbol in the
      expression, that symbol will be used, otherwise an error will be
      raised.
  
      >>> from sympy import Integral
      >>> from sympy.abc import x, y
      >>> Integral(x)
      Integral(x, x)
      >>> Integral(y)
      Integral(y, y)
  
      When limits are provided, they are interpreted as follows (using
      ``x`` as though it were the variable of integration):
  
          (x,) or x - indefinite integral
          (x, a) - "evaluate at" integral is an abstract antiderivative
          (x, a, b) - definite integral
  
      The ``as_dummy`` method can be used to see which symbols cannot be
      targeted by subs: those with a prepended underscore cannot be
      changed with ``subs``. (Also, the integration variables themselves --
      the first element of a limit -- can never be changed by subs.)
  
      >>> i = Integral(x, x)
      >>> at = Integral(x, (x, x))
      >>> i.as_dummy()
      Integral(x, x)
      >>> at.as_dummy()
      Integral(_0, (_0, x))
  
      """
  
      # This will help other classes define their own definitions
      # of behaviour with Integral.
      if hasattr(function, "_eval_Integral"):
          return function._eval_Integral(*symbols, **assumptions)
  
      if isinstance(function, Poly):
          sympy_deprecation_warning(
              """
                  integrate(Poly) and Integral(Poly) are deprecated. Instead,
                  use the Poly.integrate() method, or convert the Poly to an
                  Expr first with the Poly.as_expr() method.
                  """,
              deprecated_since_version="1.6",
              active_deprecations_target="deprecated-integrate-poly",
          )
  
      obj = AddWithLimits.__new__(
          cls, function, *symbols, **assumptions
      )
      return obj
  
imports: from typing import Tuple
  from sympy.concrete.expr_with_limits import AddWithLimits
  from sympy.core.add import Add
  from sympy.core.basic import Basic
  from sympy.core.containers import Tuple
  from sympy.core.expr import Expr
  from sympy.core.exprtools import factor_terms
  from sympy.core.function import diff
  from sympy.core.logic import fuzzy_bool
  from sympy.core.mul import Mul
  from sympy.core.numbers import oo, pi
  from sympy.core.relational import Ne
  from sympy.core.singleton import S
  from sympy.core.symbol import Dummy, Symbol, Wild
  from sympy.core.sympify import sympify
  from sympy.functions import Piecewise, sqrt, piecewise_fold, tan, cot, atan
  from sympy.functions.elementary.exponential import log
  from sympy.functions.elementary.integers import floor
  from sympy.functions.elementary.complexes import Abs, sign
  from sympy.functions.elementary.miscellaneous import Min, Max
  from sympy.functions.special.singularity_functions import Heaviside
  from .rationaltools import ratint
  from sympy.matrices import MatrixBase
  from sympy.polys import Poly, PolynomialError
  from sympy.series.formal import FormalPowerSeries
  from sympy.series.limits import limit
  from sympy.series.order import Order
  from sympy.tensor.functions import shape
  from sympy.utilities.exceptions import sympy_deprecation_warning
  from sympy.utilities.iterables import is_sequence
  from sympy.utilities.misc import filldedent
  from .deltafunctions import deltaintegrate
  from .meijerint import meijerint_definite, meijerint_indefinite, _debug
  from .trigonometry import trigintegrate
label_desc: Use image node_id 1 for calling the Integral obj's underlying member method code with example usage: obj.__new__(cls, function) and returns: obj, function