Documentation

CslibFrontier.Computability.Complexity.Problems.Graph.PolygonalDrawing.RestorationOrder

Exact clockwise order after actual nonloop restoration #

Retained triples preserve literal cyclic order inside either source block. The selected connector occupies its prescribed source insertion slot, including empty-tail cases.

Retained triples preserve the exact source clockwise order at every vertex.

theorem Cslib.Complexity.Graph.PolygonalDrawing.clockwise_restoration_selected {G : Graph} {u v : ℕ} (r : (RotationSystem.lastEdgeGraph G u v).RotationSystem) (huv : u ≠ v) (D : (RotationSystem.contractLastEdgeGraph G u v).PolygonalDrawing) (ρ : ℝ) (a b : ℂ) (horder : ∀ (side : Bool) (x y : { d : (RotationSystem.contractLastEdgeGraph G u v).Dart // d.vertex = v }), (RotationSystem.contractionLift G u v ↑x).vertex = (RotationSystem.lastEdgeDart G u v side).vertex → (RotationSystem.contractionLift G u v ↑y).vertex = (RotationSystem.lastEdgeDart G u v side).vertex → x ≠ y → (sbtw ↑(if side = true then a - b else b - a).arg ↑(D.cutPort ρ ↑x - if side = true then b else a).arg ↑(D.cutPort ρ ↑y - if side = true then b else a).arg ↔ r.rotationDistance (RotationSystem.lastEdgeDart G u v side) (RotationSystem.contractionLift G u v ↑y) < r.rotationDistance (RotationSystem.lastEdgeDart G u v side) (RotationSystem.contractionLift G u v ↑x))) (side : Bool) (y z : (RotationSystem.contractLastEdgeGraph G u v).Dart) (hy : (RotationSystem.contractionLift G u v y).vertex = (RotationSystem.lastEdgeDart G u v side).vertex) (hz : (RotationSystem.contractionLift G u v z).vertex = (RotationSystem.lastEdgeDart G u v side).vertex) (hyz : y ≠ z) :

The selected connector occupies its exact original insertion slot. The retained pair order is the internally constructed complementary fan gap, in either orientation.

theorem Cslib.Complexity.Graph.PolygonalDrawing.Realizes.restoration {G : Graph} {u v : ℕ} (r : (RotationSystem.lastEdgeGraph G u v).RotationSystem) (huv : u ≠ v) {D : (RotationSystem.contractLastEdgeGraph G u v).PolygonalDrawing} (hD : D.IsEmbedding) (hR : D.Realizes (r.contractLastEdge huv)) {ρ : ℝ} (hρ : 0 < ρ) (hlen : ∀ (d : (RotationSystem.contractLastEdgeGraph G u v).Dart), d.vertex = v → 3 * ρ < ‖D.germ d‖) {a b : ℂ} (ha : a ∈ Metric.ball (D.vertex v) ρ) (hb : b ∈ Metric.ball (D.vertex v) ρ) (hnew : (D.restoration huv ρ a b).IsEmbedding) (horder : ∀ (side : Bool) (x y : { d : (RotationSystem.contractLastEdgeGraph G u v).Dart // d.vertex = v }), (RotationSystem.contractionLift G u v ↑x).vertex = (RotationSystem.lastEdgeDart G u v side).vertex → (RotationSystem.contractionLift G u v ↑y).vertex = (RotationSystem.lastEdgeDart G u v side).vertex → x ≠ y → (sbtw ↑(if side = true then a - b else b - a).arg ↑(D.cutPort ρ ↑x - if side = true then b else a).arg ↑(D.cutPort ρ ↑y - if side = true then b else a).arg ↔ r.rotationDistance (RotationSystem.lastEdgeDart G u v side) (RotationSystem.contractionLift G u v ↑y) < r.rotationDistance (RotationSystem.lastEdgeDart G u v side) (RotationSystem.contractionLift G u v ↑x))) :
(D.restoration huv ρ a b).Realizes r

The actual restored drawing realizes the exact source rotation when its internally constructed connector has the prescribed complementary gap order.