Dependent products of large semigroups
Content created by Louis Wasserman.
Created on 2026-03-06.
Last modified on 2026-03-06.
module group-theory.dependent-products-large-semigroups where
Imports
open import foundation.cumulative-large-sets open import foundation.dependent-products-cumulative-large-sets open import foundation.function-extensionality open import foundation.identity-types open import foundation.similarity-preserving-binary-maps-cumulative-large-sets open import foundation.universe-levels open import group-theory.large-semigroups
Idea
The dependent product of a family of large semigroups is a large semigroup.
Definition
module _ {α : Level → Level} {β : Level → Level → Level} {l0 : Level} (A : UU l0) (G : (a : A) → Large-Semigroup α β) where cumulative-large-set-Π-Large-Semigroup : Cumulative-Large-Set (λ l → l0 ⊔ α l) (λ l1 l2 → l0 ⊔ β l1 l2) cumulative-large-set-Π-Large-Semigroup = Π-Cumulative-Large-Set A (λ a → cumulative-large-set-Large-Semigroup (G a)) type-Π-Large-Semigroup : (l : Level) → UU (l0 ⊔ α l) type-Π-Large-Semigroup l = (a : A) → type-Large-Semigroup (G a) l mul-Π-Large-Semigroup : {l1 l2 : Level} → type-Π-Large-Semigroup l1 → type-Π-Large-Semigroup l2 → type-Π-Large-Semigroup (l1 ⊔ l2) mul-Π-Large-Semigroup f g a = mul-Large-Semigroup (G a) (f a) (g a) preserves-sim-mul-Π-Large-Semigroup : preserves-sim-binary-operator-Cumulative-Large-Set ( cumulative-large-set-Π-Large-Semigroup) ( mul-Π-Large-Semigroup) preserves-sim-mul-Π-Large-Semigroup g g' h h' g~g' h~h' a = preserves-sim-mul-Large-Semigroup ( G a) ( g a) ( g' a) ( h a) ( h' a) ( g~g' a) ( h~h' a) sim-preserving-binary-operator-mul-Π-Large-Semigroup : sim-preserving-binary-operator-Cumulative-Large-Set ( cumulative-large-set-Π-Large-Semigroup) sim-preserving-binary-operator-mul-Π-Large-Semigroup = make-sim-preserving-binary-operator-Cumulative-Large-Set ( cumulative-large-set-Π-Large-Semigroup) ( mul-Π-Large-Semigroup) ( preserves-sim-mul-Π-Large-Semigroup) abstract associative-mul-Π-Large-Semigroup : {l1 l2 l3 : Level} (f : type-Π-Large-Semigroup l1) (g : type-Π-Large-Semigroup l2) (h : type-Π-Large-Semigroup l3) → mul-Π-Large-Semigroup (mul-Π-Large-Semigroup f g) h = mul-Π-Large-Semigroup f (mul-Π-Large-Semigroup g h) associative-mul-Π-Large-Semigroup f g h = eq-htpy (λ a → associative-mul-Large-Semigroup (G a) (f a) (g a) (h a)) Π-Large-Semigroup : Large-Semigroup (λ l → l0 ⊔ α l) (λ l1 l2 → l0 ⊔ β l1 l2) Π-Large-Semigroup = make-Large-Semigroup ( cumulative-large-set-Π-Large-Semigroup) ( sim-preserving-binary-operator-mul-Π-Large-Semigroup) ( associative-mul-Π-Large-Semigroup)
Recent changes
- 2026-03-06. Louis Wasserman. Refactor large semigroups and monoids atop the cumulative large set abstraction (#1857).