Documentation

Mathlib.LinearAlgebra.RootSystem.Finite.Nondegenerate

Nondegeneracy of the polarization on a finite root pairing #

We show that if the base ring of a finite root pairing is linearly ordered, then the canonical bilinear form is root-positive and positive-definite on the span of roots. From these facts, it is easy to show that Coxeter weights in a finite root pairing are bounded above by 4. Thus, the pairings of roots and coroots in a root pairing are restricted to the interval [-4, 4]. Furthermore, a linearly independent pair of roots cannot have Coxeter weight 4. For the case of crystallographic root pairings, we are thus reduced to a finite set of possible options for each pair. Another application is to the faithfulness of the Weyl group action on roots, and finiteness of the Weyl group.

Main results: #

References: #

Todo #

class RootPairing.IsAnisotropic {ι : Type u_1} {R : Type u_2} {M : Type u_3} {N : Type u_4} [Fintype ι] [AddCommGroup M] [AddCommGroup N] [CommRing R] [Module R M] [Module R N] (P : RootPairing ι R M N) :

We say a finite root pairing is anisotropic if there are no roots / coroots which have length zero wrt the root / coroot forms.

Examples include crystallographic pairings in characteristic zero RootPairing.instIsAnisotropicOfIsCrystallographic and pairings over ordered scalars. RootPairing.instIsAnisotropicOfLinearOrderedCommRing.

Instances
    instance RootPairing.instIsAnisotropicFlip {ι : Type u_1} {R : Type u_2} {M : Type u_3} {N : Type u_4} [Fintype ι] [AddCommGroup M] [AddCommGroup N] [CommRing R] [Module R M] [Module R N] (P : RootPairing ι R M N) [P.IsAnisotropic] :
    theorem RootPairing.isAnisotropic_of_isValuedIn {ι : Type u_1} {R : Type u_2} {M : Type u_3} {N : Type u_4} [Fintype ι] [AddCommGroup M] [AddCommGroup N] [CommRing R] [Module R M] [Module R N] (P : RootPairing ι R M N) (S : Type u_5) [LinearOrderedCommRing S] [Algebra S R] [FaithfulSMul S R] [P.IsValuedIn S] :
    instance RootPairing.instIsAnisotropicOfIsCrystallographic {ι : Type u_1} {R : Type u_2} {M : Type u_3} {N : Type u_4} [Fintype ι] [AddCommGroup M] [AddCommGroup N] [CommRing R] [Module R M] [Module R N] (P : RootPairing ι R M N) [CharZero R] [P.IsCrystallographic] :
    theorem RootPairing.finrank_corootSpan_eq {ι : Type u_1} {R : Type u_2} {M : Type u_3} {N : Type u_4} [Fintype ι] [AddCommGroup M] [AddCommGroup N] [CommRing R] [IsDomain R] [Module R M] [Module R N] (P : RootPairing ι R M N) [P.IsAnisotropic] :
    theorem RootPairing.disjoint_rootSpan_ker_rootForm {ι : Type u_1} {R : Type u_2} {M : Type u_3} {N : Type u_4} [Fintype ι] [AddCommGroup M] [AddCommGroup N] [CommRing R] [IsDomain R] [Module R M] [Module R N] (P : RootPairing ι R M N) [P.IsAnisotropic] :
    theorem RootPairing.isCompl_rootSpan_ker_rootForm {ι : Type u_1} {R : Type u_2} {M : Type u_3} {N : Type u_4} [Fintype ι] [AddCommGroup M] [AddCommGroup N] [Field R] [Module R M] [Module R N] (P : RootPairing ι R M N) [P.IsAnisotropic] :
    theorem RootPairing.isCompl_corootSpan_ker_corootForm {ι : Type u_1} {R : Type u_2} {M : Type u_3} {N : Type u_4} [Fintype ι] [AddCommGroup M] [AddCommGroup N] [Field R] [Module R M] [Module R N] (P : RootPairing ι R M N) [P.IsAnisotropic] :
    instance RootPairing.instIsBalanced_1 {ι : Type u_1} {R : Type u_2} {M : Type u_3} {N : Type u_4} [Fintype ι] [AddCommGroup M] [AddCommGroup N] [Field R] [Module R M] [Module R N] (P : RootPairing ι R M N) [P.IsAnisotropic] :

    See also RootPairing.rootForm_restrict_nondegenerate_of_ordered.

    Note that this applies to crystallographic root systems in characteristic zero via RootPairing.instIsAnisotropicOfIsCrystallographic.

    @[simp]
    theorem RootPairing.orthogonal_rootSpan_eq {ι : Type u_1} {R : Type u_2} {M : Type u_3} {N : Type u_4} [Fintype ι] [AddCommGroup M] [AddCommGroup N] [Field R] [Module R M] [Module R N] (P : RootPairing ι R M N) [P.IsAnisotropic] :
    @[simp]
    theorem RootPairing.orthogonal_corootSpan_eq {ι : Type u_1} {R : Type u_2} {M : Type u_3} {N : Type u_4} [Fintype ι] [AddCommGroup M] [AddCommGroup N] [Field R] [Module R M] [Module R N] (P : RootPairing ι R M N) [P.IsAnisotropic] :
    theorem RootPairing.rootSpan_eq_top_iff {ι : Type u_1} {R : Type u_2} {M : Type u_3} {N : Type u_4} [Fintype ι] [AddCommGroup M] [AddCommGroup N] [Field R] [Module R M] [Module R N] (P : RootPairing ι R M N) [P.IsAnisotropic] :
    instance RootPairing.instIsAnisotropicOfLinearOrderedCommRing {ι : Type u_1} {R : Type u_2} {M : Type u_3} {N : Type u_4} [Fintype ι] [AddCommGroup M] [AddCommGroup N] [LinearOrderedCommRing R] [Module R M] [Module R N] (P : RootPairing ι R M N) :
    theorem RootPairing.zero_le_rootForm {ι : Type u_1} {R : Type u_2} {M : Type u_3} {N : Type u_4} [Fintype ι] [AddCommGroup M] [AddCommGroup N] [LinearOrderedCommRing R] [Module R M] [Module R N] (P : RootPairing ι R M N) (x : M) :
    0 (P.RootForm x) x
    theorem RootPairing.rootForm_self_eq_zero_iff {ι : Type u_1} {R : Type u_2} {M : Type u_3} {N : Type u_4} [Fintype ι] [AddCommGroup M] [AddCommGroup N] [LinearOrderedCommRing R] [Module R M] [Module R N] (P : RootPairing ι R M N) {x : M} :
    theorem RootPairing.eq_zero_of_mem_rootSpan_of_rootForm_self_eq_zero {ι : Type u_1} {R : Type u_2} {M : Type u_3} {N : Type u_4} [Fintype ι] [AddCommGroup M] [AddCommGroup N] [LinearOrderedCommRing R] [Module R M] [Module R N] (P : RootPairing ι R M N) {x : M} (hx : x P.rootSpan) (hx' : (P.RootForm x) x = 0) :
    x = 0
    theorem RootPairing.rootForm_pos_of_ne_zero {ι : Type u_1} {R : Type u_2} {M : Type u_3} {N : Type u_4} [Fintype ι] [AddCommGroup M] [AddCommGroup N] [LinearOrderedCommRing R] [Module R M] [Module R N] (P : RootPairing ι R M N) {x : M} (hx : x P.rootSpan) (h : x 0) :
    0 < (P.RootForm x) x