FoxDifferential.Completed.Semidirect

22 Theorem | 3 Definition | 1 Structure | 4 Instance

This module develops Fox differentials and completed Fox coordinates for free, profinite, and pro-\(C\) group constructions.

import
Imported by

Declarations

structure ZCCompletedFoxSemidirect where
  /-- The completed Fox-coordinate component. -/
  left : ZCFreeFoxCoordinates C (X := X) (H := H)
  /-- The target group component. -/
  right : H

The completed Fox semidirect target \(\mathbb{Z}_C\llbracket H\rrbracket^{X} \rtimes H\).

theorem ext {a b : ZCCompletedFoxSemidirect C X H}
    (hleft : a.left = b.left) (hright : a.right = b.right) : a = b

Extensionality for the free crossed-differential semidirect product.

Show proof
instance instOneZCCompletedFoxSemidirect : One (ZCCompletedFoxSemidirect C X H) where
  one := ⟨0, 1⟩

The identity element of the completed Fox semidirect product is \((0,1)\).

instance instMulZCCompletedFoxSemidirect : Mul (ZCCompletedFoxSemidirect C X H) where
  mul a b :=
    ⟨a.left + zcGroupLike C H a.right • b.left, a.right * b.right⟩

Multiplication in the completed Fox semidirect product is defined coordinatewise from the completed group-algebra action and group multiplication.

instance instInvZCCompletedFoxSemidirect : Inv (ZCCompletedFoxSemidirect C X H) where
  inv a :=
    ⟨-(zcGroupLike C H a.right⁻¹ • a.left), a.right⁻¹⟩

Inversion in the completed Fox semidirect product is computed from the completed coefficient action and the inverse in the base group.

theorem one_left :
    (1 : ZCCompletedFoxSemidirect C X H).left = 0

The left component of the identity semidirect element is zero.

Show proof
theorem one_right :
    (1 : ZCCompletedFoxSemidirect C X H).right = 1

The right component of the identity semidirect element is the group identity.

Show proof
theorem mul_left (a b : ZCCompletedFoxSemidirect C X H) :
    (a * b).left = a.left + zcGroupLike C H a.right • b.left

The left component of semidirect multiplication is computed by the Fox product rule.

Show proof
theorem mul_right (a b : ZCCompletedFoxSemidirect C X H) :
    (a * b).right = a.right * b.right

The right component of semidirect multiplication is the product of right components.

Show proof
theorem inv_left (a : ZCCompletedFoxSemidirect C X H) :
    a⁻¹.left = -(zcGroupLike C H a.right⁻¹ • a.left)

The left component of the semidirect inverse is computed by the Fox inverse formula.

Show proof
theorem inv_right (a : ZCCompletedFoxSemidirect C X H) :
    a⁻¹.right = a.right⁻¹

The right component of the semidirect inverse is the inverse of the right component.

Show proof
instance instGroupZCCompletedFoxSemidirect : Group (ZCCompletedFoxSemidirect C X H) where
  one := 1
  mul := (· * ·)
  inv := Inv.inv
  mul_assoc a b c := by
    ext
    · simp only [mul_left, mul_right, map_mul, Pi.add_apply, Pi.smul_apply, smul_eq_mul, add_assoc,
  zcCompletedGroupAlgebraProjection_add, zcCompletedGroupAlgebraProjection_mul,
  zcCompletedGroupAlgebraProjection_groupLike, MonoidAlgebra.of_apply, MonoidAlgebra.single_mul_single, mul_one,
  MonoidAlgebra.coe_add, MonoidAlgebra.single_mul_apply, one_mul, mul_inv_rev, smul_add, smul_smul]
    · simp only [mul_right, mul_assoc]
  one_mul a := by
    ext
    · simp only [mul_left, one_left, one_right, map_one, one_smul, Pi.add_apply, Pi.zero_apply, zero_add]
    · simp only [mul_right, one_right, one_mul]
  mul_one a := by
    ext
    · simp only [mul_left, one_left, smul_zero, Pi.add_apply, Pi.zero_apply, add_zero]
    · simp only [mul_right, one_right, mul_one]
  inv_mul_cancel a := by
    ext
    · simp only [mul_left, inv_left, inv_right, Pi.add_apply, Pi.neg_apply, Pi.smul_apply, smul_eq_mul,
  neg_add_cancel, zcCompletedGroupAlgebraProjection_zero, Finsupp.coe_zero, Pi.zero_apply, one_left]
    · simp only [mul_right, inv_right, inv_mul_cancel, one_right]

