Documentation

TauCeti.Algebra.CrossedProduct.Basic

Crossed-product algebras of Galois 2-cocycles #

Let K be a commutative semiring and L a commutative ring over K. A 2-cocycle c of Aut_K(L) with values in Lˣ is a function c(σ, τ) ∈ Lˣ of two automorphisms, stored curried as c.toFun σ τ, whose uncurried form Aut_K(L) × Aut_K(L) → Lˣ satisfies Mathlib's multiplicative cocycle identity groupCohomology.IsMulCocycle₂, which reads c(στ, ρ) · c(σ, τ) = σ(c(τ, ρ)) · c(σ, τρ) for the Galois action of Aut_K(L) on Lˣ. This is the inhomogeneous normalization of Gille–Szamuely §4.4 and Serre, Local Fields, Chapter X.

The crossed product (L, Aut_K(L), c) is the free L-module on symbols u_σ, one for each σ : L ≃ₐ[K] L, with the multiplication determined by L-linearity on the left and the two rules u_σ · x = σ(x) · u_σ and u_σ · u_τ = c(σ, τ) · u_{στ}. On basis multiples this is (x · u_σ) · (y · u_τ) = (x · σ(y) · c(σ, τ)) · u_{στ}, and associativity of this product is exactly the cocycle identity. The cocycle is not assumed normalized: the identity element is c(1, 1)⁻¹ · u_1, and L embeds by x ↦ (x · c(1, 1)⁻¹) · u_1.

An element is a wrapper around a finitely supported function Aut_K(L) →₀ L, its coordinates (CrossedProduct.basis c).repr in the L-basis u_σ, and the crossed product is a K-algebra. Over fields its Module.finrank is Module.finrank K L * Nat.card (Aut_K(L)); when L/K is finite Galois, this is the actual dimension [L : K]². It is not an L-algebra: L acts on the left by multiplication, but is not central unless the automorphism group is trivial.

Central simplicity of the crossed product of a finite Galois extension of fields is proved in TauCeti.Algebra.CrossedProduct.CentralSimple.

Main definitions #

Main results #

References #

structure TauCeti.TwoCocycle (K : Type u) [CommSemiring K] (L : Type v) [CommRing L] [Algebra K L] :

A 2-cocycle of the automorphism group Aut_K(L) with values in the units of L: a function c(σ, τ) = c.toFun σ τ ∈ Lˣ whose uncurried form satisfies the multiplicative cocycle identity c(στ, ρ) · c(σ, τ) = σ(c(τ, ρ)) · c(σ, τρ) of groupCohomology.IsMulCocycle₂, for the Galois action of L ≃ₐ[K] L on Lˣ.

