Finite PL homeomorphisms on compact plane polyhedra #
This is the concrete PL category needed by Moise Chapters 5 and 6. A witness records a pure finite source complex on which an ambient homeomorphism is affine facewise. Common subdivision and pullback make these witnesses closed under symmetry and composition.
An ambient homeomorphism is finitely PL on A, with an explicit pure source complex.
- complex : PlaneComplex
The
complexdeclaration. - affineOn (s : Finset self.complex.Vertex) : s ∈ self.complex.simplexes → IsAffineOn (⇑h) (self.complex.cellCarrier s)
Instances For
A finite PL homeomorphism between two compact plane polyhedra.
The underlying function need not be meaningful, continuous, or injective away from A; all
geometric data is deliberately relative to the source support.
- complex : PlaneComplex
The
complexdeclaration. - affineOn (s : Finset self.complex.Vertex) : s ∈ self.complex.simplexes → IsAffineOn f (self.complex.cellCarrier s)
- injOn : Set.InjOn f A
Instances For
Forget the explicit pure witness.
Reindex the certified target along a set equality.
Equations
- F.congrTarget hBC = { complex := F.complex, support_eq := ⋯, pure := ⋯, vertex_mem_support := ⋯, affineOn := ⋯, injOn := ⋯, image_eq := ⋯ }
Instances For
The target complex obtained by mapping every source face.
Equations
- F.targetComplex = F.complex.mapComplexOn f ⋯ ⋯ ⋯
Instances For
A set-theoretic inverse, used only on the certified target polyhedron.
Equations
- F.inverseOn y = if hy : y ∈ B then Classical.choose ⋯ else 0
Instances For
On a subdivision of the target complex, the certified inverse is affine facewise.
A common target refinement together with all data needed to pull it back through a finite PL homeomorphism. This is the relative-subdivision package used when a prescribed target mesh introduces new vertices on the boundary of a polygonal face.
- target : PlaneComplex
The
targetdeclaration. - target_subdivides_certificate : self.target.Subdivides F.targetComplex
- target_subdivides_given : self.target.Subdivides R
- inverseAffine (s : Finset self.target.Vertex) : s ∈ self.target.simplexes → IsAffineOn F.inverseOn (self.target.cellCarrier s)
Instances For
Pull a prescribed pure finite target mesh back through a certified finite PL homeomorphism. A common refinement is taken first, so no compatibility between the supplied mesh and the certificate's original target complex is required.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The actual source complex obtained by mapping the common target refinement through the certified inverse. It has the same vertex and simplex labels as the target refinement.
Equations
- P.source = P.target.mapComplexOn F.inverseOn ⋯ ⋯ ⋯
Instances For
Corresponding source and target faces are carried exactly onto one another by the original map.
Postcomposition by an ambient finite PL homeomorphism preserves finite PL cell homeomorphisms. A common target subdivision is pulled back through the first map.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Reindex a finite PL witness along an equality of its underlying polyhedron.
Instances For
Reindex a certificate along equality of ambient homeomorphisms.
Equations
- F.congrHomeomorph hg = hg ▸ F
Instances For
Forget the explicit pure witness and retain the ordinary finite PL-on-set predicate.
The geometric target complex obtained by mapping source vertices and faces.
Equations
- F.targetComplex = F.complex.mapComplex ⇑h ⋯ ⋯
Instances For
The inverse homeomorphism is PL on the exact image polyhedron.
Equations
- F.symm = { complex := F.targetComplex, support_eq := ⋯, pure := ⋯, affineOn := ⋯ }
Instances For
Identity is affine on every face of an explicit pure complex.
Equations
- LeanEval.Topology.ClassificationOfSurfaces.Moise.FinitePLHomeomorphOn.refl K hpure = { complex := K, support_eq := ⋯, pure := hpure, affineOn := ⋯ }
Instances For
Finite PL witnesses compose. The proof takes a common target subdivision, pulls it back through the first homeomorphism, and composes the two affine witnesses face by face.
Equations
- F.trans G = { complex := ⋯.choose.toPlaneComplex.mapComplex ⇑h.symm ⋯ ⋯, support_eq := ⋯, pure := ⋯, affineOn := ⋯ }
Instances For
A finite PL homeomorphism supported on a compact patch is finite PL on every finite plane polyhedron. The source is cut by all barycentric lines of the patch. A resulting triangle which meets the patch interior lies in one patch triangle; on every other triangle continuity extends the identity from its interior to its closure.
Equations
- F.extendByIdentity hfix K hKpure = { complex := (K.toTriangleMesh.refineTo F.complex.toTriangleMesh).toPlaneComplex, support_eq := ⋯, pure := ⋯, affineOn := ⋯ }