# Restriction (mathematics)

{{#invoke:Hatnote|hatnote}} Template:Functions

The function x2 with domain R does not have an inverse. If we restrict x2 to the non-negative real numbers, then it does have an inverse, known as the square root of x.

In mathematics, the restriction of a function f is a new function f|A obtained by choosing a smaller domain A for the original function f. The notation ${\displaystyle f{\upharpoonright _{A}}}$ is also used.

## Formal definition

Let f : EF be a function from a set Template:Mvar to a set Template:Mvar, so that the domain of Template:Mvar is in Template:Mvar (${\displaystyle \mathrm {dom} \,f\subseteq E}$). If a set Template:Mvar is a subset of Template:Mvar, then the restriction of Template:Mvar to Template:Mvar is the function[1]

${\displaystyle {f|}_{A}\colon A\to F}$.

Informally, the restriction of Template:Mvar to Template:Mvar is the same function as Template:Mvar, but is only defined on ${\displaystyle A\cap \mathrm {dom} \,f}$.

If the function Template:Mvar is thought of as a relation ${\displaystyle (x,f(x))}$ on the Cartesian product ${\displaystyle E\times F}$, then the restriction of Template:Mvar to Template:Mvar can be represented by the graph ${\displaystyle G({f|}_{A})=\{(x,f(x))\in G(f)\mid x\in A\}}$, where the pairs ${\displaystyle (x,f(x))}$ represent edges in the graph Template:Mvar.

## Examples

1. The restriction of the non-injective function ${\displaystyle f:{\mathbb {R} }\to {\mathbb {R} };x\mapsto x^{2}}$ to ${\displaystyle {\mathbb {R} }_{+}=[0,\infty )}$ is the injection ${\displaystyle f:\mathbb {R} _{+}\to \mathbb {R} ;x\mapsto x^{2}}$.
2. The factorial function is the restriction of the gamma function to the integers.

## Applications

### Inverse functions

{{#invoke:main|main}} For a function to have an inverse, it must be one-to-one. If a function Template:Mvar is not one-to-one, it may be possible to define a partial inverse of Template:Mvar by restricting the domain. For example, the function

${\displaystyle f(x)=x^{2}}$

is not one-to-one, since x2 = (−x)2. However, the function becomes one-to-one if we restrict to the domain x ≥ 0, in which case

${\displaystyle f^{-1}(y)={\sqrt {y}}.}$

(If we instead restrict to the domain x ≤ 0, then the inverse is the negative of the square root of Template:Mvar.) Alternatively, there is no need to restrict the domain if we are content with the inverse being a multivalued function:

### Selection operators

{{#invoke:main|main}} In relational algebra, a selection (sometimes called a restriction to avoid confusion with SQL's use of SELECT) is a unary operation written as ${\displaystyle \sigma _{a\theta b}(R)}$ or ${\displaystyle \sigma _{a\theta v}(R)}$ where:

The selection ${\displaystyle \sigma _{a\theta v}(R)}$ selects all those tuples in ${\displaystyle R}$ for which ${\displaystyle \theta }$ holds between the ${\displaystyle a}$ attribute and the value ${\displaystyle v}$.

Thus, the selection operator restricts to a subset of the entire database.

### The Pasting Lemma

{{#invoke:main|main}} The pasting lemma is a result in topology that relates the continuity of a function with the continuity of its restrictions to subsets.

Let ${\displaystyle X,Y}$ be both closed (or both open) subsets of a topological space A such that ${\displaystyle A=X\cup Y}$, and let B also be a topological space. If ${\displaystyle f:A\to B}$ is continuous when restricted to both X and Y, then f is continuous.

This result allows one to take two continuous functions defined on closed (or open) subsets of a topological space and create a new one.

### Sheaves

{{#invoke:main|main}} Sheaves provide a way of generalizing restrictions to objects besides functions.

In sheaf theory, one assigns an object ${\displaystyle F(U)}$ in a category to each open set ${\displaystyle U}$ of a topological space, and requires that the objects satisfy certain conditions. The most important condition is that there are restriction morphisms between every pair of objects associated to nested open sets; i.e., if ${\displaystyle V\subseteq U}$, then there is a morphism resV,U : F(U) → F(V) satisfying the following properties, which are designed to mimic the restriction of a function:

• For every open set U of X, the restriction morphism resU,U : F(U) → F(U) is the identity morphism on F(U).
• If we have three open sets WVU, then the composite resW,V o resV,U = resW,U.
• (Locality) If (Ui) is an open covering of an open set U, and if s,tF(U) are such that s|Ui = t|Ui for each set Ui of the covering, then s = t; and
• (Gluing) If (Ui) is an open covering of an open set U, and if for each i a section siF(Ui) is given such that for each pair Ui,Uj of the covering sets the restrictions of si and sj agree on the overlaps: si|UiUj = sj|UiUj, then there is a section sF(U) such that s|Ui = si for each i.

The collection of all such objects is called a sheaf. If only the first two properties are satisfied, it is a pre-sheaf.

## Left- and right-restriction

More generally, the restriction (or domain restriction or left-restriction) A ◁ R of a binary relation Template:Mvar between Template:Mvar and Template:Mvar may be defined as a relation having domain Template:Mvar, codomain Template:Mvar and graph G(AR) = {(x, y) ∈ G(R) | xA} . Similarly, one can define a right-restriction or range restriction RB. Indeed, one could define a restriction to [[arity|Template:Mvar-ary]] relations, as well as to subsets understood as relations, such as ones of E×F for binary relations. These cases do not fit into the scheme of sheaves.Template:Clarification needed

## Anti-restriction

The domain anti-restriction (or domain subtraction) of a function or binary relation Template:Mvar (with domain Template:Mvar and codomain Template:Mvar) by a set Template:Mvar may be defined as (E \ A) ◁ R; it removes all elements of Template:Mvar from the domain Template:Mvar. It is sometimes denoted Template:Mvar ⩤ Template:Mvar.[5] Similarly, the range anti-restriction (or range subtraction) of a function or binary relation Template:Mvar by a set Template:Mvar is defined as R ▷ (F \ B); it removes all elements of Template:Mvar from the codomain Template:Mvar. It is sometimes denoted Template:Mvar ⩥ Template:Mvar.