Double-negation topology (source code)

= Double-negation topology
{title2=$J(A)=\{R:\forall f:B\to A,\ f^*R\ne\varnothing\}$}

The dense sieves form the double-negation <Grothendieck topology>. Its sheaf topos is a <Boolean topos>: the union of a subobject with its pseudocomplement is dense and thus becomes the whole object after sheafification. This need not be the <atomic topology>, which requires every nonempty sieve to be dense.