---
title: "FunctionRange"
language: "en"
type: "Symbol"
summary: "FunctionRange[f, x, y] finds the range of the real function f of the variable x returning the result in terms of y. FunctionRange[f, x, y, dom] considers f to be a function with arguments and values in the domain dom. FunctionRange[funs, xvars, yvars, dom] finds the range of the mapping funs of the variables xvars returning the result in terms of yvars. FunctionRange[{funs, cons}, xvars, yvars, dom] finds the range of the mapping funs with the values of xvars restricted by constraints cons."
keywords: 
- range of a function
- image of a function
- set of values of a function
- image of a mapping
canonical_url: "https://reference.wolfram.com/language/ref/FunctionRange.html"
source: "Wolfram Language Documentation"
related_guides: 
  - 
    title: "Properties of Mathematical Functions & Sequences"
    link: "https://reference.wolfram.com/language/guide/FunctionProperties.en.md"
  - 
    title: "Assumptions and Domains"
    link: "https://reference.wolfram.com/language/guide/AssumptionsAndDomains.en.md"
  - 
    title: "Inequalities"
    link: "https://reference.wolfram.com/language/guide/Inequalities.en.md"
  - 
    title: "Calculus"
    link: "https://reference.wolfram.com/language/guide/Calculus.en.md"
related_functions: 
  - 
    title: "FunctionDomain"
    link: "https://reference.wolfram.com/language/ref/FunctionDomain.en.md"
  - 
    title: "Reduce"
    link: "https://reference.wolfram.com/language/ref/Reduce.en.md"
  - 
    title: "Resolve"
    link: "https://reference.wolfram.com/language/ref/Resolve.en.md"
  - 
    title: "FunctionSurjective"
    link: "https://reference.wolfram.com/language/ref/FunctionSurjective.en.md"
---
# FunctionRange

FunctionRange[f, x, y] finds the range of the real function f of the variable x returning the result in terms of y.

FunctionRange[f, x, y, dom] considers f to be a function with arguments and values in the domain dom.

FunctionRange[funs, xvars, yvars, dom] finds the range of the mapping funs of the variables xvars returning the result in terms of yvars.

FunctionRange[{funs, cons}, xvars, yvars, dom] finds the range of the mapping funs with the values of xvars restricted by constraints cons.

## Details and Options

* ``funs`` should be a list of functions of variables ``xvars``.

* ``funs`` and ``yvars`` must be lists of equal lengths.

* Possible values for ``dom`` are ``Reals`` and ``Complexes``. The default is ``Reals``.

* If ``dom`` is ``Reals`` then all variables, parameters, constants, and function values are restricted to be real.

* ``cons`` can contain equations, inequalities, or logical combinations of these.

* The following options can be given:

|                     |           |                                            |
| :------------------ | :-------- | :----------------------------------------- |
| GeneratedParameters | C         | how to name parameters that are generated  |
| Method              | Automatic | what method should be used                 |
| WorkingPrecision    | Automatic | precision to be used in computations       |

* With ``WorkingPrecision -> Automatic``, ``FunctionRange`` may use numerical optimization to estimate the range.

---

## Examples (26)

### Basic Examples (2)

Find the range of a real function:

```wl
In[1]:= FunctionRange[x / (1 + x ^ 2), x, y]

Out[1]= -(1/2) ≤ y ≤ (1/2)
```

---

The range of a complex function:

```wl
In[1]:= FunctionRange[E ^ x, x, y, Complexes]

Out[1]= y ≠ 0
```

### Scope (7)

Real univariate functions:

