Intrinsic finite PL complexes #
The complexes used during the Rado induction are not generally realized by straight triangles
in one global copy of the plane. Their honest carrier is instead the canonical barycentric
realization GeometricRealization. This file supplies the small intrinsic PL layer needed to
state chart-transition approximation and refinement without pretending that source is planar.
A subdivision contains a homeomorphism between the two canonical realizations, together with facewise affine formulas and subordination to old faces. Thus an arbitrary homeomorphism cannot be installed as a subdivision by bookkeeping alone.
A finite pure two-dimensional abstract simplicial complex. Lower-dimensional faces are
implicit in the supports of the listed triangles, exactly as in GeometricRealization.
- Vertex : Type
The
Vertexdeclaration. - vertexDecidableEq : DecidableEq self.Vertex
The
facesdeclaration.
Instances For
The canonical barycentric realization of an intrinsic complex.
Equations
Instances For
The closed barycentric carrier of a vertex set.
Instances For
The carrier of a listed triangle as a subset of the realization.
Equations
- K.faceCarrier t = {x : K.realization | ∀ v ∉ t, ↑x v = 0}
Instances For
The intrinsic subcomplex obtained by retaining a selected family of maximal faces.
Equations
- K.restrictFaces p = { Vertex := K.Vertex, vertexFintype := K.vertexFintype, vertexDecidableEq := K.vertexDecidableEq, faces := Finset.filter p K.faces, faces_card := ⋯ }
Instances For
The canonical inclusion of a face restriction into the old realization.
Equations
- K.restrictFacesInclusion p x = ⟨↑x, ⋯⟩
Instances For
Intrinsic vertices and edges #
The edges of an intrinsic two-complex.
Instances For
The abstract two-complex has surface edge valence when every edge is contained in at most two maximal triangles.
Instances For
The finite edge type.
Instances For
The intrinsic one-skeleton, as the finite union of all barycentric edge carriers.
Equations
- K.oneSkeleton = {x : K.realization | ∃ (e : K.Edge), x ∈ K.faceCarrier ↑e}
Instances For
Cyclic data on a maximal face #
A maximal two-face of the intrinsic complex.
Instances For
A chosen cyclic enumeration of the three vertices of a maximal face.
Equations
Instances For
Cyclically indexed vertices of a maximal face.
Equations
- K.faceVertex t i = ↑((K.faceVertexEquiv t) ((ZMod.finEquiv 3).symm i))
Instances For
The intrinsic edge joining two consecutive cyclic vertices of a maximal face.
Equations
- K.faceEdge t i = ⟨{K.faceVertex t i, K.faceVertex t (i + 1)}, ⋯⟩
Instances For
The consecutive face edges share exactly their common cyclic vertex.
Vertices which actually occur in a maximal face.
Instances For
A cyclic face vertex with explicit evidence that it occurs in the complex.
Equations
- K.faceUsedVertex t i = ⟨K.faceVertex t i, ⋯⟩
Instances For
A chosen maximal face containing a used vertex.
Equations
Instances For
The canonical barycentric point of a used vertex.
Equations
- K.vertexPoint v = ⟨Pi.single (↑v) 1, ⋯⟩
Instances For
A chosen old face containing an edge.
Equations
- K.edgeParent e = Classical.choose ⋯
Instances For
The chosen first endpoint of an intrinsic edge.
Instances For
The chosen second endpoint of an intrinsic edge.
Equations
- K.edgeSecond e = ⋯.choose
Instances For
The canonical barycentric realization point associated to a vertex of an edge.
Equations
- K.edgeVertexPoint e v hv = ⟨Pi.single v 1, ⋯⟩
Instances For
Canonical first endpoint in the barycentric realization.
Equations
- K.edgeFirstPoint e = K.edgeVertexPoint e (K.edgeFirst e) ⋯
Instances For
Canonical second endpoint in the barycentric realization.
Equations
- K.edgeSecondPoint e = K.edgeVertexPoint e (K.edgeSecond e) ⋯
Instances For
The first endpoint as a used vertex.
Equations
- K.edgeFirstUsed e = ⟨K.edgeFirst e, ⋯⟩
Instances For
The second endpoint as a used vertex.
Equations
- K.edgeSecondUsed e = ⟨K.edgeSecond e, ⋯⟩
Instances For
The canonical first endpoint depends only on its underlying used vertex, not on the chosen maximal face witnessing that the vertex is used.
The analogous proof-independence statement for the second endpoint.
The arbitrary endpoint ordering of a cyclic face edge is one of its two cyclic orientations.
The canonical interval parametrization of an intrinsic edge.
Equations
- K.edgePath e r = ⟨(AffineMap.lineMap ↑(K.edgeFirstPoint e) ↑(K.edgeSecondPoint e)) ↑r, ⋯⟩
Instances For
An ambient map restricted to the canonical interval of one intrinsic edge.
Equations
- K.mappedEdgePath h e = h ∘ K.edgePath e
Instances For
Intrinsic face carriers meet exactly in the carrier of the common vertex set.
The canonical interval path covers exactly the barycentric carrier of its edge.
The open barycentric carriers of distinct intrinsic edges are disjoint.
A realization point supported on one used vertex is its canonical vertex point.
A nonempty barycentric carrier with at most one vertex, contained in a listed face, consists of one canonical vertex point.
Exact range of an intrinsic edge after applying an ambient map.
Nonincident intrinsic edges have disjoint ranges under an injective map.
f is affine on an intrinsic set when it is the restriction of an ambient affine map in
barycentric coordinates.
Instances For
Restrict an intrinsic affine-on-set certificate to a smaller source set.
The plane-target specialization of intrinsic affinity on an arbitrary set.
Equations
- K.IsAffineOnSet f A = K.IsAffineOnSetTo f A
Instances For
Intrinsic affine-on-set maps to the plane are continuous on that set.
f is affine on one intrinsic face when it is the restriction of an ambient affine map in
barycentric coordinates.
Equations
- K.IsAffineOnFaceTo f t = ∃ (a : (K.Vertex → ℝ) →ᵃ[ℝ] E), ∀ x ∈ K.faceCarrier t, f x = a ↑x
Instances For
The plane-target specialization used by PL approximation.
Equations
- K.IsAffineOnFace f t = K.IsAffineOnFaceTo f t
Instances For
A faithful intrinsic subdivision. The refined realization is homeomorphic to the original; the homeomorphism is affine on each refined face and carries that face into an old face.
- refined : IntrinsicTwoComplex
The
refineddeclaration. The
homeodeclaration.
Instances For
Every intrinsic complex is a subdivision of itself.
Equations
- LeanEval.Topology.ClassificationOfSurfaces.Moise.IntrinsicTwoComplex.Subdivision.refl K = { refined := K, homeo := Homeomorph.refl K.realization, affineOnFace := ⋯, subordinate := ⋯ }
Instances For
Faithful intrinsic subdivisions compose.
Equations
Instances For
A map from an intrinsic complex to the plane is PL when it becomes affine on every face of a faithful finite subdivision.
Equations
- K.IsPLMap f = ∃ (R : K.Subdivision), ∀ t ∈ R.refined.faces, R.refined.IsAffineOnFace (f ∘ ⇑R.homeo) t
Instances For
The target-vector-space form of intrinsic piecewise linearity.
Equations
- K.IsPLMapTo f = ∃ (R : K.Subdivision), ∀ t ∈ R.refined.faces, R.refined.IsAffineOnFaceTo (f ∘ ⇑R.homeo) t
Instances For
Intrinsic PL maps into the plane are continuous. Continuity is glued over the finite family of closed refined faces and transported back through the subdivision homeomorphism.
A globally affine map in barycentric coordinates is intrinsically PL.
The affine barycentric map determined by positions assigned to the vertices.
Equations
- K.barycentricMap p x = ∑ v : K.Vertex, ↑x v • p v
Instances For
A homeomorphism of canonical realizations that is intrinsically PL in both directions.
The
toHomeomorphdeclaration.- isPL_to : K.IsPLMapTo fun (x : K.realization) => ↑(self.toHomeomorph x)
- isPL_inv : L.IsPLMapTo fun (x : L.realization) => ↑(self.toHomeomorph.symm x)
Instances For
The identity intrinsic PL homeomorphism.
Equations
- LeanEval.Topology.ClassificationOfSurfaces.Moise.IntrinsicTwoComplex.PLHomeomorph.refl K = { toHomeomorph := Homeomorph.refl K.realization, isPL_to := ⋯, isPL_inv := ⋯ }
Instances For
A faithful subdivision is itself a PL homeomorphism between the refined and original realizations. For the inverse direction, use the same subdivision as the witness: after precomposition with its homeomorphism the inverse is the identity.
Equations
- LeanEval.Topology.ClassificationOfSurfaces.Moise.IntrinsicTwoComplex.Subdivision.toPLHomeomorph K R = { toHomeomorph := R.homeo, isPL_to := ⋯, isPL_inv := ⋯ }
Instances For
A PL map on a refinement is PL on the original intrinsic complex.