theorem
bijective_of_dim_eq_of_isCentralSimple
(K : Type u)
[Field K]
(A B : Type u)
[Ring A]
[Ring B]
[Algebra K A]
[Algebra K B]
[csa_source : IsSimpleRing A]
[fin_source : FiniteDimensional K A]
[fin_target : FiniteDimensional K B]
(f : A →ₐ[K] B)
(h : Module.finrank K A = Module.finrank K B)
:
theorem
bijective_of_surj_of_isCentralSimple
(K : Type u)
[Field K]
(A B : Type u)
[Ring A]
[Ring B]
[Algebra K A]
[Algebra K B]
[csa_source : IsSimpleRing A]
(f : A →ₐ[K] B)
[Nontrivial B]
(h : Function.Surjective ⇑f)
:
instance
CSA_op_is_CSA
(K : Type u)
[Field K]
(A : Type u)
[Ring A]
[Algebra K A]
[hA : Algebra.IsCentral K A]
:
instance
tensor_self_op.st
(K : Type u)
[Field K]
(A : Type u)
[Ring A]
[Algebra K A]
:
IsScalarTower K K (Module.End K A)
noncomputable def
tensor_self_op.toEnd
(K : Type u)
[Field K]
(A : Type u)
[Ring A]
[Algebra K A]
:
TensorProduct K A Aᵐᵒᵖ →ₐ[K] Module.End K A
Equations
- One or more equations did not get rendered due to their size.
Instances For
instance
tensor_self_op.instFiniteDimensionalMulOpposite_brauerGroup
(K : Type u)
[Field K]
(A : Type u)
[Ring A]
[Algebra K A]
[FiniteDimensional K A]
:
instance
tensor_self_op.fin_end
(K : Type u)
[Field K]
(A : Type u)
[Ring A]
[Algebra K A]
[FiniteDimensional K A]
:
FiniteDimensional K (Module.End K A)
theorem
tensor_self_op.dim_eq
(K : Type u)
[Field K]
(A : Type u)
[Ring A]
[Algebra K A]
[FiniteDimensional K A]
:
Module.finrank K (TensorProduct K A Aᵐᵒᵖ) = Module.finrank K (Module.End K A)
noncomputable def
tensor_self_op.equivEnd
(K : Type u)
[Field K]
(A : Type u)
[Ring A]
[Algebra K A]
[Algebra.IsCentral K A]
[hA : IsSimpleRing A]
[FiniteDimensional K A]
:
TensorProduct K A Aᵐᵒᵖ ≃ₐ[K] Module.End K A
Equations
Instances For
noncomputable def
tensor_self_op
(K : Type u)
[Field K]
(A : Type u)
[Ring A]
[Algebra K A]
[Algebra.IsCentral K A]
[hA : IsSimpleRing A]
[FiniteDimensional K A]
:
TensorProduct K A Aᵐᵒᵖ ≃ₐ[K] Matrix (Fin (Module.finrank K A)) (Fin (Module.finrank K A)) K
Equations
- tensor_self_op K A = (tensor_self_op.equivEnd K A).trans (algEquivMatrix (Module.finBasis K A))
Instances For
noncomputable def
tensor_op_self
(K : Type u)
[Field K]
(A : Type u)
[Ring A]
[Algebra K A]
[Algebra.IsCentral K A]
[hA : IsSimpleRing A]
[FiniteDimensional K A]
:
TensorProduct K Aᵐᵒᵖ A ≃ₐ[K] Matrix (Fin (Module.finrank K A)) (Fin (Module.finrank K A)) K
Equations
- tensor_op_self K A = (Algebra.TensorProduct.comm K Aᵐᵒᵖ A).trans (tensor_self_op K A)
Instances For
- carrier : Type v
- ring : Ring self.carrier
- algebra : Algebra K self.carrier
- isCentral : Algebra.IsCentral K self.carrier
- isSimple : IsSimpleRing self.carrier
- fin_dim : FiniteDimensional K self.carrier
Instances For
Equations
- instCoeSortCSAType K = { coe := fun (A : CSA K) => A.carrier }
Equations
- instRingCarrier K A = A.ring
Equations
- instAlgebraCarrier K A = A.algebra
instance
instFiniteDimensionalCarrier
(K : Type u)
[Field K]
(A : CSA K)
:
FiniteDimensional K A.carrier
instance
instNeZeroNatN
{K : Type u}
[Field K]
(A : CSA K)
(B : CSA K)
(h : BrauerEquivalence A B)
:
NeZero h.n
instance
instNeZeroNatM
{K : Type u}
[Field K]
(A : CSA K)
(B : CSA K)
(h : BrauerEquivalence A B)
:
NeZero h.m
@[reducible, inline]
Equations
- IsBrauerEquivalent A B = Nonempty (BrauerEquivalence A B)
Instances For
Equations
- ⋯ = ⋯
Instances For
noncomputable def
IsBrauerEquivalent.symm
{K : Type u}
[Field K]
{A : CSA K}
{B : CSA K}
(h : IsBrauerEquivalent A B)
:
Equations
- ⋯ = ⋯
Instances For
noncomputable def
IsBrauerEquivalent.trans
{K : Type u}
[Field K]
{A : CSA K}
{B : CSA K}
{C : CSA K}
(hAB : IsBrauerEquivalent A B)
(hBC : IsBrauerEquivalent B C)
:
Equations
- ⋯ = ⋯
Instances For
Equations
- BrauerGroup.CSA_Setoid = { r := IsBrauerEquivalent, iseqv := ⋯ }
Instances For
Equations
- BrauerGroup.mul A B = CSA.mk (TensorProduct K A.carrier B.carrier)
Instances For
noncomputable def
BrauerGroup.is_fin_dim_of_mop
{K : Type u}
[Field K]
(A : Type u_1)
[Ring A]
[Algebra K A]
[FiniteDimensional K A]
:
Equations
- ⋯ = ⋯
Instances For
Equations
Instances For
noncomputable def
BrauerGroup.one_mul_in
{K : Type u}
[Field K]
(n : ℕ)
[hn : NeZero n]
(A : CSA K)
:
CSA K
Equations
- BrauerGroup.one_mul_in n A = CSA.mk (TensorProduct K A.carrier (Matrix (Fin n) (Fin n) K))
Instances For
noncomputable def
BrauerGroup.mul_one_in
{K : Type u}
[Field K]
(n : ℕ)
[hn : NeZero n]
(A : CSA K)
:
CSA K
Equations
- BrauerGroup.mul_one_in n A = CSA.mk (TensorProduct K (Matrix (Fin n) (Fin n) K) A.carrier)
Instances For
noncomputable def
BrauerGroup.matrix_A
{K : Type u}
[Field K]
(n : ℕ)
[hn : NeZero n]
(A : CSA K)
:
CSA K
Equations
- BrauerGroup.matrix_A n A = BrauerGroup.eqv_in (BrauerGroup.one_mul_in n A) (Matrix (Fin n) (Fin n) A.carrier) (id (matrixEquivTensor K A.carrier (Fin n)).symm)
Instances For
Equations
- BrauerGroup.dim_1 R = Algebra.mk { toFun := fun (k : K) => Matrix.diagonal fun (x : Fin 1) => (Algebra.ofId K R) k, map_one' := ⋯, map_mul' := ⋯, map_zero' := ⋯, map_add' := ⋯ } ⋯ ⋯
Instances For
theorem
BrauerGroup.eqv_mat
{K : Type u}
[Field K]
(A : CSA K)
(n : ℕ)
[hn : NeZero n]
:
IsBrauerEquivalent A (matrix_A n A)
noncomputable def
BrauerGroup.matrixEquivForward
{K : Type u}
[Field K]
(m : Type u_1)
(n : Type u_2)
[Fintype m]
[Fintype n]
[DecidableEq m]
[DecidableEq n]
:
Equations
Instances For
theorem
BrauerGroup.matrixEquivForward_tmul
{K : Type u}
[Field K]
(m : Type u_1)
(n : Type u_2)
[Fintype m]
[Fintype n]
[DecidableEq m]
[DecidableEq n]
(M : Matrix m m K)
(N : Matrix n n K)
:
(matrixEquivForward m n) (M ⊗ₜ[K] N) = Matrix.kroneckerMap (fun (x1 x2 : K) => x1 * x2) M N
theorem
BrauerGroup.matrixEquivForward_surjective
{K : Type u}
[Field K]
(n : Type u_1)
(m : Type u_2)
[Fintype m]
[Fintype n]
[DecidableEq m]
[DecidableEq n]
:
Equations
- BrauerGroup.matrix_eqv m n = AlgEquiv.ofBijective (BrauerGroup.matrixEquivForward (Fin m) (Fin n)) ⋯
Instances For
theorem
BrauerGroup.one_mul
{K : Type u}
[Field K]
(n : ℕ)
[hn : NeZero n]
(A : CSA K)
:
IsBrauerEquivalent A (one_mul_in n A)
theorem
BrauerGroup.mul_one
{K : Type u}
[Field K]
(n : ℕ)
[hn : NeZero n]
(A : CSA K)
:
IsBrauerEquivalent A (mul_one_in n A)
theorem
BrauerGroup.mul_assoc
{K : Type u}
[Field K]
(A B C : CSA K)
:
IsBrauerEquivalent (mul (mul A B) C) (mul A (mul B C))
noncomputable def
BrauerGroup.huarongdao
{K : Type u}
[Field K]
(A : Type u_1)
(B : Type u_2)
(C : Type u_3)
(D : Type u_4)
[Ring A]
[Ring B]
[Ring C]
[Ring D]
[Algebra K A]
[Algebra K B]
[Algebra K C]
[Algebra K D]
:
TensorProduct K (TensorProduct K A B) (TensorProduct K C D) ≃ₐ[K] TensorProduct K (TensorProduct K A C) (TensorProduct K B D)
Equations
- One or more equations did not get rendered due to their size.
Instances For
theorem
BrauerGroup.eqv_tensor_eqv
{K : Type u}
[Field K]
(A B C D : CSA K)
(hAB : IsBrauerEquivalent A B)
(hCD : IsBrauerEquivalent C D)
:
IsBrauerEquivalent (mul A C) (mul B D)
@[reducible, inline]
Instances For
Equations
- BrauerGroup.Mul = { mul := Quotient.lift₂ (fun (A B : CSA K) => ⟦BrauerGroup.mul A B⟧) ⋯ }
Equations
- BrauerGroup.One = { one := ⟦BrauerGroup.one_in'⟧ }
theorem
BrauerGroup.mul_inv
{K : Type u}
[Field K]
(A : CSA K)
:
IsBrauerEquivalent (mul A (inv A)) one_in'
theorem
BrauerGroup.inv_mul
{K : Type u}
[Field K]
(A : CSA K)
:
IsBrauerEquivalent (mul (inv A) A) one_in'
noncomputable def
BrauerGroup.matrixEquivMatrixMop_algebra
(K : Type u_1)
(R : Type u_2)
[CommSemiring K]
[Semiring R]
[Algebra K R]
(n : ℕ)
:
Mn(Rᵒᵖ) ≃ₐ[K] Mₙ(R)ᵒᵖ
Equations
- One or more equations did not get rendered due to their size.
Instances For
theorem
BrauerGroup.inv_eqv
{K : Type u}
[Field K]
(A B : CSA K)
(hAB : IsBrauerEquivalent A B)
:
IsBrauerEquivalent (inv A) (inv B)
Equations
- BrauerGroup.Inv = { inv := Quotient.lift (fun (A : CSA K) => ⟦BrauerGroup.inv A⟧) ⋯ }
Equations
noncomputable instance
BrauerGroup.instUniqueBrGroupOfIsAlgClosed
{K : Type u}
[Field K]
[IsAlgClosed K]
:
Equations
- BrauerGroup.instUniqueBrGroupOfIsAlgClosed = { default := 1, uniq := ⋯ }
noncomputable def
BrauerGroupHom.someEquivs.e1
{K : Type u}
[Field K]
{E : Type u}
[Field E]
[Algebra K E]
(A : Type u)
[Ring A]
[Algebra K A]
(m : ℕ)
:
Matrix (Fin m) (Fin m) (TensorProduct K E A) ≃ₐ[E] TensorProduct E (TensorProduct K E A) (Matrix (Fin m) (Fin m) E)
Equations
- BrauerGroupHom.someEquivs.e1 A m = matrixEquivTensor E (TensorProduct K E A) (Fin m)
Instances For
noncomputable def
BrauerGroupHom.someEquivs.e2
{K : Type u}
[Field K]
{E : Type u}
[Field E]
[Algebra K E]
(A : Type u)
[Ring A]
[Algebra K A]
(m : ℕ)
:
TensorProduct E (TensorProduct K E A) (Matrix (Fin m) (Fin m) E) ≃ₐ[E] TensorProduct E (TensorProduct K E A) (TensorProduct K E (Matrix (Fin m) (Fin m) K))
Equations
- One or more equations did not get rendered due to their size.
Instances For
noncomputable def
BrauerGroupHom.someEquivs.e3Aux0
{K : Type u}
[Field K]
{E : Type u}
[Field E]
[Algebra K E]
(A : Type u)
[Ring A]
[Algebra K A]
(m : ℕ)
:
TensorProduct K E A →ₐ[E] TensorProduct K E (TensorProduct K A (Matrix (Fin m) (Fin m) K))
Equations
- One or more equations did not get rendered due to their size.
Instances For
noncomputable def
BrauerGroupHom.someEquivs.e3Aux10
{K : Type u}
[Field K]
{E : Type u}
[Field E]
[Algebra K E]
(A : Type u)
[Ring A]
[Algebra K A]
(m : ℕ)
:
TensorProduct K (TensorProduct K E (Matrix (Fin m) (Fin m) K)) A ≃ₐ[K] TensorProduct K E (TensorProduct K A (Matrix (Fin m) (Fin m) K))
Equations
- One or more equations did not get rendered due to their size.
Instances For
noncomputable def
BrauerGroupHom.someEquivs.e3Aux1
{K : Type u}
[Field K]
{E : Type u}
[Field E]
[Algebra K E]
(A : Type u)
[Ring A]
[Algebra K A]
(m : ℕ)
:
TensorProduct K E (Matrix (Fin m) (Fin m) K) →ₐ[E] TensorProduct K E (TensorProduct K A (Matrix (Fin m) (Fin m) K))
Equations
- BrauerGroupHom.someEquivs.e3Aux1 A m = (let __src := ↑(BrauerGroupHom.someEquivs.e3Aux10 A m); { toRingHom := __src.toRingHom, commutes' := ⋯ }).comp Algebra.TensorProduct.includeLeft
Instances For
theorem
BrauerGroupHom.someEquivs.e3Aux3
{K : Type u}
[Field K]
{E : Type u}
[Field E]
[Algebra K E]
(A : Type u)
[Ring A]
[Algebra K A]
(m : ℕ)
(hm : m = 0)
:
Subsingleton (TensorProduct E (TensorProduct K E A) (TensorProduct K E (Matrix (Fin m) (Fin m) K)))
noncomputable def
BrauerGroupHom.someEquivs.e3Aux4
{K : Type u}
[Field K]
{E : Type u}
[Field E]
[Algebra K E]
(A : Type u)
[Ring A]
[Algebra K A]
(m : ℕ)
:
TensorProduct E (TensorProduct K E A) (TensorProduct K E (Matrix (Fin m) (Fin m) K)) →ₐ[E] TensorProduct K E (TensorProduct K A (Matrix (Fin m) (Fin m) K))
Equations
Instances For
noncomputable def
BrauerGroupHom.someEquivs.e3
{K : Type u}
[Field K]
{E : Type u}
[Field E]
[Algebra K E]
(A : Type u)
[Ring A]
[Algebra K A]
(m : ℕ)
[Algebra.IsCentral K A]
[csa_A : IsSimpleRing A]
:
TensorProduct E (TensorProduct K E A) (TensorProduct K E (Matrix (Fin m) (Fin m) K)) ≃ₐ[E] TensorProduct K E (TensorProduct K A (Matrix (Fin m) (Fin m) K))
Equations
Instances For
noncomputable def
BrauerGroupHom.someEquivs.e4
{K : Type u}
[Field K]
{E : Type u}
[Field E]
[Algebra K E]
(A : Type u)
[Ring A]
[Algebra K A]
(m : ℕ)
:
TensorProduct K E (TensorProduct K A (Matrix (Fin m) (Fin m) K)) ≃ₐ[E] TensorProduct K E (Matrix (Fin m) (Fin m) A)
Equations
- BrauerGroupHom.someEquivs.e4 A m = Algebra.TensorProduct.congr AlgEquiv.refl (matrixEquivTensor K A (Fin m)).symm
Instances For
noncomputable def
BrauerGroupHom.someEquivs.e6Aux0
{K : Type u}
[Field K]
{E : Type u}
[Field E]
[Algebra K E]
(A B : Type u)
[Ring A]
[Algebra K A]
[Ring B]
[Algebra K B]
:
TensorProduct E (TensorProduct K E A) (TensorProduct K E B) →ₐ[E] TensorProduct K E (TensorProduct K A B)
Equations
- One or more equations did not get rendered due to their size.
Instances For
noncomputable def
BrauerGroupHom.someEquivs.e6
{K : Type u}
[Field K]
{E : Type u}
[Field E]
[Algebra K E]
(A B : Type u)
[Ring A]
[Algebra K A]
[Ring B]
[Algebra K B]
[Algebra.IsCentral K A]
[csa_A : IsSimpleRing A]
[Algebra.IsCentral K B]
[csa_B : IsSimpleRing B]
:
TensorProduct E (TensorProduct K E A) (TensorProduct K E B) ≃ₐ[E] TensorProduct K E (TensorProduct K A B)
Equations
Instances For
noncomputable def
BrauerGroupHom.someEquivs.e7
{K : Type u}
[Field K]
{E : Type u}
[Field E]
[Algebra K E]
:
E ≃ₐ[E] TensorProduct K E K
Equations
- BrauerGroupHom.someEquivs.e7 = (Algebra.TensorProduct.rid K E E).symm
Instances For
@[reducible, inline]
noncomputable abbrev
BrauerGroupHom.BaseChange
{K : Type u}
[Field K]
{E : Type u}
[Field E]
[Algebra K E]
:
Equations
- BrauerGroupHom.BaseChange = { toFun := Quotient.map' (fun (A : CSA K) => CSA.mk (TensorProduct K E A.carrier)) ⋯, map_one' := ⋯, map_mul' := ⋯ }
Instances For
@[reducible, inline]
Instances For
Equations
noncomputable def
BrauerGroupHom.baseChange_idem.Aux
(F K E : Type u)
[Field F]
[Field K]
[Field E]
[Algebra F K]
[Algebra F E]
[Algebra K E]
[IsScalarTower F K E]
(A : CSA F)
:
TensorProduct K E (TensorProduct F K A.carrier) ≃ₗ[E] TensorProduct F E A.carrier
Equations
- One or more equations did not get rendered due to their size.
Instances For
noncomputable def
BrauerGroupHom.baseChange_idem.Aux'
(F K E : Type u)
[Field F]
[Field K]
[Field E]
[Algebra F K]
[Algebra F E]
[Algebra K E]
[IsScalarTower F K E]
(A : CSA F)
:
TensorProduct K E (TensorProduct F K A.carrier) ≃ₐ[E] TensorProduct F E A.carrier
Equations
- BrauerGroupHom.baseChange_idem.Aux' F K E A = AlgEquiv.ofLinearEquiv (BrauerGroupHom.baseChange_idem.Aux F K E A) ⋯ ⋯
Instances For
theorem
BrauerGroupHom.baseChange_idem
(F K E : Type u)
[Field F]
[Field K]
[Field E]
[Algebra F K]
[Algebra F E]
[Algebra K E]
[IsScalarTower F K E]
:
BaseChange = BaseChange.comp BaseChange
Equations
- One or more equations did not get rendered due to their size.