The functor of points is a categorical device to bring back our attention to the points of a scheme; however the notion of point needs to be suitably generalized to go beyond the points of the topological space underlying the scheme.

Grothendieck’s idea behind the definition of the functor of points associated to a scheme is the following. If X is a scheme, for each commutative ring A, we can define the set of the A-points of X in analogy to the way the classical geometers used to define the rational or integral points on a variety. The crucial difference is that we do not focus on just one commutative ring A, but we consider the A-points for all commutative rings A. In fact, the scheme we start from is completely recaptured only by the collection of the A-points for every commutative ring A, together with the admissible morphisms.

Let (rings) denote the category of commutative rings and (schemes) the category of schemes.

Let (|X|, O_{X}) be a scheme and let T ∈ (schemes). We call the T-points of X, the set of all scheme morphisms {T → X}, that we denote by Hom(T, X). We then define the functor of points h_{X} of the scheme X as the representable functor defined on the objects as

h_{X}: (schemes)^{op} → (sets), h^{a}_{X}(A) = Hom(Spec A, X) = A-points of X

Notice that when X is affine, X ≅ Spec O(X) and we have

h^{a}_{X}(A) = Hom(Spec A, O(X)) = Hom(O(X), A)

In this case the functor h^{a}_{X} is again representable.

Consider the affine schemes X = Spec O(X) and Y = Spec O(Y). There is a one-to-one correspondence between the scheme morphisms X → Y and the ring morphisms O(X) → O(Y). Both h_{X} and h^{a}_{X }are defined on morphisms in the natural way. If φ: T → S is a morphism and ƒ ∈ Hom(S, X), we define h_{X}(φ)(ƒ) = ƒ ○ φ. Similarly, if ψ: A → Bis a ring morphism and g ∈ Hom(O(X), A), we define h^{a}_{X}(ψ)(g) = ψ ○ g. The functors h_{X} and h^{a}_{X }are for a given scheme X not really different but carry the same information. The functor of points h_{X }of a scheme X is completely determined by its restriction to the category of affine schemes, or equivalently by the functor

h^{a}_{X}: (rings) → (sets), h^{a}_{X}(A) = Hom(Spec A, X)

Let M = (|M|, O_{M}) be a locally ringed space and let (rspaces) denote the category of locally ringed spaces. We define the functor of points of locally ringed spaces M as the representable functor

h_{M}: (rspaces)^{op} → (sets), h_{M}(T) = Hom(T, M)

h_{M} is defined on the manifold as

h_{M}(φ)(g) = g ○ φ

If the locally ringed space M is a differentiable manifold, then

Hom(M, N) ≅ Hom(C^{∞}(N), C^{∞}(M))

This takes us to the theory of Yoneda’s Lemma.

Let C be a category, and let X, Y be objects in C and let h_{X}: C^{op} → (sets) be the representable functors defined on the objects as h_{X}(T) = Hom(T, X), and on the arrows as h_{X}(φ)(ƒ) = ƒ . φ, for φ: T → S, ƒ ∈ Hom(T, X)

If F: C^{op} → (sets), then we have a one-to-one correspondence between sets:

{h_{X} → F} ⇔ F(X)

The functor

h: C → Fun(C^{op}, (sets)), X ↦ h_{X},

is an equivalence of C with a full subcategory of functors. In particular, h_{X} ≅ h_{Y} iff X ≅ Y and the natural transformations h_{X} → h_{Y} are in one-to-one correspondence with the morphisms X → Y.

Two schemes (manifolds) are isomorphic iff their functors of points are isomorphic.

The advantages of using the functorial language are many. Morphisms of schemes are just maps between the sets of their A-points, respecting functorial properties. This often simplifies matters, allowing allowing for leaving the sheaves machinery in the background. The problem with such an approach, however, is that not all the functors from (schemes) to (sets) are the functors of points of a scheme, i.e., they are representable.

A functor F: (rings) → (sets) is of the form F(A) = Hom(Spec A, X) for a scheme X iff:

F is local or is a sheaf in Zariski Topology. This means that for each ring R and for every collection α_{i} ∈ F(R_{ƒi}), with (ƒ_{i}, i ∈ I) = R, so that α_{i} and α_{j} map to the same element in F(R_{ƒiƒj}) ∀ i and j ∃ a unique element α ∈ F(R) mapping to each α_{i}, and

F admits a cover by open affine subfunctors, which means that ∃ a family U_{i} of subfunctors of F, i.e. U_{i}(R) ⊂ F(R) ∀ R ∈ (rings), U_{i} = h_{Spec Ui}, with the property that ∀ natural transformations ƒ: h_{Spec A} → F, the functors ƒ^{-1}(U_{i}), defined as ƒ^{-1}(U_{i})(R) = ƒ^{-1}(U_{i}(R)), are all representable, i.e. ƒ^{-1}(U_{i}) = h_{Vi}, and the V_{i} form an open covering for Spec A.

This states the conditions we expect for F to be the functor of points of a scheme. Namely, locally, F must look like the functor of points of a scheme, moreover F must be a sheaf, i.e. F must have a gluing property that allows us to patch together the open affine cover.