The completed Fox semidirect product carries the group structure induced by the completed coefficient action.

def rightMonoidHom : ZCCompletedFoxSemidirect C X H →* H where
  toFun a := a.right
  map_one' := rfl
  map_mul' _ _ := rfl

The right projection from the completed Fox semidirect product to the target group.

theorem rightMonoidHom_apply (a : ZCCompletedFoxSemidirect C X H) :
    rightMonoidHom C X H a = a.right

The right projection of the completed Fox semidirect monoid homomorphism is its right component.

Show proof
def zcCompletedFoxSemidirectLift (ψ : FreeGroup X →* H) :
    FreeGroup X →* ZCCompletedFoxSemidirect C X H :=
  FreeGroup.lift fun x =>
    { left := Pi.single x (1 : ZCCompletedGroupAlgebra C H)
      right := ψ (FreeGroup.of x) }

The completed Fox semidirect lift of a free group homomorphism.

theorem zcCompletedFoxSemidirectLift_right
    (ψ : FreeGroup X →* H) (w : FreeGroup X) :
    (zcCompletedFoxSemidirectLift C ψ w).right = ψ w

The right component of the completed Fox semidirect lift is \(\psi\).

Show proof
def zcCompletedFoxSemidirectDerivativeVector
    (ψ : FreeGroup X →* H) (w : FreeGroup X) :
    ZCFreeFoxCoordinates C (X := X) (H := H) :=
  (zcCompletedFoxSemidirectLift C ψ w).left

The left component of the completed Fox semidirect lift.

theorem zcCompletedFoxSemidirectDerivativeVector_one
    (ψ : FreeGroup X →* H) :
    zcCompletedFoxSemidirectDerivativeVector C ψ (1 : FreeGroup X) = 0

The completed semidirect derivative vector sends the identity word to zero.

Show proof
theorem zcCompletedFoxSemidirectDerivativeVector_of
    (ψ : FreeGroup X →* H) (x : X) :
    zcCompletedFoxSemidirectDerivativeVector C ψ (FreeGroup.of x) =
      Pi.single x (1 : ZCCompletedGroupAlgebra C H)

The completed semidirect derivative vector sends a free generator to the coordinate basis vector.

Show proof
theorem zcCompletedFoxSemidirectDerivativeVector_mul
    (ψ : FreeGroup X →* H) (u v : FreeGroup X) :
    zcCompletedFoxSemidirectDerivativeVector C ψ (u * v) =
      zcCompletedFoxSemidirectDerivativeVector C ψ u +
        zcCompletedGroupAlgebraScalar C ψ u •
          zcCompletedFoxSemidirectDerivativeVector C ψ v

Product rule for the completed semidirect derivative vector.

Show proof
theorem zcCompletedFoxSemidirectDerivativeVector_isCrossedDifferential
    (ψ : FreeGroup X →* H) :
    IsCrossedDifferential
      (zcCompletedGroupAlgebraScalar C ψ)
      (zcCompletedFoxSemidirectDerivativeVector C ψ)

The left component of the completed semidirect lift is a crossed differential.

Show proof
theorem zcCompletedFoxSemidirectDerivativeVector_eq
    (ψ : FreeGroup X →* H) :
    zcCompletedFoxSemidirectDerivativeVector C ψ =
      zcFreeGroupFoxDerivativeVector C ψ

The completed semidirect derivative vector is the completed free-group Fox derivative vector.

Show proof
theorem zcCompletedFoxSemidirectLift_eq
    (ψ : FreeGroup X →* H) (w : FreeGroup X) :
    zcCompletedFoxSemidirectLift C ψ w =
      { left := zcFreeGroupFoxDerivativeVector C ψ w
        right := ψ w }

The completed semidirect lift stores the completed Fox derivative vector and the target homomorphism.

