Built with Alectryon, running Coq+SerAPI v8.19.0+0.19.3. Bubbles () indicate interactive fragments: hover for details, tap to reveal contents. Use Ctrl+↑Ctrl+↓ to navigate, Ctrl+🖱️ to focus. On Mac, use ⌘ instead of Ctrl.
(** * Associativity of adjunction composition *)
[Loading ML file number_string_notation_plugin.cmxs (using legacy method) ... done]
Require Import Adjoint.Composition.Core Adjoint.Core.Require Adjoint.Composition.LawsTactic.Require Import Types.Sigma Types.Prod.Set Universe Polymorphism.Set Implicit Arguments.Generalizable All Variables.Set Asymmetric Patterns.LocalOpen Scope adjunction_scope.LocalOpen Scope morphism_scope.Sectioncomposition_lemmas.Local NotationAdjunctionWithFunctors C D :=
{ fg : Functor C D * Functor D C
| fst fg -| snd fg }.Context `{H0 : Funext}.VariablesBCDE : PreCategory.VariableF : Functor B C.VariableF' : Functor C B.VariableG : Functor C D.VariableG' : Functor D C.VariableH : Functor D E.VariableH' : Functor E D.VariableAF : F -| F'.VariableAG : G -| G'.VariableAH : H -| H'.LocalOpen Scope adjunction_scope.
H0: Funext B, C, D, E: PreCategory F: Functor B C F': Functor C B G: Functor C D G': Functor D C H: Functor D E H': Functor E D AF: F -| F' AG: G -| G' AH: H -| H'
((Functor.Composition.Core.compose
(Functor.Composition.Core.compose H G) F,
Functor.Composition.Core.compose F'
(Functor.Composition.Core.compose G' H'));
AH o AG o AF) =
((Functor.Composition.Core.compose H
(Functor.Composition.Core.compose G F),
Functor.Composition.Core.compose
(Functor.Composition.Core.compose F' G') H');
AH o (AG o AF))
H0: Funext B, C, D, E: PreCategory F: Functor B C F': Functor C B G: Functor C D G': Functor D C H: Functor D E H': Functor E D AF: F -| F' AG: G -| G' AH: H -| H'
((Functor.Composition.Core.compose
(Functor.Composition.Core.compose H G) F,
Functor.Composition.Core.compose F'
(Functor.Composition.Core.compose G' H'));
AH o AG o AF) =
((Functor.Composition.Core.compose H
(Functor.Composition.Core.compose G F),
Functor.Composition.Core.compose
(Functor.Composition.Core.compose F' G') H');
AH o (AG o AF))
H0: Funext B, C, D, E: PreCategory F: Functor B C F': Functor C B G: Functor C D G': Functor D C H: Functor D E H': Functor E D AF: F -| F' AG: G -| G' AH: H -| H'
{p
: (Functor.Composition.Core.compose
(Functor.Composition.Core.compose H G) F,
Functor.Composition.Core.compose F'
(Functor.Composition.Core.compose G' H')) =
(Functor.Composition.Core.compose H
(Functor.Composition.Core.compose G F),
Functor.Composition.Core.compose
(Functor.Composition.Core.compose F' G') H') &
transport
(funfg : Functor B E * Functor E B =>
fst fg -| snd fg) p (AH o AG o AF) = AH o (AG o AF)}