{-# OPTIONS --without-K --safe #-} open import Categories.Category using (Category) open import Categories.Category.Cocartesian using (Cocartesian) open import Category.Construction.CMonoids using (CMonoids) open import Categories.Category.Monoidal.Bundle using (SymmetricMonoidalCategory) open import Categories.Functor using (Functor) renaming (_∘F_ to _āˆ™_) open import Categories.NaturalTransformation using (NaturalTransformation; _∘˔_) open import Level using (Level) -- A natural transformation between functors F, G -- from a cocartesian category š’ž to CMonoids[S] -- can be turned into a symmetric monoidal natural transformation -- between symmetric monoidal functors F′ G′ from š’ž to S module NaturalTransformation.Monoidal.Construction.CMonoidValued {o o′ ā„“ ℓ′ e e′ : Level} {š’ž : Category o ā„“ e} (š’ž-+ : Cocartesian š’ž) {S : SymmetricMonoidalCategory o′ ℓ′ e′} (let module S = SymmetricMonoidalCategory S) {M N : Functor š’ž (CMonoids S.symmetric)} (α : NaturalTransformation M N) where import Functor.Monoidal.Construction.CMonoidValued š’ž-+ {S = S} as FamilyOfCMonoids import NaturalTransformation.Monoidal.Construction.MonoidValued as MonoidValued open import Categories.Category.Construction.Monoids using (Monoids) open import Functor.Forgetful.Instance.CMonoid S.symmetric using (Forget) module _ where open import Categories.NaturalTransformation.Monoidal using (module Lax) open Lax using (MonoidalNaturalTransformation) public module _ where open import Categories.NaturalTransformation.Monoidal.Symmetric using (module Lax) open Lax using (SymmetricMonoidalNaturalTransformation) public private module M = Functor M module N = Functor N open FamilyOfCMonoids M using (F,āŠ—,ε,σ) open FamilyOfCMonoids N using () renaming (F,āŠ—,ε,σ to G,āŠ—,ε,σ) F : Functor š’ž (Monoids S.monoidal) F = Forget āˆ™ M G : Functor š’ž (Monoids S.monoidal) G = Forget āˆ™ N β : NaturalTransformation F G β = Forget ∘˔ α open MonoidValued š’ž-+ β using (β,āŠ—,ε) β,āŠ—,ε,σ : SymmetricMonoidalNaturalTransformation F,āŠ—,ε,σ G,āŠ—,ε,σ β,āŠ—,ε,σ = record { MonoidalNaturalTransformation β,āŠ—,ε } module β,āŠ—,ε,σ = SymmetricMonoidalNaturalTransformation β,āŠ—,ε,σ