```wl
In[1]:= FunctionRange[x ^ 2 - 1, x, y]

Out[1]= y ≥ -1

In[2]:= FunctionRange[Sqrt[x ^ 2 - 1] / x, x, y]

Out[2]= -1 < y < 1

In[3]:= FunctionRange[Sin[x] / Sqrt[x], x, y]

Out[3]= (Sin[Root[{2*#1 - Tan[#1] & , 4.60421677720057651458449514482636628606`20.6008566975056}]]/Sqrt[Root[{2*#1 - Tan[#1] & , 4.60421677720057651458449514482636628606`20.6008566975056}]]) ≤ y ≤ (Sin[Root[{2*#1 - Tan[#1] & , 1.16556118520721130683387560284403755562`20.30136207037472}]]/Sqrt[Root[{2*#1 - Tan[#1] & , 1.16556118520721130683387560284403755562`20.30136207037472}]])
```

---

Range estimated numerically:

```wl
In[1]:= FunctionRange[Sin[x ^ 2 - 1] - 1 / (x ^ 2 + 2), x, y]
```

FunctionRange::nopt: Unable to find the exact range. Returning bounds on the range computed using numeric optimization methods.

```wl
Out[1]= -1.34147 ≤ y ≤ 0.998836
```

---

Range over a domain restricted by conditions:

```wl
In[1]:= FunctionRange[{Sin[x ^ 2 - 1] - 1 / (x ^ 2 + 2), 0 ≤ x ≤ 1}, x, y]

Out[1]= (1/2) (-1 - 2 Sin[1]) ≤ y ≤ -(1/3)
```

---

Complex univariate functions:

```wl
In[1]:= FunctionRange[Sqrt[x], x, y, Complexes]

Out[1]= (Re[y] == 0 && Im[y] ≥ 0) || Re[y] > 0

In[2]:= FunctionRange[(x - Sqrt[x ^ 2]) / x, x, y, Complexes]

Out[2]= y == 0 || y == 2
```

---

Real multivariate functions:

```wl
In[1]:= FunctionRange[x ^ 2 + x y + y ^ 2, {x, y}, z]

Out[1]= z ≥ 0

In[2]:= FunctionRange[(x - y) / (1 + x ^ 2 + y ^ 2), {x, y}, z]

Out[2]= -(1/Sqrt[2]) ≤ z ≤ (1/Sqrt[2])

In[3]:= FunctionRange[Sin[x y] - Cos[x + y], {x, y}, z]
```

FunctionRange::eopt: Unable to find the exact range. Returning bounds on the range computed using optimization methods.

```wl
Out[3]= -2 ≤ z ≤ 2
```

---

Real multivariate mappings:

```wl
In[1]:= FunctionRange[{x ^ 2 + y, y ^ 2 + x}, {x, y}, {u, v}]

Out[1]= u ≥ Root[27 + 256 v^3 - 288 v #1 - 256 v^2 #1^2 + 256 #1^3&, 1]

In[2]:= FunctionRange[{x ^ 2, x y, y ^ 2}, {x, y}, {u, v, w}]

Out[2]= (u ≥ 0 && v == 0 && w == 0) || (w > 0 && -v^2 + u w == 0)

In[3]:= FunctionRange[{(1 - x ^ 2) / (1 + x ^ 2), 2x / (1 + x ^ 2)}, {x}, {u, v}]

Out[3]= u ≠ -1 && u^2 ≤ 1 && u^2 + v^2 == 1
```

Range over a domain restricted by conditions:

```wl
In[4]:= FunctionRange[{{x y, x + y}, x ^ 2 + y ^ 2 ≤ 1}, {x, y}, {u, v}]

Out[4]= (u == 0 && v^2 ≤ 1) || (u ≠ 0 && 4 u - v^2 ≤ 0 && 2 u + 4 u^2 - v^2 - 4 u v^2 + v^4 ≤ 0) || (u ≠ 0 && 2 u - v^2 == -1 && 4 u - v^2 ≤ 0) || (v < 0 && 4 u - v^2 ≤ 0 && 2 u + 4 u^2 - v^2 - 4 u v^2 + v^4 ≤ 0 && u^2 + 4 u^3 + 4 u^4 - 2 u^2 v^2 - 4 u^3 v ... 1 && 4 u - v^2 ≤ 0 && u + 2 u^2 - u v^2 == 0) || (v > 0 && 2 u - v^2 ≥ -1 && 4 u - v^2 ≤ 0 && u + 2 u^2 - u v^2 == 0) || (v > 0 && 4 u - v^2 ≤ 0 && 2 u + 4 u^2 - v^2 - 4 u v^2 + v^4 ≤ 0 && u^2 + 4 u^3 + 4 u^4 - 2 u^2 v^2 - 4 u^3 v^2 + u^2 v^4 ≥ 0)
```

---

Complex multivariate functions and mappings:

```wl
In[1]:= FunctionRange[(x - y) / (1 + x ^ 2 + y ^ 2), {x, y}, z, Complexes]

Out[1]= True

In[2]:= FunctionRange[{x ^ 2, x y, y ^ 2}, {x, y}, {u, v, w}, Complexes]

Out[2]= (v == 0 && w == 0) || (w ≠ 0 && v^2 - u w == 0)
```

### Options (2)

#### Method (1)

By default, the results returned by ``FunctionRange`` may not be reduced:

```wl
In[1]:= FunctionRange[{{x y, x + y}, x ^ 2 + y ^ 2 ≤ 1}, {x, y}, {u, v}]

Out[1]= (u == 0 && v^2 ≤ 1) || (u ≠ 0 && 4 u - v^2 ≤ 0 && 2 u + 4 u^2 - v^2 - 4 u v^2 + v^4 ≤ 0) || (u ≠ 0 && 2 u - v^2 == -1 && 4 u - v^2 ≤ 0) || (v < 0 && 4 u - v^2 ≤ 0 && 2 u + 4 u^2 - v^2 - 4 u v^2 + v^4 ≤ 0 && u^2 + 4 u^3 + 4 u^4 - 2 u^2 v^2 - 4 u^3 v ... 1 && 4 u - v^2 ≤ 0 && u + 2 u^2 - u v^2 == 0) || (v > 0 && 2 u - v^2 ≥ -1 && 4 u - v^2 ≤ 0 && u + 2 u^2 - u v^2 == 0) || (v > 0 && 4 u - v^2 ≤ 0 && 2 u + 4 u^2 - v^2 - 4 u v^2 + v^4 ≤ 0 && u^2 + 4 u^3 + 4 u^4 - 2 u^2 v^2 - 4 u^3 v^2 + u^2 v^4 ≥ 0)
```

Use ``Method`` to specify that the result should be given in a reduced form:

```wl
In[2]:= FunctionRange[{{x y, x + y}, x ^ 2 + y ^ 2 ≤ 1}, {x, y}, {u, v}, Method -> {"Reduced" -> True}]

Out[2]= (u == -(1/2) && v == 0) || (-(1/2) < u ≤ 0 && -Sqrt[1 + 2 u] ≤ v ≤ Sqrt[1 + 2 u]) || (0 < u < (1/2) && (-Sqrt[1 + 2 u] ≤ v ≤ -2 Sqrt[u] || 2 Sqrt[u] ≤ v ≤ Sqrt[1 + 2 u])) || (u == (1/2) && (v == -Sqrt[2] || v == Sqrt[2]))
```

#### WorkingPrecision (1)

By default, ``FunctionRange`` attempts to compute exact results:

```wl
In[1]:= FunctionRange[(Sqrt[x] + Sqrt[y]) / (x ^ 2 + y ^ 2 + 1), {x, y}, z]

Out[1]= 0 ≤ z ≤ Root[-27 + 32 #1^4&, 2]
```

With finite ``WorkingPrecision``, slower symbolic methods are not used:

```wl
In[2]:= FunctionRange[(Sqrt[x] + Sqrt[y]) / (x ^ 2 + y ^ 2 + 1), {x, y}, z, WorkingPrecision -> MachinePrecision]

Out[2]= 4.822147803798277`*^-57 ≤ z ≤ 0.958415
```

### Applications (13)

#### Basic Applications (7)

Find the range of a real function:

```wl
In[1]:= FunctionRange[x ^ 2 - 4, x, y]

Out[1]= y ≥ -4
```

All real values within the range are attained:

```wl
In[2]:= Show[{RegionPlot[%, ...], Plot[x ^ 2 - 4, {x, -3, 3}]}, ...]

Out[2]= [image]
```

---

Find the range of a discontinuous function:

```wl
In[1]:= FunctionRange[Erf[Sec[x] / 2], x, y]

Out[1]= -1 < y ≤ -Erf[(1/2)] || Erf[(1/2)] ≤ y < 1
```

The range consists of two intervals:

```wl
In[2]:= Show[{RegionPlot[%, ...], Plot[Erf[Sec[x] / 2], {x, -5Pi, 5Pi}]}, ...]

Out[2]= [image]
```

---

Find the range of $F_x$ over the interval $[-2,4]$ :

```wl
In[1]:= FunctionRange[{Fibonacci[x], -2 <= x <= 4}, x, y]

Out[1]= -1 ≤ y ≤ 3
```

Between $x=-2$ and $x=4$ the plot is contained within the range:

```wl
In[2]:= Show[{RegionPlot[%, ...], Plot[Fibonacci[x], {x, -5, 5}]}, ...]

Out[2]= [image]
```

---

Find the range of a complex function:

```wl
In[1]:= f = 2 / (1 - I ^ x) - 1;

In[2]:= FunctionRange[f, x, y, Complexes]

Out[2]= -1 + y^2 ≠ 0
```

The function does not attain values $-1$ and $1$ :

```wl
In[3]:= GraphicsRow[{ComplexPlot3D[f + 1, {x, -3 - 3I, 3 + 3I}], ComplexPlot3D[f - 1, {x, -3 - 3I, 3 + 3I}]}, ...]

Out[3]= [image]
```

---

Compute the images of the unit disk through Möbius transformations $\frac{x-1}{x-5/4}$ and $\frac{x-5/4}{x-1}$ :

```wl
In[1]:= FunctionRange[{(x - 1) / (x - 5 / 4), Abs[x] < 1}, x, y, Complexes]

Out[1]= 0 < Re[y] < (8/9) && (Im[y] == 0 || -(1/3) Sqrt[8 Re[y] - 9 Re[y]^2] < Im[y] < (1/3) Sqrt[8 Re[y] - 9 Re[y]^2])

In[2]:= FunctionRange[{(x - 5 / 4) / (x - 1), Abs[x] < 1}, x, y, Complexes]

Out[2]= Re[y] > (9/8)
```

The images are a disk and a half-plane:

```wl
In[3]:= RegionPlot@@{{%%, %} /. {Re[y] -> a, Im[y] -> b}, {a, 0, 2}, {b, -0.5, 0.5}, ...}

Out[3]= [image]
```

---

A function is surjective if ``FunctionRange`` gives ``True`` :

```wl
In[1]:= FunctionRange[Tan[x], x, y]

Out[1]= True
```

You can test surjectivity using ``FunctionSurjective`` :

```wl
In[2]:= FunctionSurjective[Tan[x], x]

Out[2]= True
```

A surjective function attains all values:

```wl
In[3]:= Plot[Tan[x], {x, -3Pi, 3Pi}]

Out[3]= [image]
```

---

A function is surjective on a set of values if that set of values is contained in the function's range:

```wl
In[1]:= f = ParabolicCylinderD[5, x];

In[2]:= r = FunctionRange[f, x, y]

Out[2]= -ParabolicCylinderD[5, Sqrt[Root[-30 + 75*#1 - 20*#1^2 + #1^3 & , 3, 0]]] ≤ y ≤ ParabolicCylinderD[5, Sqrt[Root[-30 + 75*#1 - 20*#1^2 + #1^3 & , 3, 0]]]
```

Use ``FindInstance`` to show that the interval $[-5,5]$ is contained in the range of $f$ :

```wl
In[3]:= FindInstance[-5 <= y <= 5 && Not[r], y, Reals]

Out[3]= {}
```

Confirm that $f$ is surjective onto $[-5,5]$ using ``FunctionSurjective`` :

```wl
In[4]:= FunctionSurjective[{f, True, -5 <= y <= 5}, x, y]

Out[4]= True
```

All values in $[-5,5]$ are attained:

```wl
In[5]:= Plot[f, {x, -10, 10}, ...]

Out[5]= [image]
```

Use ``FindInstance`` to show that the interval $[0,10]$ is not contained in the range of $f$ :

```wl
In[6]:= FindInstance[0 <= y <= 10 && Not[r], y, Reals]

Out[6]= {{y -> (73/8)}}
```

The value $73/8$ is not attained:

```wl
In[7]:= Plot[f, {x, -10, 10}, ...]

Out[7]= [image]
```

Confirm that $f$ is not surjective onto $[0,10]$ using ``FunctionSurjective`` :

```wl
In[8]:= FunctionSurjective[{f, True, 0 <= y <= 10}, x, y]

Out[8]= False
```

#### Solving Equations and Optimization (3)

The equation $f(x)=a$ has solutions in the real domain of $f$ if and only if $a$ belongs to the real range of $f$ :

```wl
In[1]:= r = FunctionRange[LogGamma[x], x, y]

Out[1]=
y ≥ LogGamma[Root[{PolyGamma[0, #1] & , 
  1.4616321449683623412626595423257213284681962051041450611256`30.102999566398122}]]
```

$1$ belongs to the range of $\text{log$\Gamma $}(x)$, and hence $\text{log$\Gamma $}(x)=3$ has solutions:

```wl
In[2]:= r /. y -> 1

Out[2]= True

In[3]:= Solve[LogGamma[x] == 1, x, Reals]

Out[3]=
{{x -> Root[{1 - LogGamma[#1] & , 
  0.3287131133258543685205665028930012957103267099147209788346`33.60120894283337}]}, {x -> Root[{-1 + LogGamma[#1] & , 
  3.3124408825391603702760987523809608683035050768679582330847`33.495144960988995}]}}

In[4]:= Plot[LogGamma[x], {x, -1, 5}, GridLines -> {x /. %, {1}}, Rule[...]]

Out[4]= [image]
```

$-1$ does not belong to the range of $\text{log$\Gamma $}(x)$, and hence $\text{log$\Gamma $}(x)=-1$ has no solutions:

```wl
In[5]:= r /. y -> -1

Out[5]= False

In[6]:= Solve[LogGamma[x] == -1, x, Reals]

Out[6]= {}

In[7]:= Plot[LogGamma[x], {x, -1, 5}, ...]

Out[7]= [image]
```

---

The equation $f(x)=a$ has complex solutions if and only if $a$ belongs to the complex range of $f$ :

```wl
In[1]:= f = (2 ^ x + 1) / (3 - 2 ^ x);

In[2]:= r = FunctionRange[f, x, y, Complexes]

Out[2]= (1 + y) (-1 + 3 y) ≠ 0
```

$1+i$ belongs to the range of $f$, and hence $f=1+i$ has solutions:

```wl
In[3]:= r /. y -> 1 + I

Out[3]= True

In[4]:= Solve[f == 1 + I, x]

Out[4]= {{x -> ConditionalExpression[(2*I*Pi*C[1])/Log[2] + Log[7/5 + (4*I)/5]/Log[2], Element[C[1], Integers]]}}

In[5]:= Show[{ComplexPlot3D[f - (1 + I), {x, -2 - 2 I, 2 + 2 I}], Graphics3D[...]}, Rule[...]]

Out[5]= [image]
```

$1/3$ does not belong to the range of $f$, and hence $f=1/3$ has no solutions:

```wl
In[6]:= r /. y -> 1 / 3

Out[6]= False

In[7]:= Solve[f == 1 / 3, x]

Out[7]= {}

In[8]:= ComplexPlot3D[f - 1 / 3, {x, -2 - 2I, 2 + 2I}, Rule[...]]

Out[8]= [image]
```

---

Compute the infimum and the supremum of values of a function:

```wl
In[1]:= FunctionRange[JacobiZN[x, 1], x, y]

Out[1]= -1 < y < 1

In[2]:= Plot[JacobiZN[x, 1], {x, -5, 5}, ...]

Out[2]= [image]
```

You can also compute the infimum and the supremum of a function using ``MinValue`` and ``MaxValue`` :

```wl
In[3]:= MinValue[JacobiZN[x, 1], x]

Out[3]= -1

In[4]:= MaxValue[JacobiZN[x, 1], x]

Out[4]= 1
```

#### Calculus (3)

The range of a continuous function over a connected interval must be a connected interval:

```wl
In[1]:= FunctionContinuous[{InverseHaversine[x], 0 <= x <= 1}, x]

Out[1]= True

In[2]:= FunctionRange[InverseHaversine[x], x, y]

Out[2]= 0 ≤ y ≤ π

In[3]:= Plot[InverseHaversine[x], {x, 0, 1}]

Out[3]= [image]
```

The range of a discontinuous function over a connected interval may be disconnected:

```wl
In[4]:= FunctionContinuous[{KaiserWindow[x], -1 <= x <= 1}, x]

Out[4]= False

In[5]:= FunctionRange[{KaiserWindow[x], -1 <= x <= 1}, x, y]

Out[5]= y == 0 || (1/BesselI[0, 3]) ≤ y ≤ 1

In[6]:= Plot[KaiserWindow[x], {x, -1, 1}]

Out[6]= [image]
```

The range of a discontinuous function over a connected interval may be connected too:

```wl
In[7]:= FunctionContinuous[{HarmonicNumber[x, 3], -5 <= x <= 5}, x]

Out[7]= False

In[8]:= FunctionRange[{HarmonicNumber[x, 3], -5 <= x <= 5}, x, y]

Out[8]= True

In[9]:= Plot[HarmonicNumber[x, 3], {x, -5, 5}]

Out[9]= [image]
```

---

If a function has a limit, that limit must belong to the closure of the function's range:

```wl
In[1]:= FunctionRange[{(Cos[x] - 1) / x ^ 2, -1 <= x <= 1}, x, y]

Out[1]= -(1/2) < y ≤ -1 + Cos[1]
```

The limit may not belong to the range itself:

```wl
In[2]:= Limit[(Cos[x] - 1) / x ^ 2, x -> 0]

Out[2]= -(1/2)

In[3]:= Plot[(Cos[x] - 1) / x ^ 2, {x, -1, 1}, ...]

Out[3]= [image]
```

---

Estimate the value of $\text{int}$ the integral of $\text{Si}(x)$ over the interval $[2,4]$ :

```wl
In[1]:= FunctionRange[{SinIntegral[x], 2 <= x <= 4}, x, y]

Out[1]= SinIntegral[2] ≤ y ≤ SinIntegral[π]
```

$\text{int}$ must be between the minimum and the maximum values in the range times the length of the interval:

```wl
In[2]:= {lbd, ubd} = {SinIntegral[2], SinIntegral[π]}(4 - 2)

Out[2]= {2 SinIntegral[2], 2 SinIntegral[π]}
```

Verify that the value of the integral computed using ``Integrate`` satisfies the inequalities:

```wl
In[3]:= int = Integrate[SinIntegral[x], {x, 2, 4}]

Out[3]= -Cos[2] + Cos[4] - 2 SinIntegral[2] + 4 SinIntegral[4]

In[4]:= lbd <= int <= ubd

Out[4]= True
```

$\text{int}$ is equal to the average value of the function in the interval times the length of the interval:

```wl
In[5]:= Plot[{SinIntegral[x](4 - 2), lbd, ubd, int}, {x, 2, 4}, ...]

Out[5]= [image]
```

### Properties & Relations (1)

A function is surjective if its ``FunctionRange`` is ``True`` :

```wl
In[1]:= FunctionRange[x Sin[x], x, y]

Out[1]= True
```

Use ``FunctionSurjective`` to test whether a functions is surjective:

```wl
In[2]:= FunctionSurjective[x Sin[x], x]

Out[2]= True
```

### Possible Issues (1)

Values at isolated points at which the function is real-valued may not be included in the result:

```wl
In[1]:= FunctionRange[Hyperfactorial[x], x, y]

Out[1]=
y ≥ Hyperfactorial[Root[{Hyperfactorial[#1] - Hyperfactorial[#1]*(Log[2] + Log[Pi]) + 
    2*Hyperfactorial[#1]*LogGamma[1 + #1] + 2*Hyperfactorial[#1]*#1 & , 
  0.5376888637364865106907132912711313718225141733255458432931`30.102999566398122}]]

In[2]:= Plot[{Hyperfactorial[x], %[[2]]}, {x, -3, 3}, PlotRange -> {0, 4}]

Out[2]= [image]
```

$H(x)$ is non-real valued for $x<-1$, except for isolated values of $x$ :

```wl
In[3]:= Plot[Im[Hyperfactorial[x]], {x, -3.1, 0}]

Out[3]= [image]
```

Real values of $H(x)$ for $x<-1$ may lie outside the range given by ``FunctionRange`` :

```wl
In[4]:= Hyperfactorial[-3]

Out[4]= -4
```

## See Also

* [`FunctionDomain`](https://reference.wolfram.com/language/ref/FunctionDomain.en.md)
* [`Reduce`](https://reference.wolfram.com/language/ref/Reduce.en.md)
* [`Resolve`](https://reference.wolfram.com/language/ref/Resolve.en.md)
* [`FunctionSurjective`](https://reference.wolfram.com/language/ref/FunctionSurjective.en.md)

## Related Guides

* [Properties of Mathematical Functions & Sequences](https://reference.wolfram.com/language/guide/FunctionProperties.en.md)
* [Assumptions and Domains](https://reference.wolfram.com/language/guide/AssumptionsAndDomains.en.md)
* [`Inequalities`](https://reference.wolfram.com/language/guide/Inequalities.en.md)
* [`Calculus`](https://reference.wolfram.com/language/guide/Calculus.en.md)

## History

* [Introduced in 2014 (10.0)](https://reference.wolfram.com/language/guide/SummaryOfNewFeaturesIn100.en.md)