English
A canonical equivalence of RootPairings is determined by equality of Cartan matrices under a fixed index bijection.
Русский
Единственный канонический эквивалент корневых пар задаётся равенством Картановых матриц под фиксированным биекция индексов.
LaTeX
$$def equivOfCartanMatrixEq ...$$
Lean4
/-- A root system is determined by its Cartan matrix. -/
def equivOfCartanMatrixEq [Finite ι₂] [P₂.IsReduced] (he : ∀ i j, b₂.cartanMatrix (e i) (e j) = b.cartanMatrix i j) :
P.Equiv P₂.toRootPairing :=
let f : M ≃ₗ[R] M₂ := b.toWeightBasis.equiv b₂.toWeightBasis e
have hf : ∀ m, f m ∈ range P₂.root ↔ m ∈ range P.root :=
by
refine fun m ↦ ⟨fun h ↦ ?_, fun h ↦ ?_⟩
·
simpa using
apply_mem_range_root_of_cartanMatrixEq _ b e.symm f.symm (by simp [f, Module.Basis.equiv]) (f m) h
(by simp [(he _ _).symm])
· exact apply_mem_range_root_of_cartanMatrixEq b b₂ e f (by simp [f, Module.Basis.equiv]) m h he
let : Fintype ι := Fintype.ofFinite _
let : Fintype ι₂ := Fintype.ofFinite _
have : DecidableEq M := Classical.typeDecidableEq M
have : DecidableEq M₂ := Classical.typeDecidableEq M₂
let e' : ι ≃ ι₂ := P.root.toEquivRange.trans <| (f.bijOn hf).equiv.trans P₂.root.toEquivRange.symm
have he' (i : ι) : f (P.root i) = P₂.root (e' i) := by simp [f, e', BijOn.equiv, Embedding.toEquivRange]
have : Module.IsReflexive R M₂ := .of_isPerfPair P₂.toLinearMap
Equiv.mk' P P₂ (b.toWeightBasis.equiv b₂.toWeightBasis e) e' he'