Documentation

LeanPool.Schoenflies.MatchedArc

Matching and cutting simple polygonal arcs #

An ear can have an arbitrary finite number of abstract edges. On the target side we only obtain one set-level polygonal crosscut. This module supplies the two facts that reconcile those descriptions.

The inverse of a compact parametrisation #

theorem Schoenflies.continuousOn_invFunOn_image' {f : ℝ → Plane} {s : Set ℝ} (hs : IsCompact s) (hf : ContinuousOn f s) (hinj : Set.InjOn f s) :

A continuous injection of a compact set has a continuous invFunOn on its image.

A subarc of a polygonal arc is polygonal #

theorem Schoenflies.IsArcBetween.eq_of_subset_arc {A B C : Set Plane} {p q r s : Plane} (hA : IsArcBetween A p q) (hB : IsArcBetween B p q) (hC : IsArcBetween C r s) (hAC : A ⊆ C) (hBC : B ⊆ C) :
A = B

An arc contained in another arc is the unique closed subarc between its two endpoints. This form allows the ambient arc to have different endpoints.

theorem Schoenflies.IsArcBetween.isPolygonal_of_subset_arc {A C : Set Plane} {p q r s : Plane} (hA : IsArcBetween A p q) (hC : IsArcBetween C r s) (hpoly : IsPolygonal C) (hAC : A ⊆ C) :

Every closed subarc of a polygonal arc is polygonal.

Matching two named arcs #

structure Schoenflies.ArcHomeo (A B : Set Plane) (a b c d : Plane) :

A homeomorphism between two arcs, with the named endpoints matched in order. The maps are total functions because that is the shape needed by the split constructor; all inverse and continuity assertions are restricted to the two arc carriers.

Instances For
    theorem Schoenflies.ArcHomeo.injOn {A B : Set Plane} {a b c d : Plane} (h : ArcHomeo A B a b c d) :
    theorem Schoenflies.ArcHomeo.mapsTo {A B : Set Plane} {a b c d : Plane} (h : ArcHomeo A B a b c d) :
    theorem Schoenflies.ArcHomeo.mapsTo_invFun {A B : Set Plane} {a b c d : Plane} (h : ArcHomeo A B a b c d) :
    theorem Schoenflies.exists_arcHomeo {A B : Set Plane} {a b c d : Plane} (hA : IsArcBetween A a b) (hB : IsArcBetween B c d) :
    Nonempty (ArcHomeo A B a b c d)

    Any two named arcs admit an endpoint-preserving homeomorphism.

    Transporting a plane drawing along an arc homeomorphism #

    def Graph.mapDrawing {β : Type u_1} {A B : Set Schoenflies.Plane} {a b c d : Schoenflies.Plane} (m : Schoenflies.ArcHomeo A B a b c d) (drawing : β → ℝ → Schoenflies.Plane) :

    Apply the map of an arc homeomorphism to every edge parametrisation.

    Equations
    Instances For
      theorem Graph.edgeArc_mapDrawing {β : Type u_1} {A B : Set Schoenflies.Plane} {a b c d : Schoenflies.Plane} {drawing : β → ℝ → Schoenflies.Plane} (m : Schoenflies.ArcHomeo A B a b c d) (e : β) :
      edgeArc (mapDrawing m drawing) e = m.toFun '' edgeArc drawing e
      theorem Graph.pointSet_map_mapDrawing {β : Type u_1} {A B : Set Schoenflies.Plane} {a b c d : Schoenflies.Plane} {G : Graph Schoenflies.Plane β} {drawing : β → ℝ → Schoenflies.Plane} (m : Schoenflies.ArcHomeo A B a b c d) :
      (map m.toFun G).pointSet (mapDrawing m drawing) = m.toFun '' G.pointSet drawing
      theorem Graph.IsDrawing.map_arcHomeo {β : Type u_1} {A B : Set Schoenflies.Plane} {a b c d : Schoenflies.Plane} {G : Graph Schoenflies.Plane β} {drawing : β → ℝ → Schoenflies.Plane} (h : G.IsDrawing drawing) (m : Schoenflies.ArcHomeo A B a b c d) (hpoint : G.pointSet drawing = A) :
      (map m.toFun G).IsDrawing (mapDrawing m drawing)

      A drawing whose whole point set is one arc transports along an arc homeomorphism.