This is an idle question, I don't really have any particular application in mind. In any category $C$, for any object $c \in C$ we can consider its subobjects, namely monomorphisms $d \hookrightarrow c$. If the objects of $C$ are "sufficiently spacelike" we might hope that subobjects have complements, in the following sense. Say that two subobjects are disjoint if their intersection (pullback) is trivial (the initial object).
Definition: The complement of a subobject $d \hookrightarrow c$, if it exists, is the terminal subobject $\neg d \hookrightarrow c$ which is disjoint from $d$.
This recovers the usual notion of the complement of a subset of a set, for example. The definition makes sense more generally in any preorder and if applied to a Heyting algebra, such as the open subsets of a topological space, recovers the Heyting complement.
Here is the example which motivates this question. Take $C$ to be the category of functors $\text{CRing} \to \text{Set}$ and consider first the usual forgetful functor $U$ which sends a commutative ring $R$ to its underlying set. This functor has a subfunctor $\{ 0 \}$ sending a commutative ring $R$ to the set consisting of its additive identity $ \{ 0 \}$. Now we can ask: what is the complement of this subfunctor, if any?
There is a "naive complement" given by $R \mapsto R \setminus \{ 0 \}$, but this is not a functor, because elements that are nonzero in some commutative ring may become zero after applying a homomorphism. So we have to "functorialize" this construction: we need to know what elements $r$ of a commutative ring $R$ are not only nonzero but remain nonzero after the application of any nonzero homomorphism. (Something goes wrong here with the zero ring; I am just going to ignore this for now.) This is equivalent to requiring that $r$ is not in any proper ideal, which means that the ideal $(r)$ generated by $r$ must be the unit ideal; hence this condition is equivalent to requiring that $r$ be invertible. We conclude that the complement of the zero subfunctor is the group $R^{\times}$ of units.
In terms of functors of points, this lets us describe abstractly the sense in which the punctured affine line $\mathbb{A}^1 \setminus \{ 0 \} = \text{Spec } \mathbb{Z}[x, x^{-1}]$ is the complement of the origin in $\mathbb{A}^1$!
Now we can take complements again, and ask: what is the complement of $R^{\times}$ in $R$? (Something again goes wrong here with the zero ring, which I am again going to ignore.) There is a "naive complement" $R \mapsto R \setminus R^{\times}$ sending a ring to its non-units, it is not a functor because a non-unit may become a unit after applying a homomorphism, so we need to "functorialize" and understand what elements $r \in R$ are not only non-units but remain non-units after the application of any nonzero homomorphism. If $r$ is not contained in some prime ideal $P$ then it becomes a unit in the fraction field $\text{Frac}(R/P)$; therefore $r$ must be contained in every prime ideal, and hence in their intersection, which is the nilradical. So $r$ must be nilpotent. Conversely nilpotents clearly satisfy the desired property, and so the complement of $R^{\times}$ is $\text{Nil}(R)$.
$\text{Nil}(R)$ is not representable but it is close: it is "pro-representable" by the rings $\mathbb{Z}[x]/x^n$ which organize into a cofiltered limit $\mathbb{Z}[[x]]$ (equipped with the $x$-adic topology). Geometrically this says that the complement of the punctured affine line in $\mathbb{A}^1$ is not the origin again but its formal neighborhood, which is quite nice and seems to have something to do with the Beauville-Laszlo theorem.
If only I knew what was going on with the zero ring! The problem is that all of these functors assign the zero ring its unique element $\{ 0 \}$ (since it is both invertible and nilpotent), so none of them are technically disjoint!
So, now my actual
Question: Has anyone seen this notion of the complement of a subobject applied to functors of points in algebraic geometry in particular? Also, what's going on with the zero ring above and how do we fix it?
I have not thought about whether we should really be working in the category of Zariski sheaves or whatever else; if someone can explain how that might fix the zero ring issue I'd be grateful.
Edit: Okay, I have a guess. Everything would be fixed if we worked in Zariski sheaves and the initial sheaf was not the initial presheaf, but was instead the sheaf that assigns the empty set to every nonzero ring but assigns $1$ to the zero ring. That alters the definition of disjointness in exactly the right way to allow all of the above functors to be disjoint. Is that right? Then we'd just need to check that $\text{Nil}(R)$ is a Zariski sheaf, which I think is true?