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.
Require Import Basics.Utf8.
[Loading ML file number_string_notation_plugin.cmxs (using legacy method) ... done]
Require Import Functor.Core
Functor.Utf8.Require Import NaturalTransformation.Core.Require Import FunctorCategory.Core FunctorCategory.Morphisms.Require Import ProductLaws.Set Universe Polymorphism.Set Implicit Arguments.Generalizable All Variables.Set Asymmetric Patterns.SectionMonoidalStructure.Context `{Funext}.LocalNotation"x --> y" := (morphism _ x y).SectionMonoidalCategoryConcepts.VariableC : PreCategory.Variabletensor : ((C * C) -> C)%category.VariableI : C.LocalNotation"A ⊗ B" := (tensor (Basics.Overture.pair A B)).LocalOpen Scope functor_scope.Definitionright_assoc := (tensor ∘ (Functor.Prod.pair 1 tensor) )%functor.Definitionleft_assoc := tensor ∘
(Functor.Prod.pair tensor 1) ∘
(Associativity.functor _ _ _).Definitionassociator := NaturalIsomorphism right_assoc left_assoc.(* Orientation (A ⊗ B) ⊗ C -> A ⊗ (B ⊗ C) *)Definitionpretensor (A : C) := Core.induced_snd tensor A.DefinitionI_pretensor := pretensor I.Definitionposttensor (A : C) := Core.induced_fst tensor A.DefinitionI_posttensor := posttensor I.Definitionleft_unitor := NaturalIsomorphism I_pretensor 1.Definitionright_unitor := NaturalIsomorphism I_posttensor 1.Close Scope functor_scope.Variablealpha : associator.Variablelambda : left_unitor.Variablerho : right_unitor.Notationalpha_nat_trans := ((@morphism_isomorphic
(C * (C * C) -> C)%category right_assoc left_assoc) alpha).Notationlambda_nat_trans := ((@morphism_isomorphic _ _ _) lambda).Notationrho_nat_trans := ((@morphism_isomorphic _ _ _) rho).Sectioncoherence_laws.Variableabcd : C.
H: Funext C: PreCategory tensor: (C * C -> C)%category I: C alpha: associator lambda: left_unitor rho: right_unitor a, b, c, d: C