Locally finite graph approximation controls #
This file begins the noncompact form of Moise Chapter 6, Theorem 2. The finite graph proof uses one minimum separation radius over all vertices and edges. A locally finite complex has no such global minimum. Instead every vertex receives its own positive radius, small enough to avoid all nonincident edges and all other vertices. Local finiteness makes the two obstacle families closed, which is the only compactness input needed for this pointwise construction.
A realization of the ambient support in an open perturbation region of the plane. The image is allowed to have boundary in that region: in the Rado step it is an open subset of the old polyhedral surface, not an ambiently open plane set. Edge images need only be locally finite in the perturbation region; they may accumulate at its omitted frontier.
The open plane region in which polygonal perturbations are allowed.
The perturbation region is open.
The topological embedding into chart coordinates.
- isEmbedding : Topology.IsEmbedding self.map
The support is embedded, not merely mapped injectively.
The original realization lies in the region where perturbations are allowed.
A positive upper bound for the disk chosen at each graph vertex.
Every requested vertex control is positive.
A positive upper bound for the central perturbation tube of each graph edge.
Every requested edge control is positive.
The embedded support is closed relative to the perturbation region. It may still accumulate at the omitted frontier of that region.
- edgeLocallyFinite : LocallyFinite fun (e : K.Edge) => {q : ↑self.region | ↑q ∈ self.map '' {p : ↑K.support | ↑p ∈ K.edgeCarrier e}}
Edge images are locally finite in the open perturbation region.
Instances For
Reduce the quantitative replacement controls without changing the realized map, its target region, or any local-finiteness data.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Include an edge point into the whole support.
Equations
Instances For
The image of a global vertex in chart coordinates.
Equations
- G.vertexImage v = G.map ⟨K.vertexPoint v, ⋯⟩
Instances For
The image of an edge carrier in chart coordinates.
Instances For
One edge image regarded as a subset of the open perturbation region.
Instances For
A compact ambient set contained in a subspace remains compact when regarded as a set in that subspace.
A locally finite family remains locally finite after embedding it as a closed subspace. This is the transport used for a Rado overlap inside the open region obtained by deleting the overlap frontier.
The canonical interval parametrization of an edge, included into the source support.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The charted embedded arc carried by one abstract edge.
Equations
Instances For
A polygonal replacement of one charted edge inside a prescribed metric neighborhood.
- data : BrokenLineData (Metric.thickening eps (G.edgeImage e))
The
datadeclaration.
Instances For
The edgeBrokenLineApproximation declaration.
Equations
- G.edgeBrokenLineApproximation e heps = Classical.choice ⋯
Instances For
The union of edge images not incident to v.
Instances For
Singleton chart images of the global vertices.
Equations
- G.vertexImageCarrier v = {G.vertexImage v}
Instances For
A singleton vertex image in the open chart range.
Equations
- G.vertexImageCarrierInRange v = {q : ↑G.region | ↑q ∈ G.vertexImageCarrier v}
Instances For
Local finiteness of vertex images transported to the chart plane. It follows from edge local finiteness because every vertex belongs to an edge of one of its triangular faces.
Every vertex of a triangle complex has another vertex in one of its incident faces.
The chart images of all vertices other than v.
Equations
Instances For
Closed geometric obstacles that a vertex neighborhood must avoid: every nonincident edge and every other vertex.
Equations
- G.vertexObstacle v = G.nonincidentEdgeImage v ∪ G.otherVertexImages v
Instances For
A bounded quarter of the distance from a vertex to every nonincident edge and every other vertex. Unlike the finite graph construction, this radius is allowed to vary from vertex to vertex. The upper bound by one preserves local finiteness of the resulting disks.
Equations
- G.vertexIsolationRadius v = min (G.vertexApproximationControl v) (min 1 (Metric.infDist (G.vertexImage v) (G.vertexObstacle v) / 4))
Instances For
The closed disk selected around a charted vertex.
Equations
- G.vertexDisk v = Metric.closedBall (G.vertexImage v) (G.vertexIsolationRadius v)
Instances For
A selected vertex disk, restricted to the open chart range.
Equations
- G.vertexDiskInRange v = {p : ↑G.region | ↑p ∈ G.vertexDisk v}
Instances For
The bounded vertex disks remain locally finite in the open chart range.
Pairwise-separated central edge carriers #
Open endpoint disks removed before independently perturbing the central part of an edge.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The compact middle of an edge after removing its two open endpoint disks.
Equations
- G.edgeCentralCarrier e = G.edgeImage e \ G.edgeEndpointNeighborhood e
Instances For
A central edge carrier in the open chart range.
Equations
- G.edgeCentralCarrierInRange e = {p : ↑G.region | ↑p ∈ G.edgeCentralCarrier e}
Instances For
The closed union of all central edge carriers other than e.
Equations
Instances For
The locally finite union of vertex disks not incident to a fixed edge.
Equations
Instances For
All closed obstacles from which the middle of e must be separated.
Equations
Instances For
A positive lower separation scale from one compact central edge carrier to the closed union of all the others.
Equations
Instances For
A bounded quarter-separation tube radius for one central edge carrier. The additional endpoint-distance cap is the quantitative ingredient used in Chapter 6: once the charted edge has small diameter, every point of its replacement arc is correspondingly close to that edge.
Equations
- G.centralTubeRadius e = min (G.edgeApproximationControl e) (min (min 1 (↑(G.centralSeparationNN e) / 4)) (dist (G.vertexImage (K.edgeFirst e)) (G.vertexImage (K.edgeSecond e)) / 4))
Instances For
The open tube in which the central part of edge e may be polygonalized.
Equations
- G.edgeCentralTube e = Metric.thickening (G.centralTubeRadius e) (G.edgeCentralCarrier e)
Instances For
A central perturbation tube regarded as a subset of the open chart range.
Equations
- G.edgeCentralTubeInRange e = {p : ↑G.region | ↑p ∈ G.edgeCentralTube e}
Instances For
The bounded central tubes remain locally finite in the open chart range.
Last-exit trims and central polygonal arcs #
A globally defined charted edge curve, clamped to the unit interval.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Ordered exits from the two (possibly differently sized) endpoint disks.
- left : ℝ
The
leftdeclaration. - right : ℝ
The
rightdeclaration. - left_on_sphere : dist (G.chartEdgeCurve e self.left) (G.vertexImage (K.edgeFirst e)) = G.vertexIsolationRadius (K.edgeFirst e)
- right_on_sphere : dist (G.chartEdgeCurve e self.right) (G.vertexImage (K.edgeSecond e)) = G.vertexIsolationRadius (K.edgeSecond e)
- after_left (t : ℝ) : t ∈ Set.Icc 0 1 → self.left < t → G.chartEdgeCurve e t ∉ G.vertexDisk (K.edgeFirst e)
- before_right (t : ℝ) : t ∈ Set.Icc 0 1 → self.left < t → t < self.right → G.chartEdgeCurve e t ∉ G.vertexDisk (K.edgeSecond e)
Instances For
A fixed last-exit trim on every locally finite edge.
Equations
- G.edgeTrim e = Classical.choice ⋯
Instances For
The connected compact subarc between the two selected exits.
Instances For
Ordered exits for an arc whose endpoints lie on boundary circles of possibly different radii. The finite graph layer uses one common radius; local finiteness naturally requires a radius depending on the vertex.
Instances For
A finite PL parameterization of a simple polygonal arc. The carrier is deliberately abstract: Chapter 6 can produce it either from a broken line or directly as the PL image of a finely subdivided source interval.
- length : ℕ
The
lengthdeclaration. - source : PlaneComplex
The
sourcedeclaration. The
mapdeclaration.The
curvedeclaration.- map_affineOn (s : Finset self.source.Vertex) : s ∈ self.source.simplexes → IsAffineOn self.map (self.source.cellCarrier s)
- continuousOn : ContinuousOn self.curve (Set.Icc 0 1)
Instances For
Package a finite PL embedding of the standard unit segment as an abstract PL arc.
A one-edge broken line on the standard unit segment.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The canonical finite graph complex supported on the standard unit segment.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The source vertex at the left endpoint of the unit segment.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The source vertex at the right endpoint of the unit segment.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The standard finite PL parameterization carried by a loop-resolved broken line.
A simple finite PL replacement for one trimmed central arc, inside its pairwise-disjoint tube. The abstract carrier interface also admits the controlled finite approximation used later in Chapter 6.
The
carrierdeclaration.- start : Plane
The
startdeclaration. - finish : Plane
The
finishdeclaration. - parameterizationData : PLArcParameterization self.carrier self.start self.finish
The
parameterizationDatadeclaration. - carrier_subset_tube : self.carrier ⊆ G.edgeCentralTube e
- carrier_subset_edgeConvexHull : self.carrier ⊆ (convexHull ℝ) (G.edgeImage e)
Instances For
The centralPolygonalArc declaration.
Equations
Instances For
The loop-resolved central arc remains in the convex hull of the original edge image.
Compatibility alias for the finite PL parameterization exposed by a central arc.
Equations
Instances For
The parameterization declaration.
Equations
Instances For
Ordered exits of the resolved polygonal arc from the two variable-radius vertex disks.
Equations
Instances For
The trimmedCarrier declaration.
Equations
Instances For
The leftEndpoint declaration.
Equations
Instances For
The rightEndpoint declaration.
Equations
Instances For
The leftSpoke declaration.
Equations
- A.leftSpoke = segment ℝ (G.vertexImage (K.edgeFirst e)) A.leftEndpoint
Instances For
The rightSpoke declaration.
Equations
- A.rightSpoke = segment ℝ A.rightEndpoint (G.vertexImage (K.edgeSecond e))
Instances For
The completeCarrier declaration.
Equations
- A.completeCarrier = A.leftSpoke ∪ A.trimmedCarrier ∪ A.rightSpoke
Instances For
The complete replacement arc stays in the convex hull of the original embedded edge.
Every point of the complete polygonal replacement lies within twice the diameter of the original charted edge from every point of that edge. Thus a sufficiently fine source complex turns the setwise tube construction into a pointwise approximation, without choosing a parameter-preserving polygonalization.
The trimmed resolved middle, with its parameter interval normalized to the unit interval.
Equations
- A.middlePath = { toFun := fun (t : ↑unitInterval) => A.parameterization.curve ((Path.segment A.exitData.left A.exitData.right) t), continuous_toFun := ⋯, source' := ⋯, target' := ⋯ }
Instances For
The complete polygonal replacement path of a locally finite abstract edge.
Equations
- A.completePath = (Path.segment (G.vertexImage (K.edgeFirst e)) A.leftEndpoint).trans (A.middlePath.trans (Path.segment A.rightEndpoint (G.vertexImage (K.edgeSecond e))))
Instances For
Each locally finite replacement edge is a simple polygonal path.
The leftOpenSpoke declaration.
Equations
- A.leftOpenSpoke = A.leftSpoke \ {G.vertexImage (K.edgeFirst e)}
Instances For
The rightOpenSpoke declaration.
Equations
- A.rightOpenSpoke = A.rightSpoke \ {G.vertexImage (K.edgeSecond e)}
Instances For
The interiorCarrier declaration.
Equations
Instances For
Distinct locally finite replacement edges have disjoint relative interiors.
Strongly-positive edge controls #
The carrier of an abstract edge, included into the whole source support.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The assembled locally finite replacement graph #
The selected complete replacement arc of an abstract edge.
Equations
- G.replacementArc e = G.centralPolygonalArc e
Instances For
Any open embedding of the support into the plane gives the relative graph realization needed by the locally finite Chapter 6 construction. Local finiteness is transported through the embedding homeomorphism onto its open range.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Build a plane graph realization when the source image is closed in a specified open
perturbation region. Unlike ofIsOpenEmbedding, this permits the source image itself to have
boundary, which is the form used on a Rado chart overlap.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Restrict the source edge path to its carrier inside the full support.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The canonical source interval of an edge, inside the support subtype.
Equations
Instances For
The polygonal replacement map on one closed source edge.
Equations
- G.replacementEdgeMap e p = (G.replacementArc e).completePath ((G.edgePathInSupportHomeomorph e).symm p)
Instances For
The source one-skeleton as a subspace of the complete support.
Equations
- One or more equations did not get rendered due to their size.
Instances For
A chosen source edge carrying a one-skeleton point.
Equations
Instances For
Simultaneous polygonal replacement of the locally finite source one-skeleton.
Equations
Instances For
The closed source piece contributed by one edge.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The first radial spoke selected for each abstract edge.
Equations
- G.leftSpokeFamily e = (G.replacementArc e).leftSpoke
Instances For
The final radial spoke selected for each abstract edge.
Equations
- G.rightSpokeFamily e = (G.replacementArc e).rightSpoke
Instances For
The trimmed polygonal middle selected for each abstract edge.
Equations
- G.trimmedCarrierFamily e = (G.replacementArc e).trimmedCarrier
Instances For
The first radial spokes, regarded as subsets of the open chart range.
Equations
- G.leftSpokeFamilyInRange e = {p : ↑G.region | ↑p ∈ G.leftSpokeFamily e}
Instances For
The final radial spokes, regarded as subsets of the open chart range.
Equations
- G.rightSpokeFamilyInRange e = {p : ↑G.region | ↑p ∈ G.rightSpokeFamily e}
Instances For
The trimmed polygonal middles, regarded as subsets of the open chart range.
Equations
- G.trimmedCarrierFamilyInRange e = {p : ↑G.region | ↑p ∈ G.trimmedCarrierFamily e}
Instances For
The completeCarrierInRange declaration.
Equations
- G.completeCarrierInRange e = {p : ↑G.region | ↑p ∈ (G.replacementArc e).completeCarrier}
Instances For
Every complete replacement arc remains inside the open chart range.
The simultaneous replacement map with its natural open chart-range codomain.
Equations
- G.graphReplacementMapInRange p = ⟨G.graphReplacementMap p, ⋯⟩
Instances For
The simultaneous polygonal replacement is closed in the open chart range.
The locally finite replacement graph has the source graph topology in the ambient plane.
Pointwise closeness to the original chart realization.
Instances For
The edge-mesh condition which converts setwise polygonal tubes into a pointwise control.
Equations
- One or more equations did not get rendered due to their size.
Instances For
A strongly-positive tolerance has a positive uniform lower bound on each compact edge, although it need not have a positive lower bound on the whole noncompact complex.
A fixed positive edgewise control selected from strong positivity.
Equations
Instances For
Include a maximal face into the whole source support.
Equations
Instances For
A face carrier as a compact subset of the whole source support.
Equations
- One or more equations did not get rendered due to their size.
Instances For
A fixed positive facewise control selected from strong positivity.