Documentation

DerivedAlgGeo.Analysis.Convex.ComplexPolygonalPath.Perimeter

Convex-polygon perimeter comparison #

The Euclidean (t = 0) polygon comparison: if one nonempty upper-half-plane path turns with strictly decreasing edge arguments and its closed vertex hull sits inside another path's vertex hull, the first path is no longer than the second. The proof is finite-dimensional -- supporting functionals select a monotone subsequence of the outer boundary, and discrete integration by parts reduces the perimeter comparison to the triangle inequality.

Main declarations #

Source #

This is the t = 0 case of Ikeda, A phase limit formula and the space of stability conditions, Lemma 3.7, slightly strengthened: no decreasing-turn hypothesis is needed for the outer path, because the proof only selects a monotone subsequence of its support-maximizing vertices and any remaining turns can only increase the outer length. The Harder--Narasimhan reading of the comparison, and Ikeda's Lemma 3.8 built on it, are the stability adapter StabilityCondition/Mass/Subadditivity/HNPolygonComparison.lean.

Placement #

Neutral planar geometry: this file imports no category theory and no stability, and every statement quantifies over vertices in ℂ. It was the first two-thirds of StabilityCondition/Metric/Mass/Subadditivity/PolygonPerimeter.lean -- a Euclidean perimeter argument living inside a mass-subadditivity proof directory -- until MO1.13 (#1324). See ComplexPolygonalPath/Basic.lean for why Analysis/ is the subject and why the namespace did not move with the path.

The Euclidean scalar product with r, bundled as a continuous real-linear functional.

Equations
Instances For

    The direction of a vector, with the zero vector assigned direction zero.

    Equations
    Instances For

      A nonzero vector's normalized direction is the unit ray at its principal argument.

      Cauchy--Schwarz in the concrete scalar-product notation used below.

      The turn between two unit rays is a positive multiple of the cross functional at their angular bisector.

      Polygonal-chain length is monotone under taking a sublist. This is the finite triangle inequality in the exact form needed for monotone support selectors.

      theorem CategoryTheory.Triangulated.ComplexPolygonalPath.chainLength_comp_monotone_le {n m : ℕ} (w : Fin (m + 1) → ℂ) (q : Fin (n + 1) → Fin (m + 1)) (hq : Monotone q) :
      chainLength (List.ofFn fun (i : Fin (n + 1)) => w (q i)) ≤ chainLength (List.ofFn w)

      A monotone choice of vertices gives a chain no longer than the original finite chain. Repeated choices are harmless and are removed by destutter.

      The list and Fin presentations of an open polygonal path have the same length.

      The cyclic edge leaving a vertex; the last vertex is joined back to the first by finRotate.

      Equations
      Instances For

        The perimeter of the closed polygonal chain obtained by adjoining the last-to-first chord.

        Equations
        Instances For
          noncomputable def CategoryTheory.Triangulated.ComplexPolygonalPath.closedTangent {n : ℕ} (z : Fin (n + 1) → ℂ) (i : Fin (n + 1)) :

          The unit direction of a cyclic edge.

          Equations
          • One or more equations did not get rendered due to their size.
          Instances For

            The outward turning functional at a cyclic vertex.

            Equations
            • One or more equations did not get rendered due to their size.
            Instances For

              A closed perimeter is its discrete support sum. This is the finite integration-by-parts identity behind the comparison theorem.

              Closing an open path adds exactly its endpoint chord.

              Appending one terminal vertex appends exactly one edge to an open polygonal path.

              theorem CategoryTheory.Triangulated.ComplexPolygonalPath.closedLength_comp_monotone_le {n m : ℕ} (w : Fin (m + 1) → ℂ) (q : Fin (n + 1) → Fin (m + 1)) (hq : Monotone q) (hq₀ : q 0 = 0) (hq_last : q (Fin.last n) = Fin.last m) :
              (closedLength fun (i : Fin (n + 1)) => w (q i)) ≤ closedLength w

              A monotone vertex selector preserving the two endpoints cannot increase closed perimeter.

              theorem CategoryTheory.Triangulated.ComplexPolygonalPath.closedLength_le_of_monotone_support {n m : ℕ} (z : Fin (n + 1) → ℂ) (w : Fin (m + 1) → ℂ) (q : Fin (n + 1) → Fin (m + 1)) (hq : Monotone q) (hq₀ : q 0 = 0) (hq_last : q (Fin.last n) = Fin.last m) (hsupport : ∀ (i : Fin (n + 1)), (turningFunctional z i) (z i) ≤ (turningFunctional z i) (w (q i))) :

              Finite support-fan perimeter comparison. If each turning functional of a closed inner chain is no larger at its inner vertex than at a monotone choice of outer vertices, then the inner perimeter is no larger than the outer perimeter.

              A nonempty path all of whose edges lie in the semi-closed upper half-plane has endpoint displacement in that half-plane.

              Every forward chord of such a path remains in the semi-closed upper half-plane.

              def CategoryTheory.Triangulated.ComplexPolygonalPath.interiorPrevEdge {n : ℕ} (z : Fin (n + 1) → ℂ) (k : Fin (n + 1)) (hk₀ : 0 < k) :

              The incoming open edge at an interior vertex.

              Equations
              Instances For

                The outgoing open edge at a nonterminal vertex.

                Equations
                Instances For
                  noncomputable def CategoryTheory.Triangulated.ComplexPolygonalPath.interiorBisector {n : ℕ} (z : Fin (n + 1) → ℂ) (k : Fin (n + 1)) (hk₀ : 0 < k) (hkn : k < Fin.last n) :

                  The angular bisector of the two open edges at an interior vertex.

                  Equations
                  • One or more equations did not get rendered due to their size.
                  Instances For
                    noncomputable def CategoryTheory.Triangulated.ComplexPolygonalPath.interiorTurnScale {n : ℕ} (z : Fin (n + 1) → ℂ) (k : Fin (n + 1)) (hk₀ : 0 < k) (hkn : k < Fin.last n) :

                    The positive scale relating a turn to its bisector support.

                    Equations
                    • One or more equations did not get rendered due to their size.
                    Instances For
                      theorem CategoryTheory.Triangulated.ComplexPolygonalPath.turningFunctional_interior_eq_cross {n : ℕ} (z : Fin (n + 1) → ℂ) (hedge : ∀ (i : Fin n), z i.succ - z i.castSucc ∈ semiClosedUpperHalfPlane) (k : Fin (n + 1)) (hk₀ : 0 < k) (hkn : k < Fin.last n) (x : ℂ) :
                      (turningFunctional z k) x = interiorTurnScale z k hk₀ hkn * (crossFunctional (unitRay (interiorBisector z k hk₀ hkn))) x

                      At an interior vertex, the cyclic turning functional is the positive bisector support functional used by the decreasing-argument proof.

                      theorem CategoryTheory.Triangulated.ComplexPolygonalPath.interiorTurnScale_pos {n : ℕ} (z : Fin (n + 1) → ℂ) (hedge : ∀ (i : Fin n), z i.succ - z i.castSucc ∈ semiClosedUpperHalfPlane) (harg : StrictAnti fun (i : Fin n) => (z i.succ - z i.castSucc).arg) (k : Fin (n + 1)) (hk₀ : 0 < k) (hkn : k < Fin.last n) :
                      0 < interiorTurnScale z k hk₀ hkn
                      theorem CategoryTheory.Triangulated.ComplexPolygonalPath.interiorBisector_mem_Ioo {n : ℕ} (z : Fin (n + 1) → ℂ) (hedge : ∀ (i : Fin n), z i.succ - z i.castSucc ∈ semiClosedUpperHalfPlane) (harg : StrictAnti fun (i : Fin n) => (z i.succ - z i.castSucc).arg) (k : Fin (n + 1)) (hk₀ : 0 < k) (hkn : k < Fin.last n) :
                      theorem CategoryTheory.Triangulated.ComplexPolygonalPath.interiorBisector_strictAnti {n : ℕ} (z : Fin (n + 1) → ℂ) (harg : StrictAnti fun (i : Fin n) => (z i.succ - z i.castSucc).arg) {k l : Fin (n + 1)} (hk₀ : 0 < k) (hkn : k < Fin.last n) (hl₀ : 0 < l) (hln : l < Fin.last n) (hkl : k < l) :
                      interiorBisector z l hl₀ hln < interiorBisector z k hk₀ hkn
                      noncomputable def CategoryTheory.Triangulated.ComplexPolygonalPath.crossMaxIndex {n : ℕ} (z : Fin (n + 1) → ℂ) (θ : ℝ) :
                      Fin (n + 1)

                      A vertex where the cross support at angle θ is maximal.

                      Equations
                      Instances For
                        theorem CategoryTheory.Triangulated.ComplexPolygonalPath.crossMaxIndex_mono_of_angle_gt {n : ℕ} (z : Fin (n + 1) → ℂ) (hedge : ∀ (i : Fin n), z i.succ - z i.castSucc ∈ semiClosedUpperHalfPlane) {θ₁ θ₂ : ℝ} (hθ₁ : θ₁ ∈ Set.Ioo 0 Real.pi) (hθ₂ : θ₂ ∈ Set.Ioo 0 Real.pi) (hθ : θ₂ < θ₁) :

                        As the support angle turns clockwise, a maximizing vertex of a decreasing-argument upper-half-plane path can only move forward.

                        theorem CategoryTheory.Triangulated.ComplexPolygonalPath.length_le_of_convexHull_subset {n m : ℕ} (hn : 0 < n) (z : Fin (n + 1) → ℂ) (w : Fin (m + 1) → ℂ) (hzero : z 0 = w 0) (hlast : z (Fin.last n) = w (Fin.last m)) (hzedge : ∀ (i : Fin n), z i.succ - z i.castSucc ∈ semiClosedUpperHalfPlane) (hwedge : ∀ (i : Fin m), w i.succ - w i.castSucc ∈ semiClosedUpperHalfPlane) (hzarg : StrictAnti fun (i : Fin n) => (z i.succ - z i.castSucc).arg) (hcontain : (convexHull ℝ) (Set.range z) ⊆ (convexHull ℝ) (Set.range w)) :

                        Ikeda's polygon-perimeter comparison at t = 0. Two nonempty upper-half-plane paths have common endpoints. If the inner path turns with strictly decreasing edge arguments and its closed vertex hull is contained in the outer vertex hull, then its Euclidean length is no larger than the outer path length.

                        This slightly strengthens the literal t = 0 specialization of Ikeda's Lemma 3.7: no decreasing-turn hypothesis is needed for the outer path. The proof only selects a monotone subsequence of its support-maximizing vertices; any remaining turns can only increase the outer polygonal length.

                        The proof closes both paths by their common endpoint chord, chooses a maximal outer vertex for every inner bisector support, proves those choices are monotone, and applies closedLength_le_of_monotone_support.