Documentation

Atlas.Buildings.code.Reflection.AffineWeylGroups

The monoid homomorphism sending an affine isometry equivalence to its linear part.

Instances For

    An affine reflection group on $E$ consists of a subgroup of affine isometries together with a locally finite hyperplane arrangement that is stable under the group, with each hyperplane realized as the fixed set of a non-trivial reflection in the group; the group is generated by these reflections, and parallel reflecting hyperplanes give the same linear part.

    Instances For

      An alcove is a chamber of the underlying hyperplane arrangement.

      Instances For

        A point $x$ is good if it lies in the complement of every reflecting hyperplane.

        Instances For

          A point $x$ is special if for every hyperplane $η$ of the arrangement there is a parallel hyperplane $η'$ in the arrangement passing through $x$.

          Instances For

            The linear part subgroup is the image of $W$ under the linear-part homomorphism.

            Instances For

              The translation subgroup of $W$: those elements with trivial linear part.

              Instances For

                The group $W$ is essential if its linear part has no nonzero fixed vector.

                Instances For

                  The group $W$ is indecomposable if its set of reflections cannot be partitioned into two pairwise-commuting nonempty subsets.

                  Instances For
                    def AffineReflectionGroup.openHalfSpaceIntersection {E : Type u_1} [NormedAddCommGroup E] [InnerProductSpace E] (n : ) (normals : Fin (n + 1)E) (offsets : Fin (n + 1)) :
                    Set E

                    Intersection of $n+1$ open half-spaces $\{x : ⟨n_i, x⟩ > c_i\}$.

                    Instances For
                      theorem AffineReflectionGroup.chamber_eq_halfspace_inter_of_locally_finite {E : Type u_1} [NormedAddCommGroup E] [InnerProductSpace E] (arr : HyperplaneArrangement E) (hlf : arr.IsLocallyFinite) (C : arr.Chamber) :
                      ∃ (m : ) (normals : Fin (m + 1)E) (offsets : Fin (m + 1)), C.set = ⋂ (i : Fin (m + 1)), {x : E | inner (normals i) x > offsets i}

                      Any chamber of a locally finite hyperplane arrangement is an intersection of finitely many open half-spaces.

                      theorem AffineReflectionGroup.alcove_eq_open_halfspace_inter {E : Type u_1} [NormedAddCommGroup E] [InnerProductSpace E] (W : AffineReflectionGroup E) (A : W.Alcove) :
                      ∃ (m : ) (normals : Fin (m + 1)E) (offsets : Fin (m + 1)), A.set = openHalfSpaceIntersection m normals offsets

                      Every alcove is a finite intersection of open half-spaces.

                      The set of hyperplanes of the arrangement that separate two chambers $C$ and $D$.

                      Instances For
                        theorem AffineReflectionGroup.reflection_of_wall_chamber {E : Type u_1} [NormedAddCommGroup E] [InnerProductSpace E] (W : AffineReflectionGroup E) (C D : W.arrangement.Chamber) (s : E ≃ᵃⁱ[] E) (hs_mem : s W.group) (η : AffineHyperplane E) ( : η W.arrangement.hyperplanes) (hwall : η.IsWall C.set) (hfix : yη.carrier, s y = y) (hinv : s * s = 1) (hne_id : s 1) (hsep : HyperplaneArrangement.SeparatesChambers η C D) :
                        ∃ (D' : W.arrangement.Chamber), (∀ xC.set, s x D'.set) (W.separatingHyperplanes D' D).ncard < (W.separatingHyperplanes C D).ncard

                        If $s$ is the reflection in a wall $η$ of chamber $C$, and $η$ separates $C$ from $D$, then $s$ sends $C$ into some chamber $D'$ that is strictly closer to $D$ in the sense of having fewer separating hyperplanes.

                        theorem AffineReflectionGroup.wall_separation_step {E : Type u_1} [NormedAddCommGroup E] [InnerProductSpace E] (W : AffineReflectionGroup E) (C D : W.arrangement.Chamber) (hne : C.set D.set) :
                        ∃ (s : E ≃ᵃⁱ[] E) (_ : s W.group) (η : AffineHyperplane E) (_ : η W.arrangement.hyperplanes) (_ : η.IsWall C.set) (_ : yη.carrier, s y = y) (_ : s * s = 1) (D' : W.arrangement.Chamber), (∀ xC.set, s x D'.set) (W.separatingHyperplanes D' D).ncard < (W.separatingHyperplanes C D).ncard

                        Wall-separation reduction step: given two distinct chambers $C ≠ D$, there exists a wall-reflection of $C$ that sends $C$ to some chamber $D'$ with strictly fewer separating hyperplanes from $D$.

                        The interior of an affine hyperplane is empty.

                        Every affine hyperplane is a closed subset of $E$.

                        theorem AffineReflectionGroup.finite_iUnion_empty_interior {X : Type u_2} [TopologicalSpace X] (S : Finset (Set X)) (hclosed : sS, IsClosed s) (hint : sS, interior s = ) :
                        interior (⋃ sS, s) =

                        A finite union of closed sets with empty interior has empty interior (Baire-type fact).

                        There exists a generic point on $η$ that lies on no other hyperplane of the arrangement.

                        theorem AffineReflectionGroup.half_ball_in_one_chamber {E : Type u_1} [NormedAddCommGroup E] [InnerProductSpace E] (arr : HyperplaneArrangement E) (η : AffineHyperplane E) ( : η arr.hyperplanes) (z₀ : E) (hz₀ : z₀ η.carrier) (hz₀_generic : η'arr.hyperplanes, η'.carrier η.carrierz₀η'.carrier) (δ : ) ( : 0 < δ) (hδ_small : η'arr.hyperplanes, η'.carrier η.carrierMetric.ball z₀ δ η'.carrier = ) :
                        ∃ (C : arr.Chamber), Metric.ball z₀ δ η.positiveHalfSpace C.set

                        A small half-ball $B(z_0, δ) ∩ η^+$ around a generic point of $η$ lies in a single chamber.

                        Every hyperplane $η$ of the arrangement is a wall of at least one chamber.

                        theorem AffineReflectionGroup.conjugate_wall_reflection {E : Type u_1} [NormedAddCommGroup E] [InnerProductSpace E] (W : AffineReflectionGroup E) (C D : W.arrangement.Chamber) (w : E ≃ᵃⁱ[] E) (hw : w W.group) (hw_maps : xC.set, w x D.set) (s : E ≃ᵃⁱ[] E) (hs : s W.group) (η : AffineHyperplane E) ( : η W.arrangement.hyperplanes) (hη_wall : η.IsWall D.set) (hs_fix : yη.carrier, s y = y) (hs_inv : s * s = 1) :
                        w⁻¹ * s * w Subgroup.closure {t : E ≃ᵃⁱ[] E | t W.group ζW.arrangement.hyperplanes, ζ.IsWall C.set (∀ yζ.carrier, t y = y) t * t = 1}

                        Conjugating a wall reflection of $D$ by an element $w$ taking $C → D$ lies in the subgroup generated by wall reflections of $C$.

                        theorem AffineReflectionGroup.conjugate_in_wall_closure {E : Type u_1} [NormedAddCommGroup E] [InnerProductSpace E] (W : AffineReflectionGroup E) (C : W.arrangement.Chamber) (s : E ≃ᵃⁱ[] E) (hs_group : s W.group) (hs_wall : ηW.arrangement.hyperplanes, η.IsWall C.set (∀ yη.carrier, s y = y) s * s = 1) (D' : W.arrangement.Chamber) (hs_maps : xC.set, s x D'.set) (w' : E ≃ᵃⁱ[] E) (hw' : w' Subgroup.closure {t : E ≃ᵃⁱ[] E | t W.group ηW.arrangement.hyperplanes, η.IsWall D'.set (∀ yη.carrier, t y = y) t * t = 1}) :
                        s * w' * s Subgroup.closure {t : E ≃ᵃⁱ[] E | t W.group ηW.arrangement.hyperplanes, η.IsWall C.set (∀ yη.carrier, t y = y) t * t = 1}

                        The wall-reflection closure is stable under conjugation by a wall reflection $s$ of $C$ when $s$ maps $C$ to $D'$.

                        theorem AffineReflectionGroup.wall_closure_compose_step {E : Type u_1} [NormedAddCommGroup E] [InnerProductSpace E] (W : AffineReflectionGroup E) (C D D' : W.arrangement.Chamber) (s : E ≃ᵃⁱ[] E) (hs_group : s W.group) (hs_wall : ηW.arrangement.hyperplanes, η.IsWall C.set (∀ yη.carrier, s y = y) s * s = 1) (hs_maps : xC.set, s x D'.set) (w' : E ≃ᵃⁱ[] E) (hw'_mem : w' Subgroup.closure {t : E ≃ᵃⁱ[] E | t W.group ηW.arrangement.hyperplanes, η.IsWall D'.set (∀ yη.carrier, t y = y) t * t = 1}) (hw'_maps : xD'.set, w' x D.set) :
                        wSubgroup.closure {t : E ≃ᵃⁱ[] E | t W.group ηW.arrangement.hyperplanes, η.IsWall C.set (∀ yη.carrier, t y = y) t * t = 1}, xC.set, w x D.set

                        Composition step: combining a wall reflection $s : C → D'$ with an element $w' : D' → D$ in the wall closure of $D'$ produces an element in the wall closure of $C$ mapping $C → D$.

                        theorem AffineReflectionGroup.wall_closure_transitive_aux {E : Type u_1} [NormedAddCommGroup E] [InnerProductSpace E] (W : AffineReflectionGroup E) (n : ) (A B : W.arrangement.Chamber) :
                        (W.separatingHyperplanes A B).ncard = nwSubgroup.closure {s : E ≃ᵃⁱ[] E | s W.group ηW.arrangement.hyperplanes, η.IsWall A.set (∀ yη.carrier, s y = y) s * s = 1}, xA.set, w x B.set

                        Induction on the number of separating hyperplanes: for any two chambers $A,B$ there is an element of the wall-reflection closure of $A$ sending $A$ to $B$.

                        The wall-reflection closure of a chamber $C$ acts transitively on chambers.

                        Every reflection in $W$ belongs to the subgroup generated by the wall reflections of a fixed chamber $C$.

                        For any chamber $C$, the wall reflections of $C$ generate the whole group $W$.

                        theorem AffineReflectionGroup.linear_part_fixes_hyperplane_direction {E : Type u_1} [NormedAddCommGroup E] [InnerProductSpace E] (s : E ≃ᵃⁱ[] E) (η : AffineHyperplane E) (hs_fix : yη.carrier, s y = y) (hsp : s η.basePoint = η.basePoint) (v : E) :

                        The linear part of an isometry fixing an affine hyperplane fixes every vector orthogonal to the hyperplane normal.

                        theorem AffineReflectionGroup.wall_normal_parallel_to_halfspace_normal {E : Type u_1} [NormedAddCommGroup E] [InnerProductSpace E] (W : AffineReflectionGroup E) (A : W.Alcove) {m : } (normals : Fin (m + 1)E) (offsets : Fin (m + 1)) (hdesc : A.set = openHalfSpaceIntersection m normals offsets) (η : AffineHyperplane E) (hη_hyp : η W.arrangement.hyperplanes) (hη_wall : η.IsWall A.set) :
                        ∃ (i : Fin (m + 1)) (c : ), η.normal = c normals i

                        If $A$ is described as the intersection of open half-spaces with given normals, then the normal of any wall of $A$ is parallel to one of these defining normals.

                        theorem AffineReflectionGroup.wall_normals_ortho_fixed {E : Type u_1} [NormedAddCommGroup E] [InnerProductSpace E] (W : AffineReflectionGroup E) (hess : W.IsEssential) (hind : W.IsIndecomposable) (A : W.Alcove) {m : } (normals : Fin (m + 1)E) (offsets : Fin (m + 1)) (hdesc : A.set = openHalfSpaceIntersection m normals offsets) (v : E) (hv : ∀ (i : Fin (m + 1)), inner v (normals i) = 0) (wbar : E ≃ₗᵢ[] E) :
                        wbar W.LinearPartGroupwbar v = v

                        A vector orthogonal to all defining normals of an alcove $A$ is fixed by every element of the linear part group $W̄$.

                        theorem AffineReflectionGroup.wall_normals_span_top {E : Type u_1} [NormedAddCommGroup E] [InnerProductSpace E] (W : AffineReflectionGroup E) (hess : W.IsEssential) (hind : W.IsIndecomposable) (A : W.Alcove) {m : } (normals : Fin (m + 1)E) (offsets : Fin (m + 1)) (hdesc : A.set = openHalfSpaceIntersection m normals offsets) :

                        For an essential, indecomposable affine reflection group, the wall normals of any alcove span $E$.

                        noncomputable def AffineReflectionGroup.normalLinearCombinationMap {E : Type u_1} [NormedAddCommGroup E] [InnerProductSpace E] {m : } (normals : Fin (m + 1)E) :
                        (Fin (m + 1)) →ₗ[] E

                        The linear-combination map sending coefficients $(c_i)$ to $\sum_i c_i n_i$.

                        Instances For
                          theorem AffineReflectionGroup.indecomposable_normal_ker_one {E : Type u_1} [NormedAddCommGroup E] [InnerProductSpace E] (W : AffineReflectionGroup E) (hess : W.IsEssential) (hind : W.IsIndecomposable) (A : W.Alcove) {m : } (normals : Fin (m + 1)E) (offsets : Fin (m + 1)) (hdesc : A.set = openHalfSpaceIntersection m normals offsets) (hspan : Submodule.span (Set.range normals) = ) :

                          For an essential, indecomposable group, the kernel of the linear-combination map of the alcove normals is one-dimensional.

                          theorem AffineReflectionGroup.alcove_normals_finrank {E : Type u_1} [NormedAddCommGroup E] [InnerProductSpace E] (W : AffineReflectionGroup E) (hess : W.IsEssential) (hind : W.IsIndecomposable) (A : W.Alcove) {m : } (normals : Fin (m + 1)E) (offsets : Fin (m + 1)) (hdesc : A.set = openHalfSpaceIntersection m normals offsets) :

                          If an alcove is bounded by $m+1$ half-spaces in an essential, indecomposable group, then $\dim E = m$.

                          theorem AffineReflectionGroup.alcove_normals_general_position {E : Type u_1} [NormedAddCommGroup E] [InnerProductSpace E] (W : AffineReflectionGroup E) (hess : W.IsEssential) (hind : W.IsIndecomposable) (A : W.Alcove) {m : } (normals : Fin (m + 1)E) (offsets : Fin (m + 1)) (hdesc : A.set = openHalfSpaceIntersection m normals offsets) (i : Fin (m + 1)) :

                          Any $m$ of the $m+1$ alcove normals are linearly independent (general position).

                          theorem AffineReflectionGroup.alcove_halfspace_description {E : Type u_1} [NormedAddCommGroup E] [InnerProductSpace E] (W : AffineReflectionGroup E) (hess : W.IsEssential) (hind : W.IsIndecomposable) (A : W.Alcove) :
                          ∃ (n : ) (normals : Fin (n + 1)E) (offsets : Fin (n + 1)), Module.finrank E = n Submodule.span (Set.range normals) = (∀ (i : Fin (n + 1)), LinearIndependent (normals i.succAbove)) A.set = openHalfSpaceIntersection n normals offsets

                          Full half-space description of an alcove: every alcove is bounded by $n+1$ hyperplanes whose normals span $E$ and are in general position, with $n = \dim E$.

                          theorem AffineReflectionGroup.spanning_halfspace_intersection_is_simplex {E : Type u_1} [NormedAddCommGroup E] [InnerProductSpace E] {n : } {normals : Fin (n + 1)E} {offsets : Fin (n + 1)} (hdim : Module.finrank E = n) (hspan : Submodule.span (Set.range normals) = ) (hgp : ∀ (i : Fin (n + 1)), LinearIndependent (normals i.succAbove)) (hne : (openHalfSpaceIntersection n normals offsets).Nonempty) :
                          ∃ (vertices : Fin (n + 1)E), openHalfSpaceIntersection n normals offsets = interior ((convexHull ) (Set.range vertices)) AffineIndependent vertices

                          A nonempty intersection of $n+1$ open half-spaces in $n$-dimensional general position is the interior of an affine $n$-simplex.

                          theorem AffineReflectionGroup.alcove_is_simplex {E : Type u_1} [NormedAddCommGroup E] [InnerProductSpace E] (W : AffineReflectionGroup E) (hess : W.IsEssential) (hind : W.IsIndecomposable) (A : W.Alcove) :
                          ∃ (n : ) (vertices : Fin (n + 1)E), A.set = interior ((convexHull ) (Set.range vertices)) AffineIndependent vertices

                          Every alcove of an essential, indecomposable affine reflection group is the interior of a simplex spanned by $n+1$ affinely independent vertices, where $n = \dim E$.

                          The set of walls of a single chamber is finite.

                          theorem AffineReflectionGroup.involutive_isometry_normal_eigenvalue {E : Type u_1} [NormedAddCommGroup E] [InnerProductSpace E] (f : E ≃ₗᵢ[] E) (n : E) (hn : n 0) (h_fix_hyp : ∀ (v : E), inner n v = 0f v = v) :
                          f n = -n f n = n

                          A linear isometry fixing the orthogonal complement of $n$ acts on $n$ by $±1$.

                          theorem AffineReflectionGroup.reflection_fixes_iff {E : Type u_1} [NormedAddCommGroup E] [InnerProductSpace E] (s : E ≃ᵃⁱ[] E) (η : AffineHyperplane E) (hs_inv : s * s = 1) (hs_fix : yη.carrier, s y = y) (hs_ne : s 1) (x : E) :
                          x η.carrier s x = x

                          A non-trivial involutive reflection fixing $η$ has fixed-point set exactly $η$.

                          Any locally finite hyperplane arrangement admits at least one chamber.

                          theorem AffineReflectionGroup.reflection_unique {E : Type u_1} [NormedAddCommGroup E] [InnerProductSpace E] (s₁ s₂ : E ≃ᵃⁱ[] E) (η : AffineHyperplane E) (h₁_inv : s₁ * s₁ = 1) (h₁_fix : yη.carrier, s₁ y = y) (h₂_inv : s₂ * s₂ = 1) (h₂_fix : yη.carrier, s₂ y = y) (h₁_ne : s₁ 1) (h₂_ne : s₂ 1) :
                          s₁ = s₂

                          The reflection across an affine hyperplane is unique: any two non-trivial involutions fixing the same hyperplane coincide.

                          theorem AffineReflectionGroup.is_coxeter_system {E : Type u_1} [NormedAddCommGroup E] [InnerProductSpace E] (W : AffineReflectionGroup E) (hess : W.IsEssential) (hind : W.IsIndecomposable) :
                          ∃ (S : Finset (E ≃ᵃⁱ[] E)), (∀ sS, s W.group s * s = 1) Subgroup.closure S = W.group sS, ηW.arrangement.hyperplanes, ∀ (x : E), x η.carrier s x = x

                          Main result: an essential, indecomposable affine reflection group has a finite set $S$ of wall reflections of any chosen alcove that satisfies the defining property of a Coxeter system — each element is an involution in $W$, the set generates $W$, and each element is the unique reflection across some hyperplane of the arrangement.

                          def RootLattice {E : Type u_1} [NormedAddCommGroup E] (Φ : Set E) :

                          The integer-linear span $\mathbb Z Φ$ of a set of roots $Φ$ is the root lattice.

                          Instances For

                            Data underlying an affine Weyl group: a reduced root system $Φ$ in $E$, the linear Weyl subgroup, and a coroot lattice stable under the Weyl group.

                            Instances For

                              The affine hyperplane arrangement $\{H_{α,k} : α ∈ Φ,\ k ∈ ℤ\}$ associated to the root system data.

                              Instances For

                                A point is good iff it lies on no hyperplane of the arrangement.

                                The pointwise stabilizer of $p ∈ E$ inside $W$.

                                Instances For

                                  An affine Weyl group on $E$: a packaging of root-system data with a compatible affine reflection group whose arrangement is the affine arrangement $\{H_{α,k}\}$ and whose linear part equals the linear Weyl group.

                                  Instances For
                                    theorem AffineWeylGroup.IsAffineCoxeter {E : Type u_1} [NormedAddCommGroup E] [InnerProductSpace E] (Wa : AffineWeylGroup E) (hess : Wa.reflGroup.IsEssential) (hind : Wa.reflGroup.IsIndecomposable) :
                                    ∃ (S : Finset (E ≃ᵃⁱ[] E)), (∀ sS, s Wa.reflGroup.group s * s = 1) Subgroup.closure S = Wa.reflGroup.group sS, ηWa.reflGroup.arrangement.hyperplanes, ∀ (x : E), x η.carrier s x = x

                                    An essential, indecomposable affine Weyl group is an (affine) Coxeter system, generated by the finitely many wall reflections of an alcove.

                                    theorem inner_root_specialPoint_int {E : Type u_1} [NormedAddCommGroup E] [InnerProductSpace E] (Wa : AffineWeylGroup E) (z : E) (hz : Wa.reflGroup.SpecialPoint z) (α : E) ( : α Wa.data.roots) :
                                    ∃ (k : ), inner α z = k

                                    For any special point $z$ and any root $α$, the pairing $⟨α, z⟩$ is an integer.