Prelax functors #
This file defines lax prefunctors and prelax functors between bicategories. The point of these definitions is to provide some common API that will be helpful in the development of both lax and oplax functors.
Main definitions #
PrelaxFunctorStruct B C
:
A PrelaxFunctorStruct F
between quivers B
and C
, such that both have been equipped with quiver
structures on the hom-types, consists of
- a function between objects
F.obj : B ⟶ C
, - a family of functions between 1-morphisms
F.map : (a ⟶ b) → (F.obj a ⟶ F.obj b)
, - a family of functions between 2-morphisms
F.map₂ : (f ⟶ g) → (F.map f ⟶ F.map g)
,
PrelaxFunctor B C
:
A prelax functor F
between bicategories B
and C
is a PrelaxFunctorStruct
such that the
associated prefunctors between the hom types are all functors. In other words, it is a
PrelaxFunctorStruct
that satisfies
mkOfHomFunctor
: constructs a PrelaxFunctor
from a map on objects and functors between the
corresponding hom types.
A PrelaxFunctorStruct
between bicategories consists of functions between objects,
1-morphisms, and 2-morphisms. This structure will be extended to define PrelaxFunctor
.
- obj : B → C
The action of a lax prefunctor on 2-morphisms.
Instances For
Construct a lax prefunctor from a map on objects, and prefunctors between the corresponding hom types.
Equations
- CategoryTheory.PrelaxFunctorStruct.mkOfHomPrefunctors F F' = { obj := F, map := fun {a b : B} => (F' a b).obj, map₂ := fun {a b : B} {f g : a ⟶ b} => (F' a b).map }
Instances For
The identity lax prefunctor.
Equations
- CategoryTheory.PrelaxFunctorStruct.id B = { toPrefunctor := 𝟭q B, map₂ := fun {a b : B} {f g : a ⟶ b} (η : f ⟶ g) => η }
Instances For
Equations
- CategoryTheory.PrelaxFunctorStruct.instInhabited = { default := CategoryTheory.PrelaxFunctorStruct.id B }
Composition of lax prefunctors.
Equations
Instances For
A prelax functor between bicategories is a lax prefunctor such that map₂
is a functor.
This structure will be extended to define LaxFunctor
and OplaxFunctor
.
- obj : B → C
- map₂_id {a b : B} (f : a ⟶ b) : self.map₂ (CategoryTheory.CategoryStruct.id f) = CategoryTheory.CategoryStruct.id (self.map f)
Prelax functors preserves identity 2-morphisms.
- map₂_comp {a b : B} {f g h : a ⟶ b} (η : f ⟶ g) (θ : g ⟶ h) : self.map₂ (CategoryTheory.CategoryStruct.comp η θ) = CategoryTheory.CategoryStruct.comp (self.map₂ η) (self.map₂ θ)
Prelax functors preserves compositions of 2-morphisms.
Instances For
Construct a prelax functor from a map on objects, and functors between the corresponding hom types.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The identity prelax functor.
Equations
- CategoryTheory.PrelaxFunctor.id B = { toPrelaxFunctorStruct := CategoryTheory.PrelaxFunctorStruct.id B, map₂_id := ⋯, map₂_comp := ⋯ }
Instances For
Equations
- CategoryTheory.PrelaxFunctor.instInhabitedPrelaxFunctorStruct = { default := CategoryTheory.PrelaxFunctorStruct.id B }
Composition of prelax functors.
Equations
- F.comp G = { toPrelaxFunctorStruct := F.comp G.toPrelaxFunctorStruct, map₂_id := ⋯, map₂_comp := ⋯ }
Instances For
Function between 1-morphisms as a functor.
Equations
Instances For
A prelaxfunctor F
sends 2-isomorphisms η : f ≅ f
to 2-isomorphisms F.map f ≅ F.map g
.
Equations
- F.map₂Iso η = (F.mapFunctor a b).mapIso η