Documentation

LeanPool.KrohnRhodes.Foundations.MonoidWreathBridge

Monoid wreath bridge #

Bridges Mathlib's group-theoretic RegularWreathProduct D Q to the semigroup-theoretic WreathProduct A B X of WreathProduct.lean.

Mathlib's regular wreath product uses the multiplication (a * b).left x = a.left x * b.left (a.right⁻¹ * x), while WreathProduct uses (p * q).func x = p.func (q.base • x) * q.func x.

When Q acts on itself by left multiplication (Monoid.toMulAction), these two conventions are conjugate via the substitution f ↦ (x ↦ f (q * x)), so we obtain an injective monoid homomorphism D ≀ᵣ Q →* WreathProduct D Q Q.

Main results #

The bridge function on underlying data: send (a, q) ∈ D ≀ᵣ Q to the WreathProduct element with decoration x ↦ a (q * x) and base q.

This change of variable is needed because Mathlib's regular wreath uses b.left (a.right⁻¹ * x) in multiplication while WreathProduct uses p.func (q.base • x); they match precisely after this substitution.

Equations
Instances For

    Bridge: a group regular wreath product D ≀ᵣ Q embeds as a monoid into WreathProduct D Q Q, where Q acts on itself by left multiplication.

    Equations
    Instances For