OAI/Combinatorics/PlanarL1/Surgery.lean
60 declarations, 0 contain sorry, 0 declared as axioms
- lemma
OAI.PlanarL1.Topology.small_homothety_subsetline 14 - lemma
OAI.PlanarL1.Topology.convex_radial_cutline 35Source documentation
The radial exit from a convex neighbourhood. Both portions of the original segment are controlled; this is the actual cut used in a disk surgery.
lemma convex_radial_cut {S : Set E} (hS : Convex ℝ S) (h0 : S ∈ nhds (0:E)) {p : E} (hp : p ∉ closure S) : ∃ t : ℝ, 0<t ∧ t<1 ∧ t•p ∈ frontier S ∧ (∀ s : ℝ, 0 ≤ s → s < t → s • p ∈ interior S) ∧ (∀ s : ℝ, t < s → s • p ∉ closure S) := by … - lemma
OAI.PlanarL1.Topology.convex_frontier_radial_interiorline 58 - lemma
OAI.PlanarL1.Topology.convex_frontier_scaled_segmentline 65 - lemma
OAI.PlanarL1.Topology.PLDrawing.ofRegionsline 85Source documentation
Polygonal edge regions with exactly the prescribed intersections give a literal simple polyline drawing, by finite loop erasure inside each region.
lemma ofRegions (p : V → ℂ) (hp : Function.Injective p) (R : ForwardDart G → Set ℂ) (hmem : ∀ d, p d.val.fst ∈ R d) (hjoin : ∀ d, PolygonallyJoined (R d) (p d.val.fst) (p d.val.snd)) (hvertex : ∀ d v, p v ∈ R d → Incident d v) (hinter : ∀ d e, d≠e → ∀ z, z∈R d → z∈R e → (z=p d.val.fst ∨ z=p d.val.snd) ∧ (z=p e.val.fst ∨ z=p e.val.snd)) : ∃ Q : PLDrawing G, Q.point=p ∧ ∀ d, (Q.chain d).trace ⊆ R d := by …Mentions: OAI.PlanarL1.Topology.ForwardDart, OAI.PlanarL1.Topology.PolygonallyJoined, OAI.PlanarL1.Topology.PLDrawing.Incident, OAI.PlanarL1.Topology.PLDrawing
- def
OAI.PlanarL1.Topology.PLDrawing.radialPointline 107 - def
OAI.PlanarL1.Topology.PLDrawing.radialRegionline 110 - lemma
OAI.PlanarL1.Topology.PLDrawing.radial_segment_subsetline 122 - lemma
OAI.PlanarL1.Topology.PLDrawing.radialRegion_subsetline 136 - lemma
OAI.PlanarL1.Topology.PLDrawing.radial_port_not_coreline 145 - lemma
OAI.PlanarL1.Topology.PLDrawing.radialPoint_injectiveline 157 - lemma
OAI.PlanarL1.Topology.PLDrawing.radialPoint_in_tailline 174 - lemma
OAI.PlanarL1.Topology.PLDrawing.radialRegion_vertexline 191 - lemma
OAI.PlanarL1.Topology.PLDrawing.radialRegions_intersectline 211 - lemma
OAI.PlanarL1.Topology.PLDrawing.radialPoint_mem_regionline 229 - lemma
OAI.PlanarL1.Topology.PLDrawing.radialRegion_joinedline 242 - lemma
OAI.PlanarL1.Topology.PLDrawing.radial_leaf_portsline 265Source documentation
All leaf tails may be cut at different positive radial coordinates. The result is an actual drawing, not merely a nonintersection promise.
lemma radial_leaf_ports : ∃ Q : PLDrawing G, Q.point=P.radialPoint B c t ∧ ∀ d, (Q.chain d).trace ⊆ P.radialRegion B c t d := by …Mentions: OAI.PlanarL1.Topology.PLDrawing
- lemma
OAI.PlanarL1.Topology.PLDrawing.radialRegion_subset_convexline 278 - lemma
OAI.PlanarL1.Topology.PolygonallyJoined.symmline 300 - def
OAI.PlanarL1.Topology.PLDrawing.movedPointline 309 - def
OAI.PlanarL1.Topology.PLDrawing.movedRegionline 312 - lemma
OAI.PlanarL1.Topology.PLDrawing.movedPoint_injectiveline 322 - lemma
OAI.PlanarL1.Topology.PLDrawing.movedRegion_vertexline 341 - lemma
OAI.PlanarL1.Topology.PLDrawing.movedRegions_intersectline 358 - lemma
OAI.PlanarL1.Topology.PLDrawing.movedPoint_mem_regionline 383 - lemma
OAI.PlanarL1.Topology.PLDrawing.movedRegion_joinedline 398 - lemma
OAI.PlanarL1.Topology.PLDrawing.move_leafline 415Source documentation
Extending a drawn leaf along a polygonal region disjoint from the rest of the drawing preserves a literal polyline drawing and the exact vertices.
lemma move_leaf (hjoin : PolygonallyJoined S (P.point v) q) : ∃ Q : PLDrawing G, Q.point=P.movedPoint v q ∧ ∀ d, (Q.chain d).trace ⊆ P.movedRegion v S d := by …Mentions: OAI.PlanarL1.Topology.PolygonallyJoined, OAI.PlanarL1.Topology.PLDrawing
- lemma
OAI.PlanarL1.Topology.convex_segment_cutline 438 - lemma
OAI.PlanarL1.Topology.convex_frontier_segmentline 461 - lemma
OAI.PlanarL1.Topology.capsule_avoiding_portsline 476Source documentation
A convex capsule around one radial arm avoids all other ports and every closed external obstacle. This is the merging disk, not an assumed regular neighbourhood of an embedded tree.
lemma capsule_avoiding_ports {ι : Type*} [Finite ι] (p : ι → ℂ) (hinj : Function.Injective p) {B : Set ι} {v : ι} (hv : v∈B) {S F : Set ℂ} (hS : Convex ℝ S) (h0 : S∈nhds (0:ℂ)) (hport : ∀ w∈B, p w∈frontier S) (hF : IsClosed F) (hdisj : Disjoint (segment ℝ 0 (p v)) F) : ∃ T : Set ℂ, Convex ℝ T ∧ IsOpen T ∧ Bornology.IsBounded T ∧ segment ℝ 0 (p v) ⊆ T ∧ Disjoint (closure T) F ∧ ∀ w∈B, w≠v → p w∉closure T := by … - lemma
OAI.PlanarL1.Topology.capsule_radial_dataline 499Source documentation
Radial cuts of all unselected ports, after a sufficiently small homothety of the bounded old disk. The selected port stays in the interior of the new disk; it will be extended along the next exterior straight piece.
lemma capsule_radial_data {ι : Type*} (p : ι → ℂ) {B : Set ι} {v : ι} {S T : Set ℂ} (hSbound : Bornology.IsBounded S) (hpoint : ∀ w, p w∈closure S) (hT : Convex ℝ T) (hTop : IsOpen T) (hT0 : (0:ℂ)∈T) (hout : ∀ w∈B, w≠v → p w∉closure T) : ∃ (c : ℝ) (t : ι → ℝ), 0<c ∧ c<1 ∧ (fun z : ℂ => c•z) '' closure S ⊆ T ∧ t v=1 ∧ (∀ w∈B, c<t w ∧ t w≤1) ∧ (∀ w∈B, w≠v → t w•p w∈frontier T) ∧ (∀ w∈B, w≠v → ∀ s : ℝ, t w < s → s•p w∉closure T) := by … - def
OAI.PlanarL1.Topology.PLDrawing.forwardline 549 - lemma
OAI.PlanarL1.Topology.PLDrawing.forward_endpointsline 554 - lemma
OAI.PlanarL1.Topology.PLDrawing.forward_symmline 560 - def
OAI.PlanarL1.Topology.PLDrawing.regionline 569 - lemma
OAI.PlanarL1.Topology.PLDrawing.region_eqline 572 - lemma
OAI.PlanarL1.Topology.PLDrawing.region_symmline 575 - lemma
OAI.PlanarL1.Topology.PLDrawing.region_joinedline 581 - lemma
OAI.PlanarL1.Topology.PLDrawing.region_startline 588 - lemma
OAI.PlanarL1.Topology.PLDrawing.region_endline 595 - lemma
OAI.PlanarL1.Topology.PLDrawing.region_vertexline 598 - lemma
OAI.PlanarL1.Topology.PLDrawing.region_intersectline 606 - lemma
OAI.PlanarL1.Topology.PLDrawing.ofSymmetricRegionsline 626 - def
OAI.PlanarL1.Topology.leafExtensionline 647Source documentation
Adding finitely many new leaves to one vertex; no geometric or metric conclusion is included in this graph definition.
def leafExtension {V W : Type} (G : SimpleGraph V) (v : V) : SimpleGraph (V⊕W) where … - def
OAI.PlanarL1.Topology.PLDrawing.starPointline 663 - def
OAI.PlanarL1.Topology.PLDrawing.starRegionline 665 - lemma
OAI.PlanarL1.Topology.PLDrawing.attachLeavesline 673Source documentation
A finite star of genuinely disjoint polygonal arms can be attached at an existing vertex while retaining every old vertex and edge region.
lemma attachLeaves (hq : ∀ w, q w≠P.point v) (hstart : ∀ w, P.point v∈A w) (hend : ∀ w, q w∈A w) (hjoin : ∀ w, PolygonallyJoined (A w) (P.point v) (q w)) (hvertex : ∀ w u, P.point u∈A w → u=v) (hdisj : ∀ w w', w≠w' → ∀ z, z∈A w → z∈A w' → z=P.point v) (hold : ∀ w u x, G.Adj u x → ∀ z, z∈A w → z∈P.region u x → z=P.point v) : ∃ Q : PLDrawing (leafExtension (W := W) G v), Q.point=P.starPoint q ∧ …Mentions: OAI.PlanarL1.Topology.PolygonallyJoined, OAI.PlanarL1.Topology.PLDrawing, OAI.PlanarL1.Topology.leafExtension
- lemma
OAI.PlanarL1.Topology.PolygonallyJoined.affineline 800 - def
OAI.PlanarL1.Topology.SegmentChain.affineline 813 - lemma
OAI.PlanarL1.Topology.SegmentChain.affine_traceline 819 - lemma
OAI.PlanarL1.Topology.SegmentChain.trace_compactline 822 - lemma
OAI.PlanarL1.Topology.SegmentChain.affine_simpleline 829 - def
OAI.PlanarL1.Topology.SegmentChain.reverseline 844 - lemma
OAI.PlanarL1.Topology.SegmentChain.reverse_traceline 853 - def
OAI.PlanarL1.Topology.SegmentChain.prependline 877 - lemma
OAI.PlanarL1.Topology.SegmentChain.prepend_traceline 889 - def
OAI.PlanarL1.Topology.PLDrawing.affineline 915 - lemma
OAI.PlanarL1.Topology.PLDrawing.affine_pointline 939 - lemma
OAI.PlanarL1.Topology.PLDrawing.affine_traceline 940 - lemma
OAI.PlanarL1.Topology.PLDrawing.region_compactline 944