Documentation

LeanPool.ClassificationOfSurfaces.DiskSquare

A square model for polygon cells #

This file supplies the geometric cut-and-paste model used by Gallier--Xu P2. The closed unit square is treated as a convex disk. Its boundary is parameterized explicitly by radial projection of the Euclidean circle, and an arbitrary homeomorphism from the circle to the frontier of a bounded convex disk is extended across PolygonCell.

The sup norm of a complex number, used as the gauge of the centered square.

Equations
Instances For

    The radial homeomorphism from the Euclidean unit circle to the centered square boundary.

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

      Extending a chosen square-boundary parameterization #

      Restrict the fixed ambient straightening to the closed square.

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

        The fixed square straightening restricted to its frontier.

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

          Include the square frontier into the closed square.

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

            Extend any selected parameterization of the square frontier across a polygon cell.

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

              The convex extension agrees exactly with the prescribed boundary parameterization.

              A distinguished polygon side on the right side of the square #

              Put the final side of an (l+1)-gon on the right side of the square.

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

                Put the first side of an (r+1)-gon on the same square side, but with reversed traversal.

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

                  The two fresh sides have exactly the same point of the local square after reversing the right-child parameter.

                  Square model for the selected child of a nondegenerate P2 split.

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

                    Square model for the right child of a nondegenerate P2 split.

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

                      The distinguished final side covers every point of the local square's right edge.

                      The distinguished first side covers every point of the local square's right edge.

                      Gluing two square models along their right sides #

                      Place a local square as the left half of the outer square.

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

                        Place a local square, reflected horizontally, as the right half of the outer square.

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

                          The two placements agree on their common local right side.

                          Gluing two square disks along their distinguished sides #

                          @[reducible, inline]

                          The disjoint union of the two local square disks.

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

                            The generating seam relation: the right side of the left local square is glued, point for point, to the right side of the horizontally reflected right local square.

                            Instances For

                              Merge the two local squares into the left and right halves of one outer square.

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

                                The merge map is constant on the equivalence closure of the seam relation.

                                Equality between opposite merged summands can only occur on the declared seam.

                                No identifications are hidden by the planar merge: equality after merging is exactly generated by equality inside one summand and the declared seam relation.

                                The continuous map induced on the quotient by merging the two local squares.

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

                                  Transporting the seam model to two nondegenerate polygon cells #

                                  @[reducible, inline]

                                  The two polygon cells occurring in a nondegenerate, positively oriented P2 split.

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

                                    The geometric seam relation on the two child cells, expressed through their square models. This formulation records the entire common edge and is convenient for quotient-kernel arguments.

                                    Instances For

                                      The equivalence relation generated by identifying the two child-cell seam edges.

                                      @[reducible, inline]

                                      The setoid generated by identifying the two child-cell seam edges.

                                      Equations
                                      Instances For
                                        @[reducible, inline]

                                        The quotient of the two child polygon cells by their complete common side.

                                        Equations
                                        Instances For

                                          Straighten both P2 child cells simultaneously to their local square models.

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

                                            The simultaneous child straightening identifies exactly the two generated seam relations.

                                            The actual two-child polygon quotient of a nondegenerate P2 cut is a closed disk.

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

                                              A marked side of a polygon with at least two sides has no parameter self-overlap.

                                              The parameter-level fresh-edge identification used by a positive P2 split.

                                              Instances For

                                                The square-model seam is exactly the equivalence closure of the fresh-side parameter map.

                                                The parameter-independent seam equivalence relation used by the quotient comparison.

                                                Two nondegenerate P2 child polygons, glued by the precise reversed fresh-edge parameter, form a closed disk.

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

                                                  The external boundary arcs of the glued child disk #

                                                  The old-boundary arc of the selected child, before placing its square on the left.

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

                                                    The old-boundary arc of the right child, before its horizontal reflection.

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

                                                      The selected child's old boundary, placed on the outer square frontier.

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

                                                        The right child's old boundary, reflected and placed on the outer square frontier.

                                                        Equations
                                                        • One or more equations did not get rendered due to their size.
                                                        Instances For
                                                          @[simp]
                                                          theorem LeanEval.Topology.ClassificationOfSurfaces.DiskSquare.finalOldArc_val (l : ) (hl : 0 < l) (s : (Set.Icc 0 l)) :
                                                          ((finalOldArc l hl) s) = (leftPlacement ((finalOldArcLocal l hl) s))
                                                          theorem LeanEval.Topology.ClassificationOfSurfaces.DiskSquare.finalOldArc_re_eq_zero_iff_endpoint (l : ) (hl : 0 < l) (s : (Set.Icc 0 l)) :
                                                          (↑((finalOldArc l hl) s)).re = 0 s = 0 s = l
                                                          theorem LeanEval.Topology.ClassificationOfSurfaces.DiskSquare.firstOldArc_re_eq_zero_iff_endpoint (r : ) (hr : 0 < r) (s : (Set.Icc 0 r)) :
                                                          (↑((firstOldArc r hr) s)).re = 0 s = 0 s = r

                                                          The outer boundary assembled from the two old-boundary arcs #

                                                          A continuous coordinate, from 0 to 3, along the left half of the square boundary. It starts at the midpoint of the top edge, passes the two left corners, and ends at the midpoint of the bottom edge.

                                                          Equations
                                                          Instances For
                                                            theorem LeanEval.Topology.ClassificationOfSurfaces.DiskSquare.boundary_left_cases (z : boundary) (hz : (↑z).re 0) :
                                                            (↑z).re = -1 (↑z).im = 1 (↑z).im = -1
                                                            theorem LeanEval.Topology.ClassificationOfSurfaces.DiskSquare.boundary_right_cases (z : boundary) (hz : 0 (↑z).re) :
                                                            (↑z).re = 1 (↑z).im = 1 (↑z).im = -1
                                                            theorem LeanEval.Topology.ClassificationOfSurfaces.DiskSquare.exists_finalOldArc_of_re_nonpos (l : ) (hl : 0 < l) (z : boundary) (hz : (↑z).re 0) :
                                                            ∃ (s : (Set.Icc 0 l)), (finalOldArc l hl) s = z
                                                            theorem LeanEval.Topology.ClassificationOfSurfaces.DiskSquare.exists_firstOldArc_of_re_nonneg (r : ) (hr : 0 < r) (z : boundary) (hz : 0 (↑z).re) :
                                                            ∃ (s : (Set.Icc 0 r)), (firstOldArc r hr) s = z

                                                            Clip a parameter for the combined outer boundary to the left child's old arc.

                                                            Equations
                                                            Instances For

                                                              Clip and translate a combined parameter to the right child's old arc.

                                                              Equations
                                                              Instances For
                                                                noncomputable def LeanEval.Topology.ClassificationOfSurfaces.DiskSquare.outerArc (l r : ) (hl : 0 < l) (hr : 0 < r) :
                                                                C((Set.Icc 0 (l + r)), boundary)

                                                                The full outer boundary path: the selected child's old sides followed by the right child's old sides. Its two endpoints both map to the top midpoint.

                                                                Equations
                                                                • One or more equations did not get rendered due to their size.
                                                                Instances For
                                                                  theorem LeanEval.Topology.ClassificationOfSurfaces.DiskSquare.outerArc_apply_of_le (l r : ) (hl : 0 < l) (hr : 0 < r) (x : (Set.Icc 0 (l + r))) (hx : x l) :
                                                                  (outerArc l r hl hr) x = (finalOldArc l hl) x,
                                                                  theorem LeanEval.Topology.ClassificationOfSurfaces.DiskSquare.outerArc_apply_of_not_le (l r : ) (hl : 0 < l) (hr : 0 < r) (x : (Set.Icc 0 (l + r))) (hx : ¬x l) :
                                                                  (outerArc l r hl hr) x = (firstOldArc r hr) x - l,
                                                                  @[simp]
                                                                  theorem LeanEval.Topology.ClassificationOfSurfaces.DiskSquare.outerArc_zero (l r : ) (hl : 0 < l) (hr : 0 < r) :
                                                                  (outerArc l r hl hr) 0, = (finalOldArc l hl) 0,
                                                                  @[simp]
                                                                  theorem LeanEval.Topology.ClassificationOfSurfaces.DiskSquare.outerArc_split (l r : ) (hl : 0 < l) (hr : 0 < r) :
                                                                  (outerArc l r hl hr) l, = (finalOldArc l hl) l,
                                                                  @[simp]
                                                                  theorem LeanEval.Topology.ClassificationOfSurfaces.DiskSquare.outerArc_last (l r : ) (hl : 0 < l) (hr : 0 < r) :
                                                                  (outerArc l r hl hr) l + r, = (firstOldArc r hr) r,
                                                                  theorem LeanEval.Topology.ClassificationOfSurfaces.DiskSquare.outerArc_endpoints (l r : ) (hl : 0 < l) (hr : 0 < r) :
                                                                  (outerArc l r hl hr) 0, = (outerArc l r hl hr) l + r,
                                                                  theorem LeanEval.Topology.ClassificationOfSurfaces.DiskSquare.outerArc_cross_endpoints (l r : ) (hl : 0 < l) (hr : 0 < r) (x y : (Set.Icc 0 (l + r))) (hx : x l) (hy : ¬y l) (hxy : (outerArc l r hl hr) x = (outerArc l r hl hr) y) :
                                                                  x = 0 y = l + r
                                                                  theorem LeanEval.Topology.ClassificationOfSurfaces.DiskSquare.outerArc_eq_imp_endpointIdent (l r : ) (hl : 0 < l) (hr : 0 < r) (x y : (Set.Icc 0 (l + r))) (hxy : (outerArc l r hl hr) x = (outerArc l r hl hr) y) :
                                                                  x = y x = 0 y = l + r x = l + r y = 0

                                                                  Remove the syntactic leading zero from the endpoint interval used by AddCircle.

                                                                  Equations
                                                                  Instances For
                                                                    noncomputable def LeanEval.Topology.ClassificationOfSurfaces.DiskSquare.outerEndpointArc (l r : ) (hl : 0 < l) (hr : 0 < r) :
                                                                    C((Set.Icc 0 (0 + (l + r))), boundary)

                                                                    The outer path with the syntactic endpoint interval used by AddCircle.EndpointIdent.

                                                                    Equations
                                                                    • One or more equations did not get rendered due to their size.
                                                                    Instances For
                                                                      @[simp]
                                                                      theorem LeanEval.Topology.ClassificationOfSurfaces.DiskSquare.outerEndpointArc_apply (l r : ) (hl : 0 < l) (hr : 0 < r) (x : (Set.Icc 0 (0 + (l + r)))) :
                                                                      (outerEndpointArc l r hl hr) x = (outerArc l r hl hr) x,
                                                                      theorem LeanEval.Topology.ClassificationOfSurfaces.DiskSquare.outerArc_endpointIdent (l r : ) (hl : 0 < l) (hr : 0 < r) [Fact (0 < l + r)] (x y : (Set.Icc 0 (0 + (l + r)))) (hxy : AddCircle.EndpointIdent (l + r) 0 x y) :
                                                                      (outerEndpointArc l r hl hr) x = (outerEndpointArc l r hl hr) y
                                                                      noncomputable def LeanEval.Topology.ClassificationOfSurfaces.DiskSquare.outerBoundaryQuotMap (l r : ) (hl : 0 < l) (hr : 0 < r) [Fact (0 < l + r)] :

                                                                      The pasted outer path after identifying its top endpoints.

                                                                      Equations
                                                                      • One or more equations did not get rendered due to their size.
                                                                      Instances For
                                                                        theorem LeanEval.Topology.ClassificationOfSurfaces.DiskSquare.outerBoundaryQuotMap_mk (l r : ) (hl : 0 < l) (hr : 0 < r) [Fact (0 < l + r)] (x : (Set.Icc 0 (0 + (l + r)))) :
                                                                        (outerBoundaryQuotMap l r hl hr) (Quot.mk (AddCircle.EndpointIdent (l + r) 0) x) = (outerEndpointArc l r hl hr) x
                                                                        noncomputable def LeanEval.Topology.ClassificationOfSurfaces.DiskSquare.outerBoundaryQuotHomeomorph (l r : ) (hl : 0 < l) (hr : 0 < r) [Fact (0 < l + r)] :

                                                                        The endpoint quotient of the pasted old-boundary path is exactly the square boundary.

                                                                        Equations
                                                                        Instances For
                                                                          @[simp]
                                                                          theorem LeanEval.Topology.ClassificationOfSurfaces.DiskSquare.outerBoundaryQuotHomeomorph_mk (l r : ) (hl : 0 < l) (hr : 0 < r) [Fact (0 < l + r)] (x : (Set.Icc 0 (0 + (l + r)))) :
                                                                          (outerBoundaryQuotHomeomorph l r hl hr) (Quot.mk (AddCircle.EndpointIdent (l + r) 0) x) = (outerEndpointArc l r hl hr) x

                                                                          The additive circle parameterized by the old sides is the outer square boundary.

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

                                                                            The exact boundary parameterization used to extend the old sides across the selected source polygon.

                                                                            Equations
                                                                            • One or more equations did not get rendered due to their size.
                                                                            Instances For
                                                                              theorem LeanEval.Topology.ClassificationOfSurfaces.DiskSquare.outerAddCircleHomeomorph_apply_of_mem_Ico (l r : ) (hl : 0 < l) (hr : 0 < r) (x : ) (hx : x Set.Ico 0 (l + r)) :
                                                                              (outerAddCircleHomeomorph l r hl hr) x = (outerArc l r hl hr) x,
                                                                              theorem LeanEval.Topology.ClassificationOfSurfaces.DiskSquare.outerBoundaryHomeomorph_exp_of_mem_Ico (l r : ) (hl : 0 < l) (hr : 0 < r) (x : ) (hx : x Set.Ico 0 (l + r)) :
                                                                              (outerBoundaryHomeomorph l r hl hr) (Circle.exp (2 * Real.pi / (l + r) * x)) = (outerArc l r hl hr) x,
                                                                              theorem LeanEval.Topology.ClassificationOfSurfaces.DiskSquare.outerBoundaryHomeomorph_exp_of_mem_Icc (l r : ) (hl : 0 < l) (hr : 0 < r) (x : ) (hx : x Set.Icc 0 (l + r)) :
                                                                              (outerBoundaryHomeomorph l r hl hr) (Circle.exp (2 * Real.pi / (l + r) * x)) = (outerArc l r hl hr) x, hx

                                                                              The combined real parameter of a polygon side.

                                                                              Equations
                                                                              Instances For

                                                                                The same parameter with the split side count displayed as a sum in .

                                                                                Equations
                                                                                Instances For

                                                                                  Extend the exact outer-boundary parameterization across the unsplit source polygon.

                                                                                  Equations
                                                                                  • One or more equations did not get rendered due to their size.
                                                                                  Instances For
                                                                                    theorem LeanEval.Topology.ClassificationOfSurfaces.DiskSquare.sourceCellHomeomorph_ofCircle_exp (l r : ) (hl : 0 < l) (hr : 0 < r) (x : ) (hx : x Set.Icc 0 (l + r)) :
                                                                                    (sourceCellHomeomorph l r hl hr) ((PolygonCell.ofCircle (l + r)) (Circle.exp (2 * Real.pi / (l + r) * x))) = boundaryInclusion ((outerArc l r hl hr) x, hx)

                                                                                    On every old left side, the unsplit source polygon map agrees exactly with the corresponding placed child side.

                                                                                    On every old right side, the unsplit source polygon map agrees exactly with the corresponding reflected and placed child side.

                                                                                    The complete local P2 equivalence: one unsplit polygon is homeomorphic to the quotient of the two child polygons by their reversed fresh-side identification.

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

                                                                                      The local P2 homeomorphism sends every left source side to the corresponding selected-child side class.

                                                                                      The local P2 homeomorphism sends every right source side to the corresponding right-child side class.