Komorebi Space · Lean source
AmplifiedViews.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 (3)
KomorebiSpace/AmplifiedViews.lean114 lines
Original source path
lean/KomorebiSpace/AmplifiedViews.leanSkip declarations and read code
1 import KomorebiSpace.AmplifiedRepair
2 import KomorebiSpace.HolonomyViews
3 import KomorebiSpace.ViewSections
4
5 set_option autoImplicit false
6
7 /-!
8 # Nonisometric reconstruction in the existing ambient-section language
9
10 The graph-walk view category is reused from v0.18. Only its actual transport
11 functor changes. The quantitative statement returns the old Ambient type.
12 -/
13 universe u v
14 noncomputable section
15 namespace KomorebiSpace
16 namespace AmplifiedTransport
17 variable {V : Type u} {H : Type v}
18 variable [NormedAddCommGroup H] [NormedSpace ℝ H]
19
20 abbrev PathView (graph : SimpleGraph V) := HolonomyTransport.PathView graph
21
22 namespace Connection
23 variable (T : Connection V H) (graph : SimpleGraph V)
24
25 def pathViews : ViewSystem (PathView graph) where
26 Obj := fun _ => H
27 pull := fun f => T.walkTransport f
28 pull_id := by intros; rfl
29 pull_comp := by intro i j k f g z; exact T.walkTransport_append f g z
30
31 def ambientValues (x : (T.pathViews graph).Ambient) : V → H := fun i => x.val ⟨i⟩
32
33 def toAmbient (x : V → H) (hx : T.Parallel graph x) : (T.pathViews graph).Ambient :=
34 ⟨fun i => x i.vertex, fun _i _j f => T.parallel_walk x hx f⟩
35
36 @[simp] theorem toAmbient_coordinate (x : V → H) (hx : T.Parallel graph x) (i : V) :
37 (T.toAmbient graph x hx).val ⟨i⟩ = x i := rfl
38
39 theorem ambient_parallel (x : (T.pathViews graph).Ambient) :
40 T.Parallel graph (fun i => x.val ⟨i⟩) := by
41 intro i j hij
42 exact x.property ⟨i⟩ ⟨j⟩ (.cons hij .nil)
43
44 /-- This is the old Ambient type with the new, actual walk restriction maps. -/
45 def ambientParallelEquiv :
46 (T.pathViews graph).Ambient ≃ {x : V → H // T.Parallel graph x} where
47 toFun x := ⟨fun i => x.val ⟨i⟩, T.ambient_parallel graph x⟩
48 invFun x := T.toAmbient graph x.val x.property
49 left_inv := by intro x; apply ViewSystem.Ambient.ext; intro i; rfl
50 right_inv := by intro x; rfl
51
52 end Connection
53
54 namespace Rooted
55 variable (T : Connection V H) {graph : SimpleGraph V} {o : V}
56 variable (p : OverlapTransport.Routing graph o)
57
58 def ambientParameters : fixedSpace T p ≃ (T.pathViews graph).Ambient where
59 toFun z := T.toAmbient graph (reconstruct T p z.val)
60 ((reconstruct_parallel_iff T p z.val).mpr z.property)
61 invFun x := ⟨x.val ⟨o⟩, parallel_anchor_fixed T p (fun i => x.val ⟨i⟩)
62 (T.ambient_parallel graph x)⟩
63 left_inv := by intro z; apply Subtype.ext; exact reconstruct_anchor T p z.val
64 right_inv := by
65 intro x
66 apply ViewSystem.Ambient.ext
67 intro i
68 exact congrFun (parallel_reconstruction T p (fun j => x.val ⟨j⟩)
69 (T.ambient_parallel graph x)) i.vertex
70
71 @[simp] theorem ambientParameters_coordinate (z : fixedSpace T p) (i : V) :
72 (ambientParameters T p z).val ⟨i⟩ = frame T p i z.val := rfl
73
74 section Finite
75 variable [Fintype V]
76
77 theorem quantitative_ambient_realization (U : Set V) (ho : o ∈ U) (x : V → H)
78 (hx : (problem T (graph := graph) U).obstruction x = 0) :
79 ∃ s : (T.pathViews graph).Ambient,
80 (∀ i : U, s.val ⟨i.val⟩ = x i.val) ∧
81 ‖x - T.ambientValues graph s‖ ≤ routeGain T p * ‖T.differential graph x‖ := by
82 obtain ⟨y,hy,_⟩ := quantitative_prescribed_repair T p U ho x hx
83 exact ⟨T.toAmbient graph y hy.1, hy.2.1, hy.2.2⟩
84
85 end Finite
86 end Rooted
87 end AmplifiedTransport
88 end KomorebiSpace
89 end
90
91 noncomputable section
92 namespace KomorebiSpace
93 namespace AmplifiedTransport
94 namespace Rooted
95 variable {V : Type u} {H : Type v}
96 variable [NormedAddCommGroup H] [InnerProductSpace ℝ H] [FiniteDimensional ℝ H] [Fintype V]
97 variable (T : Connection V H) {graph : SimpleGraph V} {o : V}
98 variable (p : OverlapTransport.Routing graph o)
99
100 def orthogonalAmbient (x : V → H) : (T.pathViews graph).Ambient :=
101 T.toAmbient graph (orthogonalRepair T p x) (orthogonalRepair_parallel T p x)
102
103 theorem finite_dimensional_ambient_repair (x : V → H) :
104 ∃ s : (T.pathViews graph).Ambient,
105 anchorProjection T p (s.val ⟨o⟩) = anchorProjection T p (x o) ∧
106 ‖x-T.ambientValues graph s‖ ≤ stabilityGain T p * ‖T.differential graph x‖ := by
107 refine ⟨orthogonalAmbient T p x, ?_, orthogonalRepair_error T p x⟩
108 change anchorProjection T p (orthogonalRepair T p x o) = _
109 rw [orthogonalRepair_anchor, anchorProjection_idempotent]
110
111 end Rooted
112 end AmplifiedTransport
113 end KomorebiSpace
114 end
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: bf7086825648b39b41140acebdee87664f85618d90cd78bd496641dc721ebea6