Orthogonal idempotents and matrix units #
Develops orthogonal idempotents, builds matrix units from a system of pairwise
orthogonal idempotents whose corner rings are division rings, and packages the
data as OrtIdem / OrtIdemDiv structures.
e and f are orthogonal idempotents when each is idempotent and they are orthogonal.
Equations
Instances For
theorem
LeanPool.ArtinWedderburn.one_sub_e_larger_span_on_sub_e_sub_f
{R : Type u_1}
[Ring R]
(e f : R)
(ef_ort_idem : AreOrthogonalIdempotents e f)
(fnz : f ≠ 0)
:
theorem
LeanPool.ArtinWedderburn.e_span_larger_e_sub_f
{R : Type u_1}
[Ring R]
(e f : R)
(h : AreOrthogonalIdempotents (1 - e) f)
(fnz : f ≠ 0)
:
theorem
LeanPool.ArtinWedderburn.OrtIdem_imply_MatUnits
{R : Type u_1}
[Ring R]
{n : ℕ}
(hn : 0 < n)
(diag_es : Fin n → R)
(idem : ∀ (i : Fin n), IsIdempotentElem (diag_es i))
(ort : ∀ (i j : Fin n), i ≠ j → PairwiseOrthogonal (diag_es i) (diag_es j))
(sum_eq_one : ∑ i : Fin n, diag_es i = 1)
(row_es : Fin n → R)
(row_in : ∀ (i : Fin n), row_es i ∈ bothMul (diag_es ⟨0, hn⟩) (diag_es i))
(col_es : Fin n → R)
(col_in : ∀ (i : Fin n), col_es i ∈ bothMul (diag_es i) (diag_es ⟨0, hn⟩))
(comp1 : ∀ (i : Fin n), row_es i * col_es i = diag_es ⟨0, hn⟩)
(comp2 : ∀ (i : Fin n), col_es i * row_es i = diag_es i)
:
HasMatrixUnits R n
theorem
LeanPool.ArtinWedderburn.eRf_nonzero
{R : Type u_1}
[Ring R]
(h : IsPrimeRing R)
(e f : R)
(he : e ≠ 0)
(hf : f ≠ 0)
:
theorem
LeanPool.ArtinWedderburn.both_mul_e_f
{R : Type u_1}
[Ring R]
{e f : R}
(idem_e : IsIdempotentElem e)
(idem_f : IsIdempotentElem f)
(x : R)
:
theorem
LeanPool.ArtinWedderburn.lemma_2_19
{R : Type u_1}
[Ring R]
(h : IsPrimeRing R)
(e f : R)
(idem_e : IsIdempotentElem e)
(idem_f : IsIdempotentElem f)
(heRe : IsDivisionRing ↥(CornerSubring idem_e))
(hfRf : IsDivisionRing ↥(CornerSubring idem_f))
:
noncomputable def
LeanPool.ArtinWedderburn.lemma219'
{R : Type u_1}
[Ring R]
(h : IsPrimeRing R)
(e f : R)
(idem_e : IsIdempotentElem e)
(idem_f : IsIdempotentElem f)
(heRe : IsDivisionRing ↥(CornerSubring idem_e))
(hfRf : IsDivisionRing ↥(CornerSubring idem_f))
:
Packaging of lemma_2_19 as a twoNiceIdempotents structure.
Equations
- One or more equations did not get rendered due to their size.
Instances For
theorem
LeanPool.ArtinWedderburn.f_in_corner_othogonal
{R : Type u_1}
[Ring R]
(e f : R)
(idem_e : IsIdempotentElem e)
(f_mem : f ∈ bothMul (1 - e) (1 - e))
:
IsOrthogonal e f
theorem
LeanPool.ArtinWedderburn.e_idem_to_e_val_idem
{R : Type u_1}
[Ring R]
{e : R}
{idem_e : IsIdempotentElem e}
{x : ↥(CornerSubring idem_e)}
(idem_x : IsIdempotentElem x)
:
theorem
LeanPool.ArtinWedderburn.sum_orthogonal_idem_is_idem
{R : Type u_1}
[Ring R]
(e f : R)
(h : AreOrthogonalIdempotents e f)
:
IsIdempotentElem (e + f)
theorem
LeanPool.ArtinWedderburn.prod_orthogonal_idem_is_idem
{R : Type u_1}
[Ring R]
(e f : R)
(_idem_e : IsIdempotentElem e)
(idem_f : IsIdempotentElem f)
(h : IsOrthogonal e f)
:
IsIdempotentElem (f * (1 - e))
theorem
LeanPool.ArtinWedderburn.e_f_orhogonal_f_1_sub_e_eq_f
{R : Type u_1}
[Ring R]
(e f : R)
(h : IsOrthogonal e f)
:
theorem
LeanPool.ArtinWedderburn.f_mem_corner_e_e_sub_f_idem
{R : Type u_1}
[Ring R]
(e : R)
(idem_e : IsIdempotentElem e)
(f : ↥(CornerSubring idem_e))
(idem_f : IsIdempotentElem f)
:
IsIdempotentElem (e - ↑f)
theorem
LeanPool.ArtinWedderburn.ort_comm
{R : Type u_1}
[Ring R]
(e f : R)
(ort : IsOrthogonal e f)
:
IsOrthogonal f e
theorem
LeanPool.ArtinWedderburn.orth_coercion
{R : Type u_1}
[Ring R]
(e : R)
(idem_e : IsIdempotentElem e)
(x y : ↥(CornerSubring idem_e))
(ort : IsOrthogonal x y)
:
IsOrthogonal ↑x ↑y
theorem
LeanPool.ArtinWedderburn.iso_idem_to_idem
{R : Type u_1}
[Ring R]
(R' : Type u_2)
[Ring R']
(φ : R ≃+* R')
(e : R)
(idem_e : IsIdempotentElem e)
:
IsIdempotentElem (φ e)
theorem
LeanPool.ArtinWedderburn.iso_orthogonal_to_orthogonal
{R : Type u_1}
[Ring R]
(R' : Type u_2)
[Ring R']
(φ : R ≃+* R')
(x y : R)
(ort : IsOrthogonal x y)
:
IsOrthogonal (φ x) (φ y)
theorem
LeanPool.ArtinWedderburn.artinian_ring_has_minimal_left_ideal_of_element
{R : Type u_1}
[Ring R]
[IsArtinian R R]
[Nontrivial R]
:
theorem
LeanPool.ArtinWedderburn.prime_and_artinian_esists_idem_corner_div
{R : Type u_1}
[Ring R]
[Nontrivial R]
(h : IsPrimeRing R)
(h' : IsArtinian R R)
:
∃ (e : R), e ≠ 0 ∧ IsIdempotentElem e ∧ IsDivisionSubring (CornerSubringNonUnital e) e
A finite system of pairwise orthogonal idempotents of R summing to 1.
- n : ℕ
Number of idempotents in the system.
- h (i : Fin self.n) : IsIdempotentElem (self.f i)
Instances For
structure
LeanPool.ArtinWedderburn.OrtIdemDiv
(R : Type u_2)
[Ring R]
extends LeanPool.ArtinWedderburn.OrtIdem R :
Type u_2
An OrtIdem whose corner rings are all division rings.
- div (i : Fin self.n) : IsDivisionRing ↥(CornerSubring ⋯)
Instances For
def
LeanPool.ArtinWedderburn.ringIsoToCornerIso
{R : Type u_1}
[Ring R]
(R' : Type u_2)
[Ring R']
(φ : R ≃+* R')
(e : R)
(idem_e : IsIdempotentElem e)
:
A ring isomorphism φ : R ≃+* R' induces a ring isomorphism between the corner rings
of an idempotent and of its image under φ.
Equations
- One or more equations did not get rendered due to their size.
Instances For
def
LeanPool.ArtinWedderburn.isomorphicOrtIdemDiv
{R : Type u_1}
[Ring R]
{R' : Type u_2}
[Ring R']
(φ : R ≃+* R')
(hoi : OrtIdemDiv R)
:
OrtIdemDiv R'
Transport an OrtIdemDiv R along a ring isomorphism φ : R ≃+* R'.
Equations
- LeanPool.ArtinWedderburn.isomorphicOrtIdemDiv φ hoi = { toOrtIdem := LeanPool.ArtinWedderburn.isomorphicOrtIdem R' φ hoi.toOrtIdem, div := ⋯ }