Documentation

Atlas.Buildings.code.Building.UniqueRetraction

theorem finset_image_ssubset_of_injective {V : Type} [DecidableEq V] {f : VV} (hf : Function.Injective f) {s t : Finset V} (h : s t) :

Strict inclusion is preserved by the image of an injective function on finite sets.

theorem apt_automorphism_sending_chamber {V : Type} [DecidableEq V] (b : Building V) (A : SimplicialComplex V) (hA : A b.apartmentSystem.apartments) (C : Finset V) (hC : A.IsMaximal C) (D : Finset V) (hD : A.IsMaximal D) :
∃ (φ : VV), Function.Bijective φ (∀ (s : Finset V), s A.faces Finset.image φ s A.faces) Finset.image φ D = C

For any pair of chambers $C, D$ of an apartment $A$, there exists a bijective vertex map (apartment automorphism) sending $C$ to $D$.

theorem apt_bij_iso_label_preserving {V : Type} [DecidableEq V] (b : Building V) (A A' : SimplicialComplex V) (hA : A b.apartmentSystem.apartments) (hA' : A' b.apartmentSystem.apartments) (φ : VV) (hφ_bij : Function.Bijective φ) (hφ_faces : ∀ (s : Finset V), s A.faces Finset.image φ s A'.faces) (L : Type) [DecidableEq L] (lab : Labelling b.toSimplicialComplex L) (s : Finset V) (hs : s A.faces) :
lab.labelMap (Finset.image φ s) = lab.labelMap s

A bijective vertex map between apartments that preserves the face structure is label-preserving.

theorem bijective_face_iso_preserves_maximal {V : Type} [DecidableEq V] {A A' : SimplicialComplex V} {φ : VV} (hφ_bij : Function.Bijective φ) (hφ_faces : ∀ (s : Finset V), s A.faces Finset.image φ s A'.faces) {s : Finset V} (hs : A.IsMaximal s) :

A bijective face-preserving map between apartments sends maximal faces to maximal faces.

theorem apartment_iso_sending_chamber {V : Type} [DecidableEq V] (b : Building V) (A : SimplicialComplex V) (hA : A b.apartmentSystem.apartments) (B : SimplicialComplex V) (hB : B b.apartmentSystem.apartments) (C : Finset V) (hC_A : C A.faces) (hC_max_bldg : b.IsMaximal C) (D : Finset V) (hD_B : D B.faces) (hD_max_bldg : b.IsMaximal D) :
∃ (φ : VV), Function.Bijective φ (∀ (s : Finset V), s B.faces Finset.image φ s A.faces) Finset.image φ D = C

For apartments $A, A'$ both containing a chamber $C$, there is an isomorphism $A \to A'$ that sends $C$ to itself (and is label-preserving).

theorem bij_iso_fixing_chamber_is_id {V : Type} [DecidableEq V] (b : Building V) (B B' : SimplicialComplex V) (hB : B b.apartmentSystem.apartments) (D : Finset V) (hD_B : D B.faces) (hD_max : b.IsMaximal D) (φ : VV) (hφ_bij : Function.Bijective φ) (_hφ_faces : ∀ (s : Finset V), s B.faces Finset.image φ s B'.faces) (hφ_D : Finset.image φ D = D) (s : Finset V) :
s B.facesFinset.image φ s = s

A bijective apartment iso that fixes a chamber pointwise is the identity on the apartment.

theorem iso_bijective_fixing_chamber {V : Type} [DecidableEq V] (b : Building V) (B : SimplicialComplex V) (hB : B b.apartmentSystem.apartments) (B₀ : SimplicialComplex V) (hB₀ : B₀ b.apartmentSystem.apartments) (D : Finset V) (hD_B : D B.faces) (hD_B₀ : D B₀.faces) (hD_max_B : B.IsMaximal D) :
∃ (φ : VV), Function.Bijective φ (∀ (s : Finset V), s B.faces Finset.image φ s B₀.faces) Finset.image φ D = D

Any apartment isomorphism fixing a chamber is automatically bijective.

theorem exists_canonical_retraction {V : Type} [DecidableEq V] (b : Building V) (B₀ : SimplicialComplex V) (hB₀ : B₀ b.apartmentSystem.apartments) (D : Finset V) (hD_B₀ : D B₀.faces) (hD_max : b.IsMaximal D) :
∃ (ρ : VV), (∀ sb.faces, Finset.image ρ s B₀.faces) (∀ (v : V), (∃ sB₀.faces, v s)ρ v = v) Finset.image ρ D = D (∀ Bb.apartmentSystem.apartments, D B.faces(Function.Injective fun (v : V) => ρ v) ∀ (s : Finset V), s B.faces Finset.image ρ s B₀.faces) sb.faces, Finset.image ρ s = s

Existence of the canonical retraction $\rho_{D;C,A} : X \to A$ centered at a chamber $C$ of an apartment $A$: a vertex-level retraction fixing $A$ pointwise and sending chambers to chambers.

theorem unique_retraction_D_to_C {V : Type} [DecidableEq V] (b : Building V) (A : SimplicialComplex V) (hA : A b.apartmentSystem.apartments) (C : Finset V) (hC_A : C A.faces) (hC_max : b.IsMaximal C) (D : Finset V) (hD_max : b.IsMaximal D) :
(∃ (ρ : VV), (∀ sb.faces, Finset.image ρ s A.faces) (∀ (L : Type) [inst : DecidableEq L] (lab : Labelling b.toSimplicialComplex L), sb.faces, lab.labelMap (Finset.image ρ s) = lab.labelMap s) Finset.image ρ D = C Bb.apartmentSystem.apartments, D B.faces(Function.Injective fun (v : V) => ρ v) ∀ (s : Finset V), s B.faces Finset.image ρ s A.faces) ∀ (ρ₁ ρ₂ : VV), (∀ sb.faces, Finset.image ρ₁ s A.faces)(∀ (L : Type) [inst : DecidableEq L] (lab : Labelling b.toSimplicialComplex L), sb.faces, lab.labelMap (Finset.image ρ₁ s) = lab.labelMap s)Finset.image ρ₁ D = C(∀ Bb.apartmentSystem.apartments, D B.faces(Function.Injective fun (v : V) => ρ₁ v) ∀ (s : Finset V), s B.faces Finset.image ρ₁ s A.faces)(∀ sb.faces, Finset.image ρ₂ s A.faces)(∀ (L : Type) [inst : DecidableEq L] (lab : Labelling b.toSimplicialComplex L), sb.faces, lab.labelMap (Finset.image ρ₂ s) = lab.labelMap s)Finset.image ρ₂ D = C(∀ Bb.apartmentSystem.apartments, D B.faces(Function.Injective fun (v : V) => ρ₂ v) ∀ (s : Finset V), s B.faces Finset.image ρ₂ s A.faces)sb.faces, Finset.image ρ₁ s = Finset.image ρ₂ s

Uniqueness of the retraction $\rho_{D;C,A}$: any two retractions onto $A$ centered at $C$ with the same chamber-level behaviour agree (Section 15.5).