Documentation

Atlas.Buildings.code.Building.Infinity.AffineFunc

def AffineBuilding.BoundedAboveOn {V : Type} (f : V) (S : Set V) :

$f$ is bounded above on the set $S$: $∃ c, ∀ z ∈ S, f(z) ≤ c$.

Instances For
    def AffineBuilding.BoundedBelowOn {V : Type} (f : V) (S : Set V) :

    $f$ is bounded below on $S$: $∃ c, ∀ z ∈ S, c ≤ f(z)$.

    Instances For

      An affine functional on an apartment $A$: a function $V → ℝ$ which is affine along the apartment's geodesic combinations.

      Instances For
        structure AffineBuilding.Wall {V : Type} [DecidableEq V] (b : Building V) :

        A wall $\eta$ in an apartment: the zero-set of an affine functional, together with its two half-apartments $\eta^+, \eta^-$ and the axioms that the functional is unbounded in any sector direction and has a definite sign on each sector.

        Instances For
          theorem AffineBuilding.Wall.pos_nonneg {V : Type} [DecidableEq V] {b : Building V} (eta : Wall b) (v : V) :
          v eta.halfPos0 eta.functional v

          The wall functional is nonnegative on its positive half-apartment.

          theorem AffineBuilding.Wall.neg_nonpos {V : Type} [DecidableEq V] {b : Building V} (eta : Wall b) (v : V) :
          v eta.halfNegeta.functional v 0

          The wall functional is nonpositive on its negative half-apartment.

          theorem AffineBuilding.Wall.sector_partition {V : Type} [DecidableEq V] {b : Building V} (eta : Wall b) (S : Sector b) (hS : S.apartment = eta.apartment) (v : V) :
          v S.verticesv eta.halfPos v eta.halfNeg v eta.vertices

          A wall partitions the vertices of a sector into $\eta^+$, $\eta^-$, and the wall itself.

          theorem AffineBuilding.Wall.sector_unbounded {V : Type} [DecidableEq V] {b : Building V} (eta : Wall b) (S : Sector b) (hS : S.apartment = eta.apartment) :
          ¬((∃ (c : ), zS.vertices, eta.functional z c) ∃ (c : ), zS.vertices, c eta.functional z)

          The wall functional cannot be simultaneously bounded above and below on a sector.

          A half-apartment: a subset of an apartment equal to one of the canonical halves $\eta^+$ or $\eta^-$ of some wall $\eta$.

          Instances For

            An affine functional vanishes on the wall $\eta$ if it agrees on the apartment and is zero on every wall vertex.

            Instances For
              theorem AffineBuilding.sector_affine_decomposition {V : Type} [DecidableEq V] {b : Building V} (S : Sector b) (af : AffineFunctional b) (_haf_apt : af.apartment = S.apartment) :
              ∃ (linear_part : V), (∀ vS.vertices, af.toFun v = af.toFun S.baseVertex + linear_part v) linear_part S.baseVertex = 0

              Decomposition: any affine functional on a sector can be written as a constant (value at the base) plus a linear part vanishing at the base.

              theorem AffineBuilding.linear_part_definite_sign {V : Type} [DecidableEq V] {b : Building V} (S : Sector b) (af : AffineFunctional b) (eta : Wall b) (_haf_apt : af.apartment = S.apartment) (heta_apt : eta.apartment = S.apartment) (hvanish : af.VanishesOnWall eta) (linear_part : V) (hdecomp : vS.vertices, af.toFun v = af.toFun S.baseVertex + linear_part v) (_hbase_zero : linear_part S.baseVertex = 0) :
              (∀ vS.vertices, 0 linear_part v) vS.vertices, linear_part v 0

              The linear part of an affine functional vanishing on a wall has a definite sign on a sector parallel to that wall.

              theorem AffineBuilding.affine_functional_bounded_on_sector {V : Type} [DecidableEq V] (b : Building V) (S : Sector b) (af : AffineFunctional b) (eta : Wall b) (haf_apt : af.apartment = S.apartment) (heta_apt : eta.apartment = S.apartment) (hvanish : af.VanishesOnWall eta) :

              An affine functional vanishing on a wall is bounded above or below on any sector.

              def AffineBuilding.signedDistToWall {V : Type} [DecidableEq V] {b : Building V} (af : AffineFunctional b) (_eta : Wall b) (z : V) :

              Signed distance to the wall via the chosen affine functional.

              Instances For
                def AffineBuilding.distToWall {V : Type} [DecidableEq V] {b : Building V} (af : AffineFunctional b) (eta : Wall b) (z : V) :

                (Unsigned) distance to the wall: absolute value of signedDistToWall.

                Instances For

                  The wall-distance is bounded above by some $M$ on the intersection of a sector with a half-apartment.

                  Instances For

                    The negation of DistBoundedInHalfApartment: wall-distance is unbounded.

                    Instances For
                      theorem AffineBuilding.wall_distance_bounded_one_side {V : Type} [DecidableEq V] (b : Building V) (S : Sector b) (eta : Wall b) (heta_apt : eta.apartment = S.apartment) :
                      ∃ (af : AffineFunctional b) (H₁ : HalfApartment b) (H₂ : HalfApartment b), af.VanishesOnWall eta H₁.wall = eta H₂.wall = eta DistBoundedInHalfApartment af eta S H₁ DistUnboundedInHalfApartment af eta S H₂

                      Given a sector $S$ and wall $\eta$, there exists an affine functional vanishing on $\eta$ that is bounded on one half-apartment and unbounded on the other.

                      Contrapositive corollary of Wall.sector_unbounded: bounded below implies not bounded above.

                      Symmetric corollary: bounded above implies not bounded below.

                      theorem AffineBuilding.exists_vertex_above {V : Type} [DecidableEq V] {b : Building V} (S : Sector b) (f : V) (hnot_above : ¬BoundedAboveOn f S.vertices) (M : ) :
                      vS.vertices, M < f v

                      An unbounded-above function attains arbitrarily large values on the sector.

                      theorem AffineBuilding.exists_vertex_below {V : Type} [DecidableEq V] {b : Building V} (S : Sector b) (f : V) (hnot_below : ¬BoundedBelowOn f S.vertices) (M : ) :
                      vS.vertices, f v < M

                      An unbounded-below function attains arbitrarily small values on the sector.

                      theorem AffineBuilding.sector_subsector_in_half_apartment {V : Type} [DecidableEq V] (b : Building V) (S : Sector b) (eta : Wall b) (heta_apt : eta.apartment = S.apartment) :
                      ∃ (H : HalfApartment b) (S' : Sector b), H.wall = eta Sector.Subsector b S' S vS'.vertices, v H.vertices

                      Every sector contains a subsector $S'$ lying entirely in one half-apartment of a given wall $\eta$ (Section 16.7).

                      $H$ is the positive half-apartment for $(S, \eta)$: $H.\text{wall} = \eta$ and some subsector of $S$ lies entirely in $H$.

                      Instances For
                        theorem AffineBuilding.exists_positive_half_apartment {V : Type} [DecidableEq V] (b : Building V) (S : Sector b) (eta : Wall b) (heta_apt : eta.apartment = S.apartment) :

                        For every sector $S$ and wall $\eta$ there is a positive half-apartment $H$.