Documentation

LeanPool.ClassificationOfSurfaces.Triangulation

Finite surface triangulations #

This finite incidence package is consumed by the cell-complex conversion and fed by the faithful GeometricTriangulation object through GeometricTriangulation.toFiniteSurfaceTriangulation. Radó's theorem enters as moise_triangulation, proved in ClassificationOfSurfaces/Moise/.

An arbitrary FiniteSurfaceTriangulation record does not certify that its incidence data describe its stored realization. The classification proof therefore starts from GeometricTriangulation and uses the incidence certificate constructed by its bridge.

An oriented use of an edge in a triangle boundary word.

Instances For
    Equations
    • One or more equations did not get rendered due to their size.
    Instances For
      Equations
      • One or more equations did not get rendered due to their size.
      Instances For
        structure LeanEval.Topology.ClassificationOfSurfaces.FiniteSurfaceTriangulation.Valid (Vertex : Type u_1) (Edge : Type u_2) (Triangle : Type u_3) [DecidableEq Vertex] (edgeVertices : EdgeFinset Vertex) (triangleVertices : TriangleFinset Vertex) (edgeSource edgeTarget : EdgeVertex) (triangleBoundary : TriangleList (OrientedEdge Edge)) :

        Finite combinatorial validity data for the project triangulation object.

        This deliberately stays close to what the current PL complex handoff can prove: edges have two vertices, triangles have three vertices, recorded endpoints lie on their edge, and every edge appearing in a triangle boundary is a face of that triangle. Cyclic ordering and quotient-realization geometry are separate theorem boundaries.

        • edge_card (e : Edge) : (edgeVertices e).card = 2
        • triangle_card (t : Triangle) : (triangleVertices t).card = 3
        • edgeSource_mem (e : Edge) : edgeSource e edgeVertices e
        • edgeTarget_mem (e : Edge) : edgeTarget e edgeVertices e
        • edgeSource_ne_edgeTarget (e : Edge) : edgeSource e edgeTarget e
        • boundary_edge_vertices_subset (t : Triangle) (oe : OrientedEdge Edge) : oe triangleBoundary tedgeVertices oe.edgetriangleVertices t
        Instances For

          A finite triangulation of a topological surface.

          This should eventually be replaced by, or bridged to, the best available mathlib notion of finite simplicial/CW complex realization. For now it records the public API needed by the common triangulation-to-cell-complex bridge: finite incidence data, a topological realization, and a homeomorphism from that realization to the target surface.

          Instances For

            Number of vertices in a finite surface triangulation.

            Equations
            Instances For

              Number of edges in a finite surface triangulation.

              Equations
              Instances For

                Number of triangles in a finite surface triangulation.

                Equations
                Instances For
                  @[reducible, inline]

                  A position in one of the stored oriented triangle boundaries.

                  Equations
                  Instances For

                    The unoriented edge stored at a triangle-boundary position.

                    Equations
                    Instances For

                      Two triangles are adjacent when their stored boundaries share an unoriented edge.

                      Equations
                      Instances For

                        Incidence information needed by the legacy triangulation-to-cell-complex bridge.

                        edge_valence_le_two is deliberately stated for boundary positions rather than merely named edges. This detects repeated uses inside one boundary word as well as uses by different triangles. The separate edge_used field is necessary because the legacy triangulation type can contain named edges which occur in no triangle boundary. Genuine geometric triangulations will discharge both fields from their generated two-vertex faces.

                        Instances For
                          @[reducible]

                          Forget the target-space homeomorphism and retain the intrinsic two-complex.

                          Equations
                          Instances For

                            The globally named edge between two consecutive cyclic vertices of a face, signed so that its orientation follows the cyclic order of that face.

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

                              The cyclic signed boundary of a geometric triangle. Slot i traverses from the i-th cyclic face vertex to the next one.

                              Equations
                              Instances For
                                @[simp]

                                Every cyclic triangle boundary has exactly three occurrences.

                                Reading a cyclic triangle boundary recovers the correspondingly indexed oriented face edge.

                                The underlying edge at a cyclic boundary position is the intrinsic edge with the same index.

                                A named geometric edge lies in the underlying triangle-boundary list exactly when it is a face of that triangle.

                                Each geometric edge occurs at most once in a triangle's canonical boundary list.

                                Package a geometric triangulation as the project's FiniteSurfaceTriangulation object.

                                This is the compatibility bridge: downstream consumers (the cell-complex conversion and the Gallier--Xu route) keep their interface, while the triangulation content now lives in the faithful geometric object.

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

                                  A geometric surface-incidence certificate supplies every incidence obligation required by the legacy finite triangulation bridge.

                                  The compact bordered extension of Radó's theorem. Moise, Geometric Topology in Dimensions 2 and 3, Ch. 8, Thm. 3 proves the boundaryless case; the proof assembled here carries the same induction through half-disk charts while preserving the manifold-boundary stratum.

                                  Every compact connected surface in the Eval sense admits a finite geometric triangulation — a homeomorphism onto the realization of a finite two-dimensional simplicial complex.

                                  Semantic anchors: the conclusion implies CompactSpace S and T2Space S (GeometricTriangulation.compactSpace, GeometricTriangulation.t2Space), and is refuted for non-compact spaces (Moise/Countermodels.lean), so it cannot be discharged by a junk witness.

                                  The proof is the assembled boundary-preserving Radó chart induction (Moise.moise_triangulation_of_boundaries).

                                  Radó's theorem with its conclusion expanded into the finite vertex type, the family of three-vertex faces, and the homeomorphism from their barycentric realization. This is a definition-audit surface for moise_triangulation, not a second proof.

                                  The named finite surface triangulation produced for a compact connected Eval surface, obtained from the geometric triangulation boundary moise_triangulation through the compatibility bridge.

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