Article · Wikipedia archive · Last revised Jul 17, 2026

Effective topos

In mathematics, the effective topos introduced by Martin Hyland captures the mathematical idea of effectivity within the category theoretical framework.

Last revised
Jul 17, 2026
Read time
≈ 12 min
Length
2,810 w
Citations
4
Source

In mathematics, the effective topos E f f {\displaystyle {\mathsf {Eff}}} introduced by Martin Hyland (1982) captures the mathematical idea of effectivity within the category theoretical framework.

Preliminaries

Kleene realizability

The topos is based on the partial combinatory algebra given by Kleene's first algebra K 1 {\displaystyle {\mathcal {K}}_{1}} . In Kleene's notion of recursive realizability, any predicate is assigned realizing numbers, i.e. a subset of N {\displaystyle {\mathbb {N} }} . The extremal propositions are {\displaystyle \top } and {\displaystyle \bot } , realized by N {\displaystyle {\mathbb {N} }} and { } {\displaystyle \{\}} . However in general, this process assigns more data to a proposition than just a binary truth value.

A formula with k {\displaystyle k} free variables will give rise to a map in ( P N ) N k {\displaystyle ({\mathcal {P}}{\mathbb {N} })^{{\mathbb {N} }^{k}}} the values of which are the subsets of corresponding realizing numbers.

Realizability topoi

E f f {\displaystyle {\mathsf {Eff}}} is a prime example of a realizability topos. These are a class of elementary topoi with an intuitionistic internal logic and fulfilling a form of dependent choice. They are generally not Grothendieck topoi.

In particular, the effective topos is R T ( K 1 ) {\displaystyle {\mathsf {RT}}({\mathcal {K}}_{1})} . Other realizability topos constructions can be said to abstract away some aspects played by N {\displaystyle {\mathbb {N} }} here.

Definition

There are several ways to construct the effective topos, for example, via the notion of tripos, or as the ex/reg completion of the category of assemblies. The following is a fully unfolded explicit definition.1: 115 

An object of the effective topos is a set X {\displaystyle X} equipped with a function E : X 2 P ( N ) {\displaystyle E:X^{2}\to {\mathcal {P}}(\mathbb {N} )} satisfying certain conditions. We denote n E ( x , y ) {\displaystyle n\in E(x,y)} by n x = y {\displaystyle n\Vdash x=y} . (The notation is not standardized; the usage of the = {\displaystyle =} symbol overloads its normal meaning, similarly to the notation P ( X = Y ) {\displaystyle P(X=Y)} in probability theory.) Informally, this means that n {\displaystyle n} is a computational witness, or realizer of the equality x = y {\displaystyle x=y} . The conditions to be satisfied are the following:

  • There must exist a program e {\displaystyle e} such that for all n N {\displaystyle n\in \mathbb {N} } and x , y X {\displaystyle x,y\in X} , if n x = y {\displaystyle n\Vdash x=y} then the output of e {\displaystyle e} on n {\displaystyle n} , i.e., ϕ e ( n ) {\displaystyle \phi _{e}(n)} (where ϕ e {\displaystyle \phi _{e}} is the e {\displaystyle e} -th partial computable function), is defined, and ϕ e ( n ) y = x {\displaystyle \phi _{e}(n)\Vdash y=x} . In short, e {\displaystyle e} takes a realizer of x = y {\displaystyle x=y} and outputs a realizer of y = x {\displaystyle y=x} (for all x , y {\displaystyle x,y} ). (Note that e {\displaystyle e} cannot depend on x , y {\displaystyle x,y} , and it only receives the realizer of x = y {\displaystyle x=y} as input, without further information on x {\displaystyle x} and y {\displaystyle y} .)
  • Similarly, there must exist a program which takes a realizer of x = y {\displaystyle x=y} and a realizer of y = z {\displaystyle y=z} , and outputs a realizer of x = z {\displaystyle x=z} (for all x , y , z {\displaystyle x,y,z} ).

