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) [CommRing S] [LinearOrder S] [IsStrictOrderedRing 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] :
    def RootPairing.toInvariantForm {ι : 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] :

    The root form of an anisotropic pairing as an invariant form.

    Equations
    Instances For
      @[simp]
      theorem RootPairing.toInvariantForm_form {ι : 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.finrank_range_polarization_eq_finrank_span_coroot {ι : 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) [CommRing S] [IsDomain R] [IsDomain S] [Algebra S R] [FaithfulSMul S R] [P.IsValuedIn S] [Module S M] [IsScalarTower S R M] [Module S N] [IsScalarTower S R N] [P.IsAnisotropic] :
      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] [Module R M] [Module R N] (P : RootPairing ι R M N) (S : Type u_5) [CommRing S] [IsDomain R] [IsDomain S] [Algebra S R] [FaithfulSMul S R] [P.IsValuedIn S] [Module S M] [IsScalarTower S R M] [Module S N] [IsScalarTower S R N] [P.IsAnisotropic] :
      theorem RootPairing.polarizationIn_Injective {ι : 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) [CommRing S] [IsDomain R] [IsDomain S] [Algebra S R] [FaithfulSMul S R] [P.IsValuedIn S] [Module S M] [IsScalarTower S R M] [Module S N] [IsScalarTower S R N] [P.IsAnisotropic] :
      theorem RootPairing.exists_coroot_ne {ι : 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) [CommRing S] [IsDomain R] [IsDomain S] [Algebra S R] [FaithfulSMul S R] [P.IsValuedIn S] [Module S M] [IsScalarTower S R M] [Module S N] [IsScalarTower S R N] [P.IsAnisotropic] {x : (P.rootSpan S)} (hx : x 0) :
      ∃ (i : ι), (P.coroot'In S i) x 0
      theorem RootPairing.posRootForm_posForm_pos_of_ne_zero {ι : 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) [CommRing S] [LinearOrder S] [IsStrictOrderedRing S] [IsDomain R] [Algebra S R] [FaithfulSMul S R] [P.IsValuedIn S] [Module S M] [IsScalarTower S R M] [Module S N] [IsScalarTower S R N] {x : (P.rootSpan S)} (hx : x 0) :
      0 < ((P.posRootForm S).posForm x) x
      theorem RootPairing.posRootForm_posForm_nondegenerate {ι : 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) [CommRing S] [LinearOrder S] [IsStrictOrderedRing S] [IsDomain R] [Algebra S R] [FaithfulSMul S R] [P.IsValuedIn S] [Module S M] [IsScalarTower S R M] [Module S N] [IsScalarTower S R N] :
      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] :

      Equality of finranks when the base is a domain.

      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.disjoint_corootSpan_ker_corootForm {ι : 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] :
      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] [CommRing R] [LinearOrder R] [IsStrictOrderedRing 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] [CommRing R] [LinearOrder R] [IsStrictOrderedRing 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] [CommRing R] [LinearOrder R] [IsStrictOrderedRing R] [Module R M] [Module R N] (P : RootPairing ι R M N) {x : M} (hx : x P.rootSpan R) (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] [CommRing R] [LinearOrder R] [IsStrictOrderedRing R] [Module R M] [Module R N] (P : RootPairing ι R M N) {x : M} (hx : x P.rootSpan R) (h : x 0) :
      0 < (P.RootForm x) x