§ Hyperdoctrine
- A hyperdoctrine equips a category with some kind of logic
L. - It's a functor
P: T^op -> C for some higher category C, whose objects are categories whose internal logic corresponds to L. - In the classical case,
L is propositional logic, and C is the 2-category of posets. We send A ∈ T to the poset of subobjects Sub_T(A). - We ask that for every morphism
f: A -> B, the morphism P(f) has left and right adjoints. - These left and right adjoints mimic existential / universal quantifiers.
- If we have maps between cartesian closed categories, then the functor
f* obeys frobenius reciprocity if it preserves exponentials: f*(a^b) ~iso~ f*(a)^f*(b). - https://ncatlab.org/nlab/show/Mitchell-B%C3%A9nabou+language