structure
GoodRep
{F : Type}
(K : Type)
[Field K]
[Field F]
[Algebra F K]
(X : BrauerGroup.BrGroup)
:
Type 1
- carrier : CSA F
- quot_eq : Quotient.mk'' self.carrier = X
- dim_eq_square : Module.finrank F self.carrier.carrier = Module.finrank F K ^ 2
Instances For
noncomputable instance
GoodRep.instCoeSortType
{F K : Type}
[Field K]
[Field F]
[Algebra F K]
{X : BrauerGroup.BrGroup}
:
Equations
- GoodRep.instCoeSortType = { coe := fun (A : GoodRep K X) => A.carrier.carrier }
noncomputable def
GoodRep.ιRange
{F K : Type}
[Field K]
[Field F]
[Algebra F K]
{X : BrauerGroup.BrGroup}
(A : GoodRep K X)
:
Equations
- A.ιRange = AlgEquiv.ofInjective A.ι ⋯
Instances For
noncomputable instance
GoodRep.instAlgebraCarrierCarrier
{F K : Type}
[Field K]
[Field F]
[Algebra F K]
{X : BrauerGroup.BrGroup}
(A : GoodRep K X)
:
Algebra F A.carrier.carrier
Equations
- A.instAlgebraCarrierCarrier = inferInstanceAs (Algebra F A.carrier.carrier)
instance
GoodRep.instIsSimpleOrderTwoSidedIdealSubtypeCarrierCarrierMemSubalgebraRangeι
{F K : Type}
[Field K]
[Field F]
[Algebra F K]
{X : BrauerGroup.BrGroup}
(A : GoodRep K X)
:
IsSimpleOrder (TwoSidedIdeal ↥A.ι.range)
theorem
GoodRep.centralizerιRange
{F K : Type}
[Field K]
[Field F]
[Algebra F K]
{X : BrauerGroup.BrGroup}
(A : GoodRep K X)
:
Subalgebra.centralizer F ↑A.ι.range = A.ι.range
instance
GoodRep.instFiniteDimensionalCarrierCarrier
{F K : Type}
[Field K]
[Field F]
[Algebra F K]
{X : BrauerGroup.BrGroup}
(A : GoodRep K X)
:
FiniteDimensional F A.carrier.carrier
instance
GoodRep.instIsScalarTowerCarrierCarrier
{F K : Type}
[Field K]
[Field F]
[Algebra F K]
{X : BrauerGroup.BrGroup}
(A : GoodRep K X)
:
IsScalarTower F K A.carrier.carrier
instance
GoodRep.instFiniteDimensionalCarrierCarrier_1
{F K : Type}
[Field K]
[Field F]
[Algebra F K]
{X : BrauerGroup.BrGroup}
(A : GoodRep K X)
:
FiniteDimensional K A.carrier.carrier
theorem
GoodRep.dim_eq'
{F K : Type}
[Field K]
[Field F]
[Algebra F K]
{X : BrauerGroup.BrGroup}
(A : GoodRep K X)
[FiniteDimensional F K]
:
Module.finrank K A.carrier.carrier = Module.finrank F K
noncomputable def
GoodRep.mul'
{F K : Type}
[Field K]
[Field F]
[Algebra F K]
{X : BrauerGroup.BrGroup}
{A : GoodRep K X}
{σ τ : K ≃ₐ[F] K}
(x : A.conjFactor σ)
(y : A.conjFactor τ)
:
A.conjFactor (σ * τ)
Equations
- GoodRep.mul' x y = ⟨↑x * ↑y, ⋯⟩
Instances For
noncomputable def
GoodRep.conjFactorTwistCoeff
{F K : Type}
[Field K]
[Field F]
[Algebra F K]
{X : BrauerGroup.BrGroup}
{A : GoodRep K X}
{σ : K ≃ₐ[F] K}
(x y : A.conjFactor σ)
:
K
Equations
Instances For
theorem
GoodRep.conjFactorTwistCoeff_spec
{F K : Type}
[Field K]
[Field F]
[Algebra F K]
{X : BrauerGroup.BrGroup}
{A : GoodRep K X}
{σ : K ≃ₐ[F] K}
(x y : A.conjFactor σ)
:
↑↑x = ↑↑y * A.ι (conjFactorTwistCoeff x y)
theorem
GoodRep.conjFactorTwistCoeff_unique
{F K : Type}
[Field K]
[Field F]
[Algebra F K]
{X : BrauerGroup.BrGroup}
{A : GoodRep K X}
{σ : K ≃ₐ[F] K}
(x y : A.conjFactor σ)
(c : K)
(h : ↑↑x = ↑↑y * A.ι c)
:
c = conjFactorTwistCoeff x y
@[simp]
theorem
GoodRep.conjFactorTwistCoeff_self
{F K : Type}
[Field K]
[Field F]
[Algebra F K]
{X : BrauerGroup.BrGroup}
{A : GoodRep K X}
{σ : K ≃ₐ[F] K}
(x : A.conjFactor σ)
:
conjFactorTwistCoeff x x = 1
noncomputable def
GoodRep.conjFactorTwistCoeffAsUnit
{F K : Type}
[Field K]
[Field F]
[Algebra F K]
{X : BrauerGroup.BrGroup}
{A : GoodRep K X}
{σ : K ≃ₐ[F] K}
(x y : A.conjFactor σ)
:
Kˣ
Equations
- GoodRep.conjFactorTwistCoeffAsUnit x y = { val := GoodRep.conjFactorTwistCoeff x y, inv := GoodRep.conjFactorTwistCoeff y x, val_inv := ⋯, inv_val := ⋯ }
Instances For
@[simp]
theorem
GoodRep.val_conjFactorTwistCoeffAsUnit
{F K : Type}
[Field K]
[Field F]
[Algebra F K]
{X : BrauerGroup.BrGroup}
{A : GoodRep K X}
{σ : K ≃ₐ[F] K}
(x y : A.conjFactor σ)
:
↑(conjFactorTwistCoeffAsUnit x y) = conjFactorTwistCoeff x y
@[simp]
theorem
GoodRep.val_inv_conjFactorTwistCoeffAsUnit
{F K : Type}
[Field K]
[Field F]
[Algebra F K]
{X : BrauerGroup.BrGroup}
{A : GoodRep K X}
{σ : K ≃ₐ[F] K}
(x y : A.conjFactor σ)
:
↑(conjFactorTwistCoeffAsUnit x y)⁻¹ = conjFactorTwistCoeff y x
@[simp]
theorem
GoodRep.conjFactorTwistCoeff_swap
{F K : Type}
[Field K]
[Field F]
[Algebra F K]
{X : BrauerGroup.BrGroup}
{A : GoodRep K X}
{σ : K ≃ₐ[F] K}
(x y : A.conjFactor σ)
:
conjFactorTwistCoeff x y * conjFactorTwistCoeff y x = 1
theorem
GoodRep.conjFactorTwistCoeff_inv
{F K : Type}
[Field K]
[Field F]
[Algebra F K]
{X : BrauerGroup.BrGroup}
{A : GoodRep K X}
{σ : K ≃ₐ[F] K}
(x y : A.conjFactor σ)
:
conjFactorTwistCoeff x y = (conjFactorTwistCoeff y x)⁻¹
@[simp]
theorem
GoodRep.conjFactorTwistCoeff_swap'
{F K : Type}
[Field K]
[Field F]
[Algebra F K]
{X : BrauerGroup.BrGroup}
{A : GoodRep K X}
{σ : K ≃ₐ[F] K}
(x y : A.conjFactor σ)
:
conjFactorTwistCoeff y x * conjFactorTwistCoeff x y = 1
@[simp]
theorem
GoodRep.conjFactorTwistCoeff_swap''
{F K : Type}
[Field K]
[Field F]
[Algebra F K]
{X : BrauerGroup.BrGroup}
{A : GoodRep K X}
{σ : K ≃ₐ[F] K}
(x y : A.conjFactor σ)
:
A.ι (conjFactorTwistCoeff x y) * A.ι (conjFactorTwistCoeff y x) = 1
@[simp]
theorem
GoodRep.conjFactorTwistCoeff_swap'''
{F K : Type}
[Field K]
[Field F]
[Algebra F K]
{X : BrauerGroup.BrGroup}
{A : GoodRep K X}
{σ : K ≃ₐ[F] K}
(x y : A.conjFactor σ)
:
A.ι (conjFactorTwistCoeff y x) * A.ι (conjFactorTwistCoeff x y) = 1
theorem
GoodRep.conjFactorTwistCoeff_spec'
{F K : Type}
[Field K]
[Field F]
[Algebra F K]
{X : BrauerGroup.BrGroup}
{A : GoodRep K X}
{σ : K ≃ₐ[F] K}
(x y : A.conjFactor σ)
:
↑↑x = A.ι (σ (conjFactorTwistCoeff x y)) * ↑↑y
noncomputable def
GoodRep.conjFactorCompCoeff
{F K : Type}
[Field K]
[Field F]
[Algebra F K]
{X : BrauerGroup.BrGroup}
{A : GoodRep K X}
{σ τ : K ≃ₐ[F] K}
(x : A.conjFactor σ)
(y : A.conjFactor τ)
(z : A.conjFactor (σ * τ))
:
K
Equations
- GoodRep.conjFactorCompCoeff x y z = σ (τ (GoodRep.conjFactorTwistCoeff (GoodRep.mul' x y) z))
Instances For
noncomputable def
GoodRep.conjFactorCompCoeffAsUnit
{F K : Type}
[Field K]
[Field F]
[Algebra F K]
{X : BrauerGroup.BrGroup}
{A : GoodRep K X}
{σ τ : K ≃ₐ[F] K}
(x : A.conjFactor σ)
(y : A.conjFactor τ)
(z : A.conjFactor (σ * τ))
:
Kˣ
Equations
- GoodRep.conjFactorCompCoeffAsUnit x y z = { val := GoodRep.conjFactorCompCoeff x y z, inv := σ (τ (GoodRep.conjFactorTwistCoeff z (GoodRep.mul' x y))), val_inv := ⋯, inv_val := ⋯ }
Instances For
@[simp]
theorem
GoodRep.val_inv_conjFactorCompCoeffAsUnit
{F K : Type}
[Field K]
[Field F]
[Algebra F K]
{X : BrauerGroup.BrGroup}
{A : GoodRep K X}
{σ τ : K ≃ₐ[F] K}
(x : A.conjFactor σ)
(y : A.conjFactor τ)
(z : A.conjFactor (σ * τ))
:
↑(conjFactorCompCoeffAsUnit x y z)⁻¹ = σ (τ (conjFactorTwistCoeff z (mul' x y)))
@[simp]
theorem
GoodRep.val_conjFactorCompCoeffAsUnit
{F K : Type}
[Field K]
[Field F]
[Algebra F K]
{X : BrauerGroup.BrGroup}
{A : GoodRep K X}
{σ τ : K ≃ₐ[F] K}
(x : A.conjFactor σ)
(y : A.conjFactor τ)
(z : A.conjFactor (σ * τ))
:
↑(conjFactorCompCoeffAsUnit x y z) = conjFactorCompCoeff x y z
theorem
GoodRep.conjFactorCompCoeff_spec
{F K : Type}
[Field K]
[Field F]
[Algebra F K]
{X : BrauerGroup.BrGroup}
{A : GoodRep K X}
{σ τ : K ≃ₐ[F] K}
(x : A.conjFactor σ)
(y : A.conjFactor τ)
(z : A.conjFactor (σ * τ))
:
↑↑x * ↑↑y = A.ι (conjFactorCompCoeff x y z) * ↑↑z
theorem
GoodRep.conjFactorCompCoeff_comp_comp₁
{F K : Type}
[Field K]
[Field F]
[Algebra F K]
{X : BrauerGroup.BrGroup}
{A : GoodRep K X}
{ρ σ τ : K ≃ₐ[F] K}
(xρ : A.conjFactor ρ)
(xσ : A.conjFactor σ)
(xτ : A.conjFactor τ)
(xρσ : A.conjFactor (ρ * σ))
(xρστ : A.conjFactor (ρ * σ * τ))
:
↑↑xρ * ↑↑xσ * ↑↑xτ = A.ι (conjFactorCompCoeff xρ xσ xρσ) * A.ι (conjFactorCompCoeff xρσ xτ xρστ) * ↑↑xρστ
theorem
GoodRep.conjFactorCompCoeff_comp_comp₂
{F K : Type}
[Field K]
[Field F]
[Algebra F K]
{X : BrauerGroup.BrGroup}
{A : GoodRep K X}
{ρ σ τ : K ≃ₐ[F] K}
(xρ : A.conjFactor ρ)
(xσ : A.conjFactor σ)
(xτ : A.conjFactor τ)
(xστ : A.conjFactor (σ * τ))
(xρστ : A.conjFactor (ρ * σ * τ))
:
↑↑xρ * (↑↑xσ * ↑↑xτ) = A.ι (ρ (conjFactorCompCoeff xσ xτ xστ)) * A.ι (conjFactorCompCoeff xρ xστ xρστ) * ↑↑xρστ
theorem
GoodRep.conjFactorCompCoeff_comp_comp₃
{F K : Type}
[Field K]
[Field F]
[Algebra F K]
{X : BrauerGroup.BrGroup}
{A : GoodRep K X}
{ρ σ τ : K ≃ₐ[F] K}
(xρ : A.conjFactor ρ)
(xσ : A.conjFactor σ)
(xτ : A.conjFactor τ)
(xρσ : A.conjFactor (ρ * σ))
(xστ : A.conjFactor (σ * τ))
(xρστ : A.conjFactor (ρ * σ * τ))
:
A.ι (conjFactorCompCoeff xρ xσ xρσ) * A.ι (conjFactorCompCoeff xρσ xτ xρστ) * ↑↑xρστ = A.ι (ρ (conjFactorCompCoeff xσ xτ xστ)) * A.ι (conjFactorCompCoeff xρ xστ xρστ) * ↑↑xρστ
theorem
GoodRep.conjFactorCompCoeff_comp_comp
{F K : Type}
[Field K]
[Field F]
[Algebra F K]
{X : BrauerGroup.BrGroup}
{A : GoodRep K X}
{ρ σ τ : K ≃ₐ[F] K}
(xρ : A.conjFactor ρ)
(xσ : A.conjFactor σ)
(xτ : A.conjFactor τ)
(xρσ : A.conjFactor (ρ * σ))
(xστ : A.conjFactor (σ * τ))
(xρστ : A.conjFactor (ρ * σ * τ))
:
conjFactorCompCoeff xρ xσ xρσ * conjFactorCompCoeff xρσ xτ xρστ = ρ (conjFactorCompCoeff xσ xτ xστ) * conjFactorCompCoeff xρ xστ xρστ
noncomputable def
GoodRep.toTwoCocycles
{F K : Type}
[Field K]
[Field F]
[Algebra F K]
{X : BrauerGroup.BrGroup}
(A : GoodRep K X)
(x_ : (σ : K ≃ₐ[F] K) → A.conjFactor σ)
:
Equations
- A.toTwoCocycles x_ p = GoodRep.conjFactorCompCoeffAsUnit (x_ p.1) (x_ p.2) (x_ (p.1 * p.2))
Instances For
theorem
GoodRep.isTwoCocyles
{F K : Type}
[Field K]
[Field F]
[Algebra F K]
{X : BrauerGroup.BrGroup}
{A : GoodRep K X}
(x_ : (σ : K ≃ₐ[F] K) → A.conjFactor σ)
:
groupCohomology.IsMulTwoCocycle (A.toTwoCocycles x_)
noncomputable def
GoodRep.isoConjCoeff
{F K : Type}
[Field K]
[Field F]
[Algebra F K]
{X : BrauerGroup.BrGroup}
(A B : GoodRep K X)
:
B.carrier.carrierˣ
Equations
- A.isoConjCoeff B = ⋯.choose
Instances For
theorem
GoodRep.isoConjCoeff_spec''
{F K : Type}
[Field K]
[Field F]
[Algebra F K]
{X : BrauerGroup.BrGroup}
(A B : GoodRep K X)
{σ : K ≃ₐ[F] K}
(c : K)
(x : A.conjFactor σ)
:
noncomputable def
GoodRep.pushConjFactor
{F K : Type}
[Field K]
[Field F]
[Algebra F K]
{X : BrauerGroup.BrGroup}
(A B : GoodRep K X)
{σ : K ≃ₐ[F] K}
(x : A.conjFactor σ)
:
B.conjFactor σ
Equations
- One or more equations did not get rendered due to their size.
Instances For
noncomputable def
GoodRep.pushConjFactorCoeff
{F K : Type}
[Field K]
[Field F]
[Algebra F K]
{X : BrauerGroup.BrGroup}
(A B : GoodRep K X)
{σ : K ≃ₐ[F] K}
(x : A.conjFactor σ)
(y : B.conjFactor σ)
:
K
Equations
- A.pushConjFactorCoeff B x y = σ (GoodRep.conjFactorTwistCoeff y (A.pushConjFactor B x))
Instances For
theorem
GoodRep.pushConjFactorCoeff_spec'
{F K : Type}
[Field K]
[Field F]
[Algebra F K]
{X : BrauerGroup.BrGroup}
(A B : GoodRep K X)
{σ : K ≃ₐ[F] K}
(x : A.conjFactor σ)
(y : B.conjFactor σ)
:
@[reducible, inline]
noncomputable abbrev
GoodRep.pushConjFactorCoeffAsUnit
{F K : Type}
[Field K]
[Field F]
[Algebra F K]
{X : BrauerGroup.BrGroup}
(A B : GoodRep K X)
{σ : K ≃ₐ[F] K}
(x : A.conjFactor σ)
(y : B.conjFactor σ)
:
Kˣ
Equations
- A.pushConjFactorCoeffAsUnit B x y = { val := A.pushConjFactorCoeff B x y, inv := σ (GoodRep.conjFactorTwistCoeff (A.pushConjFactor B x) y), val_inv := ⋯, inv_val := ⋯ }
Instances For
@[simp]
theorem
GoodRep.val_inv_pushConjFactorCoeffAsUnit
{F K : Type}
[Field K]
[Field F]
[Algebra F K]
{X : BrauerGroup.BrGroup}
(A B : GoodRep K X)
{σ : K ≃ₐ[F] K}
(x : A.conjFactor σ)
(y : B.conjFactor σ)
:
↑(A.pushConjFactorCoeffAsUnit B x y)⁻¹ = σ (conjFactorTwistCoeff (A.pushConjFactor B x) y)
theorem
GoodRep.compare_conjFactorCompCoeff
{F K : Type}
[Field K]
[Field F]
[Algebra F K]
{X : BrauerGroup.BrGroup}
(A B : GoodRep K X)
{σ τ : K ≃ₐ[F] K}
(xσ : A.conjFactor σ)
(yσ : B.conjFactor σ)
(xτ : A.conjFactor τ)
(yτ : B.conjFactor τ)
(xστ : A.conjFactor (σ * τ))
(yστ : B.conjFactor (σ * τ))
:
conjFactorCompCoeff yσ yτ yστ * A.pushConjFactorCoeff B xστ yστ = A.pushConjFactorCoeff B xσ yσ * σ (A.pushConjFactorCoeff B xτ yτ) * conjFactorCompCoeff xσ xτ xστ
theorem
GoodRep.compare_toTwoCocycles'
{F K : Type}
[Field K]
[Field F]
[Algebra F K]
{X : BrauerGroup.BrGroup}
(A B : GoodRep K X)
(x_ : (σ : K ≃ₐ[F] K) → A.conjFactor σ)
(y_ : (σ : K ≃ₐ[F] K) → B.conjFactor σ)
:
groupCohomology.IsMulTwoCoboundary (B.toTwoCocycles y_ / A.toTwoCocycles x_)
theorem
mem_relativeBrGroup_iff_exists_goodRep
{F K : Type}
[Field K]
[Field F]
[Algebra F K]
[FiniteDimensional F K]
(X : BrauerGroup.BrGroup)
:
X ∈ RelativeBrGroup K F ↔ Nonempty (GoodRep K X)
noncomputable def
RelativeBrGroup.goodRep
{F K : Type}
[Field K]
[Field F]
[Algebra F K]
[FiniteDimensional F K]
(X : ↥(RelativeBrGroup K F))
:
GoodRep K ↑X
Equations
- RelativeBrGroup.goodRep X = ⋯.some
Instances For
noncomputable def
GoodRep.toH2
{F K : Type}
[Field K]
[Field F]
[Algebra F K]
{X : BrauerGroup.BrGroup}
(A : GoodRep K X)
(x_ : (σ : K ≃ₐ[F] K) → A.conjFactor σ)
:
groupCohomology.H2 (galAct F K)
Equations
- A.toH2 x_ = Quotient.mk'' (groupCohomology.twoCocyclesOfIsMulTwoCocycle ⋯)
Instances For
noncomputable def
RelativeBrGroup.toSnd
{F K : Type}
[Field K]
[Field F]
[Algebra F K]
[FiniteDimensional F K]
:
↥(RelativeBrGroup K F) → groupCohomology.H2 (galAct F K)
Equations
- RelativeBrGroup.toSnd X = (RelativeBrGroup.goodRep X).toH2 (RelativeBrGroup.goodRep X).aribitaryConjFactor
Instances For
theorem
RelativeBrGroup.toSnd_wd
{F K : Type}
[Field K]
[Field F]
[Algebra F K]
[FiniteDimensional F K]
(X : ↥(RelativeBrGroup K F))
(A : GoodRep K ↑X)
(x_ : (σ : K ≃ₐ[F] K) → A.conjFactor σ)
:
theorem
GoodRep.conjFactor_linearIndependent
{F K : Type}
[Field K]
[Field F]
[Algebra F K]
{X : BrauerGroup.BrGroup}
(A : GoodRep K X)
(x_ : (σ : K ≃ₐ[F] K) → A.conjFactor σ)
:
LinearIndependent K fun (i : K ≃ₐ[F] K) => ↑↑(x_ i)
noncomputable def
GoodRep.conjFactorBasis
{F K : Type}
[Field K]
[Field F]
[Algebra F K]
[FiniteDimensional F K]
{X : BrauerGroup.BrGroup}
(A : GoodRep K X)
[IsGalois F K]
(x_ : (σ : K ≃ₐ[F] K) → A.conjFactor σ)
:
Equations
- A.conjFactorBasis x_ = basisOfLinearIndependentOfCardEqFinrank ⋯ ⋯
Instances For
noncomputable def
GoodRep.crossProductMul
{F K : Type}
[Field K]
[Field F]
[Algebra F K]
[FiniteDimensional F K]
[DecidableEq (K ≃ₐ[F] K)]
(a : ((K ≃ₐ[F] K) × K ≃ₐ[F] K) → Kˣ)
:
Equations
- One or more equations did not get rendered due to their size.
Instances For
noncomputable instance
GoodRep.CrossProduct.instAdd
{F K : Type}
[Field K]
[Field F]
[Algebra F K]
{a : ((K ≃ₐ[F] K) × K ≃ₐ[F] K) → Kˣ}
(ha : groupCohomology.IsMulTwoCocycle a)
:
Add (CrossProduct ha)
Equations
- GoodRep.CrossProduct.instAdd ha = { add := fun (x y : GoodRep.CrossProduct ha) => { val := x.val + y.val } }
noncomputable instance
GoodRep.CrossProduct.instZero
{F K : Type}
[Field K]
[Field F]
[Algebra F K]
{a : ((K ≃ₐ[F] K) × K ≃ₐ[F] K) → Kˣ}
(ha : groupCohomology.IsMulTwoCocycle a)
:
Zero (CrossProduct ha)
Equations
- GoodRep.CrossProduct.instZero ha = { zero := { val := 0 } }
noncomputable instance
GoodRep.CrossProduct.instSMulNat
{F K : Type}
[Field K]
[Field F]
[Algebra F K]
{a : ((K ≃ₐ[F] K) × K ≃ₐ[F] K) → Kˣ}
(ha : groupCohomology.IsMulTwoCocycle a)
:
SMul ℕ (CrossProduct ha)
Equations
- GoodRep.CrossProduct.instSMulNat ha = { smul := fun (n : ℕ) (x : GoodRep.CrossProduct ha) => { val := n • x.val } }
noncomputable instance
GoodRep.CrossProduct.instNeg
{F K : Type}
[Field K]
[Field F]
[Algebra F K]
{a : ((K ≃ₐ[F] K) × K ≃ₐ[F] K) → Kˣ}
(ha : groupCohomology.IsMulTwoCocycle a)
:
Neg (CrossProduct ha)
Equations
- GoodRep.CrossProduct.instNeg ha = { neg := fun (x : GoodRep.CrossProduct ha) => { val := -x.val } }
noncomputable instance
GoodRep.CrossProduct.instSub
{F K : Type}
[Field K]
[Field F]
[Algebra F K]
{a : ((K ≃ₐ[F] K) × K ≃ₐ[F] K) → Kˣ}
(ha : groupCohomology.IsMulTwoCocycle a)
:
Sub (CrossProduct ha)
Equations
- GoodRep.CrossProduct.instSub ha = { sub := fun (x y : GoodRep.CrossProduct ha) => { val := x.val - y.val } }
noncomputable instance
GoodRep.CrossProduct.instSMulInt
{F K : Type}
[Field K]
[Field F]
[Algebra F K]
{a : ((K ≃ₐ[F] K) × K ≃ₐ[F] K) → Kˣ}
(ha : groupCohomology.IsMulTwoCocycle a)
:
SMul ℤ (CrossProduct ha)
Equations
- GoodRep.CrossProduct.instSMulInt ha = { smul := fun (n : ℤ) (x : GoodRep.CrossProduct ha) => { val := n • x.val } }
noncomputable instance
GoodRep.CrossProduct.addCommGroup
{F K : Type}
[Field K]
[Field F]
[Algebra F K]
{a : ((K ≃ₐ[F] K) × K ≃ₐ[F] K) → Kˣ}
(ha : groupCohomology.IsMulTwoCocycle a)
:
AddCommGroup (CrossProduct ha)
Equations
noncomputable def
GoodRep.CrossProduct.valAddMonoidHom
{F K : Type}
[Field K]
[Field F]
[Algebra F K]
{a : ((K ≃ₐ[F] K) × K ≃ₐ[F] K) → Kˣ}
(ha : groupCohomology.IsMulTwoCocycle a)
:
CrossProduct ha →+ (K ≃ₐ[F] K) → K
Equations
- GoodRep.CrossProduct.valAddMonoidHom ha = { toFun := fun (x : GoodRep.CrossProduct ha) => x.val, map_zero' := ⋯, map_add' := ⋯ }
Instances For
@[simp]
theorem
GoodRep.CrossProduct.valAddMonoidHom_apply
{F K : Type}
[Field K]
[Field F]
[Algebra F K]
{a : ((K ≃ₐ[F] K) × K ≃ₐ[F] K) → Kˣ}
(ha : groupCohomology.IsMulTwoCocycle a)
(x : CrossProduct ha)
(a✝ : K ≃ₐ[F] K)
:
(valAddMonoidHom ha) x a✝ = x.val a✝
theorem
GoodRep.CrossProduct.single_induction
{F K : Type}
[Field K]
[Field F]
[Algebra F K]
[FiniteDimensional F K]
[DecidableEq (K ≃ₐ[F] K)]
{a : ((K ≃ₐ[F] K) × K ≃ₐ[F] K) → Kˣ}
(ha : groupCohomology.IsMulTwoCocycle a)
(x : CrossProduct ha)
{motive : CrossProduct ha → Prop}
(single : ∀ (σ : K ≃ₐ[F] K) (c : K), motive { val := Pi.single σ c })
(add : ∀ (x y : CrossProduct ha), motive x → motive y → motive { val := x.val + y.val })
(zero : motive { val := 0 })
:
motive x
noncomputable instance
GoodRep.CrossProduct.instMul
{F K : Type}
[Field K]
[Field F]
[Algebra F K]
[FiniteDimensional F K]
[DecidableEq (K ≃ₐ[F] K)]
{a : ((K ≃ₐ[F] K) × K ≃ₐ[F] K) → Kˣ}
(ha : groupCohomology.IsMulTwoCocycle a)
:
Mul (CrossProduct ha)
Equations
- GoodRep.CrossProduct.instMul ha = { mul := fun (x y : GoodRep.CrossProduct ha) => { val := ((GoodRep.crossProductMul a) x.val) y.val } }
theorem
GoodRep.CrossProduct.mul_def
{F K : Type}
[Field K]
[Field F]
[Algebra F K]
[FiniteDimensional F K]
[DecidableEq (K ≃ₐ[F] K)]
{a : ((K ≃ₐ[F] K) × K ≃ₐ[F] K) → Kˣ}
(ha : groupCohomology.IsMulTwoCocycle a)
(x y : CrossProduct ha)
:
x * y = { val := ((crossProductMul a) x.val) y.val }
@[simp]
theorem
GoodRep.CrossProduct.mul_val
{F K : Type}
[Field K]
[Field F]
[Algebra F K]
[FiniteDimensional F K]
[DecidableEq (K ≃ₐ[F] K)]
{a : ((K ≃ₐ[F] K) × K ≃ₐ[F] K) → Kˣ}
(ha : groupCohomology.IsMulTwoCocycle a)
(x y : CrossProduct ha)
:
(x * y).val = ((crossProductMul a) x.val) y.val
noncomputable instance
GoodRep.CrossProduct.instOne
{F K : Type}
[Field K]
[Field F]
[Algebra F K]
[DecidableEq (K ≃ₐ[F] K)]
{a : ((K ≃ₐ[F] K) × K ≃ₐ[F] K) → Kˣ}
(ha : groupCohomology.IsMulTwoCocycle a)
:
One (CrossProduct ha)
Equations
- GoodRep.CrossProduct.instOne ha = { one := { val := Pi.single 1 (↑(a (1, 1)))⁻¹ } }
noncomputable instance
GoodRep.CrossProduct.monoid
{F K : Type}
[Field K]
[Field F]
[Algebra F K]
[FiniteDimensional F K]
[DecidableEq (K ≃ₐ[F] K)]
{a : ((K ≃ₐ[F] K) × K ≃ₐ[F] K) → Kˣ}
(ha : groupCohomology.IsMulTwoCocycle a)
:
Monoid (CrossProduct ha)
Equations
- GoodRep.CrossProduct.monoid ha = Monoid.mk ⋯ ⋯ npowRecAuto ⋯ ⋯
noncomputable instance
GoodRep.CrossProduct.instRing
{F K : Type}
[Field K]
[Field F]
[Algebra F K]
[FiniteDimensional F K]
[DecidableEq (K ≃ₐ[F] K)]
{a : ((K ≃ₐ[F] K) × K ≃ₐ[F] K) → Kˣ}
(ha : groupCohomology.IsMulTwoCocycle a)
:
Ring (CrossProduct ha)
Equations
- GoodRep.CrossProduct.instRing ha = Ring.mk ⋯ SubNegMonoid.zsmul ⋯ ⋯ ⋯ ⋯ ⋯ ⋯
noncomputable instance
GoodRep.CrossProduct.instSMul
{F K : Type}
[Field K]
[Field F]
[Algebra F K]
[FiniteDimensional F K]
[DecidableEq (K ≃ₐ[F] K)]
{a : ((K ≃ₐ[F] K) × K ≃ₐ[F] K) → Kˣ}
(ha : groupCohomology.IsMulTwoCocycle a)
:
SMul F (CrossProduct ha)
Equations
- GoodRep.CrossProduct.instSMul ha = { smul := fun (r : F) (x : GoodRep.CrossProduct ha) => { val := (GoodRep.crossProductSMul r) x.val } }
@[simp]
theorem
GoodRep.CrossProduct.smul_val
{F K : Type}
[Field K]
[Field F]
[Algebra F K]
[FiniteDimensional F K]
[DecidableEq (K ≃ₐ[F] K)]
{a : ((K ≃ₐ[F] K) × K ≃ₐ[F] K) → Kˣ}
(ha : groupCohomology.IsMulTwoCocycle a)
(r : F)
(x : CrossProduct ha)
:
noncomputable instance
GoodRep.CrossProduct.algebra
{F K : Type}
[Field K]
[Field F]
[Algebra F K]
[FiniteDimensional F K]
[DecidableEq (K ≃ₐ[F] K)]
{a : ((K ≃ₐ[F] K) × K ≃ₐ[F] K) → Kˣ}
(ha : groupCohomology.IsMulTwoCocycle a)
:
Algebra F (CrossProduct ha)
Equations
- GoodRep.CrossProduct.algebra ha = Algebra.mk { toFun := fun (r : F) => r • 1, map_one' := ⋯, map_mul' := ⋯, map_zero' := ⋯, map_add' := ⋯ } ⋯ ⋯
@[simp]
theorem
GoodRep.CrossProduct.algebraMap_val
{F K : Type}
[Field K]
[Field F]
[Algebra F K]
[FiniteDimensional F K]
[DecidableEq (K ≃ₐ[F] K)]
{a : ((K ≃ₐ[F] K) × K ≃ₐ[F] K) → Kˣ}
(ha : groupCohomology.IsMulTwoCocycle a)
(r : F)
:
(algebraMap F (CrossProduct ha)) r = r • 1
noncomputable def
GoodRep.CrossProduct.ι
{F K : Type}
[Field K]
[Field F]
[Algebra F K]
[FiniteDimensional F K]
[DecidableEq (K ≃ₐ[F] K)]
{a : ((K ≃ₐ[F] K) × K ≃ₐ[F] K) → Kˣ}
(ha : groupCohomology.IsMulTwoCocycle a)
:
K →ₐ[F] CrossProduct ha
Equations
- GoodRep.CrossProduct.ι ha = { toFun := fun (b : K) => { val := Pi.single 1 (b * ↑(a (1, 1))⁻¹) }, map_one' := ⋯, map_mul' := ⋯, map_zero' := ⋯, map_add' := ⋯, commutes' := ⋯ }
Instances For
theorem
GoodRep.CrossProduct.identity_double_cross
{F K : Type}
[Field K]
[Field F]
[Algebra F K]
[FiniteDimensional F K]
[DecidableEq (K ≃ₐ[F] K)]
{a : ((K ≃ₐ[F] K) × K ≃ₐ[F] K) → Kˣ}
(ha : groupCohomology.IsMulTwoCocycle a)
(σ : K ≃ₐ[F] K)
(b : K)
:
theorem
GoodRep.CrossProduct.identity_double_cross'
{F K : Type}
[Field K]
[Field F]
[Algebra F K]
[FiniteDimensional F K]
[DecidableEq (K ≃ₐ[F] K)]
{a : ((K ≃ₐ[F] K) × K ≃ₐ[F] K) → Kˣ}
(ha : groupCohomology.IsMulTwoCocycle a)
(σ : K ≃ₐ[F] K)
(b c : K)
:
@[simp]
theorem
GoodRep.CrossProduct.Units.val_ofLeftRightInverse
(G : Type u_1)
[Monoid G]
(a b c : G)
(h : a * b = 1)
(h' : c * a = 1)
:
↑(ofLeftRightInverse G a b c h h') = a
theorem
GoodRep.CrossProduct.Units.ofLeftRightInverse_inv_eq1
(G : Type u_1)
[Monoid G]
(a b c : G)
(h : a * b = 1)
(h' : c * a = 1)
:
(ofLeftRightInverse G a b c h h').inv = b
theorem
GoodRep.CrossProduct.Units.ofLeftRightInverse_inv_eq2
(G : Type u_1)
[Monoid G]
(a b c : G)
(h : a * b = 1)
(h' : c * a = 1)
:
(ofLeftRightInverse G a b c h h').inv = c
noncomputable def
GoodRep.CrossProduct.x_
{F K : Type}
[Field K]
[Field F]
[Algebra F K]
[FiniteDimensional F K]
[DecidableEq (K ≃ₐ[F] K)]
{a : ((K ≃ₐ[F] K) × K ≃ₐ[F] K) → Kˣ}
(ha : groupCohomology.IsMulTwoCocycle a)
(σ : K ≃ₐ[F] K)
:
(CrossProduct ha)ˣ
Equations
- One or more equations did not get rendered due to their size.
Instances For
noncomputable instance
GoodRep.CrossProduct.module
{F K : Type}
[Field K]
[Field F]
[Algebra F K]
[FiniteDimensional F K]
[DecidableEq (K ≃ₐ[F] K)]
{a : ((K ≃ₐ[F] K) × K ≃ₐ[F] K) → Kˣ}
(ha : groupCohomology.IsMulTwoCocycle a)
:
Module K (CrossProduct ha)
Equations
theorem
GoodRep.CrossProduct.smul_def
{F K : Type}
[Field K]
[Field F]
[Algebra F K]
[FiniteDimensional F K]
[DecidableEq (K ≃ₐ[F] K)]
{a : ((K ≃ₐ[F] K) × K ≃ₐ[F] K) → Kˣ}
(ha : groupCohomology.IsMulTwoCocycle a)
(c : K)
(x : CrossProduct ha)
:
theorem
GoodRep.CrossProduct.smul_single
{F K : Type}
[Field K]
[Field F]
[Algebra F K]
[FiniteDimensional F K]
[DecidableEq (K ≃ₐ[F] K)]
{a : ((K ≃ₐ[F] K) × K ≃ₐ[F] K) → Kˣ}
(ha : groupCohomology.IsMulTwoCocycle a)
(c d : K)
(σ : K ≃ₐ[F] K)
:
noncomputable def
GoodRep.CrossProduct.x_AsBasis
{F K : Type}
[Field K]
[Field F]
[Algebra F K]
[FiniteDimensional F K]
[DecidableEq (K ≃ₐ[F] K)]
{a : ((K ≃ₐ[F] K) × K ≃ₐ[F] K) → Kˣ}
(ha : groupCohomology.IsMulTwoCocycle a)
:
Basis (K ≃ₐ[F] K) K (CrossProduct ha)
Equations
Instances For
instance
GoodRep.CrossProduct.instIsScalarTower
{F K : Type}
[Field K]
[Field F]
[Algebra F K]
[FiniteDimensional F K]
[DecidableEq (K ≃ₐ[F] K)]
{a : ((K ≃ₐ[F] K) × K ≃ₐ[F] K) → Kˣ}
(ha : groupCohomology.IsMulTwoCocycle a)
:
IsScalarTower F K (CrossProduct ha)
theorem
GoodRep.CrossProduct.mul_single_in_xAsBasis
{F K : Type}
[Field K]
[Field F]
[Algebra F K]
[FiniteDimensional F K]
[DecidableEq (K ≃ₐ[F] K)]
{a : ((K ≃ₐ[F] K) × K ≃ₐ[F] K) → Kˣ}
(ha : groupCohomology.IsMulTwoCocycle a)
(c d : K)
(σ τ : K ≃ₐ[F] K)
:
theorem
GoodRep.CrossProduct.x_AsBasis_conj''
{F K : Type}
[Field K]
[Field F]
[Algebra F K]
[FiniteDimensional F K]
[DecidableEq (K ≃ₐ[F] K)]
{a : ((K ≃ₐ[F] K) × K ≃ₐ[F] K) → Kˣ}
(ha : groupCohomology.IsMulTwoCocycle a)
(σ : K ≃ₐ[F] K)
(c : K)
:
theorem
GoodRep.CrossProduct.dim_eq_square
{F K : Type}
[Field K]
[Field F]
[Algebra F K]
[FiniteDimensional F K]
[DecidableEq (K ≃ₐ[F] K)]
{a : ((K ≃ₐ[F] K) × K ≃ₐ[F] K) → Kˣ}
(ha : groupCohomology.IsMulTwoCocycle a)
[IsGalois F K]
:
Module.finrank F (CrossProduct ha) = Module.finrank F K ^ 2
theorem
GoodRep.CrossProduct.x_AsBasis_mul
{F K : Type}
[Field K]
[Field F]
[Algebra F K]
[FiniteDimensional F K]
[DecidableEq (K ≃ₐ[F] K)]
{a : ((K ≃ₐ[F] K) × K ≃ₐ[F] K) → Kˣ}
(ha : groupCohomology.IsMulTwoCocycle a)
(σ τ : K ≃ₐ[F] K)
:
theorem
GoodRep.CrossProduct.is_central
{F K : Type}
[Field K]
[Field F]
[Algebra F K]
[FiniteDimensional F K]
[DecidableEq (K ≃ₐ[F] K)]
{a : ((K ≃ₐ[F] K) × K ≃ₐ[F] K) → Kˣ}
(ha : groupCohomology.IsMulTwoCocycle a)
[IsGalois F K]
:
Subalgebra.center F (CrossProduct ha) ≤ ⊥
instance
GoodRep.CrossProduct.instNontrivial
{F K : Type}
[Field K]
[Field F]
[Algebra F K]
[DecidableEq (K ≃ₐ[F] K)]
{a : ((K ≃ₐ[F] K) × K ≃ₐ[F] K) → Kˣ}
(ha : groupCohomology.IsMulTwoCocycle a)
:
Nontrivial (CrossProduct ha)
noncomputable def
GoodRep.CrossProduct.is_simple_proofs.π
{F K : Type}
[Field K]
[Field F]
[Algebra F K]
[FiniteDimensional F K]
[DecidableEq (K ≃ₐ[F] K)]
{a : ((K ≃ₐ[F] K) × K ≃ₐ[F] K) → Kˣ}
{ha : groupCohomology.IsMulTwoCocycle a}
(I : TwoSidedIdeal (CrossProduct ha))
:
CrossProduct ha →+* I.ringCon.Quotient
Equations
- GoodRep.CrossProduct.is_simple_proofs.π I = I.ringCon.mk'
Instances For
noncomputable def
GoodRep.CrossProduct.is_simple_proofs.πRes
{F K : Type}
[Field K]
[Field F]
[Algebra F K]
[FiniteDimensional F K]
[DecidableEq (K ≃ₐ[F] K)]
{a : ((K ≃ₐ[F] K) × K ≃ₐ[F] K) → Kˣ}
{ha : groupCohomology.IsMulTwoCocycle a}
(I : TwoSidedIdeal (CrossProduct ha))
:
Equations
- GoodRep.CrossProduct.is_simple_proofs.πRes I = (GoodRep.CrossProduct.is_simple_proofs.π I).domRestrict (GoodRep.CrossProduct.ι ha).range
Instances For
noncomputable def
GoodRep.CrossProduct.is_simple_proofs.x
{F K : Type}
[Field K]
[Field F]
[Algebra F K]
[FiniteDimensional F K]
[DecidableEq (K ≃ₐ[F] K)]
{a : ((K ≃ₐ[F] K) × K ≃ₐ[F] K) → Kˣ}
{ha : groupCohomology.IsMulTwoCocycle a}
{I : TwoSidedIdeal (CrossProduct ha)}
:
↥(πRes I).range → K
Equations
Instances For
theorem
GoodRep.CrossProduct.is_simple_proofs.hx
{F K : Type}
[Field K]
[Field F]
[Algebra F K]
[FiniteDimensional F K]
[DecidableEq (K ≃ₐ[F] K)]
{a : ((K ≃ₐ[F] K) × K ≃ₐ[F] K) → Kˣ}
{ha : groupCohomology.IsMulTwoCocycle a}
(I : TwoSidedIdeal (CrossProduct ha))
(a✝ : ↥(πRes I).range)
:
theorem
GoodRep.CrossProduct.is_simple_proofs.hx'
{F K : Type}
[Field K]
[Field F]
[Algebra F K]
[FiniteDimensional F K]
[DecidableEq (K ≃ₐ[F] K)]
{a : ((K ≃ₐ[F] K) × K ≃ₐ[F] K) → Kˣ}
{ha : groupCohomology.IsMulTwoCocycle a}
(I : TwoSidedIdeal (CrossProduct ha))
(a✝ : K)
:
theorem
GoodRep.CrossProduct.is_simple_proofs.x_wd
{F K : Type}
[Field K]
[Field F]
[Algebra F K]
[FiniteDimensional F K]
[DecidableEq (K ≃ₐ[F] K)]
{a : ((K ≃ₐ[F] K) × K ≃ₐ[F] K) → Kˣ}
{ha : groupCohomology.IsMulTwoCocycle a}
(I : TwoSidedIdeal (CrossProduct ha))
(c c' : K)
(eq : (πRes I) ⟨(ι ha) c, ⋯⟩ = (πRes I) ⟨(ι ha) c', ⋯⟩)
(y : CrossProduct ha)
:
@[instance 10000]
noncomputable instance
GoodRep.CrossProduct.is_simple_proofs.instSMulSubtypeQuotientRingConMemSubringRangeSubalgebraRangeιπRes
{F K : Type}
[Field K]
[Field F]
[Algebra F K]
[FiniteDimensional F K]
[DecidableEq (K ≃ₐ[F] K)]
{a : ((K ≃ₐ[F] K) × K ≃ₐ[F] K) → Kˣ}
{ha : groupCohomology.IsMulTwoCocycle a}
(I : TwoSidedIdeal (CrossProduct ha))
:
Equations
- One or more equations did not get rendered due to their size.
theorem
GoodRep.CrossProduct.is_simple_proofs.smul_def_quot
{F K : Type}
[Field K]
[Field F]
[Algebra F K]
[FiniteDimensional F K]
[DecidableEq (K ≃ₐ[F] K)]
{a : ((K ≃ₐ[F] K) × K ≃ₐ[F] K) → Kˣ}
{ha : groupCohomology.IsMulTwoCocycle a}
(I : TwoSidedIdeal (CrossProduct ha))
(a✝ : ↥(πRes I).range)
(y : CrossProduct ha)
:
a✝ • I.ringCon.mk' y = Quotient.mk'' (x a✝ • y)
theorem
GoodRep.CrossProduct.is_simple_proofs.smul_def_quot'
{F K : Type}
[Field K]
[Field F]
[Algebra F K]
[FiniteDimensional F K]
[DecidableEq (K ≃ₐ[F] K)]
{a : ((K ≃ₐ[F] K) × K ≃ₐ[F] K) → Kˣ}
{ha : groupCohomology.IsMulTwoCocycle a}
(I : TwoSidedIdeal (CrossProduct ha))
(a✝ : K)
(y : CrossProduct ha)
:
theorem
GoodRep.CrossProduct.is_simple_proofs.smul_def_quot''
{F K : Type}
[Field K]
[Field F]
[Algebra F K]
[FiniteDimensional F K]
[DecidableEq (K ≃ₐ[F] K)]
{a : ((K ≃ₐ[F] K) × K ≃ₐ[F] K) → Kˣ}
{ha : groupCohomology.IsMulTwoCocycle a}
(I : TwoSidedIdeal (CrossProduct ha))
(a✝ : K)
(y : CrossProduct ha)
:
⟨(π I) ((ι ha) a✝), ⋯⟩ • Quotient.mk'' y = Quotient.mk'' (a✝ • y)
noncomputable instance
GoodRep.CrossProduct.is_simple_proofs.instModuleSubtypeQuotientRingConMemSubringRangeSubalgebraRangeιπRes
{F K : Type}
[Field K]
[Field F]
[Algebra F K]
[FiniteDimensional F K]
[DecidableEq (K ≃ₐ[F] K)]
{a : ((K ≃ₐ[F] K) × K ≃ₐ[F] K) → Kˣ}
{ha : groupCohomology.IsMulTwoCocycle a}
(I : TwoSidedIdeal (CrossProduct ha))
:
noncomputable instance
GoodRep.CrossProduct.is_simple_proofs.instModuleQuotientRingCon
{F K : Type}
[Field K]
[Field F]
[Algebra F K]
[FiniteDimensional F K]
[DecidableEq (K ≃ₐ[F] K)]
{a : ((K ≃ₐ[F] K) × K ≃ₐ[F] K) → Kˣ}
{ha : groupCohomology.IsMulTwoCocycle a}
(I : TwoSidedIdeal (CrossProduct ha))
:
Module K I.ringCon.Quotient
Equations
- One or more equations did not get rendered due to their size.
theorem
GoodRep.CrossProduct.is_simple_proofs.K_smul_quot
{F K : Type}
[Field K]
[Field F]
[Algebra F K]
[FiniteDimensional F K]
[DecidableEq (K ≃ₐ[F] K)]
{a : ((K ≃ₐ[F] K) × K ≃ₐ[F] K) → Kˣ}
{ha : groupCohomology.IsMulTwoCocycle a}
(I : TwoSidedIdeal (CrossProduct ha))
(c : K)
(x : I.ringCon.Quotient)
:
noncomputable def
GoodRep.CrossProduct.is_simple_proofs.basis
{F K : Type}
[Field K]
[Field F]
[Algebra F K]
[FiniteDimensional F K]
[DecidableEq (K ≃ₐ[F] K)]
{a : ((K ≃ₐ[F] K) × K ≃ₐ[F] K) → Kˣ}
{ha : groupCohomology.IsMulTwoCocycle a}
(I : TwoSidedIdeal (CrossProduct ha))
(ne_top : I ≠ ⊤)
:
Equations
- GoodRep.CrossProduct.is_simple_proofs.basis I ne_top = Basis.mk ⋯ ⋯
Instances For
noncomputable def
GoodRep.CrossProduct.is_simple_proofs.π₁
{F K : Type}
[Field K]
[Field F]
[Algebra F K]
[FiniteDimensional F K]
[DecidableEq (K ≃ₐ[F] K)]
{a : ((K ≃ₐ[F] K) × K ≃ₐ[F] K) → Kˣ}
{ha : groupCohomology.IsMulTwoCocycle a}
(I : TwoSidedIdeal (CrossProduct ha))
(ne_top : I ≠ ⊤)
:
CrossProduct ha ≃ₗ[K] I.ringCon.Quotient
Equations
- GoodRep.CrossProduct.is_simple_proofs.π₁ I ne_top = (GoodRep.CrossProduct.x_AsBasis ha).equiv (GoodRep.CrossProduct.is_simple_proofs.basis I ne_top) (Equiv.refl (K ≃ₐ[F] K))
Instances For
noncomputable def
GoodRep.CrossProduct.is_simple_proofs.π₂
{F K : Type}
[Field K]
[Field F]
[Algebra F K]
[FiniteDimensional F K]
[DecidableEq (K ≃ₐ[F] K)]
{a : ((K ≃ₐ[F] K) × K ≃ₐ[F] K) → Kˣ}
{ha : groupCohomology.IsMulTwoCocycle a}
(I : TwoSidedIdeal (CrossProduct ha))
:
CrossProduct ha →ₗ[K] I.ringCon.Quotient
Equations
- GoodRep.CrossProduct.is_simple_proofs.π₂ I = { toFun := (↑↑(GoodRep.CrossProduct.is_simple_proofs.π I)).toFun, map_add' := ⋯, map_smul' := ⋯ }
Instances For
theorem
GoodRep.CrossProduct.is_simple_proofs.equal
{F K : Type}
[Field K]
[Field F]
[Algebra F K]
[FiniteDimensional F K]
[DecidableEq (K ≃ₐ[F] K)]
{a : ((K ≃ₐ[F] K) × K ≃ₐ[F] K) → Kˣ}
{ha : groupCohomology.IsMulTwoCocycle a}
(I : TwoSidedIdeal (CrossProduct ha))
(ne_top : I ≠ ⊤)
:
theorem
GoodRep.CrossProduct.is_simple_proofs.π_inj
{F K : Type}
[Field K]
[Field F]
[Algebra F K]
[FiniteDimensional F K]
[DecidableEq (K ≃ₐ[F] K)]
{a : ((K ≃ₐ[F] K) × K ≃ₐ[F] K) → Kˣ}
{ha : groupCohomology.IsMulTwoCocycle a}
(I : TwoSidedIdeal (CrossProduct ha))
(ne_top : I ≠ ⊤)
:
Function.Injective ⇑(π I)
instance
GoodRep.CrossProduct.is_simple
{F K : Type}
[Field K]
[Field F]
[Algebra F K]
[FiniteDimensional F K]
[DecidableEq (K ≃ₐ[F] K)]
{a : ((K ≃ₐ[F] K) × K ≃ₐ[F] K) → Kˣ}
(ha : groupCohomology.IsMulTwoCocycle a)
:
IsSimpleRing (CrossProduct ha)
instance
GoodRep.CrossProduct.instIsCentralOfIsGalois
{F K : Type}
[Field K]
[Field F]
[Algebra F K]
[FiniteDimensional F K]
[DecidableEq (K ≃ₐ[F] K)]
{a : ((K ≃ₐ[F] K) × K ≃ₐ[F] K) → Kˣ}
(ha : groupCohomology.IsMulTwoCocycle a)
[IsGalois F K]
:
Algebra.IsCentral F (CrossProduct ha)
instance
GoodRep.CrossProduct.instFiniteDimensionalOfIsGalois
{F K : Type}
[Field K]
[Field F]
[Algebra F K]
[FiniteDimensional F K]
[DecidableEq (K ≃ₐ[F] K)]
{a : ((K ≃ₐ[F] K) × K ≃ₐ[F] K) → Kˣ}
(ha : groupCohomology.IsMulTwoCocycle a)
[IsGalois F K]
:
FiniteDimensional F (CrossProduct ha)
noncomputable def
GoodRep.CrossProduct.asCSA
{F K : Type}
[Field K]
[Field F]
[Algebra F K]
[FiniteDimensional F K]
[DecidableEq (K ≃ₐ[F] K)]
{a : ((K ≃ₐ[F] K) × K ≃ₐ[F] K) → Kˣ}
(ha : groupCohomology.IsMulTwoCocycle a)
[IsGalois F K]
:
CSA F
Equations
Instances For
noncomputable def
RelativeBrGroup.fromTwoCocycles
{F K : Type}
[Field K]
[Field F]
[Algebra F K]
[FiniteDimensional F K]
[IsGalois F K]
[DecidableEq (K ≃ₐ[F] K)]
(a : ↥(groupCohomology.twoCocycles (galAct F K)))
:
↥(RelativeBrGroup K F)
Equations
- RelativeBrGroup.fromTwoCocycles a = ⟨Quotient.mk'' (CSA.mk (GoodRep.CrossProduct.asCSA ⋯).carrier), ⋯⟩
Instances For
noncomputable def
RelativeBrGroup.fromSnd
(F K : Type)
[Field K]
[Field F]
[Algebra F K]
[FiniteDimensional F K]
[IsGalois F K]
[DecidableEq (K ≃ₐ[F] K)]
:
groupCohomology.H2 (galAct F K) → ↥(RelativeBrGroup K F)
Equations
Instances For
theorem
RelativeBrGroup.fromSnd_wd
{F K : Type}
[Field K]
[Field F]
[Algebra F K]
[FiniteDimensional F K]
[IsGalois F K]
[DecidableEq (K ≃ₐ[F] K)]
(a : ↥(groupCohomology.twoCocycles (galAct F K)))
:
fromSnd F K (Quotient.mk'' a) = ⟨Quotient.mk'' (GoodRep.CrossProduct.asCSA ⋯), ⋯⟩
noncomputable def
RelativeBrGroup.equivSnd
{F K : Type}
[Field K]
[Field F]
[Algebra F K]
[FiniteDimensional F K]
[IsGalois F K]
[DecidableEq (K ≃ₐ[F] K)]
:
↥(RelativeBrGroup K F) ≃ groupCohomology.H2 (galAct F K)
Equations
- RelativeBrGroup.equivSnd = { toFun := RelativeBrGroup.toSnd, invFun := RelativeBrGroup.fromSnd F K, left_inv := ⋯, right_inv := ⋯ }