Komorebi Space · Lean source

HolonomyViews.lean

Declared contract recorded Coverage and evidence

The cited release explicitly reports completion of its registered formal contract, under its exact hypotheses.

This viewer reads the retained source; it does not run Lean or assign new claim mappings.

Local imports (2)

KomorebiSpace/HolonomyViews.lean99 lines

Original source pathlean/KomorebiSpace/HolonomyViews.lean
Skip declarations and read code

Skip source text

1 import KomorebiSpace.HolonomyRepair
2 import KomorebiSpace.ViewSections
3 
4 set_option autoImplicit false
5 
6 /-!
7 # The actual ambient view system for path-dependent transport
8 
9 A graph walk, rather than only its endpoints, is a morphism. Parallel sections
10 of this category are exactly the edge-compatible data. This retains nontrivial
11 loop operators instead of collapsing the graph to a thin comparison category.
12 -/
13 universe u v
14 noncomputable section
15 namespace KomorebiSpace
16 namespace HolonomyTransport
17 variable {V : Type u} {H : Type v}
18 variable [NormedAddCommGroup H] [NormedSpace ℝ H]
19 
20 /-- Keeping the graph as a parameter prevents a global category instance on V. -/
21 structure PathView (graph : SimpleGraph V) where
22   vertex : V
23 
24 instance pathViewCategory (graph : SimpleGraph V) : CategoryTheory.Category (PathView graph) where
25   Hom i j := graph.Walk i.vertex j.vertex
26   id _ := SimpleGraph.Walk.nil
27   comp p q := p.append q
28   id_comp := by intros; rfl
29   comp_id := by intro i j p; exact SimpleGraph.Walk.append_nil p
30   assoc := by intro i j k l p q r; exact (SimpleGraph.Walk.append_assoc p q r).symm
31 
32 namespace Connection
33 variable (T : Connection V H) (graph : SimpleGraph V)
34 
35 def pathViews : ViewSystem (PathView graph) where
36   Obj := fun _ => H
37   pull := fun f => T.walkTransport f
38   pull_id := by intros; rfl
39   pull_comp := by intro i j k f g z; exact T.walkTransport_append f g z
40 
41 def ambientValues (x : (T.pathViews graph).Ambient) : V → H := fun i => x.val ⟨i⟩
42 
43 def toAmbient (x : V → H) (hx : T.Parallel graph x) : (T.pathViews graph).Ambient :=
44   ⟨fun i => x i.vertex, fun _i _j f => T.parallel_walk x hx f⟩
45 
46 @[simp] theorem toAmbient_coordinate (x : V → H) (hx : T.Parallel graph x) (i : V) :
47     (T.toAmbient graph x hx).val ⟨i⟩ = x i := rfl
48 
49 theorem ambient_parallel (x : (T.pathViews graph).Ambient) :
50     T.Parallel graph (fun i => x.val ⟨i⟩) := by
51   intro i j hij
52   exact x.property ⟨i⟩ ⟨j⟩ (.cons hij .nil)
53 
54 /-- This is the old Ambient type with the new, actual walk restriction maps. -/
55 def ambientParallelEquiv :
56     (T.pathViews graph).Ambient ≃ {x : V → H // T.Parallel graph x} where
57   toFun x := ⟨fun i => x.val ⟨i⟩, T.ambient_parallel graph x⟩
58   invFun x := T.toAmbient graph x.val x.property
59   left_inv := by intro x; apply ViewSystem.Ambient.ext; intro i; rfl
60   right_inv := by intro x; rfl
61 
62 end Connection
63 
64 namespace Rooted
65 variable (T : Connection V H) {graph : SimpleGraph V} {o : V}
66 variable (p : OverlapTransport.Routing graph o)
67 
68 def ambientParameters : fixedSpace T p ≃ (T.pathViews graph).Ambient where
69   toFun z := T.toAmbient graph (reconstruct T p z.val)
70     ((reconstruct_parallel_iff T p z.val).mpr z.property)
71   invFun x := ⟨x.val ⟨o⟩, parallel_anchor_fixed T p (fun i => x.val ⟨i⟩)
72     (T.ambient_parallel graph x)⟩
73   left_inv := by intro z; apply Subtype.ext; exact reconstruct_anchor T p z.val
74   right_inv := by
75     intro x
76     apply ViewSystem.Ambient.ext
77     intro i
78     exact congrFun (parallel_reconstruction T p (fun j => x.val ⟨j⟩)
79       (T.ambient_parallel graph x)) i.vertex
80 
81 @[simp] theorem ambientParameters_coordinate (z : fixedSpace T p) (i : V) :
82     (ambientParameters T p z).val ⟨i⟩ = frame T p i z.val := rfl
83 
84 section Finite
85 variable [Fintype V]
86 
87 theorem quantitative_ambient_realization (U : Set V) (ho : o ∈ U) (x : V → H)
88     (hx : (problem T (graph := graph) U).obstruction x = 0) :
89     ∃ s : (T.pathViews graph).Ambient,
90       (∀ i : U, s.val ⟨i.val⟩ = x i.val) ∧
91       ‖x - T.ambientValues graph s‖ ≤ (p.radius : ℝ) * ‖T.differential graph x‖ := by
92   obtain ⟨y,hy,_⟩ := quantitative_prescribed_repair T p U ho x hx
93   exact ⟨T.toAmbient graph y hy.1, hy.2.1, hy.2.2⟩
94 
95 end Finite
96 end Rooted
97 end HolonomyTransport
98 end KomorebiSpace
99 end

Back to source controls

Original file and source record

This copy matches the recorded source file. Its publication here does not change the work’s review status.

SHA-256: 1082d4c56ca67225bc0d20e90ca06b15caa672fa261bb1926b15d704357cc015

Original source on GitHub

Back to Komorebi Space