Finite polygonal paths in the complex plane #
The carrier for a finite polygonal path -- n edges presented as n + 1
vertices Fin (n + 1) → ℂ -- together with its Euclidean length, the two
real continuous linear functionals on ℂ that the perimeter arguments support
against, and the supporting-hyperplane form of strict clockwise convexity.
Main declarations #
crossFunctional r, the oriented area functionalz ↦ r × z, andunitRay θ, the unit vector at angleθ.length, the Euclidean length of a finite path, andnorm_last_sub_zero_le_length: the chord is no longer than the path.exists_strict_support_at_interior: at an interior vertex of a path whose upper-half-plane edge arguments strictly decrease, some real-linear functional attains a strict unique maximum there.
Placement #
This is neutral planar geometry and imports no category theory and no
stability -- which is why it is not under CategoryTheory/Abelian/Stability/,
where MO1.08 (#1319) placed the rest of that directory. It was the
ComplexPolygonalPath block of what is now
CategoryTheory/Abelian/Stability/HNPolygon.lean until MO1.13 (#1324); nothing in it mentions an object, a filtration or a stability
function, and the Harder--Narasimhan reading of these statements -- that the
vertices are subobject charges and the edges are semistable-factor charges --
is the adapter that stayed behind in HNPolygon.lean.
The perimeter comparison built on this carrier is the sibling
ComplexPolygonalPath/Perimeter.lean.
Analysis/ is a new top-level subject, added to KNOWN_SUBJECTS in
scripts/check_layering.py as the conscious act rule 6 requires. The pinned
Mathlib revision has no polygonal-chain length and no perimeter at all
(Mathlib.Geometry.Polygon.Basic supplies a vertex tuple with edges and a
boundary, and stops there), so there was no Mathlib owner to reuse; the
convexity API these files do consume, convexHull, is owned at that revision
by Mathlib/Analysis/Convex/Hull.lean, which is what names the subject.
Declaration names and the CategoryTheory.Triangulated.ComplexPolygonalPath
namespace are unchanged, per standing decision 1 of the cutover ledger.
The oriented area functional z ↦ r × z, regarded as a continuous
real-linear functional on the complex plane.
Equations
Instances For
A unit ray at an angle strictly between 0 and π lies in the open
upper half-plane.
The cross functional is positive on a vector of strictly larger upper-half-plane argument.
The cross functional is negative on a vector of strictly smaller upper-half-plane argument.
At every interior vertex of a finite path whose upper-half-plane edge arguments strictly decrease, some real-linear functional has a strict unique maximum among the path vertices. This is the supporting-hyperplane form of strict clockwise convexity.
For an upper-half-plane path with decreasing edge arguments, the argument of its total displacement is bounded above by the argument of its first edge.
For an upper-half-plane path with decreasing edge arguments, the argument of its last edge is bounded above by the argument of its total displacement.
The Euclidean length of a finite path in the complex plane. A path with
n edges is represented by its n + 1 vertices.
Equations
Instances For
The straight chord between the endpoints of a finite complex path is no longer than the path. This is the metric primitive used when an HN polygonal boundary is refined by inserting further vertices.