Documentation

LeanPool.ClassificationOfSurfaces.Moise.GraphPolygonalization

Simultaneous polygonalization of finite embedded plane graphs #

This file formalizes the separation part of Moise Chapter 6, Theorem 2. The first construction chooses the disjoint circular regions around graph vertices from Moise's Figure 6.1. Later constructions trim each embedded edge at the last exits from those regions and polygonalize the remaining pairwise-disjoint compact arcs.

theorem LeanEval.Topology.ClassificationOfSurfaces.Moise.exists_pos_uniform_fintype' {I : Type u_1} [Finite I] [Nonempty I] (P : IProp) (hP : ∀ (i : I), ∃ (ε : ), 0 < ε ∀ (δ : ), 0 < δδ < εP i δ) :
∃ (ε : ), 0 < ε ∀ (i : I) (δ : ), 0 < δδ < εP i δ

The last parameter at which an arc lies in a closed disk.

Instances For
    theorem LeanEval.Topology.ClassificationOfSurfaces.Moise.exists_lastExitData {γ : Plane} {center : Plane} {radius : } (hradius : 0 < radius) (hcont : ContinuousOn γ (Set.Icc 0 1)) (hstart : γ 0 = center) (hfinish : γ 1Metric.closedBall center radius) :
    Nonempty (LastExitData γ center radius)

    A last exit which may occur at the initial endpoint when the arc starts on the sphere.

    Instances For
      theorem LeanEval.Topology.ClassificationOfSurfaces.Moise.exists_weakLastExitData {γ : Plane} {center : Plane} {radius : } :
      0 < radius∀ (hcont : ContinuousOn γ (Set.Icc 0 1)) (hstart : dist (γ 0) center = radius) (hfinish : γ 1Metric.closedBall center radius), Nonempty (WeakLastExitData γ center radius)

      Ordered exits of an arc from two disjoint endpoint disks.

      Instances For
        theorem LeanEval.Topology.ClassificationOfSurfaces.Moise.exists_twoSidedExitData {γ : Plane} {first second : Plane} {radius : } (hradius : 0 < radius) (hcont : ContinuousOn γ (Set.Icc 0 1)) (hstart : γ 0 = first) (hfinish : γ 1 = second) (hdisjoint : Disjoint (Metric.closedBall first radius) (Metric.closedBall second radius)) :
        Nonempty (TwoSidedExitData γ first second radius)

        Ordered exits for an arc whose endpoints already lie on the two boundary circles.

        Instances For
          theorem LeanEval.Topology.ClassificationOfSurfaces.Moise.exists_boundaryExitData {γ : Plane} {first second : Plane} {radius : } (hradius : 0 < radius) (hcont : ContinuousOn γ (Set.Icc 0 1)) (hstart : dist (γ 0) first = radius) (hfinish : dist (γ 1) second = radius) (hdisjoint : Disjoint (Metric.closedBall first radius) (Metric.closedBall second radius)) :
          Nonempty (BoundaryExitData γ first second radius)
          theorem LeanEval.Topology.ClassificationOfSurfaces.Moise.radial_segments_inter {center p q : Plane} {radius : } (hradius : 0 < radius) (hp : dist p center = radius) (hq : dist q center = radius) (hpq : p q) :
          segment center p segment center q = {center}

          Radial segments to two distinct points on the same circle meet only at their center.

          theorem LeanEval.Topology.ClassificationOfSurfaces.Moise.eq_endpoint_of_mem_radial_segment {center p x : Plane} {radius : } (hradius : 0 < radius) (hp : dist p center = radius) (hx : x segment center p) (hxsphere : dist x center = radius) :
          x = p

          The only point of a radial segment on its outer circle is its endpoint.

          theorem LeanEval.Topology.ClassificationOfSurfaces.Moise.disjoint_radial_segments_away_center {center p q : Plane} {radius : } (hradius : 0 < radius) (hp : dist p center = radius) (hq : dist q center = radius) (hpq : p q) :
          Disjoint (segment center p \ {center}) (segment center q \ {center})
          theorem LeanEval.Topology.ClassificationOfSurfaces.Moise.Path.trans_injective_of_range_inter {X : Type u_1} [TopologicalSpace X] {x y z : X} (γ : Path x y) (δ : Path y z) ( : Function.Injective γ) ( : Function.Injective δ) (hinter : Set.range γ Set.range δ = {y}) :

          Concatenating two simple paths whose ranges meet only at their common endpoint is simple.

          Moise's pairwise-disjoint circular vertex regions, also disjoint from every nonincident embedded edge.

          Instances For

            The edgeCurve declaration.

            Equations
            Instances For

              The two ordered circle crossings which delimit the central part of an embedded edge.

              Instances For

                The vertex-disk choice in Moise 6.2, Figure 6.1.

                All separation properties survive shrinking the common vertex radius.

                Equations
                Instances For
                  theorem LeanEval.Topology.ClassificationOfSurfaces.Moise.PlaneComplex.exists_vertexDiskControl_lt (K : PlaneComplex) (hvertex : ∀ (v : K.Vertex), {v} K.simplexes) {h : PlanePlane} (hcont : ContinuousOn h K.support) (hinj : Set.InjOn h K.support) {η : } ( : 0 < η) :
                  ∃ (D : K.VertexDiskControl h), D.radius < η

                  The edgeTrim declaration.

                  Equations
                  Instances For

                    Pairwise-disjoint closed tubes around all trimmed central arcs.

                    Instances For

                      A polygonal replacement for one trimmed central arc, kept inside its assigned tube.

                      Instances For

                        The loop-resolved middle remains in the convex hull of the original target edge.

                        A simple parameterization of the polygonal replacement, normalized to the unit interval.

                        Instances For

                          The polygonal arc model from Chapter 6.1 gives a continuous injective unit-interval parameterization.

                          The portion of the polygonal replacement between its ordered exits from the endpoint disks.

                          Equations
                          Instances For

                            The complete polygonal replacement of an edge: a radial spoke, the trimmed middle arc, and a second radial spoke.

                            Equations
                            Instances For

                              Every complete finite replacement edge stays in the convex hull of its original target edge. In particular, simultaneous finite graph approximation preserves any convex target such as the model half-plane.

                              The relative interior of a replacement edge.

                              Equations
                              Instances For

                                The trimmed middle arc as a path.

                                Equations
                                Instances For

                                  The full replacement path for an edge.

                                  Equations
                                  Instances For

                                    Distinct replacement edges have disjoint relative interiors.

                                    The selected replacement arc for an enumerated edge.

                                    Equations
                                    Instances For

                                      The middleSourceScalarMap declaration.

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

                                        The middleBreakpoint declaration.

                                        Equations
                                        Instances For
                                          @[reducible, inline]

                                          The finite set of all source breakpoints: the two spoke joins and every vertex of every middle PL model.

                                          Equations
                                          Instances For

                                            The graphBreakpointParameter declaration.

                                            Equations
                                            Instances For

                                              The common source subdivision carrying all edgewise PL breakpoints.

                                              Equations
                                              Instances For

                                                The replacement map on the affine line carrying one source edge.

                                                Equations
                                                Instances For

                                                  The simultaneous replacement map. Active graph vertices are handled first; every other point of the graph lies in the open part of a unique edge.

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

                                                    The finite simultaneous graph replacement remains in the convex hull of the original target graph.

                                                    theorem LeanEval.Topology.ClassificationOfSurfaces.Moise.PlaneComplex.edgeReplacementMap_eq_middle (K : PlaneComplex) {h : PlanePlane} (hcont : ContinuousOn h K.support) (D : K.VertexDiskControl h) (C : K.CentralTubeControl hcont D) (i : Fin (Fintype.card K.EdgeFace)) {x : Plane} (hx : x K.cellCarrier (K.edgeAt i)) (ht0 : 1 / 2 (K.edgeParameter i) x) (ht1 : (K.edgeParameter i) x 3 / 4) :
                                                    K.edgeReplacementMap hcont D C i x = (K.replacementArc hcont D C i).parameterization.map (planePoint ((K.replacementArc hcont D C i).data.resolvedWalk.length * ((K.replacementArc hcont D C i).exitData.left + ((K.replacementArc hcont D C i).exitData.right - (K.replacementArc hcont D C i).exitData.left) * (4 * (K.edgeParameter i) x - 2))) 0)

                                                    The simultaneous edge replacement is affine on every face of its named common source subdivision.

                                                    The simultaneous edge replacement is PL on the original graph. All breakpoints of all polygonal middle arcs occur as vertices of one common finite subdivision.

                                                    Moise's simultaneous polygonal replacement gives a PL embedding of the finite source graph, before imposing a quantitative approximation bound.

                                                    theorem LeanEval.Topology.ClassificationOfSurfaces.Moise.PlaneComplex.graphReplacementMap_dist_lt_two_mul (K : PlaneComplex) {h : PlanePlane} (hgraph : sK.simplexes, s.card 2) (hcont : ContinuousOn h K.support) (D : K.VertexDiskControl h) (C : K.CentralTubeControl hcont D) {η : } (hsmall : uK.simplexes, xK.cellCarrier u, yK.cellCarrier u, dist (h x) (h y) < η) (hD : D.radius < η) (x : Plane) :
                                                    x K.supportdist (K.graphReplacementMap hcont D C x) (h x) < 2 * η

                                                    If the image of every source face has diameter below η, and both geometric controls are smaller than η, then simultaneous polygonal replacement moves every graph point by less than 2 * η.

                                                    theorem LeanEval.Topology.ClassificationOfSurfaces.Moise.PlaneComplex.exists_graph_PL_approximation_facewise (K : PlaneComplex) (hgraph : sK.simplexes, s.card 2) {h : PlanePlane} (hcont : ContinuousOn h K.support) (hinj : Set.InjOn h K.support) {ε : } ( : 0 < ε) :
                                                    ∃ (f : PlanePlane), IsPLOn K f Set.InjOn f K.support (∀ (v : K.Vertex), f (K.position v) = h (K.position v)) (∀ xK.support, dist (f x) (h x) < ε) (∀ xK.support, f x (convexHull ) (h '' K.support)) ∀ (A : Set Plane), (∀ xA, sK.simplexes, x K.cellCarrier s K.cellCarrier sA)IsPLOnSet A f

                                                    Moise Chapter 6, Theorem 2 for finite plane complexes: after first sampling the source graph finely, simultaneous polygonal replacement gives an arbitrarily close PL embedding and preserves every original vertex value.

                                                    theorem LeanEval.Topology.ClassificationOfSurfaces.Moise.PlaneComplex.exists_graph_PL_approximation (K : PlaneComplex) (hgraph : sK.simplexes, s.card 2) {h : PlanePlane} (hcont : ContinuousOn h K.support) (hinj : Set.InjOn h K.support) {ε : } ( : 0 < ε) :
                                                    ∃ (f : PlanePlane), IsPLOn K f Set.InjOn f K.support (∀ (v : K.Vertex), f (K.position v) = h (K.position v)) xK.support, dist (f x) (h x) < ε

                                                    Moise Chapter 6, Theorem 2 in its conventional interface.