{-# OPTIONS --safe --lossy-unification #-} module Cubical.Categories.Constructions.BinProduct.Redundant.Assoc where open import Cubical.Foundations.Prelude open import Cubical.Categories.Category.Base open import Cubical.Categories.Functor.Base hiding (Id) open import Cubical.Categories.Instances.Functors.Redundant open import Cubical.Categories.Instances.Functors.Redundant.Bifunctor open import Cubical.Categories.NaturalTransformation open import Cubical.Data.Graph.Base open import Cubical.Data.Sum as Sum hiding (rec) open import Cubical.Data.Sigma import Cubical.Categories.Constructions.BinProduct.Redundant.Assoc.ToRight as ToRight import Cubical.Categories.Constructions.BinProduct.Redundant.Assoc.ToLeft as ToLeft open import Cubical.Categories.Constructions.BinProduct.Redundant.Base as BP open import Cubical.Categories.Constructions.Free.Category.Quiver as Free hiding (rec) open import Cubical.Categories.Constructions.Presented as Presented open import Cubical.Categories.Bifunctor.Redundant private variable ℓc ℓc' ℓd ℓd' ℓe ℓe' ℓf ℓf' : Level module _ {C : Category ℓc ℓc'} {D : Category ℓd ℓd'}{E : Category ℓe ℓe'}{F : Category ℓf ℓf'} where assoc-bif : Bifunctor (C ×C D) E F → Bifunctor C (D ×C E) F assoc-bif G = Functor→Bifunctor (rec (C ×C D) E G ∘F ToLeft.Assoc) assoc-bif⁻ : Bifunctor C (D ×C E) F → Bifunctor (C ×C D) E F assoc-bif⁻ G = Functor→Bifunctor (rec C (D ×C E) G ∘F ToRight.Assoc)