Home
open import category-theory.category
module category-theory.indexed-product
{o h} (𝒞 : Category o h) where
Imports
open import foundations.universe
open import foundations.identity-type
open Category 𝒞
private variable
ℓ : Level
I : Type ℓ
Y W : Ob
Z : I → Ob
α : (i : I) → Hom Y (Z i)
f : Hom Y W
record isIndexedProduct {ℓ} (I : Type ℓ) (A : I → Ob) X (π : (i : I) → Hom X (A i)) : Type (o ⊔ h ⊔ ℓ) where
field
⟨_⟩ : ((i : I) → Hom Y (A i)) → Hom Y X
β : ∀ (i : I) → π i ∘ ⟨ α ⟩ = α i
η : ⟨ (λ i → π i ∘ f) ⟩ = f
record IndexedProduct {ℓ} (I : Type ℓ) (A : I → Ob) : Type (o ⊔ h ⊔ ℓ) where
field
X : Ob
π : (i : I) → Hom X (A i)
is-indexed-product : isIndexedProduct I A X π
open isIndexedProduct is-indexed-product public