OAI/Probability/GammaPassage/LoopErasure.lean
26 declarations, 0 contain sorry, 0 declared as axioms
- abbrev
OAI.GammaFPP.LoopGraph.Weightsline 14Source documentation
Undirected edge weights; the domain contains only actual edges.
abbrev Weights (G : SimpleGraph V) := G.edgeSet → ℝ
- def
OAI.GammaFPP.LoopGraph.edgeCostline 16 - theorem
OAI.GammaFPP.LoopGraph.edgeCost_symmline 19 - def
OAI.GammaFPP.LoopGraph.pathCostline 24Source documentation
Recursion counts repeated traversals with multiplicity.
def pathCost (w : Weights G) {x y : V} : G.Walk x y → ℝ | .nil => 0 | .cons h p => edgeCost w h + pathCost w pMentions: OAI.GammaFPP.LoopGraph.Weights, OAI.GammaFPP.LoopGraph.edgeCost
- theorem
OAI.GammaFPP.LoopGraph.pathCost_nilline 28 - theorem
OAI.GammaFPP.LoopGraph.pathCost_consline 31 - lemma
OAI.GammaFPP.LoopGraph.pathCost_eq_darts_sumline 35 - theorem
OAI.GammaFPP.LoopGraph.bypass_cost_leline 42Source documentation
Loop erasure does not increase a path's physical cost.
theorem bypass_cost_le [DecidableEq V] (w : Weights G) (hw : ∀ e, 0 ≤ w e) {x y : V} (p : G.Walk x y) : pathCost w p.bypass ≤ pathCost w p := by …Mentions: OAI.GammaFPP.LoopGraph.Weights, OAI.GammaFPP.LoopGraph.pathCost
- abbrev
OAI.GammaFPP.LoopGraph.Vertexline 50 - def
OAI.GammaFPP.LoopGraph.latticeline 52 - abbrev
OAI.GammaFPP.LoopGraph.Edgeline 57 - abbrev
OAI.GammaFPP.LoopGraph.Environmentline 58 - lemma
OAI.GammaFPP.LoopErase.companion_adj_stepline 65 - lemma
OAI.GammaFPP.LoopErase.companion_adj_iffline 69 - def
OAI.GammaFPP.LoopErase.companionEdgeline 86 - lemma
OAI.GammaFPP.LoopErase.companionEdge_stepline 90 - lemma
OAI.GammaFPP.LoopErase.companionEdge_injectiveline 95 - lemma
OAI.GammaFPP.LoopErase.companionEdge_surjectiveline 102 - def
OAI.GammaFPP.LoopErase.companionEdgeEquivline 109 - def
OAI.GammaFPP.LoopErase.companionWeightsline 112 - lemma
OAI.GammaFPP.LoopErase.companionWeights_edgeline 115 - lemma
OAI.GammaFPP.LoopErase.companion_pathCost_copyline 120 - lemma
OAI.GammaFPP.LoopErase.steps_companion_walkline 125 - lemma
OAI.GammaFPP.LoopErase.companion_walk_steps_edgesline 143Source documentation
The walk-to-step bridge preserves the ordered list of unoriented edges, in addition to endpoints and traversal-counted cost.
lemma companion_walk_steps_edges (w : Edge → ℝ) {p q : Vertex} (walk : GammaFPP.LoopGraph.lattice.Walk p q) : ∃ ds : List Step, p+displacement ds=q ∧ pathCost w p ds=GammaFPP.LoopGraph.pathCost (companionWeights w) walk ∧ ((trace p ds).map (fun t => (companionEdge (traversalEdge t)).val))=walk.edges := by …Mentions: OAI.GammaFPP.LoopGraph.pathCost, OAI.GammaFPP.LoopErase.companionWeights, OAI.GammaFPP.LoopErase.companionEdge
- theorem
OAI.GammaFPP.LoopErase.erase_path_loopsline 161Source documentation
Loop erasure in the exact original path model, for arbitrary endpoints and nonnegative real weights. It never increases cost.
theorem erase_path_loops (w : Edge → ℝ) (hw : ∀ e, 0 ≤ w e) (p : Vertex) (ds : List Step) : ∃ es : List Step, displacement es=displacement ds ∧ ((trace p es).map traversalEdge).Nodup ∧ pathCost w p es ≤ pathCost w p ds := by … - theorem
OAI.GammaFPP.LoopErase.exists_near_optimal_simple_pathline 176Source documentation
Near-optimal paths with simple physical-edge traces, at every pair of lattice endpoints and every positive approximation error.
theorem exists_near_optimal_simple_path (w : Edge → ℝ) (hw : ∀ e, 0 ≤ w e) (p q : Vertex) (ε : ℝ) (hε : 0 < ε) : ∃ ds : List Step, p+displacement ds=q ∧ ((trace p ds).map traversalEdge).Nodup ∧ passageTime w p q ≤ pathCost w p ds ∧ pathCost w p ds < passageTime w p q+ε := by …