A realizer of x = x {\displaystyle x=x} will be called more simply a realizer of x {\displaystyle x} .

A functional relation from an object X {\displaystyle X} to an object Y {\displaystyle Y} is a function f : X × Y P ( N ) {\displaystyle f:X\times Y\to {\mathcal {P}}(\mathbb {N} )} , again satisfying certain conditions. We suggestively denote n f ( x , y ) {\displaystyle n\in f(x,y)} by n f ( x ) = y {\displaystyle n\Vdash f(x)=y} (again, this is a special notation; f ( x ) {\displaystyle f(x)} has no meaning by itself). This informally means that n {\displaystyle n} realizes the fact that f {\displaystyle f} sends x {\displaystyle x} to y {\displaystyle y} , or “realizes f ( x ) = y {\displaystyle f(x)=y} ”. The conditions are the following:

  • There exists a program which takes a realizer of f ( x ) = y {\displaystyle f(x)=y} and outputs a realizer of x {\displaystyle x} and a realizer of y {\displaystyle y} (for all x X , y Y {\displaystyle x\in X,y\in Y} ).
  • There exists a program which takes a realizer of f ( x ) = y {\displaystyle f(x)=y} and realizers of x = x {\displaystyle x=x'} and y = y {\displaystyle y=y'} , and outputs a realizer of f ( x ) = y {\displaystyle f(x')=y'} (for all x , x , y , y {\displaystyle x,x',y,y'} ).
  • There exists a program which takes realizers of f ( x ) = y {\displaystyle f(x)=y} and f ( x ) = y {\displaystyle f(x)=y'} , and outputs a realizer of y = y {\displaystyle y=y'} (for all x , y , y {\displaystyle x,y,y'} ).
  • There exists a program e {\displaystyle e} such that for all x X {\displaystyle x\in X} and for all realizer n {\displaystyle n} of x {\displaystyle x} , there exists some y Y {\displaystyle y\in Y} such that the output ϕ e ( n ) {\displaystyle \phi _{e}(n)} realizes f ( x ) = y {\displaystyle f(x)=y} .

Suppose f {\displaystyle f} is a functional relation from X {\displaystyle X} to Y {\displaystyle Y} and g {\displaystyle g} is a functional relation from Y {\displaystyle Y} to Z {\displaystyle Z} . The composition g f {\displaystyle g\circ f} is the functional relation from X {\displaystyle X} to Z {\displaystyle Z} defined by letting the realizers of ( g f ) ( x ) = z {\displaystyle (g\circ f)(x)=z} be the codes of pairs ( r , s ) {\displaystyle (r,s)} such that, for some y Y {\displaystyle y\in Y} , we have r f ( x ) = y {\displaystyle r\Vdash f(x)=y} and s g ( y ) = z {\displaystyle s\Vdash g(y)=z} . The identity functional relation id {\displaystyle \operatorname {id} } on an object X {\displaystyle X} is defined by letting the realizers of id ( x ) = y {\displaystyle \operatorname {id} (x)=y} be just the realizers of x = y {\displaystyle x=y} .

The morphisms from X {\displaystyle X} to Y {\displaystyle Y} in the effective topos are the functional relations from X {\displaystyle X} to Y {\displaystyle Y} , quotiented to identify f {\displaystyle f} and g {\displaystyle g} when there exists a program which maps realizers of f ( x ) = y {\displaystyle f(x)=y} to realizers of g ( x ) = y {\displaystyle g(x)=y} (for all x , y {\displaystyle x,y} ), and another program which maps realizers of g ( x ) = y {\displaystyle g(x)=y} to realizers of f ( x ) = y {\displaystyle f(x)=y} . Composition of morphisms is induced on the quotients by composition on the level of functional relations, and likewise for identity morphisms.

Relationship to assemblies

The effective topos arises as a completion of the simpler category of assemblies.

An assembly is a set X {\displaystyle X} equipped with a function R : X P ( N ) {\displaystyle R:X\to {\mathcal {P}}(\mathbb {N} )} . We denote n R ( x ) {\displaystyle n\in R(x)} by n x {\displaystyle n\Vdash x} , read “ n {\displaystyle n} realizes x {\displaystyle x} ”. Every assembly X {\displaystyle X} can be construed as an object of the effective topos, by declaring that n {\displaystyle n} realizes x = y {\displaystyle x=y} when x {\displaystyle x} and y {\displaystyle y} are actually equal and n {\displaystyle n} realizes them in the assembly X {\displaystyle X} . (Thus, the realizers of x {\displaystyle x} in X {\displaystyle X} as an object of the effective topos, i.e., the realizers of x = x {\displaystyle x=x} , are exactly the realizers of x {\displaystyle x} in X {\displaystyle X} as an assembly.)

A morphism of assemblies f : X Y {\displaystyle f:X\to Y} is a function f : X Y {\displaystyle f:X\to Y} between the underlying sets such that there exists a program, independent of x X {\displaystyle x\in X} , which maps realizers of x {\displaystyle x} to realizers of f ( x ) {\displaystyle f(x)} . Such a morphism gives rise to a morphism in the effective topos, represented by the functional relation (still denoted f {\displaystyle f} ) where f ( x ) = y {\displaystyle f(x)=y} is realized if and only if f ( x ) {\displaystyle f(x)} is actually equal to y {\displaystyle y} , and then the realizers of f ( x ) = y {\displaystyle f(x)=y} are the pairs of a realizer of x {\displaystyle x} and a realizer of y {\displaystyle y} .

This correspondence makes the category of assemblies a full subcategory of the effective topos.

The category of sets is a full subcategory of the category of assemblies, via the functor {\displaystyle \nabla } that maps a set X {\displaystyle X} to the assembly with underlying set X {\displaystyle X} where every element is realized by every natural number. In particular, the category of sets is also a full subcategory of the effective topos.1: 117 

Categorical operations in the effective topos

The effective topos is an elementary topos with natural numbers object. This means that it supports a number of standard categorical constructions, which are explicitly performed as follows.

  • The initial object is the empty assembly.
  • The terminal object is the unit assembly, a singleton where the unique element is realized by every natural number.
  • The natural numbers object is N {\displaystyle \mathbb {N} } where each natural number is realized only by itself.
  • The product of two objects X {\displaystyle X} and Y {\displaystyle Y} is the Cartesian product of sets X × Y {\displaystyle X\times Y} where a realizer of ( x , y ) {\displaystyle (x,y)} in X × Y {\displaystyle X\times Y} is the code of a pair of a realizer of x {\displaystyle x} and a realizer of y {\displaystyle y} .
  • The coproduct of X {\displaystyle X} and Y {\displaystyle Y} is the coproduct of sets X + Y {\displaystyle X+Y} where a realizer of x X {\displaystyle x\in X} in X + Y {\displaystyle X+Y} is the code of a pair of 0 and a realizer of x {\displaystyle x} in X {\displaystyle X} , and a realizer of y Y {\displaystyle y\in Y} in X + Y {\displaystyle X+Y} is the code of a pair of 1 and a realizer of y {\displaystyle y} in Y {\displaystyle Y} .
  • The subobject classifier Ω {\displaystyle \Omega } is P ( N ) {\displaystyle {\mathcal {P}}(\mathbb {N} )} where a realizer of P = Q {\displaystyle P=Q} is a pair of a program which returns an element of Q {\displaystyle Q} given an element of P {\displaystyle P} , and a program which returns an element of P {\displaystyle P} given an element of Q {\displaystyle Q} . It is not (isomorphic to) an assembly.

Properties

Relation to Sets

Some objects exhibit a rather trivial existence predicate depending only on the validity of the equality relation " = {\displaystyle =} " of sets, so that valid equality maps to the top set N {\displaystyle \mathbb {N} } and rejected equality maps to { } {\displaystyle \{\}} . This gives rise to a full and faithful functor : S e t s E f f {\displaystyle \nabla \colon {\mathsf {Sets}}\to {\mathsf {Eff}}} out of the category of sets, which has the finite-limit preserving global sections functor Γ {\displaystyle \Gamma } as its left-adjoint. This factors through a finite-limit preserving, full and faithful embedding ω {\displaystyle \omega } - S e t s E f f {\displaystyle {\mathsf {Sets}}\to {\mathsf {Eff}}} .

NNO

The topos has a natural numbers object N = N , E N {\displaystyle N=\langle {\mathbb {N} },E_{\mathbb {N} }\rangle } with simply E N ( n ) = { n } {\displaystyle E_{\mathbb {N} }(n)=\{n\}} . Sentences true about N {\displaystyle N} are exactly the recursively realized sentences of Heyting arithmetic H A {\displaystyle {\mathsf {HA}}} .

Now arrows N N {\displaystyle N\to N} may be understood as the total recursive functions and this also holds internally for N N {\displaystyle N^{N}} . The latter is the pair given by total recursive functions T R {\displaystyle \mathrm {TR} } and a relation such that E T R ( f ) {\displaystyle E_{\mathrm {TR} }(f)} is the set of codes e N {\displaystyle e\in {\mathbb {N} }} for f {\displaystyle f} . The latter is a subset of the naturals but not just a singleton, since there are several indices computing the same recursive function. So here the second entry of the objects represent the realizing data.

With N {\displaystyle N} and functions from and to it, as well as with simple rules for the equality relations when forming finite products × {\displaystyle \times } , one may now more broadly define the hereditarily effective operations. Again one may think of functions in N N {\displaystyle N^{N}} as given by indices and their equality is determined by the objects that compute the same function. This equality clearly puts a constraint on N ( N N ) {\displaystyle N^{(N^{N})}} , as these functions come out to be only those computable functions that also properly respect the mentioned equality in their domain. Et cetera. The situation for general X , E X Y , E Y {\displaystyle \langle X,E_{X}\rangle \to \langle Y,E_{Y}\rangle } , equality (in the sense of the E {\displaystyle E} 's) in domain and image must be respected.

Properties and principles

With this, one may validate Markov's principle M P {\displaystyle {\mathrm {MP} }} and the extended Church's principle E C T 0 {\displaystyle {\mathrm {ECT} }_{0}} (and a second-order variant thereof), which come down to simple statement about object such as N N {\displaystyle N^{N}} or ( 1 + 1 ) N {\displaystyle (1+1)^{N}} . These imply C T 0 {\displaystyle {\mathrm {CT} }_{0}} and independence of premise I P 0 {\displaystyle {\mathrm {IP} }_{0}} .

A choice principle N N {\displaystyle N^{N}} related to Brouwerian weak continuity fails. From any object, there are only countably many arrows to N {\displaystyle N} . Ω N {\displaystyle \Omega ^{N}} fulfills a uniformity principle. N {\displaystyle N} is not the countable coproduct of copies of 1 {\displaystyle 1} . This topos is not a category of sheaves.

Analysis

The object Q N , E Q N {\displaystyle \langle {\mathbb {Q} }^{\mathbb {N} },E_{{\mathbb {Q} }^{\mathbb {N} }}\rangle } is effective in a formal sense and from it one may define computable Cauchy sequences. Through a quotient, the topos has a real numbers object which has no non-trivial decidable subobject. With choice, the notion of Dedekind reals coincides with the Cauchy one.

Properties and principles

Analysis here corresponds to the recursive school of constructivism. It rejects the claim that x 0 0 x {\displaystyle x\leq 0\lor 0\leq x} would hold for all reals x {\displaystyle x} . Formulations of the intermediate value theorem fail and all functions from the reals to the reals are provenly continuous. A Specker sequence exists and then Bolzano–Weierstrass fails.

See also

See also

References

References

  1. Jaap van Oosten (2008). Realizability: an introduction to its categorical side. Elsevier Science. ISBN 9780444515841.