Komorebi Space · Lean source

RepairExamples.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 (1)

KomorebiSpace/RepairExamples.lean64 lines

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

Skip source text

1 import KomorebiSpace.RepairProjection
2 import Mathlib.Topology.Algebra.Module.ContinuousLinearMap.PiProd
3 
4 set_option autoImplicit false
5 
6 /-!
7 # Constructed and non-canonical examples
8 
9 The split model satisfies all correction hypotheses with rate zero and retains
10 an arbitrary nonzero semantic coordinate. A second model shows that preservation
11 of a nontrivial observable does not by itself make exact repairs unique.
12 -/
13 universe u v w
14 noncomputable section
15 namespace KomorebiSpace
16 namespace RepairExamples
17 variable {𝕜 : Type u} [NontriviallyNormedField 𝕜]
18 variable (S : Type v) (R : Type w)
19 variable [NormedAddCommGroup S] [NormedSpace 𝕜 S]
20 variable [NormedAddCommGroup R] [NormedSpace 𝕜 R]
21 
22 def splitScheme : RepairDynamics.Scheme
23     (ContinuousLinearMap.snd 𝕜 S R) (ContinuousLinearMap.fst 𝕜 S R) where
24   correction := ContinuousLinearMap.inr 𝕜 S R
25   rate := 0
26   rate_nonneg := le_rfl
27   rate_lt_one := zero_lt_one
28   preserve _ := rfl
29   contract x := by simp
30 
31 /-- The actual iteration, not just its existential conclusion, repairs in one step. -/
32 theorem split_step (x : S × R) :
33     RepairDynamics.step (ContinuousLinearMap.snd 𝕜 S R)
34       (ContinuousLinearMap.inr 𝕜 S R) x = (x.1, 0) := by
35   ext <;> simp [RepairDynamics.step]
36 
37 variable [CompleteSpace S] [CompleteSpace R]
38 
39 /-- The constructed analytic projection agrees with the explicit split projection. -/
40 theorem split_projection (x : S × R) :
41     (splitScheme (𝕜 := 𝕜) S R).projection x = (x.1, 0) := by
42   apply Prod.ext
43   · exact (splitScheme (𝕜 := 𝕜) S R).limit_semantics x
44   · exact (splitScheme (𝕜 := 𝕜) S R).limit_exact x
45 
46 /-- Nonzero semantic information survives exactification in the model. -/
47 theorem split_nonzero (s : S) (hs : s ≠ 0) (r : R) :
48     (splitScheme (𝕜 := 𝕜) S R).projection (s,r) ≠ 0 := by
49   rw [split_projection]
50   intro h
51   exact hs (congrArg Prod.fst h)
52 
53 /-- Exactness and one nontrivial protected coordinate need not determine the result. -/
54 theorem semantics_alone_not_unique :
55     ∃ a b : ℝ × (ℝ × ℝ), a ≠ b ∧
56       a.2.2 = 0 ∧ b.2.2 = 0 ∧ a.1 = b.1 ∧ a.1 = 1 := by
57   refine ⟨(1,(0,0)), (1,(1,0)), ?_, rfl, rfl, rfl, rfl⟩
58   intro h
59   have h01 : (0 : ℝ) = 1 := congrArg (fun x : ℝ × (ℝ × ℝ) => x.2.1) h
60   exact zero_ne_one h01
61 
62 end RepairExamples
63 end KomorebiSpace
64 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: 0996b7d0c9007a24bc852c948ce6df3059e14d8a41e03f2e64df62b8d516eb78

Original source on GitHub

Back to Komorebi Space