Show proof
theorem zcCompletedFoxSemidirectLift_unique
    (ψ : FreeGroup X →* H)
    (φ : FreeGroup X →* ZCCompletedFoxSemidirect C X H)
    (hright : ∀ w : FreeGroup X, (φ w).right = ψ w)
    (hbasis :
      ∀ x : X, (φ (FreeGroup.of x)).left =
        Pi.single x (1 : ZCCompletedGroupAlgebra C H)) :
    φ = zcCompletedFoxSemidirectLift C ψ

Uniqueness of the completed semidirect lift with prescribed right component and generator coordinate values.

Show proof
theorem zcCompletedFoxSemidirectLift_left_isCrossedDifferential
    (ψ : FreeGroup X →* H)
    (φ : FreeGroup X →* ZCCompletedFoxSemidirect C X H)
    (hright : ∀ w : FreeGroup X, (φ w).right = ψ w) :
    IsCrossedDifferential
      (zcCompletedGroupAlgebraScalar C ψ) (fun w : FreeGroup X => (φ w).left)

The left component of any semidirect lift with prescribed right component is a completed crossed differential.

Show proof
theorem existsUnique_zcCompletedFoxSemidirectLift
    (ψ : FreeGroup X →* H) :
    ∃! φ : FreeGroup X →* ZCCompletedFoxSemidirect C X H,
      (∀ w : FreeGroup X, (φ w).right = ψ w) ∧
        ∀ x : X, (φ (FreeGroup.of x)).left =
          Pi.single x (1 : ZCCompletedGroupAlgebra C H)

Existence and uniqueness theorem for the completed semidirect lift.

Show proof
theorem zcCompletedFoxSemidirectDerivativeVector_foxBoundary
    (ψ : FreeGroup X →* H) (w : FreeGroup X) :
    zcFreeGroupFoxBoundary C ψ (zcCompletedFoxSemidirectDerivativeVector C ψ w) =
      zcCompletedGroupAlgebraBoundary C ψ w

Boundary-map form of the completed Fox fundamental formula for the semidirect derivative vector.

Show proof
theorem zcCompletedFoxSemidirectLift_euler_formula
    (ψ : FreeGroup X →* H) (w : FreeGroup X) :
    zcGroupLike C H (ψ w) - 1 =
      ∑ i : X,
        (zcCompletedFoxSemidirectLift C ψ w).left i *
          (zcGroupLike C H (ψ (FreeGroup.of i)) - 1)

Completed Fox-Euler formula using the left component of the semidirect lift: \([\psi(w)] - 1 = \sum_i \varphi(w)_i * ([\psi(x_i)]-1)\).

Show proof
theorem zcCompletedFoxSemidirectLift_foxBoundary_of_generatorValues
    (ψ : FreeGroup X →* H)
    (φ : FreeGroup X →* ZCCompletedFoxSemidirect C X H)
    (hright : ∀ w : FreeGroup X, (φ w).right = ψ w)
    (hbasis :
      ∀ x : X, (φ (FreeGroup.of x)).left =
        Pi.single x (1 : ZCCompletedGroupAlgebra C H))
    (w : FreeGroup X) :
    zcFreeGroupFoxBoundary C ψ (φ w).left =
      zcCompletedGroupAlgebraBoundary C ψ w

Conditional semidirect Fox boundary formula. Any semidirect lift with right component \(\psi\) and standard generator coordinates satisfies the completed Fox boundary formula.

Show proof
theorem zcCompletedFoxSemidirectLift_euler_formula_of_generatorValues
    (ψ : FreeGroup X →* H)
    (φ : FreeGroup X →* ZCCompletedFoxSemidirect C X H)
    (hright : ∀ w : FreeGroup X, (φ w).right = ψ w)
    (hbasis :
      ∀ x : X, (φ (FreeGroup.of x)).left =
        Pi.single x (1 : ZCCompletedGroupAlgebra C H))
    (w : FreeGroup X) :
    zcGroupLike C H (ψ w) - 1 =
      ∑ i : X,
        (φ w).left i * (zcGroupLike C H (ψ (FreeGroup.of i)) - 1)

Conditional semidirect Fox-Euler formula. The left component of any semidirect lift with right component \(\psi\) and standard generator coordinates gives the completed Fox-Euler sum.

Show proof