Documentation

Mathlib.CategoryTheory.RegularCategory.Basic

Regular categories #

A regular category is a category with finite limits such that each kernel pair has a coequalizer and such that regular epimorphisms are stable under pullback.

These categories provide a good ground to develop the calculus of relations, as well as being the semantics for regular logic.

Main results #

Future work #

References #

A regular category is a category with finite limits, such that every kernel pair has a coequalizer, and such that regular epimorphisms are stable under base change.

Instances

    In a regular category, every morphism f : X ⟶ Y factors as e ≫ m, where e is the projection map to the coequalizer of the kernel pair of f, and m is the canonical map from that coequalizer to Y. In particular, f factors as a strong epimorphism followed by a monomorphism.

    Equations
    • One or more equations did not get rendered due to their size.
    Instances For

      In a regular category, every morphism f factors as e ≫ m, with e a strong epimorphism and m a monomorphism.

      noncomputable def CategoryTheory.Regular.regularEpiOfExtremalEpi {C : Type u} [Category.{v, u} C] [Regular C] {X Y : C} (f : X Y) [h : ExtremalEpi f] :

      In a regular category, every extremal epimorphism is a regular epimorphism.

      Equations
      • One or more equations did not get rendered due to their size.
      Instances For
        noncomputable def CategoryTheory.Regular.frobeniusMorphism {C : Type u} [Category.{v, u} C] [Regular C] {A B : C} (f : A B) (A' : Subobject A) (B' : Subobject B) :

        Given a morphism f : A ⟶ B and subobjects A' ⟶ A and B' ⟶ B, we have a canonical morphism (A' ⊓ (Subobject.pullback f).obj B') ⟶ ((«exists» f).obj A' ⊓ B'). This morphism is part of a StrongEpiMonoFactorosation of (A' ⊓ (Subobject.pullback f).obj B').arrow ≫ f, see frobeniusStrongEpiMonoFactorisation.

        Equations
        • One or more equations did not get rendered due to their size.
        Instances For
          theorem CategoryTheory.Regular.frobeniusMorphism_isPullback {C : Type u} [Category.{v, u} C] [Regular C] {A B : C} (f : A B) (A' : Subobject A) (B' : Subobject B) :
          IsPullback (frobeniusMorphism f A' B') ((A'(Subobject.pullback f).obj B').ofLE A' ) (((Subobject.exists f).obj A'B').ofLE ((Subobject.exists f).obj A') ) (Subobject.imageFactorisation f A').F.e

          Given a morphism f : A ⟶ B and subobjects A' ⟶ A and B' ⟶ B, the frobeniusMorphism gives a StrongEpiMonoFactorisation of (A' ⊓ (Subobject.pullback f).obj B').arrow ≫ f through ((«exists» f).obj A' ⊓ B').arrow. This is an auxiliary definition to show frobenius_reciprocity.

          Equations
          • One or more equations did not get rendered due to their size.
          Instances For
            theorem CategoryTheory.Regular.exists_inf_pullback_eq_exists_inf {C : Type u} [Category.{v, u} C] [Regular C] {A B : C} (f : A B) (A' : Subobject A) (B' : Subobject B) :
            (Subobject.exists f).obj (A'(Subobject.pullback f).obj B') = (Subobject.exists f).obj A'B'

            Regular categories satisfy Frobenius reciprocity. That is, in the internal language of regular categories, we have ∃ x, (P(x) ⊓ Q) iff (∃ x, P(x)) ⊓ Q, for a proposition Q not depending on x.