IndisputableMonolith.ClassicalBridge.CoarseGrain
IndisputableMonolith/ClassicalBridge/CoarseGrain.lean · 47 lines · 6 declarations
show as:
view math explainer →
1import Mathlib
2open scoped BigOperators
3
4namespace IndisputableMonolith
5namespace ClassicalBridge
6
7/-- Coarse graining with an explicit embedding of ticks to cells and a cell volume weight. -/
8structure CoarseGrain (α : Type) where
9 embed : Nat → α
10 vol : α → ℝ
11 nonneg_vol : ∀ i, 0 ≤ vol (embed i)
12
13/-- Riemann sum over the first `n` embedded cells for an observable `f`. -/
14def RiemannSum (CG : CoarseGrain α) (f : α → ℝ) (n : Nat) : ℝ :=
15 (Finset.range n).sum (fun i => f (CG.embed i) * CG.vol (CG.embed i))
16
17/-- Statement schema for the continuum continuity equation (divergence form in the limit). -/
18structure ContinuityEquation (α : Type) where
19 divergence_form : Prop
20
21/-- **HYPOTHESIS**: Coarse-grained Riemann sums converge to a finite limit. -/
22def H_Convergence (CG : CoarseGrain α) (f : α → ℝ) (I : ℝ) : Prop :=
23 ∀ ε > 0, ∃ N, ∀ n ≥ N, |RiemannSum CG f n - I| < ε
24
25/-- Discrete→continuum continuity: if the coarse-grained Riemann sums of a divergence observable
26 converge to a finite limit `I`, the divergence-form statement holds.
27
28 STATUS: SCAFFOLD — The existence of the limit I is a hypothesis.
29 TODO: Prove convergence for specific LNAL distributions. -/
30def discrete_to_continuum_continuity {α : Type}
31 (CG : CoarseGrain α) (div : α → ℝ) : Prop :=
32 ∃ I : ℝ, H_Convergence CG div I
33
34/-- **THEOREM**: Trivial convergence for zero field.
35 Replaces the vacuous `∃ I, True` with a constructive witness. -/
36theorem zero_field_converges {α : Type} (CG : CoarseGrain α) :
37 discrete_to_continuum_continuity CG (fun _ => 0) := by
38 use 0
39 intro ε hε
40 use 1
41 intro n _hn
42 simp [RiemannSum]
43 exact hε
44
45end ClassicalBridge
46end IndisputableMonolith
47