nLab preimage



Type theory

natural deduction metalanguage, practical foundations

  1. type formation rule
  2. term introduction rule
  3. term elimination rule
  4. computation rule

type theory (dependent, intensional, observational type theory, homotopy type theory)

syntax object language

computational trinitarianism =
propositions as types +programs as proofs +relation type theory/category theory

logicset theory (internal logic of)category theorytype theory
predicatefamily of setsdisplay morphismdependent type
proofelementgeneralized elementterm/program
cut rulecomposition of classifying morphisms / pullback of display mapssubstitution
introduction rule for implicationcounit for hom-tensor adjunctionlambda
elimination rule for implicationunit for hom-tensor adjunctionapplication
cut elimination for implicationone of the zigzag identities for hom-tensor adjunctionbeta reduction
identity elimination for implicationthe other zigzag identity for hom-tensor adjunctioneta conversion
truesingletonterminal object/(-2)-truncated objecth-level 0-type/unit type
falseempty setinitial objectempty type
proposition, truth valuesubsingletonsubterminal object/(-1)-truncated objecth-proposition, mere proposition
logical conjunctioncartesian productproductproduct type
disjunctiondisjoint union (support of)coproduct ((-1)-truncation of)sum type (bracket type of)
implicationfunction set (into subsingleton)internal hom (into subterminal object)function type (into h-proposition)
negationfunction set into empty setinternal hom into initial objectfunction type into empty type
universal quantificationindexed cartesian product (of family of subsingletons)dependent product (of family of subterminal objects)dependent product type (of family of h-propositions)
existential quantificationindexed disjoint union (support of)dependent sum ((-1)-truncation of)dependent sum type (bracket type of)
logical equivalencebijection setobject of isomorphismsequivalence type
support setsupport object/(-1)-truncationpropositional truncation/bracket type
n-image of morphism into terminal object/n-truncationn-truncation modality
equalitydiagonal function/diagonal subset/diagonal relationpath space objectidentity type/path type
completely presented setsetdiscrete object/0-truncated objecth-level 2-type/set/h-set
setset with equivalence relationinternal 0-groupoidBishop set/setoid with its pseudo-equivalence relation an actual equivalence relation
equivalence class/quotient setquotientquotient type
inductioncolimitinductive type, W-type, M-type
higher inductionhigher colimithigher inductive type
-0-truncated higher colimitquotient inductive type
coinductionlimitcoinductive type
presettype without identity types
set of truth valuessubobject classifiertype of propositions
domain of discourseuniverseobject classifiertype universe
modalityclosure operator, (idempotent) monadmodal type theory, monad (in computer science)
linear logic(symmetric, closed) monoidal categorylinear type theory/quantum computation
proof netstring diagramquantum circuit
(absence of) contraction rule(absence of) diagonalno-cloning theorem
synthetic mathematicsdomain specific embedded programming language

homotopy levels




Given a function f:XYf: X \to Y and a subset SS of YY, the preimage (sometimes also called the inverse image, though that may mean something different) of SS under ff is a subset of XX, consisting of those arguments whose values belong to SS.

That is,

f *(S)={a:X|f(a)S}. f^*(S) = \{ a: X \;|\; f(a) \in S \} .

A traditional notation for f *f^* is f 1f^{-1}, but this can conflict with the notation for an inverse function of ff (which indeed might not even exist). In fact f *f^\ast is borrowed from a notation for pullbacks; indeed, a preimage is an example of a pullback:

f *(S) X (pb) f S Y\array{ f^\ast(S) & \hookrightarrow & X \\ \downarrow & (pb) & \downarrow \mathrlap{f} \\ S & \hookrightarrow & Y }

Notice also that f *f^\ast may be regarded as an operator P(Y)P(X)P(Y) \to P(X) between power sets. Power sets P(X)P(X) are exponential objects 2 X2^X in the topos SetSet; under this identification the pre-image operator f *f^\ast is thereby identified with the map 2 f:2 Y2 X2^f: 2^Y \to 2^X (variously called “pulling back along ff or substituting along ff) obtained by currying the composite map

2 Y×X1×f2 Y×Yeval2.2^Y \times X \stackrel{1 \times f}{\to} 2^Y \times Y \stackrel{eval}{\to} 2.

The appearance of the asterisk as a superscript in f *f^\ast serves as a reminder of the contravariance of the map ff *=2 ff \mapsto f^\ast = 2^f. Similarly, one uses a subscript notation such as f *f_* (or sometimes f !f_!) for the direct image, considered as an operator f *:2 X2 Yf_\ast: 2^X \to 2^Y in the covariant direction.

Naturally all of this generalizes to the context of toposes, where the set 22 is replaced by the subobject classifier Ω\Omega and f *=Ω ff^\ast = \Omega^f, with a pullback description similar to the above.


As emphasized by Lawvere, the quantifiers f, f\exists_f, \forall_f are vastly generalized by the concept of enriched Kan extensions which provide left and right adjoints to pulling-back operators V f:V DV CV^f: V^D \to V^C for VV-enriched functors f:CDf: C \to D.

Iterated preimages

For partial endofunctions, one could also consider iterating the construction of the preimage of the partial endofunction.

For every set TT and subset STS \subseteq T, let f:STf:S \to T be a function from the subset SS to TT. Given any subset RTR \subseteq T, the preimage f 1(R)f^{-1}(R) by definition is a subset of SS and thus a subset of TT. One could restrict the domain of ff to f 1(R)f^{-1}(R) and the codomain of ff to RR, and find the preimage of f 1(R)f^{-1}(R) under ff, or the 2-fold iterated preimage of RR under ff:

f 2(R){xS|bf 1(R).f(x)=b}f^{-2}(R) \coloneqq \{x \in S \vert \exists b \in f^{-1}(R).f(x) = b\}

One could repeat this definition indefinitely, which could be formalised by the indexed sets f n(R)f^{-n}(R) representing the nn-fold iterated preimage of RR under ff.

f 0(R)Rf^{-0}(R) \coloneqq R

and for nn \in \mathbb{N},

f (n+1)(S){xS|bf (n)(R).f(x)=b}f^{-(n+1)}(S) \coloneqq \{x \in S \vert \exists b \in f^{-(n)}(R).f(x) = b\}

One example of an iterated preimage is the set of iterated differentiable functions and the iterated continuously differentiable functions C n()C^n(\mathbb{R}), which are the nn-th iterated preimage of all functions and pointwise continuous functions on the real numbers under the derivative/Newton-Leibniz operator respectively.

Infinitely iterated preimages

The above definition of an iterated preimage is inductive; one could also consider the coinductive version of above. This leads to infinitely iterated preimages:

For every set TT and subset STS \subseteq T, let f:STf:S \to T be a function from the subset SS to TT. Given any subset RTR \subseteq T, the infinitely iterated preimage is defined as the largest subset f (R)Tf^{-\infty}(R) \subseteq T such that the preimage of f (R)f^{-\infty}(R) under ff is f (R)f^{-\infty}(R) itself.

One example of an infinitely iterated preimage is the set of smooth functions C ()C^\infty(\mathbb{R}), which is the infinitely iterated preimage of pointwise continuous functions under the derivative/Newton-Leibniz operator.

For a generalisation to sheaves, see inverse image.


Last revised on June 17, 2022 at 23:04:30. See the history of this page for a list of all contributions to it.