A Boolean category is a coherent category (such as a topos) in which every subobject has a complement, i.e., for any monic there is a monic such that is initial and . Therefore, the lattice of subobjects of any object is a Boolean algebra.
Any Boolean category is, in particular, a Heyting category and therefore supports a full first-order internal logic. However, unlike that of an arbitrary Heyting category, the internal logic of a Boolean category satisfies the principle of excluded middle.