Documentation

Mathlib.CategoryTheory.Category.RelCat

Basics on the category of relations #

We define the category of types CategoryTheory.RelCat with binary relations as morphisms. Associating each function with the relation defined by its graph yields a faithful and essentially surjective functor graphFunctor that also characterizes all isomorphisms (see rel_iso_iff).

By flipping the arguments to a relation, we construct an equivalence opEquivalence between RelCat and its opposite.

A type synonym for Type u, which carries the category instance for which morphisms are binary relations.

Equations
    Instances For

      The morphisms in the relation category are relations.

      • ofRel :: (
        • rel : SetRel X Y

          The underlying relation between X and Y of a morphism X โŸถ Y for X Y : RelCat.

      • )
      Instances For

        The category of types with binary relations as morphisms.

        Equations
          theorem CategoryTheory.RelCat.Hom.ext {X Y : RelCat} (f g : X โŸถ Y) (h : f.rel = g.rel) :
          f = g

          The essentially surjective faithful embedding from the category of types and functions into the category of types and relations.

          Equations
            Instances For
              @[simp]
              theorem CategoryTheory.RelCat.rel_graphFunctor_map {Xโœ Yโœ : Type u} (f : Xโœ โŸถ Yโœ) :
              theorem CategoryTheory.RelCat.rel_iso_iff {X Y : RelCat} (r : X โŸถ Y) :
              IsIso r โ†” โˆƒ (f : X โ‰… Y), graphFunctor.map f.hom = r

              A relation is an isomorphism in RelCat iff it is the image of an isomorphism in Type u.

              The argument-swap isomorphism from RelCat to its opposite.

              Equations
                Instances For

                  RelCat is self-dual: The map that swaps the argument order of a relation induces an equivalence between RelCat and its opposite.

                  Equations
                    Instances For