OAI/Probability/FKMaps/GraphWedge.lean
48 declarations, 0 contain sorry, 0 declared as axioms
- lemma
OAI.FKCRT.GraphWedge.retraction_pair_edist_leline 13Source documentation
Each original edge belongs to exactly one block; a collapsed loop may have zero cost in either retraction. This local statement implies the full global, all-edge metric lower bound.
lemma retraction_pair_edist_le (r : V→A) (s : V→B) (h : ∀ {u v},H.Adj u v → G.edist (r u) (r v)+K.edist (s u) (s v) ≤ 1) (u v : V) : G.edist (r u) (r v)+K.edist (s u) (s v) ≤ H.edist u v := by … - lemma
OAI.FKCRT.GraphWedge.hom_edist_leline 33 - structure
OAI.FKCRT.GraphWedge.Dataline 43Source documentation
Combinatorial data of an actual one-vertex union. Distances are not part of these hypotheses; they are derived from the adjacency data below.
structure Data where …
- lemma
OAI.FKCRT.GraphWedge.Data.cost_leline 62 - theorem
OAI.FKCRT.GraphWedge.Data.edist_leftline 70Source documentation
Attachments cannot shorten distances within any block.
theorem edist_left (D : Data G K H) (x y : A) : H.edist (D.left x) (D.left y)=G.edist x y := by …
Mentions: OAI.FKCRT.GraphWedge.Data
- theorem
OAI.FKCRT.GraphWedge.Data.edist_rightline 75 - theorem
OAI.FKCRT.GraphWedge.Data.edist_crossline 81Source documentation
Distances between blocks add exactly through their shared pole.
theorem edist_cross (D : Data G K H) (x : A) (y : B) : H.edist (D.left x) (D.right y)=G.edist x D.poleLeft+K.edist D.poleRight y := by …Mentions: OAI.FKCRT.GraphWedge.Data
- def
OAI.FKCRT.PermutationWedge.sideSetoidline 104 - abbrev
OAI.FKCRT.PermutationWedge.Sideline 108 - def
OAI.FKCRT.PermutationWedge.sideMkline 109 - abbrev
OAI.FKCRT.PermutationWedge.Vertexline 110 - def
OAI.FKCRT.PermutationWedge.vertexline 111 - def
OAI.FKCRT.PermutationWedge.dartGraphline 113 - def
OAI.FKCRT.PermutationWedge.sideGraphline 116 - def
OAI.FKCRT.PermutationWedge.inclusionline 123Source comment
The maps below operate on the actual rotation-cycle quotients.def inclusion : Side p S→Vertex (swap a b*p) := Quotient.lift …
Mentions: OAI.FKCRT.PermutationWedge.Side, OAI.FKCRT.PermutationWedge.Vertex
- lemma
OAI.FKCRT.PermutationWedge.inclusion_mkline 127 - lemma
OAI.FKCRT.PermutationWedge.inclusion_injectiveline 129 - def
OAI.FKCRT.PermutationWedge.retractDline 139 - lemma
OAI.FKCRT.PermutationWedge.retractD_eq_of_joinline 143 - def
OAI.FKCRT.PermutationWedge.retractline 156 - lemma
OAI.FKCRT.PermutationWedge.retract_vertexline 159 - lemma
OAI.FKCRT.PermutationWedge.retract_inclusionline 161 - def
OAI.FKCRT.PermutationWedge.flipInclusionline 165 - lemma
OAI.FKCRT.PermutationWedge.flipInclusion_injectiveline 169 - def
OAI.FKCRT.PermutationWedge.flipRetractDline 179 - lemma
OAI.FKCRT.PermutationWedge.flipRetractD_eq_of_joinline 183 - def
OAI.FKCRT.PermutationWedge.flipRetractline 191 - lemma
OAI.FKCRT.PermutationWedge.flipRetract_vertexline 194 - lemma
OAI.FKCRT.PermutationWedge.flipRetract_flipInclusionline 196 - lemma
OAI.FKCRT.PermutationWedge.flipRetract_inclusionline 200 - lemma
OAI.FKCRT.PermutationWedge.retract_flipInclusionline 205 - lemma
OAI.FKCRT.PermutationWedge.inclusion_polesline 210 - def
OAI.FKCRT.PermutationWedge.inclusionHomline 215 - def
OAI.FKCRT.PermutationWedge.flipInclusionHomline 224 - lemma
OAI.FKCRT.PermutationWedge.retraction_edgeline 233 - def
OAI.FKCRT.PermutationWedge.dataline 265Source documentation
Actual permutation-map insertion satisfies graph-wedge adjacency data. No metric or distance assertion is supplied as an assumption.
def data : GraphWedge.Data (sideGraph e p S he) (sideGraph e p Sᶜ (fun d => not_congr (he d))) (dartGraph e (swap a b*p)) where …Mentions: OAI.FKCRT.GraphWedge.Data, OAI.FKCRT.PermutationWedge.sideGraph, OAI.FKCRT.PermutationWedge.dartGraph
- abbrev
OAI.FKCRT.Chords.Openerline 290 - def
OAI.FKCRT.Chords.Crossline 292 - def
OAI.FKCRT.Chords.graphline 296 - def
OAI.FKCRT.Chords.Insideline 301 - lemma
OAI.FKCRT.Chords.opener_endpoints_neline 304 - lemma
OAI.FKCRT.Chords.inside_propagatesline 322Source documentation
A chord which crosses a chord strictly inside a third chord must either be inside the third chord or cross it. Endpoint disjointness is explicit.
lemma inside_propagates (a : Perm (Fin N)) (ha : Function.Involutive a) (f x y : Opener a) (hyf : y≠f) (hc : Cross a x y) (hn : ¬Cross a f y) (hx : Inside a f x) : Inside a f y := by …Mentions: OAI.FKCRT.Chords.Opener, OAI.FKCRT.Chords.Cross, OAI.FKCRT.Chords.Inside
- theorem
OAI.FKCRT.Chords.component_gapline 339Source documentation
A chord outside the root crossing component has no root-component endpoint in its interior. This is the algebraic corner-separation lemma: it requires neither a Jordan-curve assumption nor a stipulated block law.
theorem component_gap (a : Perm (Fin N)) (ha : Function.Involutive a) (r f : Opener a) (hroot : r.val≤f.val) (hf : ¬(graph a).Reachable r f) (x : Opener a) (hx : (graph a).Reachable r x) : ¬(f.val < x.val ∧ x.val < a f.val) ∧ ¬(f.val < a x.val ∧ a x.val < a f.val) := by …Mentions: OAI.FKCRT.Chords.Opener, OAI.FKCRT.Chords.graph
- def
OAI.FKCRT.Chords.componentDartsline 371Source documentation
Actual endpoint set of the root crossing component.
def componentDarts (a : Perm (Fin N)) (r : Opener a) : Finset (Fin N) := …
Mentions: OAI.FKCRT.Chords.Opener
- lemma
OAI.FKCRT.Chords.mem_componentDartsline 374 - lemma
OAI.FKCRT.Chords.external_not_componentline 379 - def
OAI.FKCRT.Chords.gapIndexline 397Source documentation
The gap index is determined solely by the ordered root-component darts. The two ends of every exterior matched pair have the same gap index.
def gapIndex (a : Perm (Fin N)) (r : Opener a) (d : Fin N) : ℕ := …
Mentions: OAI.FKCRT.Chords.Opener
- theorem
OAI.FKCRT.Chords.exterior_same_gapline 400