Instances For
    theorem TauCeti.TwoCocycle.ext_iff {K : Type u} {inst✝ : CommSemiring K} {L : Type v} {inst✝¹ : CommRing L} {inst✝² : Algebra K L} {x y : TwoCocycle K L} :
    x = y ↔ x.toFun = y.toFun
    theorem TauCeti.TwoCocycle.ext {K : Type u} {inst✝ : CommSemiring K} {L : Type v} {inst✝¹ : CommRing L} {inst✝² : Algebra K L} {x y : TwoCocycle K L} (toFun : x.toFun = y.toFun) :
    x = y
    theorem TauCeti.TwoCocycle.map_toFun_mul_toFun {K : Type u} [CommSemiring K] {L : Type v} [CommRing L] [Algebra K L] (c : TwoCocycle K L) (σ τ ρ : L ≃ₐ[K] L) :
    σ ↑(c.toFun τ ρ) * ↑(c.toFun σ (τ * ρ)) = ↑(c.toFun σ τ) * ↑(c.toFun (σ * τ) ρ)

    The cocycle identity σ(c(τ, ρ)) · c(σ, τρ) = c(σ, τ) · c(στ, ρ), read in L.

    @[simp]
    theorem TauCeti.TwoCocycle.toFun_one_left {K : Type u} [CommSemiring K] {L : Type v} [CommRing L] [Algebra K L] (c : TwoCocycle K L) (σ : L ≃ₐ[K] L) :
    c.toFun 1 σ = c.toFun 1 1

    c(1, σ) = c(1, 1), Mathlib's groupCohomology.map_one_fst_of_isMulCocycle₂ for a 2-cocycle.

    theorem TauCeti.TwoCocycle.toFun_one_right {K : Type u} [CommSemiring K] {L : Type v} [CommRing L] [Algebra K L] (c : TwoCocycle K L) (σ : L ≃ₐ[K] L) :
    ↑(c.toFun σ 1) = σ ↑(c.toFun 1 1)

    c(σ, 1) = σ(c(1, 1)), Mathlib's groupCohomology.map_one_snd_of_isMulCocycle₂ read in L through the Galois action. Not a simp lemma: at σ = 1 its left-hand side c(1, 1) reappears inside its right-hand side, so simp would loop.

    The pointwise group of 2-cocycles #

    @[instance_reducible]
    instance TauCeti.TwoCocycle.instOne {K : Type u} [CommSemiring K] {L : Type v} [CommRing L] [Algebra K L] :

    The trivial 2-cocycle, constantly 1.

    Equations
    @[instance_reducible]
    instance TauCeti.TwoCocycle.instMul {K : Type u} [CommSemiring K] {L : Type v} [CommRing L] [Algebra K L] :

    The pointwise product (c · d)(σ, τ) = c(σ, τ) · d(σ, τ) of two 2-cocycles.

    Equations
    @[instance_reducible]
    instance TauCeti.TwoCocycle.instInv {K : Type u} [CommSemiring K] {L : Type v} [CommRing L] [Algebra K L] :

    The pointwise inverse c⁻¹(σ, τ) = c(σ, τ)⁻¹ of a 2-cocycle.

    Equations
    @[instance_reducible]
    instance TauCeti.TwoCocycle.instDiv {K : Type u} [CommSemiring K] {L : Type v} [CommRing L] [Algebra K L] :

    The pointwise quotient (c / d)(σ, τ) = c(σ, τ) / d(σ, τ) of two 2-cocycles.

    Equations
    @[instance_reducible]
    instance TauCeti.TwoCocycle.instPowNat {K : Type u} [CommSemiring K] {L : Type v} [CommRing L] [Algebra K L] :

    The pointwise power cⁿ(σ, τ) = c(σ, τ)ⁿ of a 2-cocycle.

    Equations
    @[instance_reducible]
    instance TauCeti.TwoCocycle.instPowInt {K : Type u} [CommSemiring K] {L : Type v} [CommRing L] [Algebra K L] :

    The pointwise integer power cⁿ(σ, τ) = c(σ, τ)ⁿ of a 2-cocycle.

    Equations
    @[simp]
    theorem TauCeti.TwoCocycle.toFun_one {K : Type u} [CommSemiring K] {L : Type v} [CommRing L] [Algebra K L] (σ τ : L ≃ₐ[K] L) :
    toFun 1 σ τ = 1

    The trivial 2-cocycle is constantly 1.

    @[simp]
    theorem TauCeti.TwoCocycle.toFun_mul {K : Type u} [CommSemiring K] {L : Type v} [CommRing L] [Algebra K L] (c d : TwoCocycle K L) (σ τ : L ≃ₐ[K] L) :
    (c * d).toFun σ τ = c.toFun σ τ * d.toFun σ τ

    Multiplication of 2-cocycles is pointwise multiplication.

    @[simp]
    theorem TauCeti.TwoCocycle.toFun_inv {K : Type u} [CommSemiring K] {L : Type v} [CommRing L] [Algebra K L] (c : TwoCocycle K L) (σ τ : L ≃ₐ[K] L) :
    c⁻¹.toFun σ τ = (c.toFun σ τ)⁻¹

    Inversion of 2-cocycles is pointwise inversion.

    @[simp]
    theorem TauCeti.TwoCocycle.toFun_div {K : Type u} [CommSemiring K] {L : Type v} [CommRing L] [Algebra K L] (c d : TwoCocycle K L) (σ τ : L ≃ₐ[K] L) :
    (c / d).toFun σ τ = c.toFun σ τ / d.toFun σ τ

    Division of 2-cocycles is pointwise division.

    @[simp]
    theorem TauCeti.TwoCocycle.toFun_pow {K : Type u} [CommSemiring K] {L : Type v} [CommRing L] [Algebra K L] (c : TwoCocycle K L) (n : ℕ) (σ τ : L ≃ₐ[K] L) :
    (c ^ n).toFun σ τ = c.toFun σ τ ^ n

    Powers of 2-cocycles are pointwise powers.

    @[simp]
    theorem TauCeti.TwoCocycle.toFun_zpow {K : Type u} [CommSemiring K] {L : Type v} [CommRing L] [Algebra K L] (c : TwoCocycle K L) (n : ℤ) (σ τ : L ≃ₐ[K] L) :
    (c ^ n).toFun σ τ = c.toFun σ τ ^ n

    Integer powers of 2-cocycles are pointwise integer powers.

    @[instance_reducible]

    The 2-cocycles form a commutative group under pointwise multiplication, the group of 2-cocycles whose quotient by coboundaries is H²(Aut_K(L), Lˣ).

    Equations
    def TauCeti.TwoCocycle.comap {K : Type u} [CommSemiring K] {L : Type v} [CommRing L] [Algebra K L] {M : Type w} [CommRing M] [Algebra K M] (f : (M ≃ₐ[K] M) →* L ≃ₐ[K] L) (ι : L →ₐ[K] M) (hf : ∀ (g : M ≃ₐ[K] M) (x : L), ι ((f g) x) = g (ι x)) (c : TwoCocycle K L) :

    The inflation of a 2-cocycle c of Aut_K(L) along a compatible pair: a homomorphism f : Aut_K(M) → Aut_K(L) and an embedding ι : L → M intertwining it, ι (f g x) = g (ι x). Its values are (g, g') ↦ ι (c (f g, f g')); the intertwining hypothesis is what makes this a cocycle.

    Equations
    Instances For
      @[simp]
      theorem TauCeti.TwoCocycle.comap_toFun {K : Type u} [CommSemiring K] {L : Type v} [CommRing L] [Algebra K L] (c : TwoCocycle K L) {M : Type w} [CommRing M] [Algebra K M] (f : (M ≃ₐ[K] M) →* L ≃ₐ[K] L) (ι : L →ₐ[K] M) (hf : ∀ (g : M ≃ₐ[K] M) (x : L), ι ((f g) x) = g (ι x)) (g g' : M ≃ₐ[K] M) :
      (comap f ι hf c).toFun g g' = (Units.map ↑ι) (c.toFun (f g) (f g'))

      The defining equation of the inflated cocycle, (c.comap f ι hf)(g, g') = ι (c (f g, f g')), as units.

      @[simp]
      theorem TauCeti.TwoCocycle.comap_one {K : Type u} [CommSemiring K] {L : Type v} [CommRing L] [Algebra K L] {M : Type w} [CommRing M] [Algebra K M] (f : (M ≃ₐ[K] M) →* L ≃ₐ[K] L) (ι : L →ₐ[K] M) (hf : ∀ (g : M ≃ₐ[K] M) (x : L), ι ((f g) x) = g (ι x)) :
      comap f ι hf 1 = 1

      Inflation of the trivial 2-cocycle is trivial.

      @[simp]
      theorem TauCeti.TwoCocycle.comap_mul {K : Type u} [CommSemiring K] {L : Type v} [CommRing L] [Algebra K L] (c : TwoCocycle K L) {M : Type w} [CommRing M] [Algebra K M] (f : (M ≃ₐ[K] M) →* L ≃ₐ[K] L) (ι : L →ₐ[K] M) (hf : ∀ (g : M ≃ₐ[K] M) (x : L), ι ((f g) x) = g (ι x)) (d : TwoCocycle K L) :
      comap f ι hf (c * d) = comap f ι hf c * comap f ι hf d

      Inflation is multiplicative.

      @[simp]
      theorem TauCeti.TwoCocycle.comap_inv {K : Type u} [CommSemiring K] {L : Type v} [CommRing L] [Algebra K L] (c : TwoCocycle K L) {M : Type w} [CommRing M] [Algebra K M] (f : (M ≃ₐ[K] M) →* L ≃ₐ[K] L) (ι : L →ₐ[K] M) (hf : ∀ (g : M ≃ₐ[K] M) (x : L), ι ((f g) x) = g (ι x)) :
      comap f ι hf c⁻¹ = (comap f ι hf c)⁻¹

      Inflation commutes with inversion.

      @[simp]
      theorem TauCeti.TwoCocycle.comap_div {K : Type u} [CommSemiring K] {L : Type v} [CommRing L] [Algebra K L] (c : TwoCocycle K L) {M : Type w} [CommRing M] [Algebra K M] (f : (M ≃ₐ[K] M) →* L ≃ₐ[K] L) (ι : L →ₐ[K] M) (hf : ∀ (g : M ≃ₐ[K] M) (x : L), ι ((f g) x) = g (ι x)) (d : TwoCocycle K L) :
      comap f ι hf (c / d) = comap f ι hf c / comap f ι hf d

      Inflation commutes with division.

      @[simp]
      theorem TauCeti.TwoCocycle.comap_pow {K : Type u} [CommSemiring K] {L : Type v} [CommRing L] [Algebra K L] (c : TwoCocycle K L) {M : Type w} [CommRing M] [Algebra K M] (f : (M ≃ₐ[K] M) →* L ≃ₐ[K] L) (ι : L →ₐ[K] M) (hf : ∀ (g : M ≃ₐ[K] M) (x : L), ι ((f g) x) = g (ι x)) (n : ℕ) :
      comap f ι hf (c ^ n) = comap f ι hf c ^ n

      Inflation commutes with natural powers.

      @[simp]
      theorem TauCeti.TwoCocycle.comap_zpow {K : Type u} [CommSemiring K] {L : Type v} [CommRing L] [Algebra K L] (c : TwoCocycle K L) {M : Type w} [CommRing M] [Algebra K M] (f : (M ≃ₐ[K] M) →* L ≃ₐ[K] L) (ι : L →ₐ[K] M) (hf : ∀ (g : M ≃ₐ[K] M) (x : L), ι ((f g) x) = g (ι x)) (n : ℤ) :
      comap f ι hf (c ^ n) = comap f ι hf c ^ n

      Inflation commutes with integer powers.

      structure TauCeti.CrossedProduct {K : Type u} [CommSemiring K] {L : Type v} [CommRing L] [Algebra K L] (c : TwoCocycle K L) :

      The crossed-product algebra (L, Aut_K(L), c) of a 2-cocycle c: the free L-module on symbols u_σ, one for each σ : L ≃ₐ[K] L, with the multiplication (x · u_σ) · (y · u_τ) = (x · σ(y) · c(σ, τ)) · u_{στ}. An element is a wrapper around its coordinates Aut_K(L) →₀ L in the basis CrossedProduct.basis c; the cocycle is a parameter of the type so that the multiplication can be an instance.

      • ofFinsupp :: (
        • toFinsupp : (L ≃ₐ[K] L) →₀ L

          The coordinates σ ↦ a_σ of an element in the basis u_σ.

      • )
      Instances For
        theorem TauCeti.CrossedProduct.ext {K : Type u} {inst✝ : CommSemiring K} {L : Type v} {inst✝¹ : CommRing L} {inst✝² : Algebra K L} {c : TwoCocycle K L} {x y : CrossedProduct c} (toFinsupp : x.toFinsupp = y.toFinsupp) :
        x = y
        theorem TauCeti.CrossedProduct.ext_iff {K : Type u} {inst✝ : CommSemiring K} {L : Type v} {inst✝¹ : CommRing L} {inst✝² : Algebra K L} {c : TwoCocycle K L} {x y : CrossedProduct c} :
        @[instance_reducible]
        noncomputable instance TauCeti.CrossedProduct.instAddCommGroup {K : Type u} [CommSemiring K] {L : Type v} [CommRing L] [Algebra K L] (c : TwoCocycle K L) :
        Equations

        The identification of the crossed product with its coordinates Aut_K(L) →₀ L as an additive group, forgetting the multiplication.

        Equations
        Instances For
          @[instance_reducible]
          noncomputable instance TauCeti.CrossedProduct.instModule {K : Type u} [CommSemiring K] {L : Type v} [CommRing L] [Algebra K L] (c : TwoCocycle K L) :

          L acts on the crossed product by left multiplication; see CrossedProduct.smul_def.

          Equations
          noncomputable def TauCeti.CrossedProduct.basis {K : Type u} [CommSemiring K] {L : Type v} [CommRing L] [Algebra K L] (c : TwoCocycle K L) :

          The L-basis u_σ of the crossed product, indexed by L ≃ₐ[K] L.

          Equations
          Instances For
            @[instance_reducible]
            noncomputable instance TauCeti.CrossedProduct.instMul {K : Type u} [CommSemiring K] {L : Type v} [CommRing L] [Algebra K L] (c : TwoCocycle K L) :

            The multiplication of the crossed product, (∑ x_σ · u_σ) · (∑ y_τ · u_τ) = ∑ (x_σ · σ(y_τ) · c(σ, τ)) · u_{στ}.

            Equations
            • One or more equations did not get rendered due to their size.
            @[instance_reducible]
            noncomputable instance TauCeti.CrossedProduct.instOne {K : Type u} [CommSemiring K] {L : Type v} [CommRing L] [Algebra K L] (c : TwoCocycle K L) :

            The identity of the crossed product, c(1, 1)⁻¹ · u_1.

            Equations
            theorem TauCeti.CrossedProduct.mul_def {K : Type u} [CommSemiring K] {L : Type v} [CommRing L] [Algebra K L] {c : TwoCocycle K L} (a b : CrossedProduct c) :
            a * b = ((basis c).repr a).sum fun (σ : L ≃ₐ[K] L) (x : L) => ((basis c).repr b).sum fun (τ : L ≃ₐ[K] L) (y : L) => (x * σ y * ↑(c.toFun σ τ)) • (basis c) (σ * τ)

            The multiplication of the crossed product in coordinates.

            theorem TauCeti.CrossedProduct.one_def {K : Type u} [CommSemiring K] {L : Type v} [CommRing L] [Algebra K L] (c : TwoCocycle K L) :
            1 = ↑(c.toFun 1 1)⁻¹ • (basis c) 1

            The identity of the crossed product is c(1, 1)⁻¹ · u_1.

            @[simp]
            theorem TauCeti.CrossedProduct.smul_basis_mul_smul_basis {K : Type u} [CommSemiring K] {L : Type v} [CommRing L] [Algebra K L] {c : TwoCocycle K L} (σ τ : L ≃ₐ[K] L) (x y : L) :
            x • (basis c) σ * y • (basis c) τ = (x * σ y * ↑(c.toFun σ τ)) • (basis c) (σ * τ)

            The multiplication table of the crossed product: (x · u_σ) · (y · u_τ) = (x · σ(y) · c(σ, τ)) · u_{στ}.

            theorem TauCeti.CrossedProduct.induction_on {K : Type u} [CommSemiring K] {L : Type v} [CommRing L] [Algebra K L] {c : TwoCocycle K L} {motive : CrossedProduct c → Prop} (a : CrossedProduct c) (zero : motive 0) (add : ∀ (a b : CrossedProduct c), motive a → motive b → motive (a + b)) (smul_basis : ∀ (σ : L ≃ₐ[K] L) (x : L), motive (x • (basis c) σ)) :
            motive a

            Induction principle along the L-basis u_σ: a property of elements of the crossed product that holds for 0 and for every x · u_σ and is closed under addition holds everywhere.

            @[instance_reducible]
            Equations
            • One or more equations did not get rendered due to their size.
            @[instance_reducible]
            noncomputable instance TauCeti.CrossedProduct.instNonUnitalRing {K : Type u} [CommSemiring K] {L : Type v} [CommRing L] [Algebra K L] {c : TwoCocycle K L} :
            Equations
            @[instance_reducible]
            noncomputable instance TauCeti.CrossedProduct.instNonAssocRing {K : Type u} [CommSemiring K] {L : Type v} [CommRing L] [Algebra K L] {c : TwoCocycle K L} :
            Equations
            • One or more equations did not get rendered due to their size.
            @[instance_reducible]
            noncomputable instance TauCeti.CrossedProduct.instRing {K : Type u} [CommSemiring K] {L : Type v} [CommRing L] [Algebra K L] {c : TwoCocycle K L} :
            Equations
            • One or more equations did not get rendered due to their size.

            L acts on the crossed product by left multiplication: (x • a) * b = x • (a * b).

            Scalars from K commute with the multiplication of the crossed product, because the automorphisms σ are K-linear.

            @[instance_reducible]
            noncomputable instance TauCeti.CrossedProduct.instAlgebra {K : Type u} [CommSemiring K] {L : Type v} [CommRing L] [Algebra K L] {c : TwoCocycle K L} :

            The crossed product is a K-algebra.

            Equations
            noncomputable def TauCeti.CrossedProduct.inc {K : Type u} [CommSemiring K] {L : Type v} [CommRing L] [Algebra K L] (c : TwoCocycle K L) :

            The embedding x ↦ (x · c(1, 1)⁻¹) · u_1 of L into the crossed product, a homomorphism of K-algebras.

            Equations
            • One or more equations did not get rendered due to their size.
            Instances For
              theorem TauCeti.CrossedProduct.inc_apply {K : Type u} [CommSemiring K] {L : Type v} [CommRing L] [Algebra K L] {c : TwoCocycle K L} (x : L) :
              (inc c) x = (x * ↑(c.toFun 1 1)⁻¹) • (basis c) 1
              theorem TauCeti.CrossedProduct.smul_def {K : Type u} [CommSemiring K] {L : Type v} [CommRing L] [Algebra K L] {c : TwoCocycle K L} (x : L) (a : CrossedProduct c) :
              x • a = (inc c) x * a

              Left multiplication by inc c x is the L-module structure.

              theorem TauCeti.CrossedProduct.basis_one {K : Type u} [CommSemiring K] {L : Type v} [CommRing L] [Algebra K L] {c : TwoCocycle K L} :
              (basis c) 1 = (inc c) ↑(c.toFun 1 1)

              u_1 = c(1, 1) · 1.

              @[simp]
              theorem TauCeti.CrossedProduct.basis_mul_inc {K : Type u} [CommSemiring K] {L : Type v} [CommRing L] [Algebra K L] {c : TwoCocycle K L} (σ : L ≃ₐ[K] L) (x : L) :
              (basis c) σ * (inc c) x = (inc c) (σ x) * (basis c) σ

              The semilinearity rule u_σ · x = σ(x) · u_σ.

              @[simp]
              theorem TauCeti.CrossedProduct.basis_mul_basis {K : Type u} [CommSemiring K] {L : Type v} [CommRing L] [Algebra K L] {c : TwoCocycle K L} (σ τ : L ≃ₐ[K] L) :
              (basis c) σ * (basis c) τ = (inc c) ↑(c.toFun σ τ) * (basis c) (σ * τ)

              The cocycle rule u_σ · u_τ = c(σ, τ) · u_{στ}.

              @[simp]
              theorem TauCeti.CrossedProduct.repr_mul_inc {K : Type u} [CommSemiring K] {L : Type v} [CommRing L] [Algebra K L] {c : TwoCocycle K L} (a : CrossedProduct c) (x : L) (σ : L ≃ₐ[K] L) :
              ((basis c).repr (a * (inc c) x)) σ = ((basis c).repr a) σ * σ x

              Right multiplication by inc c x twists the σ-th coordinate by σ: (∑ a_σ · u_σ) · x = ∑ (a_σ · σ(x)) · u_σ.

              noncomputable def TauCeti.CrossedProduct.lift {K : Type u} [CommSemiring K] {L : Type v} [CommRing L] [Algebra K L] {c : TwoCocycle K L} {R : Type u_1} [Semiring R] [Algebra K R] (f : L →ₐ[K] R) (u : (L ≃ₐ[K] L) → R) (hf : ∀ (σ : L ≃ₐ[K] L) (x : L), u σ * f x = f (σ x) * u σ) (hu : ∀ (σ τ : L ≃ₐ[K] L), u σ * u τ = f ↑(c.toFun σ τ) * u (σ * τ)) (hu₁ : u 1 = f ↑(c.toFun 1 1)) :

              The universal property of the crossed product: a K-algebra homomorphism f : L → R together with elements u σ ∈ R satisfying u σ · f(x) = f(σ x) · u σ, u σ · u τ = f(c(σ, τ)) · u (στ) and u 1 = f(c(1, 1)) extends to the K-algebra homomorphism x · u_σ ↦ f(x) · u σ out of CrossedProduct c. The last condition is basis_one; without it u = 0 would satisfy the first two.

              Equations
              • One or more equations did not get rendered due to their size.
              Instances For
                @[simp]
                theorem TauCeti.CrossedProduct.lift_smul_basis {K : Type u} [CommSemiring K] {L : Type v} [CommRing L] [Algebra K L] {c : TwoCocycle K L} {R : Type u_1} [Semiring R] [Algebra K R] (f : L →ₐ[K] R) (u : (L ≃ₐ[K] L) → R) (hf : ∀ (σ : L ≃ₐ[K] L) (x : L), u σ * f x = f (σ x) * u σ) (hu : ∀ (σ τ : L ≃ₐ[K] L), u σ * u τ = f ↑(c.toFun σ τ) * u (σ * τ)) (hu₁ : u 1 = f ↑(c.toFun 1 1)) (σ : L ≃ₐ[K] L) (x : L) :
                (lift f u hf hu hu₁) (x • (basis c) σ) = f x * u σ

                CrossedProduct.lift sends x · u_σ to f(x) · u σ.

                @[simp]
                theorem TauCeti.CrossedProduct.lift_basis {K : Type u} [CommSemiring K] {L : Type v} [CommRing L] [Algebra K L] {c : TwoCocycle K L} {R : Type u_1} [Semiring R] [Algebra K R] (f : L →ₐ[K] R) (u : (L ≃ₐ[K] L) → R) (hf : ∀ (σ : L ≃ₐ[K] L) (x : L), u σ * f x = f (σ x) * u σ) (hu : ∀ (σ τ : L ≃ₐ[K] L), u σ * u τ = f ↑(c.toFun σ τ) * u (σ * τ)) (hu₁ : u 1 = f ↑(c.toFun 1 1)) (σ : L ≃ₐ[K] L) :
                (lift f u hf hu hu₁) ((basis c) σ) = u σ

                CrossedProduct.lift sends the basis element u_σ to u σ.

                @[simp]
                theorem TauCeti.CrossedProduct.lift_inc {K : Type u} [CommSemiring K] {L : Type v} [CommRing L] [Algebra K L] {c : TwoCocycle K L} {R : Type u_1} [Semiring R] [Algebra K R] (f : L →ₐ[K] R) (u : (L ≃ₐ[K] L) → R) (hf : ∀ (σ : L ≃ₐ[K] L) (x : L), u σ * f x = f (σ x) * u σ) (hu : ∀ (σ τ : L ≃ₐ[K] L), u σ * u τ = f ↑(c.toFun σ τ) * u (σ * τ)) (hu₁ : u 1 = f ↑(c.toFun 1 1)) (x : L) :
                (lift f u hf hu hu₁) ((inc c) x) = f x

                CrossedProduct.lift restricts to f on the copy inc c of L.

                theorem TauCeti.CrossedProduct.algHom_ext {K : Type u} [CommSemiring K] {L : Type v} [CommRing L] [Algebra K L] {c : TwoCocycle K L} {R : Type u_1} [Semiring R] [Algebra K R] {F G : CrossedProduct c →ₐ[K] R} (hinc : ∀ (x : L), F ((inc c) x) = G ((inc c) x)) (hbasis : ∀ (σ : L ≃ₐ[K] L), F ((basis c) σ) = G ((basis c) σ)) :
                F = G

                Uniqueness in the universal property: a K-algebra homomorphism out of CrossedProduct c is determined by its values on the copy inc c of L and on the basis elements u_σ.

                theorem TauCeti.CrossedProduct.algHom_ext_iff {K : Type u} [CommSemiring K] {L : Type v} [CommRing L] [Algebra K L] {c : TwoCocycle K L} {R : Type u_1} [Semiring R] [Algebra K R] {F G : CrossedProduct c →ₐ[K] R} :
                F = G ↔ (∀ (x : L), F ((inc c) x) = G ((inc c) x)) ∧ ∀ (σ : L ≃ₐ[K] L), F ((basis c) σ) = G ((basis c) σ)
                theorem TauCeti.CrossedProduct.lift_unique {K : Type u} [CommSemiring K] {L : Type v} [CommRing L] [Algebra K L] {c : TwoCocycle K L} {R : Type u_1} [Semiring R] [Algebra K R] (f : L →ₐ[K] R) (u : (L ≃ₐ[K] L) → R) (hf : ∀ (σ : L ≃ₐ[K] L) (x : L), u σ * f x = f (σ x) * u σ) (hu : ∀ (σ τ : L ≃ₐ[K] L), u σ * u τ = f ↑(c.toFun σ τ) * u (σ * τ)) (hu₁ : u 1 = f ↑(c.toFun 1 1)) (F : CrossedProduct c →ₐ[K] R) (hinc : ∀ (x : L), F ((inc c) x) = f x) (hbasis : ∀ (σ : L ≃ₐ[K] L), F ((basis c) σ) = u σ) :
                F = lift f u hf hu hu₁

                CrossedProduct.lift is the unique K-algebra homomorphism restricting to f on inc c and sending each u_σ to u σ.

                A crossed product over a nontrivial ring L is nontrivial.

                The crossed product satisfies the natural-number identity Module.finrank K (CrossedProduct c) = Module.finrank K L * Nat.card (Aut_K(L)). Without finite-dimensionality, these are truncated invariants rather than cardinal dimensions.

                The crossed product of a finite Galois extension has dimension [L : K]², so it has degree [L : K] as a central simple algebra.