Library HoTT.Categories

Category Theory

To get all of the category theory library in scope with the proper qualified names, you should Require Import Categories. or Require Import HoTT.Categories.
First we give modules to all of the kinds of category theory constructions (corresponding to directories), so that we can refer to them as Category.foo or Functor.foo after Require Import Categories.

Categories

Functors

Natural Transformations

Functor Categories

Groupoids

Precategory of Groupoids

Discrete Categories

Indiscrete Categories

Finite Discrete Categories (natural numbers as categories)

Chain Categories [n]

Initial and Terminal Categories

The Category of Sets

The Category of Simplicial Sets

The Category of Semi-Simplicial Sets

The Hom Functor

Profunctors

The Category of Categories

Laws about Functor Categories

Laws about Product Categories

Comma Categories

Universal Properties and Universal Morphisms

Kan Extensions

Adjunctions

Limits

Pseudofunctors

Pseudonatural Transformations

Lax Comma Categories

Duality as a Functor

The Grothendieck Construction

The Category of Sections of a Functor

The Dependent Product

The Yoneda Lemma

The Structure Identity Principle

Fundamental Pregroupoids

Homotopy PreCategory

Require HoTT.Categories.HomotopyPreCategory.

(* We bind the record structures for PreCategoryIsCategoryIsStrictCategoryFunctor, and eventually NaturalTransformation at top level. *)
Local Set Warnings Append "-notation-overridden".
Include HoTT.Categories.Category.Core.
Include HoTT.Categories.Category.Strict.
Include HoTT.Categories.Category.Univalent.
Include HoTT.Categories.Functor.Core.
Include HoTT.Categories.NaturalTransformation.Core.
Include HoTT.Categories.FunctorCategory.Core.
Include HoTT.Categories.GroupoidCategory.Core.
Include HoTT.Categories.CategoryOfGroupoids.
Include HoTT.Categories.DiscreteCategory.Core.
Include HoTT.Categories.IndiscreteCategory.Core.
Include HoTT.Categories.NatCategory.Core.
Include HoTT.Categories.ChainCategory.Core.
Include HoTT.Categories.InitialTerminalCategory.Core.
Include HoTT.Categories.SetCategory.Core.
Include HoTT.Categories.SimplicialSets.Core.
Include HoTT.Categories.SemiSimplicialSets.Core.
Include HoTT.Categories.HomFunctor.
Include HoTT.Categories.Profunctor.Core.
Include HoTT.Categories.Cat.Core.
Include HoTT.Categories.Comma.Core.
Include HoTT.Categories.UniversalProperties.
Include HoTT.Categories.KanExtensions.Core.
Include HoTT.Categories.Adjoint.Core.
Include HoTT.Categories.Limits.Core.
Include HoTT.Categories.Pseudofunctor.Core.
Include HoTT.Categories.PseudonaturalTransformation.Core.
Include HoTT.Categories.LaxComma.Core.
Include HoTT.Categories.DualFunctor.
Include HoTT.Categories.CategoryOfSections.Core.
Include HoTT.Categories.DependentProduct.
Include HoTT.Categories.Yoneda.
Include HoTT.Categories.Structure.Core.
Include HoTT.Categories.FundamentalPreGroupoidCategory.
Include HoTT.Categories.HomotopyPreCategory.

Require Export HoTT.Categories.Notations.

Some checks that should pass, if all of the importing went correctly.
(*Check PreCategory.
Check IsStrictCategory _.
Check Category.compose.
Check Category.sum.
Check Category.Sum.sum_compose.
Check Functor.sum.
Check Functor.Prod.Core.unique.
Check (_ o _)functor.*)