MATH EXPLORATION / X01

FINITE MOMENTS · RANK GAPS · TOPOLOGY

順位を守る、
平均と分散。
What moments
keep apart.

ほぼ二値のデータでは、総和と二乗和が順位の隔たりを保証する。鋭い不等式と、誤差を広げたときに「島」が生まれ、合流する境目を辿る。For nearly binary data, the total and squared norm can force rank gaps. Follow sharp bounds to the thresholds where a wider error band creates new islands and joins them again.

THE CORE CERTIFICATE
2D + e² + g² ≥ 1
g
0 ≤ xᵢ ≤ 1。D は二値性の欠損、e は総和のずれ、g は隣り合う順位の間隔。For 0 ≤ xᵢ ≤ 1: D is the binary defect, e the error in the total, and g the gap between two adjacent ranks.
過去のLean実行Historical Lean run14宣言 · 2026 09 08にPASS14 declarations · PASS on 2026 09 08
追加コードAdded code33定理候補 · 未コンパイル33 theorem candidates · NOT COMPILED
新規性Novelty未確定 · 既知部分の帰属を更新Unconfirmed · attribution updated
この一枚に、本文・図・監査・証明ソースを収録。One file: exposition, figures, audit and proof sources.

本文にはT1–T9の通常の数学的証明があります。追加Leanコードの実行検証は未完了です。掲載前の確認には、末尾のレビュー依頼と検証範囲をご利用ください。The text contains ordinary mathematical proofs of T1–T9. The added Lean scripts have not been executed. Review priorities and evidence boundaries are provided below.

Fableへの確認依頼Review request for Fableソースと検証状況Sources and evidence
目次を開く · 全 11 節Contents · 11 sections

数学探索 X01 / 証明・解説・監査の統合版 1.2 / 2026 09 09

1. 何を調べ、どこまで確認したか

各値が0以上1以下で、全体として0か1に近い有限データを主な対象とする。平均と分散が同じでも、元データの形は一つには決まらない。しかし、二値性の欠損が十分小さく、総和が所定の整数に近いという条件の下では、上位の値と残りの値の間に必ず隔たりができる。その隔たりの鋭い下限、平均の誤差を許した場合の限界、同じ統計量を持つデータの集合が分かれている仕組みを調べた。広い範囲の一般的な統計データに正の間隔を保証するものではない。

本稿には一般の有限列についての数学的証明、限界を達成する配置、図解、先行研究との照合、Leanの証明ソースと検証記録を収録した。従来の14宣言には2026 09 08の成功記録がある。この14件には補助補題と、X01の主結果には含めない4変数の例2件も含む。その後に追加した33宣言の証明コードは実行未確認であり、形式検証済みには数えない。数学的証明、Leanによる検証、学術的新規性は別の主張である。新規性は確定していない。

これまでのレビュー対応。 横田さんから提供されたFable5.1のレビューを、本文と形式証明に照合した。適用域・帰属・分割形の陳述を改め、行列版の系とその位相上の限界を追加した。レビューの数値観察を出発点として、1/2<η<11/2<\eta<1 の全次元における道連結成分数をT9として証明した。新しいT9はLean未形式化で、新規性も未確定である。

v1.2・公開前の統合版(2026 09 09)。 追加監査に基づき、2008年の最大成分の境界とGorbanの既知の成分数増加の例への帰属を補った。追加Leanコード33宣言、固定版Mathlibソースの照合、Lean実行環境が未復元であるという検証状況も同じページへ統合した。本文・図・証明ソースはこのHTMLだけで読める。次の独立レビューのための確認依頼を末尾に用意した。この統合版に対するFableの新しいレビュー結果はまだ含まない。

整数 n2n\ge2、実数 xi[0,1]x_i\in[0,1] とし、

S=i=1nxi,Q=i=1nxi2,D=SQ=i=1nxi(1xi) S=\sum_{i=1}^{n}x_i,\qquad Q=\sum_{i=1}^{n}x_i^2,\qquad D=S-Q=\sum_{i=1}^{n}x_i(1-x_i)

と置く。値を降順に並べたものを x(1)x(n)x_{(1)}\ge\cdots\ge x_{(n)} と書く。整数 1s<n1\le s<n に対し、

e=Ss,gs=x(s)x(s+1) e=S-s,\qquad g_s=x_{(s)}-x_{(s+1)}

が総和の整数からのずれと、上位 ss 個との境目の間隔である。

平均 μ=S/n\mu=S/n、分母を nn とする分散 V=n1i(xiμ)2V=n^{-1}\sum_i(x_i-\mu)^2 なら、

D=n{μ(1μ)V}. D=n\{\mu(1-\mu)-V\}.

したがって以下の保証は平均・分散・値域から計算できる。ただし、それらの集計値だけで「どの添字が上位か」を特定する主張ではない。順位ラベルは個々の値を観測して決まり、集計値はその境目の余裕を保証する。

正の間隔を保証する条件は、正確には

2D+e2<10μ(1μ)V<1e22n. 2D+e^2<1 \quad\Longleftrightarrow\quad 0\le\mu(1-\mu)-V<\frac{1-e^2}{2n}.

従って有効域は e<1|e|<1 かつ、分散が端点分布の上界 μ(1μ)\mu(1-\mu)O(1/n)O(1/n) まで近い領域である。総和が非整数の有限列では、この上界自体は達成できない。S=m+rS=m+r0r<10\le r<1 なら実際の最大分散は μ(1μ)r(1r)/n\mu(1-\mu)-r(1-r)/n となる(第6節)。この「ほぼ二値」の領域は、固有値が0か1に近い自己共役行列にも自然に現れる。行列版と、そこへ位相の結論を移す際の限界を第2節で明示する。

2. 普遍的な順位不等式と、等号の構造

定理T1(任意の有限分割に対する平方不等式)。 x[0,1]nx\in[0,1]^n とし、添字集合の空でない真部分集合 II を取る。s=Is=|I|J=IcJ=I^c

u=miniIxi=xa,v=maxjJxj=xb,gI=uv u=\min_{i\in I}x_i=x_a,\qquad v=\max_{j\in J}x_j=x_b,\qquad g_I=u-v

と置く。ここで aIa\in IbJb\in J は極値を達成する添字である。gIg_I は符号を持ち、II が上位集合であるという仮定は不要である。このとき

2D+(Ss)2+gI21(T1) \boxed{2D+(S-s)^2+g_I^2\ge1} \tag{T1}

が成り立つ。総和の整数への近さも、分割をまたぐ順序 uvu\ge v も、この平方不等式には不要である。

順位版の系。 II を上位 ss 個の添字に取れば uvu\ge vgI=gs0g_I=g_s\ge0 となり、

gsmax{12D(Ss)2,0}. g_s\ge\sqrt{\max\{1-2D-(S-s)^2,0\}}.

従って 2D+(Ss)2<12D+(S-s)^2<1 なら上位 ss 個が残りから正の間隔で分かれる。任意分割の平方不等式だけから、符号付き gIg_I の正値を結論してはいけない。平方根型では uvu\ge v という追加仮定が必要である。

図 1

順位の境目に残る間隔

配置を切り替えると、総和のずれ・欠損・順位間隔の関係を確認できます。

数値は表示桁で丸めています。図は個別の配置の確認であり、一般証明は本文の非負項分解です。

証明。 上の任意分割と極値を達成する添字を使い、g=gI=uvg=g_I=u-v と略記する。また

σ=iI(1xi),ρ=jJxj,A=σ(1u)=iI{a}(1xi),B=ρv=jJ{b}xj. \begin{aligned} \sigma&=\sum_{i\in I}(1-x_i),& \rho&=\sum_{j\in J}x_j,\\ A&=\sigma-(1-u)=\sum_{i\in I\setminus\{a\}}(1-x_i),& B&=\rho-v=\sum_{j\in J\setminus\{b\}}x_j. \end{aligned}

空和は0とする。これらは非負で、e=ρσe=\rho-\sigma である。さらに

T=iI(xiu)(1xi)+jJ(vxj)xj T=\sum_{i\in I}(x_i-u)(1-x_i) +\sum_{j\in J}(v-x_j)x_j

と置く。各側での極値の定義と箱制約から各項が非負なので T0T\ge0。ここでも uvu\ge v は使っていない。定義を展開すると D=uσ+(1v)ρ+TD=u\sigma+(1-v)\rho+T となる。ここへ σ=1u+A\sigma=1-u+Aρ=v+B\rho=v+B を代入すれば、

R:=2D+e2+g21=2T+2(1v)A+2uB+(BA)2.(1) \begin{aligned} R&:=2D+e^2+g^2-1\\ &=2T+2(1-v)A+2uB+(B-A)^2. \end{aligned} \tag{1}

右辺の全項が非負であることが定理を証明する。

等号条件。 g>0g>0 なら u>0u>0v<1v<1 であるから、R=0R=0A=B=0A=B=0 を強制する。したがって等号となる列は、並べ替え後に

(1,,1s1,u,v,0,,0ns1)(2) (\underbrace{1,\ldots,1}_{s-1},\,u,\,v,\, \underbrace{0,\ldots,0}_{n-s-1}) \tag{2}

という形を持つ。逆にこの形では A=B=T=0A=B=T=0 なので等号となる。つまり正の間隔を持つ等号配置では、境目の二つ以外は端点0または1に固定される。

ほぼ等号の場合。 ugu\ge g1vg1-v\ge g より、(1)から

R2g(A+B),A+BR2g(g>0).(3) R\ge2g(A+B),\qquad A+B\le\frac{R}{2g}\quad(g>0). \tag{3}

従って RεR\le\varepsilongγ>0g\ge\gamma>0 なら、境目の二つ以外が端点から離れた距離の合計は ε/(2γ)\varepsilon/(2\gamma) 以下である。gg が0へ近づく場合まで同じ強さの安定性を主張してはいけない。また、他の座標を0/1に置き換えて u,vu,v を残す近似では、総和は ABA-B だけ変わり得る。

行列版の系。 XXn×nn\times n の自己共役行列とし、作用素順序で 0XIn0\le X\le I_n とする。固有値を λ1λn\lambda_1\ge\cdots\ge\lambda_n と並べ、1s<n1\le s<n とすると、

2Tr(XX2)+(TrXs)2+(λsλs+1)21, 2\operatorname{Tr}(X-X^2) +(\operatorname{Tr}X-s)^2+(\lambda_s-\lambda_{s+1})^2\ge1,
λsλs+1max{12Tr(XX2)(TrXs)2,0}. \lambda_s-\lambda_{s+1}\ge \sqrt{\max\{1-2\operatorname{Tr}(X-X^2) -(\operatorname{Tr}X-s)^2,0\}}.

証明。 スペクトル定理により全固有値は [0,1][0,1] に属し、TrX=iλi\operatorname{Tr}X=\sum_i\lambda_iTr(XX2)=iλi(1λi)\operatorname{Tr}(X-X^2)=\sum_i\lambda_i(1-\lambda_i)。従って固有値列にT1と順位版の系を適用すればよい。

行列版を主定理に格上げしない理由。 この移し替えは直接の系であり、第3節・第6節の固有値差の公式にも使える。しかし、第4節以降の (ns)\binom ns 個の成分や面複体は、固定された座標のラベルを持つベクトル、すなわち固定基底の対角行列のモデルについての結論である。行列全空間では固有ベクトルを回転できる。例えば

Pθ=(cos2θcosθsinθcosθsinθsin2θ),0θπ2, P_\theta=\begin{pmatrix} \cos^2\theta&\cos\theta\sin\theta\\ \cos\theta\sin\theta&\sin^2\theta \end{pmatrix},\qquad 0\le\theta\le\frac\pi2,

は常に Pθ2=PθP_\theta^2=P_\thetaTrPθ=1\operatorname{Tr}P_\theta=1D=0D=0 を満たしながら、diag(1,0)\operatorname{diag}(1,0)diag(0,1)\operatorname{diag}(0,1) を結ぶ。一般の複素自己共役行列でも、同じ階数の直交射影はユニタリ共役で移り合い、ユニタリ行列の固有位相を連続に動かすことで経路が得られる。従ってベクトルの成分数を行列空間へそのまま移すことはできない。応用先としては有力だが、行列版を中心に据えるなら、順位差の節はほぼそのまま使えても、成分・穴の節は新たな位相問題として立て直す必要がある。

3. 平均に誤差を許したときの、鋭い三段の公式

整数 1s<n1\le s<n0η1/20\le\eta\le1/2δ0\delta\ge0 に対し、

Fs,η,δ={x[0,1]n: Ssη, Dδ} F_{s,\eta,\delta} =\{x\in[0,1]^n:\ |S-s|\le\eta,\ D\le\delta\}

を考える。η\eta総和の誤差幅であり、平均の誤差幅は η/n\eta/n である。

δ0=η(1η),δc=1η22 \delta_0=\eta(1-\eta),\qquad \delta_c=\frac{1-\eta^2}{2}

と置く。

定理T2(鋭い誤差帯保証)。

minxFs,η,δgs(x)={1+14δ2,0δδ0,12δη2,δ0δδc,0,δδc.(T2) \boxed{ \min_{x\in F_{s,\eta,\delta}}g_s(x)= \begin{cases} \dfrac{1+\sqrt{1-4\delta}}2, &0\le\delta\le\delta_0,\\[5pt] \sqrt{1-2\delta-\eta^2}, &\delta_0\le\delta\le\delta_c,\\[3pt] 0,&\delta\ge\delta_c. \end{cases}} \tag{T2}

隣り合う枝の端点は一致する。η=0\eta=0 では最初の枝は δ=0\delta=0 だけになる。各パラメータで可行集合は二値列を含むので非空であり、以下に示す配置が実際に最小値を達成する。

図 2

誤差を許したときの最小間隔

実線が達成可能な鋭い下限。破線は普遍不等式だけから得る簡単な下限です。

η は平均の誤差幅ではなく総和の誤差幅です。前提は 0 ≤ η ≤ 1/2。横軸を動かしても対象は D ≤ δ の全配置です。

補題(二乗和の最大値)。 yi[0,1]y_i\in[0,1]iyi=t\sum_i y_i=t なら、

iyi2ϕ(t):=t+{t}2.(4) \sum_i y_i^2\le\phi(t):=\lfloor t\rfloor+\{t\}^2. \tag{4}

ここで {t}=tt\{t\}=t-\lfloor t\rfloor である。証明するには、端点でない二つの値 0<ab<10<a\le b<1 があれば、 ϵ=min(a,1b)>0\epsilon=\min(a,1-b)>0 として (a,b)(a,b)(aϵ,b+ϵ)(a-\epsilon,b+\epsilon) に置き換える。総和と箱制約を保存し、二乗和の増分は 2ϵ(ba)+2ϵ202\epsilon(b-a)+2\epsilon^2\ge0 である。少なくとも一つの値が端点に達するため、端点でない成分数は一回ごとに減る。有限回の操作で小数成分が高々一つとなり、総和からその最終配置は t\lfloor t\rfloor 個の1、端数 {t}\{t\}、残り0と分かる。これが(4)の上限と達成可能性を同時に証明する。整数総和では端数の座標を省けばよい。これは既知の二乗和最大化の部品である。Rosenberg–Jakobsson, Appendix Lemma 3Ellis, Theorem 1

T2の下界。 a=Ssη1/2a=|S-s|\le\eta\le1/2 と置く。(4)より

Da(1a).(5) D\ge a(1-a). \tag{5}

実際、S=s+aS=s+a の端数は aaS=saS=s-a の端数は a>0a>0 なら 1a1-aa=0a=0 なら0であり、いずれも端数に対応する欠損が a(1a)a(1-a) となる。

δδ0\delta\le\delta_0 のとき b=(114δ)/2b=(1-\sqrt{1-4\delta})/2 と置くと、t(1t)t(1-t)[0,1/2][0,1/2] 上で単調増加することから abηa\le b\le\eta。T1によって

gs212Da212δb2=(1b)2. g_s^2\ge1-2D-a^2 \ge1-2\delta-b^2=(1-b)^2.

これが第一の枝である。δ0δδc\delta_0\le\delta\le\delta_c では、T1から直接 gs212δη2g_s^2\ge1-2\delta-\eta^2。最後の枝では gs0g_s\ge0 を使う。

各枝の達成配置。 以下の二値を、s1s-1 個の1と ns1n-s-1 個の0の間に置く。

範囲 境目の二値 総和・欠損・間隔
第一の枝 (1b,0)(1-b,0) S=sb, D=b(1b)=δ, gs=1bS=s-b,\ D=b(1-b)=\delta,\ g_s=1-b
第二の枝 ((1η+h)/2,(1ηh)/2)((1-\eta+h)/2,(1-\eta-h)/2)h=12δη2h=\sqrt{1-2\delta-\eta^2} S=sη, D=δ, gs=hS=s-\eta,\ D=\delta,\ g_s=h
第三の枝 ((1η)/2,(1η)/2)((1-\eta)/2,(1-\eta)/2) S=sη, D=δcδ, gs=0S=s-\eta,\ D=\delta_c\le\delta,\ g_s=0

第二の枝では 0h1η0\le h\le1-\etaδ0δδc\delta_0\le\delta\le\delta_c と同値なので、提示した二値は箱内にある。これで全ての枝の鋭さを示した。

例えば n=6,s=2,η=0.1,δ=0.2n=6,s=2,\eta=0.1,\delta=0.2 なら、間隔は必ず 0.590.7681146\sqrt{0.59}\simeq0.7681146 以上であり、 (1,0.8340573,0.0659427,0,0,0)(1,0.8340573\ldots,0.0659427\ldots,0,0,0) で達成する。

なお max(12δη2,0)\sqrt{\max(1-2\delta-\eta^2,0)} だけでも有効な下界だが、δ<δ0\delta<\delta_0 では鋭くない。第一の枝を省略すると、δ=0\delta=0 における間隔1さえ取り逃す。

4. 島の成分数を、具体的な経路で証明する

定理T3(誤差帯の成分)。 T2と同じ条件で、

#π0(Fs,η,δ)={(ns),0δ<δc,1,δδc.(T3) \boxed{ \#\pi_0(F_{s,\eta,\delta})= \begin{cases} \binom ns,&0\le\delta<\delta_c,\\ 1,&\delta\ge\delta_c. \end{cases}} \tag{T3}

ここで π0\pi_0 は道連結成分を表す。元のラベル付きデータ空間で数えており、座標を置換した列を同一視しない。閾値未満の成分は、上位 ss 個の添字集合に正確に対応する。

二値代表への二線分経路。 降順の xx と、それに対応する二値代表 z=(1,,1,0,,0)z=(1,\ldots,1,0,\ldots,0)、1の数 ss、を取る。誤差帯 P={y[0,1]n: iyisη}P=\{y\in[0,1]^n:\ |\sum_i y_i-s|\le\eta\} の中の補助頂点 vv を次の順で選ぶ。

  1. xs1/2x_s\le1/2 なら v=(1s1,1η,0,,0)v=(1^{s-1},1-\eta,0,\ldots,0)
  2. それ以外で xs+11/2x_{s+1}\ge1/2 なら v=(1s,η,0,,0)v=(1^s,\eta,0,\ldots,0)
  3. それ以外なら v=zv=z

1k1^k は1を kk 個並べる記法である。境界で複数の選択が最適になる場合も、この順で一つを選べばよい。

重み wi=2xi1w_i=2x_i-1、方向の係数 c=iwi(vixi)c=\sum_i w_i(v_i-x_i) と置く。重要なのは c0c\ge0 であり、これは次の符号分解で確認できる。

第一の場合は α=ws0\alpha=w_s\le0 として

c=i(wiα)(vixi)+α(sηS).(6) c=\sum_i(w_i-\alpha)(v_i-x_i) +\alpha(s-\eta-S). \tag{6}

i<si<s では最初の積の両因子が非負、i>si>s では両因子が非正、i=si=s では重みの差が0である。最後の積も、α0\alpha\le0sηS0s-\eta-S\le0 により非負。第二の場合は α=ws+10\alpha=w_{s+1}\ge0 と置き、最後の項を α(s+ηS)\alpha(s+\eta-S) に替えれば同じ証明となる。第三の場合は、上位側で wi0,vixi0w_i\ge0,v_i-x_i\ge0、残り側で両者が非正であり、各積が非負である。

従って 0t10\le t\le1

D(x+t(vx))=D(x)tct2vx22D(x).(7) \begin{aligned} D(x+t(v-x)) &=D(x)-tc-t^2\|v-x\|_2^2\\ &\le D(x). \end{aligned} \tag{7}

PP は凸なのでこの線分は帯内にあり、式から DD は非増加である。さらに vv から zz へは、小数座標を η0\eta\to0 または 1η11-\eta\to1 と動かすだけでよい。η1/2\eta\le1/2 のためこの線分でも DD は非増加となる。これで任意の点から、その二値代表へ高々二本の線分で到達できた。これは各点に対する経路の構成であり、点 xx に応じた候補の選び方の連続性は示していない。従ってこの構成だけから、全体の変形収縮を結論しない。

成分の分類。 δ<δc\delta<\delta_c ではT2より境目の間隔が正である。連続経路の途中で上位 ss 個の添字集合を変えるには、その境目で同値が生じる必要があるから、上位集合は経路上で変わらない。一方、同じ上位集合を持つ点は上の経路で同じ代表へ結べる。全ての ss 元集合に二値代表が存在するので、成分数は (ns)\binom ns である。

δδc\delta\ge\delta_c では、1と0を交換する二座標だけを

(1,0)(1η,0)(0,1η)(0,1)(8) (1,0)\longrightarrow(1-\eta,0) \longrightarrow(0,1-\eta) \longrightarrow(0,1) \tag{8}

と動かす。他の s1s-1 個の1は固定する。総和のずれは η\eta 以内であり、最初と最後の線分上の最大欠損は δ0\delta_0、中央の最大欠損は δc\delta_c。一つずつ添字を交換すれば任意の二値代表を結べる。任意の点は代表に結ばれているため、集合全体が道連結となる。閾値ちょうどもこの側に含まれる。

この構成は既知の凸幾何の背景を持つ。Gorban, Lemma 2.1・Proposition 2.4(PDF版) は凸集合を避けた頂点への線分接続と、成分数の辺グラフへの還元を扱う。ここでは箱の誤差帯について頂点を明示し、非増加性を直接証明した。新しい一般原理とは主張しない。

4.1 許容幅が半分を超えるとき:新しい島の誕生と合流

前節の制限 η1/2\eta\le1/2 は本質的である。しかし 1/2<η<11/2<\eta<1 の範囲も、帯多面体の頂点と辺を調べることで全次元の成分数を決定できる。集合を

Fδ={x[0,1]n:ixisη,D(x)=ixi(1xi)δ} F_\delta=\left\{x\in[0,1]^n:\left|\sum_i x_i-s\right|\le\eta, \quad D(x)=\sum_i x_i(1-x_i)\le\delta\right\}

とする。以下では n2n\ge21s<n1\le s<n は整数、1/2<η<11/2<\eta<1δ0\delta\ge0 を仮定する。

定理 T9(広い帯における完全成分数公式)。

a=1η,k=η(1η),c=1η22,h=14,b=(ns) a=1-\eta,\quad k=\eta(1-\eta),\quad c=\frac{1-\eta^2}{2},\quad h=\frac14,\quad b=\binom ns

とおく。FδF_\delta の道連結成分数は

Nn,s(η,δ)={b,0δ<k,(n+1)b,kδ<min(c,h),b+(ns1)+(ns+1),cδ<h(c<h),b,hδ<c(h<c),1,δmax(c,h).(T9) N_{n,s}(\eta,\delta)= \begin{cases} b,&0\le\delta<k,\\ (n+1)b,&k\le\delta<\min(c,h),\\ b+\binom n{s-1}+\binom n{s+1},&c\le\delta<h\quad(c<h),\\ b,&h\le\delta<c\quad(h<c),\\ 1,&\delta\ge\max(c,h). \end{cases} \tag{T9}

空の区間の行は除く。c=hc=hη=1/2\eta=1/\sqrt2 と同値であり、この場合は中間の二段階がなくなる。表示した各閾値での等号を含む公式である。

図 3

広い総和帯で、成分が生まれてから合流する

n = 2、s = 1 に固定します。|x₁ + x₂ − 1| ≤ η、x₁(1 − x₁) + x₂(1 − x₂) ≤ δ を満たす集合の道連結成分数です。帯内の数値は成分数を示します。

k = η(1 − η) は4成分が新たに現れる閾値、c = (1 − η²)/2 と h = 1/4 は合流の閾値です。閾値ボタンは丸め前の値を選び、等号は変化後の成分数に含めます。η = 1/√2 では c = h で合流が同時に起きます。非常に短い区間の帯内数値は省略されます。

証明の道具:凸障害物と辺グラフ。 コンパクト凸多面体 PP と連続凹関数 ff に対し、X={fδ}X=\{f\le\delta\} の成分数は、許容頂点 f(v)δf(v)\le\delta と、全体が許容される辺 maxefδ\max_e f\le\delta のグラフの成分数に等しい。

この事実を確認する。U={f>δ}U=\{f>\delta\} は相対的に開いた凸集合である。UU と交わる面を次元の大きい順に処理し、その面の相対内部に cUc\in U を選ぶ。面内の xUx\notin U を、cc から xx に向かう半直線上で面の境界まで動かす。凸性により、xx を過ぎてから UU に再び入ることはない。これは境界を固定する連続な変形であり、他の面上の恒等写像と貼り合わせられる。有限回の処理により、XXUU と交わらない閉じた面の複体 KK に強変形収縮する。UU と交わる面の相対内点が選べることは UU の相対的開性から従う。各面の辺グラフは連結なので、KK とその 1 次元骨格の成分数は等しい。この骨格が上記の許容グラフである。

頂点の全列挙。 帯だけを課した多面体を PP とする。その頂点は次の三種類で尽くされる。

座標の構成 個数 DD
BB ss 個の 1、残り 0 bb 0
LL s1s-1 個の 1、1 個の aa、残り 0 sbsb kk
UU ss 個の 1、1 個の η\eta、残り 0 (ns)b(n-s)b kk

帯境界が活性でない頂点は箱の頂点であり、許容される整数和は ss だけである。帯境界が活性なら少なくとも n1n-1 座標が 0 または 1 に固定され、残りの座標は和の条件で aa または η\eta に決まる。これで完全性と個数が従う。

辺の全列挙と閾値。 箱の辺に沿うものは、LBL\leftrightarrow Ba1a\leftrightarrow1 と、BUB\leftrightarrow U0η0\leftrightarrow\eta だけである。いずれも変化する座標が 1/21/2 を通るため、辺上の最大欠損は h=1/4h=1/4。各 L,UL,U 頂点は、この種類の辺でただ一つの BB 頂点につながる。

帯面内の辺は、二座標を動かす次の四種類である。他の座標は 0 または 1 に固定する。

帯面 二座標の端点 辺上の最大 DD
下側・短い辺 (a,0)(0,a)(a,0)\leftrightarrow(0,a) cc
下側・長い辺 (1,a)(a,1)(1,a)\leftrightarrow(a,1) d=(1a2)/2d=(1-a^2)/2
上側・短い辺 (1,η)(η,1)(1,\eta)\leftrightarrow(\eta,1) cc
上側・長い辺 (η,0)(0,η)(\eta,0)\leftrightarrow(0,\eta) dd

必要な座標数が確保できない型は現れない。辺の内点で帯境界が活性なら、n2n-2 座標が固定されるので、この表で尽くされる。二座標の和を tt とすると

y(1y)+(ty)(1t+y)=tt222(yt/2)2 y(1-y)+(t-y)(1-t+y) =t-\frac{t^2}{2}-2(y-t/2)^2

であり、中点が各辺内にあるため表の最大値を得る。また

ck=(1η)22>0,hk=(η12)2>0,d>max(c,h). c-k=\frac{(1-\eta)^2}{2}>0,\quad h-k=(\eta-\tfrac12)^2>0,\quad d>\max(c,h).

成分を数える。 δ<k\delta<k では BB 頂点のみ、kδ<min(c,h)k\le\delta<\min(c,h) では全頂点が存在し、いずれもまだ辺がない。

c<hc<hcδ<hc\le\delta<h なら短い帯面辺が先に入る。下側では 1 の位置集合(大きさ s1s-1)を固定した群ごとに連結となり、群の数は (ns1)\binom n{s-1}。上側では正の位置集合(大きさ s+1s+1)を固定した群ごとに連結となり、群の数は (ns+1)\binom n{s+1}BBbb 個を合わせて T9 の第三行となる。

h<ch<chδ<ch\le\delta<c なら箱に沿う辺が先に入り、各 BB を中心に L,UL,U を葉とする、互いに素な bb 個の星形ができる。

δmax(c,h)\delta\ge\max(c,h) になると全 BB 頂点が連結となる。実際、二つの ss 要素集合が一要素の交換で移り合うとき、共通する s1s-1 個の 1 を固定して「箱の辺 → 下側の短い辺 → 箱の辺」の三辺で結べる。任意の二つの ss 要素集合はこの交換の繰返しで結ばれる。すべての L,UL,U は箱の辺で BB につくので全体が連結である。長い辺が入る前にすでに連結となり、それ以後は新しい頂点が生まれない。グラフ補題から T9 が従う。□

レビューの具体例。 n=2,s=1,η=0.9n=2,s=1,\eta=0.9 では

k=0.09,c=0.095,h=0.25, k=0.09,\qquad c=0.095,\qquad h=0.25,

従って成分数は

2  δ=0.09  6  δ=0.095  4  δ=0.25  1. 2\ \xrightarrow{\ \delta=0.09\ }\ 6\ \xrightarrow{\ \delta=0.095\ }\ 4\ \xrightarrow{\ \delta=0.25\ }\ 1.

各矢印の閾値で右側の個数になる。レビューの δ=0.09,0.10,0.20,0.26\delta=0.09,0.10,0.20,0.26 における 6,4,4,16,4,4,1 という観察は正しい。集合が増大しても、新しい頂点で島が生まれるため、成分数は単調減少とは限らない。

追加系:二次元の穴も分類できる。 n=2,s=1n=2,s=1p=x1+x21, q=x1x2p=x_1+x_2-1,\ q=x_1-x_2 とおくと、帯多面体は六角形

p+q1,pη,D=(1p2q2)/2 |p|+|q|\le1,\quad |p|\le\eta, \qquad D=(1-p^2-q^2)/2

になる。δ<1/2\delta<1/2 では原点を含まないので、原点から外向きに六角形の境界へ伸ばす放射変形が、FδF_\delta を許容境界へ強変形収縮する。この変形はノルムを減らさず、DδD\le\delta を保つ。境界は斜辺四本(閾値 hh)と垂直辺二本(閾値 cc)からなる。従って δ<max(c,h)\delta<\max(c,h) では各成分が可縮、max(c,h)δ<1/2\max(c,h)\le\delta<1/2 では FδS1F_\delta\simeq S^1δ1/2\delta\ge1/2 では六角形全体となり可縮である。

位置づけ。 T9 は Gorban の一般的な多面体・凸障害物の理論から得られる明示的な系として扱う。同論文§4.2・Fig.4.5(PDF版) には、集合の増大途中で新しい孤立頂点が現れ、成分数が増える例もある。したがって非単調性という現象自体を新規とはしない。同一の箱帯における閾値と二項係数の成分数公式の先行記述は今回未同定であり、優先権は未確定である。本節は通常の数学的証明であり、Lean未形式化である。

5. 0.5での丸めは、順位の交換より先に壊れる

定理T4(最近0/1丸めの閾値)。

δR=12η2 \delta_R=\frac12-\eta^2

とする。T2の条件の下で D<δRD<\delta_R なら、各値を近い0/1に丸める方法は一意であり、1の数は ss 個となる。この厳密な保証の閾値は鋭い。

証明。 ある一座標が 1/21/2 なら、残りの総和は s1/2+es-1/2+e である。1/2e1/2-1/2\le e\le1/2 と(4)から、

D14+(12+e)(12e)=12e2δR.(9) \begin{aligned} D&\ge\frac14+ \left(\frac12+e\right)\left(\frac12-e\right)\\ &=\frac12-e^2\ge\delta_R. \end{aligned} \tag{9}

端点 e=±1/2e=\pm1/2 では残りの総和が整数となり、積の部分は0で、同じ式が成立する。

D<δRD<\delta_R の点からT3の二線分経路で二値代表へ戻ると、経路全体でも D<δRD<\delta_R。従ってどの座標も 1/21/2 を通れない。丸め結果は経路上で一定であり、終点の二値代表と一致する。

閾値の等号は (1s1,1/2,1/2η,0,,0)(1^{s-1},1/2,1/2-\eta,0,\ldots,0) で達成する。η>0\eta>0 なら、小さい ϵ>0\epsilon>0 に対して境目の二値を (1/2ϵ,1/2η+ϵ)(1/2-\epsilon,1/2-\eta+\epsilon) とすると、どちらも 1/21/2 未満なのに総和は sηs-\eta である。欠損は δR+2ηϵ2ϵ2\delta_R+2\eta\epsilon-2\epsilon^2 となり、δR\delta_R のすぐ上で丸めの1の数が s1s-1 個になる。

δcδR=η22. \delta_c-\delta_R=\frac{\eta^2}{2}.

従って η>0\eta>0 では、最近丸めの保証が失われても、上位 ss 個はなお分離している範囲がある。例えば n=2,s=1,η=0.1,x=(0.49,0.41)n=2,s=1,\eta=0.1,x=(0.49,0.41) では D=0.4918<δc=0.495D=0.4918<\delta_c=0.495 だが、0.5で丸めると両方0になる。

成分は二値代表を中心とする星形とは限らない。 n=2,s=1,η=1/2n=2,s=1,\eta=1/2x=(3/8,1/8)x=(3/8,1/8)δ=11/32<δc\delta=11/32<\delta_c とする。z=(1,0)z=(1,0) から xx への直線上では D(t)=3t/413t2/32D(t)=3t/4-13t^2/32 で、t=12/13t=12/13 の値 9/269/26δ\delta を超える。T3の補助頂点を経由する必要がある。

η1/2\eta\le1/2 を外してはいけない。 n=2,s=1,η=0.9,δ=0.1n=2,s=1,\eta=0.9,\delta=0.1 では (0.1,0)(0.1,0)(1,0)(1,0) が可行だが、両者を結ぶ経路は第1座標が 1/21/2 になる点を通り、そこで D1/4>δD\ge1/4>\delta となる。δ>δc=0.095\delta>\delta_c=0.095 でも連結ではない。T1はこの範囲でも正しいが、T2–T4の同じ公式を拡張したことにはならない。

6. 総和が整数でない切片では、合流が二段になる

ここでは誤差帯を考えず、総和を正確に固定する。整数 n1n\ge10mn10\le m\le n-10<r<10<r<1 に対し、

S=m+r,M=m+r2,HS={x[0,1]n: ixi=S},XE={xHS: ixi2=ME},Emax=MS2/n. \begin{aligned} S&=m+r,\qquad M=m+r^2,\\ H_S&=\{x\in[0,1]^n:\ \sum_i x_i=S\},\\ X_E&=\{x\in H_S:\ \sum_i x_i^2=M-E\},\\ E_{\max}&=M-S^2/n. \end{aligned}

以前の欠損 DD と今回の EE は異なり、 D=r(1r)+ED=r(1-r)+E である。(4)と i(xiS/n)20\sum_i(x_i-S/n)^2\ge0 から、実現可能な範囲は 0EEmax0\le E\le E_{\max}。最大配置と一様点 c=(S/n,,S/n)c=(S/n,\ldots,S/n) を結ぶ線分上で全ての値を実現できる。

定理T5(非整数切片の鋭い順位差)。 存在する添字について、

minxXE(x(m)x(m+1))=max{(1r)22E,0}(m1),(T5a) \min_{x\in X_E}(x_{(m)}-x_{(m+1)}) =\sqrt{\max\{(1-r)^2-2E,0\}} \quad(m\ge1), \tag{T5a}
minxXE(x(m+1)x(m+2))=max{r22E,0}(m+1<n).(T5b) \min_{x\in X_E}(x_{(m+1)}-x_{(m+2)}) =\sqrt{\max\{r^2-2E,0\}} \quad(m+1<n). \tag{T5b}

全範囲の鋭さの証明。 T1に s=ms=ms=m+1s=m+1 を代入し、D=r(1r)+ED=r(1-r)+E を使えば、それぞれの下界を得る。正の枝では次の配置を使う。

yU(h)=(1m1,(1+r+h)/2,(1+rh)/2,0,,0),h=(1r)22E;yL(h)=(1m,(r+h)/2,(rh)/2,0,,0),h=r22E.(10) \begin{aligned} y_U(h)&=(1^{m-1},(1+r+h)/2,(1+r-h)/2,0,\ldots,0),\\ h&=\sqrt{(1-r)^2-2E};\\ y_L(h)&=(1^m,(r+h)/2,(r-h)/2,0,\ldots,0),\\ h&=\sqrt{r^2-2E}. \end{aligned} \tag{10}

前者は 0Eb=(1r)2/20\le E\le b=(1-r)^2/2、後者は 0Ea=r2/20\le E\le a=r^2/2 の範囲で、降順・箱制約・指定の総和と二乗和を全て満たし、該当する順位差が hh となる。

各閾値を t{a,b}t\in\{a,b\}、その同率配置を y=yL(0)y=y_L(0) または yU(0)y_U(0) とする。閾値以降は

x(λ)=c+λ(yc),0λ1 x(\lambda)=c+\lambda(y-c),\qquad0\le\lambda\le1

を使う。並び順と境目の同率を保ち、

E(x(λ))=Emaxλ2(Emaxt).(11) E(x(\lambda)) =E_{\max}-\lambda^2(E_{\max}-t). \tag{11}

t<Emaxt<E_{\max} なら λ=(EmaxE)/(Emaxt)\lambda=\sqrt{(E_{\max}-E)/(E_{\max}-t)} を選び、閾値から上端までの全 EE で順位差0を達成できる。t=Emaxt=E_{\max} なら、その枝は一様点だけで処理する。存在する各種類の中点自体が可行なので、その閾値は必ず EmaxE_{\max} 以下である。

図 4

二つの順位差が、別々の閾値で消える

n = 6、m = 2 を固定し、端数 r と欠損 E を動かします。成分数はラベル付きの配列全体で数えています。

a = r²/2、b = (1−r)²/2。閾値の等号では合流済みです。E = Emax は一様配置 1 点。図の曲線は各順位差の最小値です。

定理T6(非整数切片の成分数)。 内部の場合 1mn21\le m\le n-2 では a=r2/2a=r^2/2b=(1r)2/2b=(1-r)^2/2N=(nm)(nm)N=\binom nm(n-m) として、次の表が正確な道連結成分数を与える。

条件 成分数 成分を識別するラベル
E<aE<a かつ E<bE<b NN 上位 mm 個の集合と、その次の一添字
aE<ba\le E<b (nm)\binom nm 上位 mm 個の集合
bE<ab\le E<a (nm+1)\binom n{m+1} 上位 m+1m+1 個の集合
aEa\le E かつ bEb\le E 1 全体

表は実現可能域と交差させて読む。r<1/2r<1/2 なら N(nm)1N\to\binom nm\to1r>1/2r>1/2 なら N(nm+1)1N\to\binom n{m+1}\to1r=1/2r=1/2 なら E=1/8E=1/8 で直接 N1N\to1 と合流する。各閾値の等号は合流済みの側に含む。

頂点と辺。 HSH_S の点に二つ以上の内部座標があれば、その二つを和を保って正負に少し動かせるため頂点ではない。従って頂点は mm 個の1、一つの rr、残り0であり、個数は NN。1の添字集合 AArr の添字 jAj\notin A を用いて頂点を (A,j)(A,j) と表す。

辺の相対内部では自由座標が二つである。実際、自由座標が pp 個なら、和の一制約を課した局所的な面の次元は p1p-1 である。辺では p=2p=2 だから、残る座標は0/1で、自由な二つの和は rr または 1+r1+r となる。従って辺は (r,0)(0,r)(r,0)\leftrightarrow(0,r)(1,r)(r,1)(1,r)\leftrightarrow(r,1) の二種類だけである。辺上の二乗和は中点で最小となり、そこでの欠損 EE はそれぞれ a,ba,b となる。

等位集合から残存辺へ。 ΩE={xHS: Q(x)ME}\Omega_E=\{x\in H_S:\ Q(x)\ge M-E\} とする。ΩE\Omega_E は凸多面体 HSH_S から相対開凸集合 UE={Q<ME}U_E=\{Q<M-E\} を除いた集合である。 GorbanのProposition 2.4(PDF版) により、その道連結成分は、UEU_E の外に残る頂点と、全体が UEU_E を避ける辺からなるグラフの成分に対応する。全頂点の二乗和は MM なので残存し、二種類の辺はそれぞれ EaE\ge aEbE\ge b のときに残る。

E<EmaxE<E_{\max} では、この補集合は XEX_E へ強変形収縮する。RE=MES2/n>0R_E=\sqrt{M-E-S^2/n}>0 として

pE(x)=c+RExc2(xc)(12) p_E(x)=c+\frac{R_E}{\|x-c\|_2}(x-c) \tag{12}

と置く。xc2RE\|x-c\|_2\ge R_E なので、xxpE(x)p_E(x) を結ぶ放射方向の線分は、凸な HSH_S 内にあり、その半径は RER_E 以上を保つ。これが ΩE\Omega_E 内の連続な変形収縮であり、XEX_E を固定する。これは同論文Lemma 3.2(PDF版)の本例での明示式でもある。

グラフの数え上げ。 aa の辺だけなら AA を固定した nmn-m 個の頂点が完全グラフを作り、成分数は (nm)\binom nmbb の辺だけなら B=A{j}B=A\cup\{j\} を固定した m+1m+1 個の頂点が完全グラフを作り、成分数は (nm+1)\binom n{m+1}。両方が残ると、まず AA を固定して jj を選び直し、次に BB を固定して AA の一要素を交換できるため、任意の頂点へ到達できる。両方ないと全頂点が孤立する。これで表が従う。T5の正の間隔が各順位ラベルの不変性を保証し、表のラベル数と一致する。

端と退化例。

  • m=0,n2m=0,n\ge2 では bb の辺とT5aの順位が存在しない。E<aE<ann 成分、aEEmaxa\le E\le E_{\max} で1成分となる。
  • m=n1,n2m=n-1,n\ge2 では aa の辺とT5bの順位が存在しない。合流は bbn1n\to1 となる。
  • n=2n=2 では有効な閾値は EmaxE_{\max} と一致し、二点が一様点に合流する。
  • n=1n=1 では HS={r}H_S=\{r\}Emax=0E_{\max}=0 で常に一点。順位差は定義しない。
  • E=0E=0 は頂点そのもの、E=EmaxE=E_{\max} は一様点一つである。最後のケースには正の半径を要求する(12)を適用しない。

例として n=6,S=2.3n=6,S=2.3 では a=0.045,b=0.245a=0.045,b=0.245 であり、成分数は 6015160\to15\to1 となる。

7. 島の内部には、穴も生まれて消える

連結成分数だけでは、統計量を保つ集合の形は分かり切らない。ここでは n=4,S=5/4n=4,S=5/4 の小さな例について、ホモトピー型まで求める。「点と同じホモトピー型」は、その集合自体が一点という意味ではなく、連続的に縮めて点と同じ型になることを表す。

定理T7(交わらない面への収縮)。 コンパクト凸多面体 PP と、その中で相対開な凸集合 UU を取る。UU に交わらない閉面全ての合併を KK とすると、PUP\setminus UKK へ強変形収縮する。ここで閉面には PP 自身も含める。各面 FF の境界 F\partial F は、そのアフィン包 affF\operatorname{aff}F 内の相対境界を指す。

証明。 U=U=\varnothing または PU=P\setminus U=\varnothing は直ちに処理できる。以下では、UU に交わる正次元の閉面 FF を高次元から順に処理する。UUPP で相対開なので、UFU\cap F\ne\varnothing なら UrelintFU\cap\operatorname{relint}F\ne\varnothing。実際、交点の十分小さい相対近傍は UU に含まれ、面の相対内部はその面に稠密である。

中心 cFUrelintFc_F\in U\cap\operatorname{relint}F を選ぶ。xFUx\in F\setminus U に対して、cFc_F から xx を通る半直線と F\partial F との交点を ρF(x)\rho_F(x) と置く。中心が相対内部にあるためこの交点は一意であり、放射射影は中心以外で連続、境界上では恒等写像となる。

[x,ρF(x)][x,\rho_F(x)]UU に入らない。もしその先の点 yyUU に入れば、cF,yUc_F,y\in U と凸性により、その間にある xxUU に入ってしまうからである。従って

HF(x,t)=(1t)x+tρF(x)(13) H_F(x,t)=(1-t)x+t\rho_F(x) \tag{13}

FUF\setminus UFU\partial F\setminus U へ縮め、境界を固定する。

処理済みの高次元交差面の内部は既に除かれている。また、UU を避ける高次元面が FF を含むことは、FUF\cap U\ne\varnothing に矛盾する。従って現在の空間の他の面と FF との交わりは境界にあり、(13)を他の部分の恒等変形と貼り合わせられる。面は有限個の閉集合なので、貼り合わせは連続である。最後には UU を避ける面だけが残り、KK は全過程で固定される。UU に含まれる頂点は最初から補集合にない。これで強変形収縮を得る。

面の出現閾値。 T6の P=HSP=H_SUE={Q<ME}U_E=\{Q<M-E\} に適用する。jj 個の固定1、pp 個の自由座標、残り固定0を持つ非退化面 FF は、0<Sj<p0<S-j<p、次元 p1p-1 を満たす。自由座標を全て (Sj)/p(S-j)/p にすると

minFQ=j+(Sj)2p. \min_F Q=j+\frac{(S-j)^2}{p}.

従って閉面全体が補集合に入る必要十分条件は

EEF:=Mj(Sj)2p.(14) E\ge E_F:=M-j-\frac{(S-j)^2}{p}. \tag{14}

この条件を満たす面の合併 KEK_E が有限セル複体となる。T7と(12)より、E<EmaxE<E_{\max} では KEK_EXEX_E は同じホモトピー型を持つ。正確には、共通の空間 ΩE\Omega_E がそれぞれへ強変形収縮する。一般に KEK_EXEX_E の部分集合ではないため、「XEX_E が直接 KEK_E へ変形収縮する」とは述べない。E=EmaxE=E_{\max} では XE={c}X_E=\{c\}KE=HSK_E=H_S がどちらも可縮であることを別途用いる。

図 5

穴が開き、埋まり、また開く

n = 4、S = 5/4。等位集合と同じホモトピー型を持つ面複体 K_E を表示します。

E代表型β₀, β₁, β₂
[0, 1/32)12 個の点12, 0, 0
[1/32, 1/24)4 個の円周4, 4, 0
[1/24, 9/32)4 個の点4, 0, 0
[9/32, 13/24)円周 3 本の束1, 3, 0
[13/24, 43/64)球面 S²1, 0, 1
{43/64}1 点1, 0, 0
面複体の正確な頂点・辺・面を三次元投影しています。K_E は一般に X_E の部分集合ではありません。両者はホモトピー同値で、「点型」は原集合が一点であることを意味しません。

定理T8(切頂四面体の穴の遷移)。 n=4,S=5/4n=4,S=5/4 では M=17/16,Emax=43/64M=17/16,E_{\max}=43/64 であり、次の変化が起きる。

EE の範囲 XEX_E のホモトピー型 (β0,β1,β2)(\beta_0,\beta_1,\beta_2)
0E<1/320\le E<1/32 12個の点 (12,0,0)(12,0,0)
1/32E<1/241/32\le E<1/24 互いに離れた4個の円周 (4,4,0)(4,4,0)
1/24E<9/321/24\le E<9/32 4個の点 (4,0,0)(4,0,0)
9/32E<13/249/32\le E<13/24 円周3本を一点で束ねた空間 (1,3,0)(1,3,0)
13/24E<43/6413/24\le E<43/64 球面 S2S^2 (1,0,1)(1,0,1)
E=43/64E=43/64 一点 (1,0,0)(1,0,0)

完全な面計数と証明。 HSH_S は三次元の切頂四面体の面構造を持ち、頂点12、辺18、三角形面4、六角形面4である。座標を1に固定すると残りの和が 1/41/4 となる三角形面、0に固定すると残りの和が 5/45/4 となる六角形面を得る。後者の頂点は残り三座標への (1,1/4,0)(1,1/4,0) の六通りの配置である。(14)から全ての閾値は次の通り。

面の型 jj pp 個数 出現閾値
頂点 1 1 12 0
r0r\leftrightarrow0 の辺 1 2 12 1/321/32
三角形面 1 3 4 1/241/24
1r1\leftrightarrow r の辺 0 2 6 9/329/32
六角形面 0 3 4 13/2413/24
多面体全体 0 4 1 43/6443/64

最初は12頂点だけである。12本の第一種辺が現れると、各「1の位置」を固定した三角形の周ができるので、4個の円周となる。次にその三角形面が入って穴が埋まり、4個の可縮成分となる。

残りの6辺が入ると、四つの三角形の各組の間に一本ずつ橋がかかる。各三角形を中心から三分割し、各小三角形を自由な外辺から潰すと、三つの橋の取付点を固定したY字型の木に縮められる。この四つの木をそれぞれ一点へ縮約すると、完全グラフ K4K_4 になる。連結グラフの全域木を一点へ縮約すれば残る円周の数は辺数から頂点数を引いて1を足した値なので、ここでは 64+1=36-4+1=3 本となる。

六角形面が全て入ると多面体の境界全体になる。凸三次元多面体の内部点からの放射射影により、その境界は S2S^2 と同相である。最後に E=EmaxE=E_{\max} では XEX_E 自体が一様点一つとなる。以上が全区間と等号の扱いを証明する。

有限セル複体の境界行列も F2\mathbb F_2 上で独立に計算し、表のBetti数と境界の合成が0になることを確認した。ただし、mod 2のホモロジー計算だけからホモトピー型は決まらない。上表の型には今述べた直接の収縮と面構造の証明を用いている。この位相部分はLean未形式化であり、新規性の文献照合も未完了である。

8. Leanで確認した範囲と、再現の記録

既存の14宣言には、Lean 4.19.0、Mathlib v4.19.0による2026 09 08の成功記録がある。終了コードは0。追加33宣言は実行未確認である。 実行したMathlibのcommitは c44e0c8ee63ca166450922a373c7409c5d26b00b である。証明ソースは MomentIslands.lean。

ここでいう成功は、2026 09 08に実施して同梱ログに残した検証の記録である。2026 09 09には、公式Mathlibの固定版ソースを取得し、上記commitとの一致と使用APIを照合した。一方、公式Lean本体の取得は再試行を含め「ネットワーク承認が決定前にキャンセルされた」と返されて停止した。以前の実行環境もアクセス可能な保存先からは復元できず、今回のLeanコンパイルは未実施である。Mathlibのソース取得やAPI照合を、証明検査の成功と読み替えない。

件数の意味。 14件はファイル内の定理宣言の総数であり、14個の独立したX01主定理ではない。特に four_variable_gap_boundfour_variable_gap は前段の4変数不可能例を扱う補助的な記録で、X01本文の主結果には対応しない。

Leanの定理名 検証した内容
pair_square_upper、pair_square_upper_complement 二変数の平方和上界2本
four_variable_gap_bound、four_variable_gap 総和2、先頭二値の和 1/21/2 なら二乗和 3/2\le3/2。二乗和 9/59/5 の不可能性。X01主結果外の補助例2件
balanced_error_defect、invert_defect_bound、balanced_error_sharp_bound 左右の非負誤差和が同じ ρ\rho という明示仮定から、二次欠損評価と平方根による反転
concentration_from_square_deficit 非負列の二乗和欠損からの集中評価
rank_gap_core、rank_gap_sqrt、rank_gap_slack T1の集約量に関する核、平方根型、余裕の評価
finite_rank_gap 任意の二つの有限集合から、核に必要な有限和の不等式を構成
rank_gap_partition、rank_gap_partition_sqrt 任意有限型の分割と各側の極値からT1の平方不等式。平方根型には境界の順序を追加

最後の有限分割版 rank_gap_partition は、任意の非自明な有限分割 I,IcI,I^c、その各側で最小・最大を取る添字 a,ba,b を入力とし、本文T1と同じ平方不等式を直接証明している。分割が上位集合であることは仮定しない。rank_gap_partition_sqrt ではさらに xbxax_b\le x_a を仮定し、

12ixi(1xi)(ixiI)2xaxb \sqrt{1-2\sum_i x_i(1-x_i) -\left(\sum_i x_i-|I|\right)^2} \le x_a-x_b

を証明している。Leanの実数平方根は負の引数で0となるため、保証が正になるための条件と、定理自体の成立条件は区別されている。数学上の順位記法は、有限列から上位 ss 個を選んだこの分割の特殊化である。形式ファイルの入出力は分割と極値を達成する添字を明示しており、並べ替え手続きの検証を必要としない。T1の平方不等式の主張と、この形式化された分割版の間に、未形式化の並べ替えアルゴリズムを補う必要はない。

2026 09 08の既存14宣言について公理依存を出力し、依存は標準の propext、Classical.choice、Quot.sound のみだった。証明穴の sorry、admit、sorryAx や、独自公理の宣言はない。これは「公理を全く使わない」という意味ではなく、Lean/Mathlibの通常の基礎に未証明の仮定を追加していないという意味である。

追加した証明コード:33宣言、全て実行未確認。 既存モジュールから次の四つへ形式化を拡張するソースを記述した。件数は定理宣言の数であり、独立した新定理の数ではない。

追加モジュール 宣言数 コードが対象とする内容 現在の状態
Packing.lean 6 整数からのずれによる有限列の欠損下界、半整数座標の排除、尺度を変えた二乗和評価 NOT COMPILED
BandSharp.lean 8 T2の三分岐のスカラー下界と二座標の達成配置 NOT COMPILED
FiniteBand.lean 7 有限分割への下界適用、任意次元の達成配置、T4の閾値での半整数座標の配置 NOT COMPILED
Rounding.lean 12 最近0/1丸め、1の個数の保存、一意な二値の L1L^1 最小化、整数総和での鋭い誤差上界 NOT COMPILED

finite_band_attainment(FinpUnit)(UnitFinq)(\mathrm{Fin}\,p\oplus\mathrm{Unit})\oplus(\mathrm{Unit}\oplus\mathrm{Fin}\,q) という有限添字型に、pp 個の1、境目の二値、qq 個の0を置く。任意の p,qp,q に対して箱制約、総和、欠損、境目の順序を記述している。これは特定の配列の並べ替えアルゴリズムを検証する主張ではない。robust_total_rounding の十分条件は η0\eta\ge0 で記述したが、閾値の達成配置が対象とするのは本文T4と同じ 0η1/20\le\eta\le1/2 である。

追加分には数学的導出、静的点検、13個の有理係数多項式恒等式の正規化検査を行った。しかし、Leanの構文・型・タクティク実行・カーネル検査を完了していない。証明穴や独自公理を追加するコードが見当たらないことだけでも、形式証明の完成とは言えない。追加33件を既存14件に足して「47件検証済み」とは扱わない。

形式検証が残る範囲。 T2の全分岐・達成配置、T4の最近丸めの総和保存などは上の候補コードを実行・修正する必要がある。T1の等号分類全体と完全な安定性、T3の経路と成分分類、T5の全水準での達成可能性、T6–T9の位相分類には、本文の数学的証明はあるが完成したLean検証はない。特に従来の「左右の誤差和が等しい」という形式補題だけで、丸め操作がその仮定を満たすことまで確認済みとは数えない。

全ソース、過去の成功ログ、今回の BLOCKED 記録、再実行スクリプトは、証明ソースと再現資料に収録した。Lean本体とコンパイル済みMathlibは同梱していない。

ソースの同一性。 検証した MomentIslands.lean のSHA-256は

3f29d4e1daad5ed467c6ef2a832a067b03546a2ca35293983f3675e76e70c9fa

である。再現資料には版、実行コマンド、最終成功ログ、途中の入力ルート指定エラー、公式配布物のハッシュを残した。

前回(2026 09 08)の環境固有の互換処理。 公式Leanが実行場所を探す際、プロセス番号とprocfsの見え方の不一致が生じた。このため、同じプロセスの実行ファイルを指す readlink の参照先だけを、プロセス番号を含むパスから /proc/self/exe へ置き換えるCの互換処理を使用した。Leanのソース、数学カーネル、証明検査、公式実行ファイルは変更していない。処理のCソースとハッシュも記録している。通常のLinux環境ではこの互換処理は不要である。

標準環境で、従来の核だけを再実行するコマンドは次の通り。

lake update
lake exe cache get
lake env lean MomentIslands.lean

追加モジュールも含めた検証は、ソース一式を展開したプロジェクト内で lake updatelake exe cache getpython3 verify.py と進める。スクリプトは版・commitを照合し、ビルドと定理ごとの公理依存を記録する。今回の保存記録は実行環境不足を表す BLOCKED である。再実行スクリプト自体も、正常なLean環境で一連の成功をまだ確認していない。

独立した有限計算。

対象 検査した範囲 結果
普遍順位式と非負分解 24,300降順格子列、150,723順位分割 全PASS
誤差帯の鋭さと経路 75,623帯保証と同数の二線分経路、9,240等号配置 全PASS
最近丸め 閾値内の1,880配置 全PASS
誤差帯の辺グラフ 75多面体、8,087辺、583閾値検査 全PASS
非整数切片の順位差 317,353格子列、633,302平方不等式、9,900達成配置 全PASS
非整数切片の成分数 1,695水準の重み付きグラフ 全PASS
広い誤差帯(T9)の辺グラフ 60有理多面体、660臨界値・中点条件 全PASS(v1.1で追加)
穴の遷移 6段階のセル複体と F2\mathbb F_2 境界行列 全PASS

これらは整数・有理数による厳密な有限検査である。同じ列に複数の検査を行っているため、件数の合計を独立標本数とはしない。連続空間の全ての点への一般性は、本文の証明と、該当する範囲のLean証明が担う。

9. 新規性の照合:何が既知の系なのか

2026 09 09の追加調査で、最上位・最下位の順位版T1と整数総和の場合が、既知境界の系または短い初等的帰結であることをさらに明確にした。内部順位・非整数総和の一般式や、T2・T9の同じ明示公式は今回未同定である。「未同定」は検索の現状であり、新規性の証拠ではない。 順位統計量、二乗和、trace、近射影性、HOMO/LUMO境界、SPREAD制約、hypersimplexなどの別表現を確認した限定的な照合であり、包括的な優先権調査ではない。

最大成分の鋭い境界には2008年の明示的先行例がある。 Rosenberg–Jakobsson (2008), Theorem 1(ii), p.2028 は、確率ベクトル P=(pi)P=(p_i) の二乗和 1/2<I(P)=ipi2<11/2<I(P)=\sum_i p_i^2<1 に対し、

maxipi1+2I(P)12(15) \max_i p_i\ge\frac{1+\sqrt{2I(P)-1}}2 \tag{15}

という鋭い下限を明示している。I(P)=1I(P)=1 は一点集中なので同じ式が成立する。前稿はこの論文のAppendix Lemma 3を二乗和最大化の出典としていたが、主定理にも直接の先行結果があった。Rastegin (2023), Theorem 1、式(30)–(31) も同じ高純度枝を明示している。2008年が初出だとまでは断定しない。

整数総和の丸め上限は初等的に直接証明できる。 左右それぞれで「非負数の二乗和は和の二乗以下」を使う。まず引用に依存しない証明を示し、その後で(15)への集約による対応を記す。

xi[0,1]x_i\in[0,1]S=sZS=s\in\mathbb ZD<1/2D<1/2 とする。最近0/1丸め zz を一つ取り、di=min(xi,1xi)d_i=\min(x_i,1-x_i) と置く。di2xi(1xi)d_i\le2x_i(1-x_i) なので idi<1\sum_i d_i<1。従って

siziidi<1. \left|s-\sum_i z_i\right| \le\sum_i d_i<1.

左辺は整数だから0であり、丸めは総和を保存する。もしある座標が 1/21/2 なら、そこで異なる二つの丸めがともに同じ総和 ss を持つことになり矛盾するため、丸めは一意である。

ρ=zi=0xi=zi=1(1xi)<12 \rho=\sum_{z_i=0}x_i =\sum_{z_i=1}(1-x_i)<\frac12

と置く。両側の各誤差は非負なので、それぞれの二乗和は ρ2\rho^2 以下である。従って

D=2ρzi=0xi2zi=1(1xi)22ρ(1ρ). \begin{aligned} D&=2\rho-\sum_{z_i=0}x_i^2 -\sum_{z_i=1}(1-x_i)^2\\ &\ge2\rho(1-\rho). \end{aligned}

すなわち (12ρ)212D(1-2\rho)^2\ge1-2Dρ<1/2\rho<1/2 から非負の平方根を取ることができ、

12ρ12D. 1-2\rho\ge\sqrt{1-2D}.

よって

xz1=2ρ112D.(16) \|x-z\|_1=2\rho\le1-\sqrt{1-2D}. \tag{16}

任意の部分集合に対する和の誤差は、正部分と負部分の質量がともに ρ\rho であることから ρ\rho 以下。また、1へ丸めた側の最小値は 1ρ1-\rho 以上、0へ丸めた側の最大値は ρ\rho 以下なので、

gs12ρ12D.(17) g_s\ge1-2\rho\ge\sqrt{1-2D}. \tag{17}

これで(16)(17)の直接証明が完了する。既存Leanの balanced_error_defectbalanced_error_sharp_bound は、等しい誤差質量を仮定した二乗和評価と反転を検証済みである。丸めからこの仮定への接続は追加した Rounding.lean の対象で、実行未確認である。s=0,ns=0,n は二値列一つの自明な場合として分けられる。順位版T1で SZS\in\mathbb Z かつ SsS\ne s なら (Ss)21(S-s)^2\ge1、また S=s,D1/2S=s,D\ge1/2 なら 2D12D\ge1 なので、残りは自明である。従って整数総和の場合の順位版T1は全てこの初等的帰結に含まれる。

先行記述への集約による対応。 確率ベクトル P=(1ρ,(xi)zi=0)P=(1-\rho,(x_i)_{z_i=0}) を作る。その最大成分は 1ρ1-\rho であり、

I(P)=(1ρ)2+zi=0xi2,I(P)(1D)=ρ2zi=1(1xi)20. I(P)=(1-\rho)^2+\sum_{z_i=0}x_i^2, \qquad I(P)-(1-D)=\rho^2-\sum_{z_i=1}(1-x_i)^2\ge0.

従って I(P)1D>1/2I(P)\ge1-D>1/2 なので(15)からも

1ρ1+2I(P)121+12D2 1-\rho\ge\frac{1+\sqrt{2I(P)-1}}2 \ge\frac{1+\sqrt{1-2D}}2

が得られる。この還元は丸め評価の証明に必要な前提ではなく、明示的な先行不等式との関係を示すものである。原論文が同じ丸め表現やこの集約を述べたとは主張しない。総和 S=sS=s の一般の ss について、初等的な直接証明と、この集約による説明の双方を持つ。これらを独立した新しい不等式とは数えない。

最上位・最下位の順位版T1は、総和が非整数でも既知の系となる。 s=1s=1 のT1を整理すると

g122QS2. g_1^2\ge 2Q-S^2.

S=0S=0 または 2QS22Q\le S^2 なら自明である。残りの場合は pi=xi/Sp_i=x_i/SH=Q/S2>1/2H=Q/S^2>1/2 と正規化する。(15)と p(2)1p(1)p_{(2)}\le1-p_{(1)} より

g1=S(p(1)p(2))S(2p(1)1)2QS2. g_1=S(p_{(1)}-p_{(2)}) \ge S(2p_{(1)}-1) \ge\sqrt{2Q-S^2}.

H=1H=1 も一点集中として成立する。この最上位の系には、非負性があれば上限 xi1x_i\le1 すら不要である。最下位 s=n1s=n-1yi=1xiy_i=1-x_i を降順に並べる。Dy=DD_y=DSy=nSS_y=n-Sg1(y)=gn1(x)g_1(y)=g_{n-1}(x)(Sy1)2=(S(n1))2(S_y-1)^2=(S-(n-1))^2 なので最上位の系に帰着する。

以上から、順位版T1の非自明な一般式について先行性をなお調べる範囲は、実質的に

n4,2sn2,SZ,2D+(Ss)2<1 n\ge4,\qquad2\le s\le n-2,\qquad S\notin\mathbb Z, \qquad2D+(S-s)^2<1

へ絞れる。これは残る場合の新規性、または既知理論から短く導けないことを証明するものではない。任意分割の符号付き平方形や余裕の恒等式の先行性も、この順位版の特殊例の還元だけでは決まらない。

非整数切片の端も直接の系である。 m=0m=0S=rS=r では pi=xi/rp_i=x_i/r を確率ベクトルとして、E<r2/2E<r^2/2 の範囲で(15)を使う。p(2)1p(1)p_{(2)}\le1-p_{(1)} なので

x(1)x(2)r2Q/r21=r22E. x_{(1)}-x_{(2)} \ge r\sqrt{2Q/r^2-1} =\sqrt{r^2-2E}.

それ以降の下界0は自明である。m=n1m=n-1 は補数 1xi1-x_i を同様に正規化すればよい。内部の一般 mm の全公式まで同じ還元で帰属したことにはならない。

対象 文献との対応と現在の扱い
箱内での二乗和最大 同一結果が既知。Rosenberg–JakobssonのAppendix Lemma 3、EllisのTheorem 1に対応
順位版T1の最上位・最下位、整数総和 既知の最大成分境界の系、または短い初等的帰結
順位版T1の内部順位・非整数総和 同じ一般式は今回未同定。新規性未確定
T1の任意分割の平方形、等号配置、余裕の恒等式 個別の先行性は未確定。特殊例の還元だけで全部の帰属を決めない
T2の三分岐、T4の丸め閾値、T5の非整数総和の順位差 T1や既知部品の明示的な帰結。同一の陳述の先行性は未確定
T3・T6・T9の成分分類 Gorbanの一般理論を具体化した系。同じ閉形式は今回未同定
領域の増大途中で島が増える現象 Gorbanの§4.2・Fig.4.5に先行例。現象自体を新規には数えない
T7–T8の面収縮と穴 個別の高次位相の先行性は未確定。成分数のグラフ定理だけで高次位相を帰属させない
行列版 スペクトル定理による標準的な系。固定座標の成分数を行列空間へ転用しない

T2が既知の部品から導けることと、三分岐の同じ陳述が既に出版されていることも区別する。具体的な公式・達成配置の有用性と、独立した新原理としての新規性は同じ評価ではない。

決定論的な順位差をモーメントから評価する問題には先行蓄積がある。 Goroncy–Rychlik (2006) は固定された外部の箱 [0,1][0,1] を課さない問題を扱うため、その一般的な表題だけで今回の正の間隔を同一の既知結果と認定してはいけない。

第2節の行列版のように、近似射影行列の残差 Tr(XX2)\operatorname{Tr}(X-X^2) やそのノルムから固有値情報を得る研究は、density-matrix purification の分野に先行例がある。 Rubensson–Niklasson (2013), §5.1 はtraceとFrobeniusノルムを使った評価を具体的に与える。2026 09 09の再照合では、A=XX2A=X-X^2 に対する AF2/TrAA2\|A\|_F^2/\operatorname{Tr}A\le\|A\|_2(分母非零の場合)と、残差ノルムに基づく中央の開区間の固有値排除を確認した。今回の指定順位 ss とtraceの整数ずれ ee を含む鋭式、および頑健な三分岐最小値と同じ記述は、読めた範囲では確認していない。優先権は未確定であり、用途の発想を新規には数えない。

Rubensson–Rudberg–Sałek (2008), Density matrix purification with rigorous error control は概要まで照合した。固有値と占有不変部分空間の誤差制御を扱う関連研究だが、今回全文を取得できず、個々の定理との比較が残る。書誌の実在や概要だけから、今回の式の先行性を認定してはいけない。

Wolkowicz–Styan (1980) のTheorem 2.4は順位差の上界、Theorem 2.5は固有値の全幅の上下界を扱う。Sharma–Pal (2022) のTheorem 5は上位 kk 個と下位 kk 個の和の差を評価する。これらを今回の指定した内部順位の隣接差の下界と同一視しない。SPREADについてはEkら (2022) の§3・Lemmas 3–5とAlgorithm 1まで確認した。分散下限を使って分散上限制約を伝播する設定であり、本稿の高分散側からの順位差保証とは向きが異なる。

未確認文献としては、上記の2008年近似射影論文に加え、Fahmy–Proschan (1981) の原論文本文、Schaus–Régin (2014)、Kvålseth (2015)、Kobayashi–Tanaka (2025) の個々の式が残る。MathSciNet・zbMATHを用いる包括的調査、全引用連鎖、書籍・非英語文献・索引化されていない資料の網羅は行っていない。未読部分に同じ結果がないとは判定しない。Leanによる証明検証が成功しても、これらの文献上の未確認事項が解消するわけではない。

10. 参照した一次資料

  1. Noah A. Rosenberg and Mattias Jakobsson, The Relationship Between Homozygosity and the Frequency of the Most Frequent Allele, 2008。Theorem 1(ii), p.2028:最大成分と二乗和の鋭い境界。Appendix Lemma 3, p.2032と関連証明:二乗和最大化。
  2. J. L. Ellis, The maximum variance of a finite dataset, given its mean, minimum, and maximum, 2025 preprint v2。全7頁、特にTheorem 1, pp.4–5、Example 2, p.6。有限データの最大分散・最大二乗和。照合した版はarXiv版である。
  3. Alexander N. Gorban, Thermodynamic Tree: The Space of Admissible Paths, 2013。PDF版のLemma 2.1, p.11、Proposition 2.4, p.13、Lemma 3.2, pp.18–19、§4.2・Fig.4.5, pp.26–27。頂点への接続、辺による成分分類、等位集合との対応、成分数が増加する例。旧稿が参照したHTML版のLemma 4、Proposition 7、Lemma 14は、それぞれ上記PDFのLemma 2.1、Proposition 2.4、Lemma 3.2に対応する。
  4. Alexey E. Rastegin, Uncertainty relations in terms of generalized entropies derived from information diagrams, 2023。Theorem 1、式(30)–(31)。最大成分境界の高純度枝を明示する先行記述の一つ。2008年より後の記述であり、初出として扱わない。
  5. Agnieszka Goroncy and Tomasz Rychlik, How deviant can you be? The complete solution, 2006。§2の設定, p.637、§3 Example 2, pp.642–643。固定された外部の箱を課さない決定論的順位境界。
  6. Henry Wolkowicz and George P. H. Styan, Bounds for eigenvalues using traces, 1980。§2、特にTheorem 2.4, 式(2.40), p.482、Theorem 2.5, pp.483–484。順位差の上界や固有値全幅の上下界を照合。
  7. Sharma and Pal, Note on bounds for eigenvalues using traces, 2022。Theorem 5, 式(3.3), p.767。上位・下位それぞれ kk 個の和の差を評価する。
  8. Emanuel H. Rubensson and Anders M. N. Niklasson, arXiv:1302.7292, 2013 preprint。§5.1、式(13)–(16)を照合。近似射影残差のtrace・ノルムと固有値境界。本文の版によって題名・式番号が異なるため、ここでは照合したPDFの識別子と箇所を示す。
  9. Alexander Ek, Andreas Schutt, Peter J. Stuckey and Guido Tack, Explaining Propagation for Gini and Spread with Variable Mean, CP 2022。§3、Lemmas 3–5、Algorithm 1, pp.21:4–21:7。前稿の概要確認から進み、分散下限を使う制約伝播の本文を照合した。
  10. Parameterless stopping criteria for recursive density matrix expansions。導入、Theorem 1、§6を確認。近接する反復停止判定の研究であり、今回の式と同一だと認定した資料ではない。
  11. Lean 4.19.0公式リリースMathlib v4.19.0。形式検証の固定版。今回取得したMathlibソースと、過去に使用した版のcommitは一致する。

本文の式の直接比較が残る重要な資料は次の通り。

資料 今回確認できた範囲・残る照合
Rubensson–Rudberg–Sałek, Density matrix purification with rigorous error control (2008) 書誌・概要まで。trace誤差と固有値境界の個々の定理の比較が残る
Fahmy–Proschan, Bounds on Differences of Order Statistics (1981) 原論文本文は未読。後続論文からの言及と原論文の直接照合を区別する
Schaus–Régin, Bound-consistent spread constraint (2014) 概要・書誌まで。制約下の分散境界の本文照合が残る
Kvålseth, Bounds on Sample Variation Measures Based on Majorization (2015) 概要・参考文献まで。majorizationによる既知境界への還元が残る
Kobayashi–Tanaka, Unified relationship between mean, variance, and an arbitrary number of quantiles (2025) 概要まで。有限列と外部箱の条件を含むかの本文照合が残る

近接する位相文献として、The Wonderful Geometry of the Vandermonde map の§2.1・Lemma 2.12など、およびHarper, Morse Matchings on a Hypersimplex の面構造・Morse matchingも確認した。順序室内の連結性や整数和のhypersimplexを、今回のラベル付き非整数切片の具体的な遷移列と同一視しない。これらは関連箇所の照合であり、全証明や全参考文献を精読したものではない。

参照した箇所の範囲を超えて、論文全体を今回の式と同一だと扱わない。本文の帰属、直接の証明、検証ログを併せて判断できる形にした。追加監査の原文も統合資料に収録している。

11. 次に確認すること

T9により 1/2<η<11/2<\eta<1 の成分数は一般の n,sn,s まで分類できた。残る数学的課題は、この領域の高次ホモトピー型、および η1\eta\ge1 でさらに多くの整数総和の頂点が入る場合である。

形式証明では、まず追加33宣言のLean実行と必要な修正、本文の仮定・結論との照合を完了する。T2の達成配置・全分岐とT4の丸め総和保存の候補コードは既にある。T3の二線分経路、T6–T9の連結性と面収縮はその後の形式化対象である。T1の任意分割による平方不等式は、本文と既存の形式ファイルで同じ仮定・結論に揃えた。

文献調査では、箱制約付きの内部順位・非整数総和における順位差、近射影行列の固有値境界、制約伝播、凸集合を除いた多面体の面複体を重点的に照合する。特にT1とT2の別表記を持つ既存定理を探し、見つかった場合は帰属を更新する。

Fableへの次の確認では、T1の任意分割と符号の扱い、T2・T4の端点、T9の辺の全列挙と同時閾値、T7–T8の収縮とホモトピー型、追加Leanコードと本文の一致を優先する。レビュー依頼に、再検査すべき箇所と証拠の読み方をまとめた。

応用を検討する際は、平均・分散の誤差をどう SSDD の厳密な許容条件へ変換するかを、実際の観測モデルごとに確かめる。本稿が扱うのは確定的な制約であり、誤差幅を置いただけで確率的な信頼度が得られるわけではない。

既存の公開成果E01・E02の台帳は変更していない。本稿はX01の追加探索を記録するものであり、T1–T9は本文内の命題を参照するための番号であって、学術的新規性を認定した公開成果番号ではない。

Research note · Version 1.2 · 2026 09 09 · Exploration candidate X01 · Consolidated review edition

The principal finite-sample inequality has a preserved successful Lean run from 2026 09 08, covering 14 theorem declarations in the original module. The 33 additional proof scripts are NOT COMPILED: the pinned Mathlib source was obtained, but the Lean executable is absent and its download stopped at a cancelled network approval. The mathematical proofs, finite computational checks, historical Lean result, and uncompiled extension are distinguished throughout this document. No claim of established academic novelty is made.

1. What the two moments can reveal

Version 1.2: consolidated material for further review (2026 09 09). This single document combines T1–T9, their proofs and figures, the additional novelty audit, and the formalization supplement with its sources and execution records. The earlier Fable5.1 review led to the clarified partition statement and T9. The new audit identifies older explicit bounds in Rosenberg–Jakobsson (2008) and an existing example of nonmonotone component counts in Gorban (2013). These attributions narrow the possible novelty claims. A further Fable review is planned, not recorded as completed; see the review request.

Let n2n\ge2, let x=(x1,,xn)[0,1]nx=(x_1,\ldots,x_n)\in[0,1]^n, and write its entries in decreasing order as x(1)x(n)x_{(1)}\ge\cdots\ge x_{(n)}. Define

S=ixi,Q=ixi2,D=SQ=ixi(1xi). S=\sum_i x_i,\qquad Q=\sum_i x_i^2,\qquad D=S-Q=\sum_i x_i(1-x_i).

The nonnegative quantity DD is zero exactly at binary vectors. With mean μ=S/n\mu=S/n and variance V=n1i(xiμ)2V=n^{-1}\sum_i(x_i-\mu)^2, it satisfies

D=n[μ(1μ)V]. D=n\bigl[\mu(1-\mu)-V\bigr].

Thus DD measures the deficit from the endpoint variance bound μ(1μ)\mu(1-\mu), multiplied by nn. For a fixed noninteger sum, that endpoint bound need not be attainable by a finite vector; Section 6 accounts for the resulting positive minimum of DD. The question is how much this aggregate information forces the individual entries to separate.

The useful regime is nearly binary data, with small total defect and a sum close to a specified integer 1s<n1\le s<n. Write e=Sse=S-s. This is not a positive-gap guarantee for broadly distributed statistical data. More precisely, the positive certificate below satisfies

2D+e2<10μ(1μ)V<1e22n. 2D+e^2<1\quad\Longleftrightarrow\quad 0\le\mu(1-\mu)-V<\frac{1-e^2}{2n}.

Thus e<1|e|<1 is necessary, and the variance must lie within O(1/n)O(1/n) of the endpoint bound. For a fixed finite noninteger sum S=m+rS=m+r, 0r<10\le r<1, the actual maximum variance is μ(1μ)r(1r)/n\mu(1-\mu)-r(1-r)/n, as shown in Section 6. Nearly idempotent self-adjoint matrices are a natural application through their eigenvalues; Section 2 states that corollary and explains why the vector topology does not transfer to the full matrix space.

For an integer 1s<n1\le s<n, put e=Sse=S-s and gs=x(s)x(s+1)g_s=x_{(s)}-x_{(s+1)}. We prove

2D+e2+gs21.(1) \boxed{2D+e^2+g_s^2\ge1.}\tag{1}

If 2D+e2<12D+e^2<1, the largest ss entries are separated from the others by a positive gap. This also prevents the identity of that top group from changing along a continuous deformation that preserves the strict inequality. Aggregate statistics certify separation; they do not identify the labels of the largest entries without observing the vector.

The note develops this observation in three directions: an exact worst-case gap under uncertainty in the sum, a constructive classification of connected components, and a small example where holes appear and disappear. All component counts concern labeled vectors, not vectors modulo permutation and not one-dimensional projections onto a partial sum.

Figure 1

A forced gap between two ranks

Switch configurations to inspect the relation between total error, defect, and the rank gap.

Displayed numbers are rounded. These configurations illustrate the result; the nonnegative decomposition in the text proves it universally.

2. A universal rank inequality, its equality cases, and stability

Theorem 1: the square inequality for an arbitrary finite partition

Assume x[0,1]nx\in[0,1]^n. Choose any nonempty proper subset II of the index set, put J=IcJ=I^c and s=Is=|I|, and choose indices attaining the boundary extrema:

u=miniIxi=xa,v=maxjJxj=xb,gI=uv. u=\min_{i\in I}x_i=x_a,\quad v=\max_{j\in J}x_j=x_b,\quad g_I=u-v.

Here aIa\in I, bJb\in J, and gIg_I is signed. Then

2D+(Ss)2+gI21. \boxed{2D+(S-s)^2+g_I^2\ge1.}

Neither integrality of SS nor cross-ordering uvu\ge v is assumed for this squared statement. If II is the set of the largest ss entries, then gI=gs0g_I=g_s\ge0, and it gives (1) and

gsmax{12D(Ss)2,0}. g_s\ge\sqrt{\max\{1-2D-(S-s)^2,0\}}.

For an arbitrary partition, the squared inequality does not imply a positive signed gap. The square-root conclusion additionally requires uvu\ge v.

Proof. Write g=gIg=g_I, e=Sse=S-s, and define

σ=iI(1xi),ρ=jJxj, \sigma=\sum_{i\in I}(1-x_i),\qquad \rho=\sum_{j\in J}x_j,
A=σ(1u)=iI{a}(1xi),B=ρv=jJ{b}xj. A=\sigma-(1-u)=\sum_{i\in I\setminus\{a\}}(1-x_i),\qquad B=\rho-v=\sum_{j\in J\setminus\{b\}}x_j.

Empty sums are zero. In particular A,B0A,B\ge0, and e=ρσe=\rho-\sigma. Define

T=iI(xiu)(1xi)+jJ(vxj)xj. T=\sum_{i\in I}(x_i-u)(1-x_i) +\sum_{j\in J}(v-x_j)x_j.

Every summand is nonnegative by the extremum condition on its own side and the box bounds; cross-ordering is not used. The following exact identity holds:

2D+e2+g21=2T+2(1v)A+2uB+(BA)2.(2) \boxed{ 2D+e^2+g^2-1 =2T+2(1-v)A+2uB+(B-A)^2. }\tag{2}

For iIi\in I, write

xi(1xi)=u(1xi)+(xiu)(1xi). x_i(1-x_i)=u(1-x_i)+(x_i-u)(1-x_i).

For iJi\in J, write

xi(1xi)=(1v)xi+(vxi)xi. x_i(1-x_i)=(1-v)x_i+(v-x_i)x_i.

Summing gives D=uσ+(1v)ρ+TD=u\sigma+(1-v)\rho+T. Substitute σ=1u+A\sigma=1-u+A, ρ=v+B\rho=v+B, e=u+v1+BAe=u+v-1+B-A, and g=uvg=u-v. Expanding and collecting terms gives (2). Since 0u10\le u\le1 and 0v10\le v\le1, its right-hand side is nonnegative. This proves the partition statement and, by choosing a top set, (1). This is an identity for arbitrary finite vectors, not an inference from numerical samples. ∎

Equality and quantitative stability

If g>0g>0, then ugu\ge g and 1vg1-v\ge g. Hence, with R=2D+e2+g21R=2D+e^2+g^2-1,

R2g(A+B),A+BR2g.(3) R\ge2g(A+B),\qquad \boxed{A+B\le\frac{R}{2g}.}\tag{3}

Consequently, for g>0g>0, equality in (1) holds precisely for the sorted vectors

(1,,1s1,u,v,0,,0ns1).(4) (\underbrace{1,\ldots,1}_{s-1},u,v, \underbrace{0,\ldots,0}_{n-s-1}).\tag{4}

Indeed, R=0R=0 forces A=B=0A=B=0; nonnegative summands then force all the indicated entries to be endpoints. Conversely, (4) makes A=B=T=0A=B=T=0, so (2) gives equality.

More generally, gγ>0g\ge\gamma>0 and RεR\le\varepsilon force the total distance of all entries other than the boundary pair from their indicated endpoints to be at most ε/(2γ)\varepsilon/(2\gamma). This estimate degenerates as the gap approaches zero. Replacing those entries by endpoints does not necessarily preserve SS: the change in the sum is ABA-B.

Corollary: a spectral certificate for a Hermitian contraction

Let XX be an n×nn\times n self-adjoint matrix with 0XIn0\le X\le I_n in the operator order, and let λ1λn\lambda_1\ge\cdots\ge\lambda_n be its eigenvalues. For 1s<n1\le s<n,

2Tr(XX2)+(TrXs)2+(λsλs+1)21, 2\operatorname{Tr}(X-X^2) +(\operatorname{Tr}X-s)^2+(\lambda_s-\lambda_{s+1})^2\ge1,
λsλs+1max{12Tr(XX2)(TrXs)2,0}. \lambda_s-\lambda_{s+1}\ge \sqrt{\max\{1-2\operatorname{Tr}(X-X^2) -(\operatorname{Tr}X-s)^2,0\}}.

Proof. By the spectral theorem, λi[0,1]\lambda_i\in[0,1], TrX=iλi\operatorname{Tr}X=\sum_i\lambda_i, and Tr(XX2)=iλi(1λi)\operatorname{Tr}(X-X^2)=\sum_i\lambda_i(1-\lambda_i). Apply Theorem 1 and its rank corollary to the eigenvalue vector. ∎

This immediate transfer is a useful application, rather than an independent principal theorem. The gap formulas in Sections 3 and 6 transfer in the same way. The component and hole classifications require a different model: they concern labeled coordinates, equivalently diagonal matrices in a fixed basis. Eigenvectors may rotate in the full matrix space. For example,

Pθ=(cos2θcosθsinθcosθsinθsin2θ),0θπ2, P_\theta=\begin{pmatrix} \cos^2\theta&\cos\theta\sin\theta\\ \cos\theta\sin\theta&\sin^2\theta \end{pmatrix},\qquad0\le\theta\le\frac\pi2,

is a continuous path from diag(1,0)\operatorname{diag}(1,0) to diag(0,1)\operatorname{diag}(0,1), with Pθ2=PθP_\theta^2=P_\theta, trace 11, and defect D=0D=0 throughout. More generally, complex orthogonal projections of the same rank are unitarily conjugate, and varying the eigenphases of a unitary matrix continuously supplies a connecting path. Hence the vector count (ns)\binom ns cannot be asserted for the full matrix space. Reframing the entire note around matrices would leave the gap formulas largely intact, but would require new topological questions and proofs for the component and hole sections.

3. The exact gap when the sum is uncertain

Fix 1s<n1\le s<n, 0η1/20\le\eta\le1/2, and δ0\delta\ge0. Consider

Ps,η={x[0,1]n:Ssη},Fs,η,δ={xPs,η:D(x)δ}. P_{s,\eta}=\{x\in[0,1]^n:|S-s|\le\eta\}, \qquad F_{s,\eta,\delta}=\{x\in P_{s,\eta}:D(x)\le\delta\}.

Here η\eta bounds the sum error; the corresponding mean error is η/n\eta/n. This is a joint constraint on SS and D=SQD=S-Q, not an arbitrary rectangular uncertainty set in the mean and variance.

Set

δ0=η(1η),δc=1η22. \delta_0=\eta(1-\eta),\qquad \delta_c=\frac{1-\eta^2}{2}.

Theorem 2: a sharp three-branch formula

minxFs,η,δgs(x)={1+14δ2,0δδ0,12δη2,δ0δδc,0,δδc.(5) \boxed{ \min_{x\in F_{s,\eta,\delta}}g_s(x)= \begin{cases} \dfrac{1+\sqrt{1-4\delta}}2,&0\le\delta\le\delta_0,\\[5pt] \sqrt{1-2\delta-\eta^2},&\delta_0\le\delta\le\delta_c,\\[3pt] 0,&\delta\ge\delta_c. \end{cases}}\tag{5}

The formulas agree at shared endpoints. When η=0\eta=0, the first branch consists only of δ=0\delta=0. The set is nonempty because it contains all binary vectors with ss ones; compactness and continuity also ensure the minimum exists.

Figure 2

The smallest gap under moment uncertainty

The solid curve is the sharp, attainable bound. The dashed curve uses only the universal inequality.

η bounds error in the total, not in the mean. Assume 0 ≤ η ≤ 1/2. Each point on the curve optimizes over every vector satisfying D ≤ δ.

Lemma: the maximum squared sum at a fixed total

For y[0,1]Ny\in[0,1]^N with iyi=t\sum_i y_i=t,

iyi2ϕ(t):=t+{t}2,iyi(1yi){t}(1{t}).(6) \sum_i y_i^2\le\phi(t):=\lfloor t\rfloor+\{t\}^2, \qquad \sum_i y_i(1-y_i)\ge\{t\}(1-\{t\}).\tag{6}

Proof. If two entries satisfy 0<ab<10<a\le b<1, set h=min(a,1b)>0h=\min(a,1-b)>0 and replace (a,b)(a,b) by (ah,b+h)(a-h,b+h). The sum stays fixed, both entries remain in the box, and the squared sum increases by 2h(ba)+2h2>02h(b-a)+2h^2>0. At least one of the two entries becomes an endpoint. Repeating this finite operation leaves at most one nonintegral entry. The resulting vector has t\lfloor t\rfloor ones, one entry {t}\{t\} if this is nonzero, and zeros elsewhere. Its squared sum is ϕ(t)\phi(t), which proves both inequalities. ∎

This packed-vector extremum is classical; see Rosenberg–Jakobsson, Appendix Lemma 3, and the finite-data formulation by Ellis [R1–R2]. Its proof is included to make the optimization below self-contained.

Proof of the lower bounds

Let a=Ssη1/2a=|S-s|\le\eta\le1/2. Equation (6) gives Da(1a)D\ge a(1-a), including either sign of SsS-s. For S=saS=s-a, the fractional part is 1a1-a when a>0a>0, and zero when a=0a=0; both give the stated defect bound.

If 0δδ00\le\delta\le\delta_0, define

b=114δ2. b=\frac{1-\sqrt{1-4\delta}}2.

Since t(1t)t(1-t) is increasing on [0,1/2][0,1/2], we obtain abηa\le b\le\eta. Theorem 1 now yields

gs212De212δb2=(1b)2. g_s^2\ge1-2D-e^2\ge1-2\delta-b^2=(1-b)^2.

As gs0g_s\ge0, this proves the first branch. For δ0δδc\delta_0\le\delta\le\delta_c, Theorem 1 directly gives gs212δη20g_s^2\ge1-2\delta-\eta^2\ge0. The bound gs0g_s\ge0 proves the third branch's lower bound.

Attainment in every branch

Use s1s-1 initial ones and ns1n-s-1 final zeros, leaving exactly two boundary entries.

For the first branch, choose (1b,0)(1-b,0). Then S=sbS=s-b, D=b(1b)=δD=b(1-b)=\delta, and gs=1bg_s=1-b.

For the second branch, put h=12δη2h=\sqrt{1-2\delta-\eta^2} and choose

(1η+h2,1ηh2).(7) \left(\frac{1-\eta+h}{2},\frac{1-\eta-h}{2}\right).\tag{7}

The condition δδ0\delta\ge\delta_0 is equivalent to h1ηh\le1-\eta; hence both entries lie in [0,1][0,1]. Their sum is 1η1-\eta, their difference is hh, and their defect is (1η2h2)/2=δ(1-\eta^2-h^2)/2=\delta. Finally, for δδc\delta\ge\delta_c, the same construction at h=0h=0 has an exact tie and remains feasible. This proves all three branches and their sharpness. ∎

For example, n=6,s=2,η=0.1,δ=0.2n=6,s=2,\eta=0.1,\delta=0.2 forces a gap of at least 0.590.7681146\sqrt{0.59}\approx0.7681146. Equality is attained by

(1,0.8340573,0.0659427,0,0,0). (1,0.8340573\ldots,0.0659427\ldots,0,0,0).

There is also stability of the optimizing configurations. If the value in (5) is q>0q>0, the preceding bounds imply 2D+e21q22D+e^2\le1-q^2. Therefore

0Rgs2q2,A+Bgs2q22gs. 0\le R\le g_s^2-q^2, \qquad A+B\le\frac{g_s^2-q^2}{2g_s}.

A nearly minimal positive gap requires nearly all nonbinary mass to concentrate in the two boundary entries.

4. Components and a constructive path to a binary representative

Theorem 3: the exact merging threshold

For the same parameter range,

#π0(Fs,η,δ)={(ns),0δ<δc,1,δδc.(8) \boxed{ \#\pi_0(F_{s,\eta,\delta})= \begin{cases} \binom ns,&0\le\delta<\delta_c,\\ 1,&\delta\ge\delta_c. \end{cases}}\tag{8}

Here π0\pi_0 denotes path components. Below the threshold, a component is specified by the labels of the largest ss entries. At equality the components have already merged. The result is an explicit consequence of the general polytope-complement theory of Gorban [R3], but the following proof is independent of that theory.

Step 1: at most two line segments reach a binary vector

Take any xPs,ηx\in P_{s,\eta}, sort its coordinates, and let z=(1s,0ns)z=(1^s,0^{n-s}), where 1k1^k means kk consecutive ones. Define weights wi=2xi1w_i=2x_i-1. Choose an auxiliary point vv as follows, with the first applicable case taking priority:

  1. If xs1/2x_s\le1/2, choose v=(1s1,1η,0ns)v=(1^{s-1},1-\eta,0^{n-s}).
  2. Otherwise, if xs+11/2x_{s+1}\ge1/2, choose v=(1s,η,0ns1)v=(1^s,\eta,0^{n-s-1}).
  3. Otherwise choose v=zv=z.

All three candidates belong to the sum band. We claim

c:=iwi(vixi)0.(9) c:=\sum_i w_i(v_i-x_i)\ge0.\tag{9}

In the first case put α=ws0\alpha=w_s\le0 and write

c=i(wiα)(vixi)+α[(sη)S]. c=\sum_i(w_i-\alpha)(v_i-x_i) +\alpha\bigl[(s-\eta)-S\bigr].

For i<si<s, both factors of the summand are nonnegative. For i>si>s, both are nonpositive. For i=si=s, the first factor is zero. The final product is nonnegative because SsηS\ge s-\eta. This proves (9).

In the second case use α=ws+10\alpha=w_{s+1}\ge0. For isi\le s, both factors are nonnegative; for i>s+1i>s+1, both are nonpositive; and the boundary summand vanishes. The final term is α[(s+η)S]0\alpha[(s+\eta)-S]\ge0. In the third case, wiw_i and zixiz_i-x_i have the same sign in each coordinate, proving (9) directly. These sign arguments also explain the greedy linear optimization behind the construction.

For 0t10\le t\le1, an exact expansion now gives

D(x+t(vx))=D(x)tct2vx22D(x).(10) D(x+t(v-x)) =D(x)-tc-t^2\|v-x\|_2^2\le D(x).\tag{10}

The segment stays in Ps,ηP_{s,\eta} by convexity. Moreover, its defect is nonincreasing in tt. If vzv\ne z, continue along the coordinate segment from vv to zz. This moves η\eta down to 00, or 1η1-\eta up to 11. Since η1/2\eta\le1/2, the function a(1a)a(1-a) decreases along that segment. The sum stays in the band. Thus every xFs,η,δx\in F_{s,\eta,\delta} reaches the binary representative of its chosen top group by at most two line segments, without increasing the defect.

This constructs a path for each starting point. The choice of the auxiliary vertex has not been proved continuous as the starting point varies; the construction therefore does not assert a deformation retraction of an entire component. Gorban's earlier vertex-access Lemma 2.1 in the PDF (Lemma 4 in the HTML version) is a related general result about reaching a polytope vertex by a segment avoiding a convex obstacle [R3]. The greedy choice and the binary endpoint used here are given explicitly by the sign proof above.

Step 2: count the separated components

If δ<δc\delta<\delta_c, Theorem 2 gives gs>0g_s>0 everywhere in FF. The top-ss label set is consequently locally constant: strict separation persists in a sufficiently small coordinate neighborhood. It is therefore constant along a continuous path. Every ss-element label set occurs at its binary representative. Conversely, all points with one such label set are connected to that same representative by Step 1. There are exactly (ns)\binom ns components.

Step 3: connect all representatives at the threshold

Suppose δδc\delta\ge\delta_c. To exchange one selected label with one unselected label, keep the other s1s-1 ones fixed and move the two relevant coordinates through

(1,0)(1η,0)(0,1η)(0,1). (1,0)\longrightarrow(1-\eta,0) \longrightarrow(0,1-\eta)\longrightarrow(0,1).

The first and last segments have defect at most δ0\delta_0. On the middle segment the two entries have sum 1η1-\eta; their defect is largest when equal and is then (1η2)/2=δc(1-\eta^2)/2=\delta_c. The sum error never exceeds η\eta. Every two ss-element subsets can be joined by a sequence of single-element exchanges, so all binary representatives are connected. Step 1 connects all other points to them. This proves (8), including η=0\eta=0. ∎

Two limits of the statement

The two-segment construction cannot in general be replaced by a direct segment to zz. Let n=2,s=1,η=1/2n=2,s=1,\eta=1/2, and x=(3/8,1/8)x=(3/8,1/8). Here D(x)=11/32<δc=3/8D(x)=11/32<\delta_c=3/8. Along the segment z+t(xz)z+t(x-z), where z=(1,0)z=(1,0),

D=3t413t232. D=\frac{3t}{4}-\frac{13t^2}{32}.

At t=12/13t=12/13 this equals 9/26>11/329/26>11/32. Thus the asserted components need not be star-shaped about their binary representatives.

The restriction η1/2\eta\le1/2 is substantive. For n=2,s=1,η=0.9,δ=0.1n=2,s=1,\eta=0.9,\delta=0.1, both (0.1,0)(0.1,0) and (1,0)(1,0) are feasible. Any continuous path between them makes the first coordinate equal 1/21/2, forcing D1/4>0.1D\ge1/4>0.1. The set is disconnected even though 0.1>(10.92)/2=0.0950.1>(1-0.9^2)/2=0.095. Formula (8) therefore does not extend to this larger error range.

4.1 Beyond a half-unit tolerance: the birth and merger of components

The restriction η1/2\eta\le1/2 in the preceding result is essential. Nevertheless, for 1/2<η<11/2<\eta<1, a complete component count in every dimension follows by examining the vertices and edges of the band polytope. Let

Fδ={x[0,1]n:ixisη,D(x)=ixi(1xi)δ}. F_\delta=\left\{x\in[0,1]^n:\left|\sum_i x_i-s\right|\le\eta, \quad D(x)=\sum_i x_i(1-x_i)\le\delta\right\}.

Throughout this section, n2n\ge2, 1s<n1\le s<n are integers, 1/2<η<11/2<\eta<1, and δ0\delta\ge0.

Theorem T9 (complete component count for a wide band). Put

a=1η,k=η(1η),c=1η22,h=14,b=(ns). a=1-\eta,\quad k=\eta(1-\eta),\quad c=\frac{1-\eta^2}{2},\quad h=\frac14,\quad b=\binom ns.

The number of path components of FδF_\delta is

Nn,s(η,δ)={b,0δ<k,(n+1)b,kδ<min(c,h),b+(ns1)+(ns+1),cδ<h(c<h),b,hδ<c(h<c),1,δmax(c,h).(T9) N_{n,s}(\eta,\delta)= \begin{cases} b,&0\le\delta<k,\\ (n+1)b,&k\le\delta<\min(c,h),\\ b+\binom n{s-1}+\binom n{s+1},&c\le\delta<h\quad(c<h),\\ b,&h\le\delta<c\quad(h<c),\\ 1,&\delta\ge\max(c,h). \end{cases} \tag{T9}

Rows with empty intervals are omitted. Equality c=hc=h holds precisely when η=1/2\eta=1/\sqrt2; both intermediate rows then disappear. The displayed formula includes every threshold value with the indicated inequalities.

Figure 3

A wider sum band: components appear, then merge

Fix n = 2 and s = 1. The diagram counts path components of the set satisfying |x₁ + x₂ − 1| ≤ η and x₁(1 − x₁) + x₂(1 − x₂) ≤ δ. Numbers inside the band are component counts.

At k = η(1 − η), four new components appear; c = (1 − η²)/2 and h = 1/4 are merger thresholds. Threshold buttons select unrounded values, with equality assigned to the state after the transition. At η = 1/√2, c = h and both mergers occur simultaneously. Labels inside very short intervals are omitted.

A graph lemma for convex obstacles. If PP is a compact convex polytope and ff is continuous and concave, the path components of X={fδ}X=\{f\le\delta\} correspond to the components of the graph retaining vertices with f(v)δf(v)\le\delta and edges with maxefδ\max_e f\le\delta.

Here is a proof. The set U={f>δ}U=\{f>\delta\} is relatively open and convex. Process the faces meeting UU in decreasing dimension. In each such face choose zUz\in U in its relative interior; relative openness guarantees that this is possible. Move each point outside UU outward along the ray from zz, until it reaches the face boundary. Convexity ensures that a ray cannot re-enter UU after passing a point outside it. This continuous deformation fixes the boundary and therefore glues to the identity on the other remaining faces. After finitely many steps, XX strongly deformation retracts onto the complex KK of closed faces disjoint from UU. Each face has a connected edge graph, so the components of KK are precisely those of its one-skeleton. That one-skeleton is the stated graph.

All vertices. Let PP impose only the box and band constraints. Its vertices have exactly three types.

Type Coordinates Count DD
BB ss ones, all remaining entries zero bb 0
LL s1s-1 ones, one entry aa, all others zero sbsb kk
UU ss ones, one entry η\eta, all others zero (ns)b(n-s)b kk

Indeed, a vertex away from the band boundaries must be a cube vertex, and ss is the only allowed integer sum. At a band boundary, at least n1n-1 coordinates must be fixed at zero or one. The sum constraint determines the remaining coordinate as aa or η\eta. This proves completeness and the counts.

All edges and their thresholds. Edges inherited from the cube are exactly the segments LBL\leftrightarrow B, with one coordinate ranging from aa to 1, and BUB\leftrightarrow U, with one coordinate ranging from 0 to η\eta. Both intervals contain 1/21/2, so their maximum deficit is h=1/4h=1/4. Each LL or UU vertex has exactly one edge of this kind, connecting it to a unique BB vertex.

Edges within the band boundaries have the following four types. All coordinates other than the displayed pair are fixed at zero or one.

Band boundary Endpoints of the moving pair Maximum DD
Lower, short edge (a,0)(0,a)(a,0)\leftrightarrow(0,a) cc
Lower, long edge (1,a)(a,1)(1,a)\leftrightarrow(a,1) d=(1a2)/2d=(1-a^2)/2
Upper, short edge (1,η)(η,1)(1,\eta)\leftrightarrow(\eta,1) cc
Upper, long edge (η,0)(0,η)(\eta,0)\leftrightarrow(0,\eta) dd

A type is absent if its required coordinates do not fit the dimension or sum. At the relative interior of an edge, either no band boundary is active and n1n-1 coordinates are fixed, or one band boundary is active and n2n-2 coordinates are fixed. Thus the list is exhaustive. For a moving pair with fixed sum tt,

y(1y)+(ty)(1t+y)=tt222(yt/2)2. y(1-y)+(t-y)(1-t+y) =t-\frac{t^2}{2}-2(y-t/2)^2.

The midpoint belongs to each listed segment, yielding the stated maxima. Moreover,

ck=(1η)22>0,hk=(η12)2>0,d>max(c,h). c-k=\frac{(1-\eta)^2}{2}>0,\quad h-k=(\eta-\tfrac12)^2>0,\quad d>\max(c,h).

Counting the graph components. For δ<k\delta<k, only the BB vertices are present. For kδ<min(c,h)k\le\delta<\min(c,h), all (n+1)b(n+1)b vertices are present. No edges have yet appeared in either interval.

If c<hc<h and cδ<hc\le\delta<h, the short band edges appear first. On the lower boundary, they connect each group with a fixed set of s1s-1 one-coordinates; there are (ns1)\binom n{s-1} such groups. On the upper boundary, they connect each group with a fixed positive support of size s+1s+1; there are (ns+1)\binom n{s+1} groups. The bb binary vertices remain isolated. Adding these counts gives the third row of T9.

If h<ch<c and hδ<ch\le\delta<c, the cube segments appear first. Each binary vertex is the center of a star whose leaves are its associated LL and UU vertices. Because every leaf has a unique binary neighbor, these are bb disjoint stars.

Once δmax(c,h)\delta\ge\max(c,h), all binary vertices are connected. To see this, identify a binary vertex with its set II of ss one-coordinates. If II' differs by exchanging one element, keep the common s1s-1 ones fixed and use three edges: a cube segment, a short lower-boundary edge exchanging the position of aa, and another cube segment. Any two ss-element subsets are related by successive single-element exchanges. Every LL and UU vertex also attaches to a binary vertex, so the entire graph is connected. This occurs before the long edges appear. No new vertices appear later, and adding edges preserves connectedness. The graph lemma now proves T9. □

The reviewer's numerical example. For n=2,s=1,η=0.9n=2,s=1,\eta=0.9,

k=0.09,c=0.095,h=0.25. k=0.09,\qquad c=0.095,\qquad h=0.25.

The component count therefore evolves as

2  δ=0.09  6  δ=0.095  4  δ=0.25  1. 2\ \xrightarrow{\ \delta=0.09\ }\ 6\ \xrightarrow{\ \delta=0.095\ }\ 4\ \xrightarrow{\ \delta=0.25\ }\ 1.

At each marked threshold the count on its right already applies. Thus the reviewer's observations 6,4,4,16,4,4,1 at δ=0.09,0.10,0.20,0.26\delta=0.09,0.10,0.20,0.26, respectively, are correct. Although the sets grow with δ\delta, their component count need not decrease monotonically: new components are born at new feasible vertices.

Additional corollary: holes in dimension two. For n=2,s=1n=2,s=1, put p=x1+x21p=x_1+x_2-1 and q=x1x2q=x_1-x_2. The band polytope becomes the hexagon

p+q1,pη,D=(1p2q2)/2. |p|+|q|\le1,\quad |p|\le\eta, \qquad D=(1-p^2-q^2)/2.

For δ<1/2\delta<1/2, the origin is excluded. Radially expanding points from the origin to the hexagon boundary gives a strong deformation retraction onto the feasible boundary: the norm never decreases, so the deficit constraint is preserved. The boundary has four sloping edges with threshold hh and two vertical edges with threshold cc. Therefore each component is contractible for δ<max(c,h)\delta<\max(c,h); for max(c,h)δ<1/2\max(c,h)\le\delta<1/2, the entire boundary is feasible and FδS1F_\delta\simeq S^1. For δ1/2\delta\ge1/2, the full hexagon is feasible and contractible. Connectedness and the disappearance of the hole are different events.

Status. T9 applies Gorban’s general theory of polytopes with convex obstacles, notably Proposition 2.4 in the PDF (Proposition 7 in the HTML). His §4.2, Fig.4.5 already gives an example where a growing feasible set acquires new isolated components. That phenomenon is therefore not claimed as a discovery here. The same explicit thresholds and binomial count for this particular band were not identified in the limited search; their priority remains unresolved. T9 has ordinary mathematical proofs and finite checks, but no Lean formalization.

5. Nearest binary rounding has an earlier threshold

Selecting the largest ss entries and rounding each entry at 1/21/2 are different operations. For coordinatewise nearest rounding, the sharp threshold is

δR=12η2.(11) \boxed{\delta_R=\frac12-\eta^2.}\tag{11}

Theorem 4. If Ssη1/2|S-s|\le\eta\le1/2 and D<δRD<\delta_R, every coordinate has a unique nearest value in {0,1}\{0,1\}, and the rounded vector has exactly ss ones.

Proof. Suppose a coordinate equals 1/21/2. The remaining coordinates have sum s1/2+es-1/2+e, with eη|e|\le\eta. The packed-square lemma, including the endpoint cases e=±1/2e=\pm1/2, gives

D14+(12+e)(12e)=12e2δR. D\ge\frac14+\left(\frac12+e\right) \left(\frac12-e\right) =\frac12-e^2\ge\delta_R.

Thus no coordinate can equal 1/21/2 under the strict defect bound. Follow the nonincreasing-defect path from Section 4 to a binary representative with ss ones. No coordinate can cross 1/21/2 along this path, so its rounding remains unchanged and equals that representative. ∎

The threshold is sharp for the joint guarantee of uniqueness and sum preservation. The vector

(1s1,1/2,1/2η,0ns1) (1^{s-1},1/2,1/2-\eta,0^{n-s-1})

has S=sηS=s-\eta and D=δRD=\delta_R, but at least one rounding tie. When η>0\eta>0, the strict inequality δR<δc\delta_R<\delta_c leaves a range in which a top group remains separated while nearest rounding may have the wrong number of ones. Replace the boundary pair by

(1/2ε,1/2η+ε). (1/2-\varepsilon,1/2-\eta+\varepsilon).

For sufficiently small 0<ε<η/20<\varepsilon<\eta/2, both are below 1/21/2, their gap remains positive, and

D=δR+2ηε2ε2lies between δR and δc. D=\delta_R+2\eta\varepsilon-2\varepsilon^2 \quad\text{lies between }\delta_R\text{ and }\delta_c.

For example, s=1,η=0.1,x=(0.49,0.41)s=1,\eta=0.1,x=(0.49,0.41) gives D=0.4918<δc=0.495D=0.4918<\delta_c=0.495. The first entry is the unique largest entry, but both entries round to zero.

6. An exact noninteger sum produces two merging events

Let S=m+rS=m+r, where m{0,,n1}m\in\{0,\ldots,n-1\} and 0<r<10<r<1. Define

HS={x[0,1]n:ixi=S},M=m+r2, H_S=\{x\in[0,1]^n:\sum_i x_i=S\},\qquad M=m+r^2,
E=MQ,Emax=MS2n,XE={xHS:Q=ME}. E=M-Q,\qquad E_{\max}=M-\frac{S^2}{n}, \qquad X_E=\{x\in H_S:Q=M-E\}.

The feasible range is exactly 0EEmax0\le E\le E_{\max}. The packed-square lemma gives the maximum Q=MQ=M. The identity Q=S2/n+i(xiS/n)2Q=S^2/n+\sum_i(x_i-S/n)^2 gives the minimum S2/nS^2/n, uniquely attained at c=(S/n,,S/n)c=(S/n,\ldots,S/n). Interpolation from cc to a packed vertex attains every intermediate value.

The quantities DD and EE must not be confused:

D=r(1r)+E.(12) D=r(1-r)+E.\tag{12}

Theorem 5: both relevant rank gaps are sharp

For every feasible EE, and only when the stated rank exists,

minxXE(x(m)x(m+1))=max{(1r)22E,0}(m1),(13) \boxed{ \min_{x\in X_E}(x_{(m)}-x_{(m+1)}) =\sqrt{\max\{(1-r)^2-2E,0\}} }\quad(m\ge1),\tag{13}
minxXE(x(m+1)x(m+2))=max{r22E,0}(m+1<n).(14) \boxed{ \min_{x\in X_E}(x_{(m+1)}-x_{(m+2)}) =\sqrt{\max\{r^2-2E,0\}} }\quad(m+1<n).\tag{14}

Proof of the lower bounds. Apply Theorem 1 with s=ms=m, so e=re=r, and substitute (12). This yields gm2(1r)22Eg_m^2\ge(1-r)^2-2E. Apply it with s=m+1s=m+1, so e=r1e=r-1, to get gm+12r22Eg_{m+1}^2\ge r^2-2E. The gaps are nonnegative, giving the displayed bounds.

Attainment before the thresholds. Put b=(1r)2/2b=(1-r)^2/2. For 0Eb0\le E\le b, let d=(1r)22Ed=\sqrt{(1-r)^2-2E} and choose

w=(1m1,(1+r+d)/2,(1+rd)/2,0nm1). w=(1^{m-1},(1+r+d)/2,(1+r-d)/2,0^{n-m-1}).

Since 0d1r0\le d\le1-r, this is a sorted box vector with sum SS, gap dd, and squared sum MEM-E. Similarly, put a=r2/2a=r^2/2. For 0Ea0\le E\le a, the vector

w=(1m,(r+d)/2,(rd)/2,0nm2),d=r22E, w=(1^m,(r+d)/2,(r-d)/2,0^{n-m-2}), \qquad d=\sqrt{r^2-2E},

attains (14). The assumed rank conditions make all multiplicities valid.

Attainment after the thresholds. In either construction, let yy be the vector at its threshold tt, where t=bt=b or aa, so the boundary pair is tied. Interpolate by x(λ)=(1λ)y+λcx(\lambda)=(1-\lambda)y+\lambda c, 0λ10\le\lambda\le1. Sorting is preserved and the same pair remains tied. Orthogonality to the constant vector gives

E(x(λ))=Emax(1λ)2(Emaxt). E(x(\lambda))=E_{\max}-(1-\lambda)^2(E_{\max}-t).

Thus every E[t,Emax]E\in[t,E_{\max}] is attained with gap zero. If t=Emaxt=E_{\max}, only the endpoint needs to be considered. ∎

Figure 4

Two rank gaps vanish at different thresholds

Fix n = 6 and m = 2, then vary r and E. Components refer to the full set of labelled vectors.

a = r²/2 and b = (1−r)²/2. Merging has already occurred at equality. E = Emax is the single uniform vector. Curves show the minimum of each rank gap.

Theorem 6: component counts from a weighted edge graph

For the internal case 1mn21\le m\le n-2, set

a=r2/2,b=(1r)2/2,N=(nm)(nm). a=r^2/2,\qquad b=(1-r)^2/2,\qquad N=\binom nm(n-m).

The following table gives the number of path components of XEX_E. Empty intervals are ignored.

Range of EE Number of components Constant label within a component
E<aE<a and E<bE<b NN top-mm set AA, together with the next label jj
aE<ba\le E<b (nm)\binom nm top-mm set AA
bE<ab\le E<a (nm+1)\binom n{m+1} top-(m+1)(m+1) set
EaE\ge a and EbE\ge b 11 no separation into components

We use the following known result explicitly. Gorban's Thermodynamic Tree, Proposition 2.4 in the PDF (Proposition 7 in the HTML), identifies the path components of a convex polytope PP minus a convex set UU with those of the graph formed by vertices outside UU and edges entirely outside UU. His Lemma 3.2 in the PDF (Lemma 14 in the HTML) identifies the relevant components of a strictly convex level set with those of its superlevel set [R3]. In this quadratic setting the latter step also has the direct deformation retraction below.

Vertices and edges. A point of HSH_S with two entries strictly between 00 and 11 admits a nonzero perturbation of those entries with fixed sum, in both signs. Hence it is not a vertex. All vertices are therefore packed vectors: mm ones, one rr, and zeros elsewhere. Conversely, fixing those n1n-1 endpoint coordinates fixes the remaining coordinate, so each is a vertex. Label it (A,j)(A,j), with A=m|A|=m, jAj\notin A.

Every edge has exactly two free coordinates in its relative interior. Indeed, fixing its endpoint coordinates leaves a cube slice of dimension one, so the number of free coordinates is two. Their sum must be rr or 1+r1+r. Thus there are only two edge types:

Type Moving coordinates Maximum EE on the edge
L (r,0)(0,r)(r,0)\leftrightarrow(0,r) a=r2/2a=r^2/2
U (1,r)(r,1)(1,r)\leftrightarrow(r,1) b=(1r)2/2b=(1-r)^2/2

Each maximum occurs at the midpoint, by direct expansion of the squared sum. Define

ΩE={xHS:QME},UE={xHS:Q<ME}. \Omega_E=\{x\in H_S:Q\ge M-E\},\qquad U_E=\{x\in H_S:Q<M-E\}.

The removed set UEU_E is relatively open and convex. An L edge is wholly in ΩE\Omega_E exactly when EaE\ge a; a U edge is wholly there exactly when EbE\ge b. The use of the strict inequality in UEU_E explains why merging is already complete at the threshold itself.

For E<EmaxE<E_{\max}, put RE=MES2/n>0R_E=\sqrt{M-E-S^2/n}>0. Every xΩEx\in\Omega_E has xcRE\|x-c\|\ge R_E, and

pE(x)=c+RExc(xc) p_E(x)=c+\frac{R_E}{\|x-c\|}(x-c)

belongs to XEX_E. The homotopy

c+[(1t)+tRExc](xc),0t1, c+\left[(1-t)+t\frac{R_E}{\|x-c\|}\right](x-c), \qquad0\le t\le1,

stays in HSH_S by convexity and has radius at least RER_E, so it remains in ΩE\Omega_E. It fixes XEX_E. Hence ΩE\Omega_E strongly deformation retracts onto XEX_E. At E=EmaxE=E_{\max}, XE={c}X_E=\{c\} is handled directly.

Count the surviving graph. With neither edge type present, all NN vertices are isolated. With only L edges, AA is fixed and the nmn-m choices of jj form a complete graph; this gives (nm)\binom nm components. With only U edges, B=A{j}B=A\cup\{j\} is fixed and its m+1m+1 choices of jj form a complete graph; this gives (nm+1)\binom n{m+1} components. With both types present, the graph is connected. Explicitly, use an L move to designate a desired new element as the fractional coordinate, then a U move to exchange it with an element of AA. Repeated single-element exchanges connect all mm-subsets, and L moves connect all fractional labels for each subset. Gorban's proposition and the retraction transfer these counts to XEX_E.

Finally, (13) keeps the top-mm label set fixed whenever E<bE<b, and (14) keeps the top-(m+1)(m+1) set fixed whenever E<aE<a. Each possible label is realized on the segment from its packed vertex toward cc. The number of labels equals the component count in each row, proving the stated labeling. ∎

For r<1/2r<1/2, the counts are N(nm)1N\to\binom nm\to1; for r>1/2r>1/2, they are N(nm+1)1N\to\binom n{m+1}\to1. When r=1/2r=1/2, both edge types enter at 1/81/8, and the intermediate stage disappears. For example, n=6,S=2.3n=6,S=2.3 gives 6015160\to15\to1 at E=0.045E=0.045 and 0.2450.245.

At the boundaries, m=0m=0 has only L edges and only (14): nn components merge into one at E=aE=a. The case m=n1m=n-1 has only U edges and only (13), with merging at E=bE=b. For n=2n=2, the applicable threshold equals EmaxE_{\max}, so two points meet at the uniform point. If one allows n=1n=1, the whole slice is already a single point.

7. Beyond connectivity: holes appear and disappear

Take n=4,S=5/4n=4,S=5/4. Then m=1,r=1/4m=1,r=1/4, M=17/16M=17/16, and Emax=43/64E_{\max}=43/64. The component count is 124112\to4\to1, but this does not describe all changes in shape.

The homotopy sequence to be proved

Range of EE Homotopy type of XEX_E Betti numbers (β0,β1,β2)(\beta_0,\beta_1,\beta_2)
0E<1/320\le E<1/32 twelve points (12,0,0)(12,0,0)
1/32E<1/241/32\le E<1/24 four disjoint circles (4,4,0)(4,4,0)
1/24E<9/321/24\le E<9/32 four points (4,0,0)(4,0,0)
9/32E<13/249/32\le E<13/24 a wedge of three circles (1,3,0)(1,3,0)
13/24E<43/6413/24\le E<43/64 the sphere S2S^2 (1,0,1)(1,0,1)
E=43/64E=43/64 one point (1,0,0)(1,0,0)

Having the homotopy type of a point means being contractible; it does not mean the set literally consists of one point. Likewise, the other rows specify homotopy type rather than an exact embedding or homeomorphism. The Betti numbers displayed here agree over the integers and over F2\mathbb F_2, as follows from the identified homotopy types.

Figure 5

Holes appear, fill in, and appear again

n = 4, S = 5/4. The diagram shows the face complex K_E with the same homotopy type as the level set.

ETypeβ₀, β₁, β₂
[0, 1/32)12 points12, 0, 0
[1/32, 1/24)4 circles4, 4, 0
[1/24, 9/32)4 points4, 0, 0
[9/32, 13/24)Wedge of 3 circles1, 3, 0
[13/24, 43/64)Sphere S²1, 0, 1
{43/64}One point1, 0, 0
This is a three-dimensional projection of the exact vertices, edges, and faces of K_E. Generally K_E is not a subset of X_E. They are homotopy equivalent; a point-like type need not mean the original set is a single point.

Theorem 7: retract a convex-set complement to uncut faces

Let PP be a compact convex polytope, let UPU\subset P be relatively open and convex, and let KK be the union of all closed faces of PP disjoint from UU. Include PP itself among its faces. Then PUP\setminus U strongly deformation retracts onto KK.

Proof. The assertion is immediate if UU is empty. Otherwise process every positive-dimensional face FF meeting UU, in decreasing dimension. Because UU is relatively open in PP, a point in UFU\cap F can be perturbed within FF into its relative interior while staying in UU. Choose cFUrelint(F)c_F\in U\cap\operatorname{relint}(F).

For xFUx\in F\setminus U, let ρF(x)\rho_F(x) be the point where the ray from cFc_F through xx meets F\partial F, where the boundary is taken within the affine hull of FF. The center is in the relative interior and does not belong to FUF\setminus U, so this radial map is continuous on its domain; it fixes every boundary point. One can see continuity directly by representing FF with finitely many affine inequalities: the distance to the boundary along a ray is the minimum of the positive intersection parameters with the supporting hyperplanes.

The entire segment [x,ρF(x)][x,\rho_F(x)] avoids UU. Otherwise, for some farther point yUy\in U on that ray, xx would lie on the segment from cFUc_F\in U to yUy\in U, contradicting convexity of UU. Therefore

HF(x,t)=(1t)x+tρF(x) H_F(x,t)=(1-t)x+t\rho_F(x)

deforms FUF\setminus U into FU\partial F\setminus U, staying outside UU and fixing the boundary throughout.

At this stage, every higher-dimensional face meeting UU has already been collapsed. A higher-dimensional face avoiding UU cannot contain FF, since FUF\cap U\ne\varnothing. Thus the currently remaining part of FUF\setminus U meets the rest of the remaining space only along its boundary. Extend HFH_F by the identity on that rest. The maps agree on the overlap, and the finite closed-face pasting property gives a continuous homotopy. After finitely many steps, only faces disjoint from UU remain. Vertices in UU were absent from the complement from the start. Every point of KK is fixed during every step, so the resulting deformation retraction is strong. The empty-complement case is interpreted trivially. ∎

This is an explicit finite-dimensional geometric argument; it is not presented as a newly discovered general topological theorem.

Compute the threshold for every face

Apply the lemma with P=HSP=H_S and U=UE={Q<ME}U=U_E=\{Q<M-E\}. A face has jj coordinates fixed to 11, pp free coordinates, and the rest fixed to 00, with 0<Sj<p0<S-j<p. Its dimension is p1p-1. On this face,

Q=j+free ixi2j+(Sj)2p, Q=j+\sum_{\text{free }i}x_i^2 \ge j+\frac{(S-j)^2}{p},

because the sum of squared deviations of the free entries from their mean is nonnegative. Equality is attained when all free entries equal (Sj)/p(0,1)(S-j)/p\in(0,1). The face is entirely outside UEU_E exactly when

EEF:=Mj(Sj)2p.(15) \boxed{E\ge E_F:=M-j-\frac{(S-j)^2}{p}.}\tag{15}

Let KEK_E contain precisely these faces. Theorem 7 gives HSUEKEH_S\setminus U_E\simeq K_E, and Section 6 gives HSUEXEH_S\setminus U_E\simeq X_E for E<EmaxE<E_{\max}. These are two deformation retractions from the common space ΩE=HSUE\Omega_E=H_S\setminus U_E. We do not claim a direct deformation retraction from XEX_E to KEK_E: in general, KEK_E is not a subset of XEX_E. At the endpoint, KE=HSK_E=H_S and XE={c}X_E=\{c\} are both contractible.

For n=4,S=5/4n=4,S=5/4, this polytope is combinatorially a truncated tetrahedron. Its complete face table is

Face type jj pp Count Entry threshold EFE_F
vertex 1 1 12 00
L edge 1 2 12 1/321/32
triangular face 1 3 4 1/241/24
U edge 0 2 6 9/329/32
hexagonal face 0 3 4 13/2413/24
full polytope 0 4 1 43/6443/64

For completeness, the counts follow by choosing the coordinate positions: vertices choose one fixed 11 and one fractional coordinate, giving 43=124\cdot3=12; L edges choose a fixed 11 and two free positions among the other three, giving 4(32)=124\binom32=12; triangular faces choose their fixed 11, giving four; U edges choose their two free positions, giving (42)=6\binom42=6; hexagonal faces choose their fixed 00, giving four. No other possibilities satisfy 0<5/4j<p0<5/4-j<p in the relevant dimension.

Theorem 8: the six-stage homotopy classification

For n=4,S=5/4n=4,S=5/4, the six homotopy types and their exact parameter intervals are those stated at the start of this section.

Proof. Read the face complex KEK_E at each successive threshold.

Initially KEK_E consists of twelve isolated vertices. At E=1/32E=1/32, the twelve L edges form four disjoint triangular boundaries, one for each position of the fixed 11. At E=1/24E=1/24, the four triangular faces enter and fill these circles, giving four disjoint disks.

At E=9/32E=9/32, the six U edges enter. Each pair of triangular disks is joined by one such edge: the edge with free positions i,ji,j connects the disk whose fixed 11 is at ii to the one whose fixed 11 is at jj. In each triangle, choose one of its boundary edges. It is a free edge, because no other two-dimensional cell meets it. Collapse the triangle together with that edge onto the other two edges, keeping all three vertices and all joining edges. Each triangle has become a tree connecting its three attachment points. Contracting these four trees in the resulting graph gives the complete graph K4K_4; these elementary collapses and graph-tree contractions preserve homotopy type. Finally, contract a spanning tree of K4K_4. Its 64+1=36-4+1=3 remaining edges form a wedge of three circles.

At E=13/24E=13/24, all hexagonal faces enter, so KEK_E is the entire boundary of the three-dimensional convex polytope. Radial projection from any interior point identifies that boundary homeomorphically with S2S^2. At E=43/64E=43/64, the whole polytope enters and is contractible. These arguments prove every row, including the equality conventions. ∎

Independent computation enumerated the faces and formed the cellular boundary matrices over F2\mathbb F_2, verified that consecutive boundary maps compose to zero, and recovered the displayed Betti numbers. These finite calculations corroborate the result. The homotopy types themselves follow from the direct cell descriptions above, not from mod-2 homology alone.

8. What Lean verified, and what it did not

The recorded run used Lean 4.19.0 and Mathlib v4.19.0, at Mathlib commit c44e0c8ee63ca166450922a373c7409c5d26b00b. It compiled all 14 theorem declarations in MomentIslands.lean, with final exit code 0. These are proofs over the real numbers and arbitrary finite index types, not numerical-grid checks.

That successful compilation was performed on 2026 09 08 and is recorded in the accompanying log. On 2026 09 09, the official tag-to-commit mapping was checked and the pinned Mathlib source was obtained at the stated commit. Fetching the Lean distribution stopped twice because the network approval was cancelled before a decision was returned. A subsequent search did not recover a reusable Lean executable or distribution archive. The Mathlib source enabled API inspection but did not provide a Lean runtime or compiled dependencies. No fresh Lean compilation was performed.

The count of 14 is the number of theorem declarations in the file, not 14 independent principal results of X01. In particular, four_variable_gap_bound and four_variable_gap record an earlier four-variable impossibility example and lie outside the main results of this note.

Formal theorem names Verified scope
rank_gap_partition, rank_gap_partition_sqrt Theorem 1 for an arbitrary finite partition with box bounds and attained extrema; the square-root form adds cross-ordering
finite_rank_gap The bridge from finite sums and boundary hypotheses to the scalar rank certificate
rank_gap_core, rank_gap_sqrt, rank_gap_slack Scalar algebraic rank inequalities and a quantitative slack bound
balanced_error_defect, invert_defect_bound, balanced_error_sharp_bound The quadratic defect bound and its inversion for two nonnegative error families explicitly assumed to have the same mass
pair_square_upper, pair_square_upper_complement Two elementary two-variable squared-sum bounds
four_variable_gap_bound, four_variable_gap Total 22 and first-pair total 1/21/2 force Q3/2Q\le3/2, and hence exclude Q=9/5Q=9/5; two auxiliary examples outside X01's main results
concentration_from_square_deficit Concentration derived from a nonnegative vector's squared-sum deficit

The formal theorem rank_gap_partition takes any nontrivial finite partition I,IcI,I^c, an index aIa\in I attaining its minimum, and an index bIb\notin I attaining the maximum outside II. It proves precisely the squared statement of Theorem 1, without requiring II to be a top set. The separate theorem rank_gap_partition_sqrt adds xbxax_b\le x_a and proves

12ixi(1xi)(ixiI)2xaxb. \sqrt{1-2\sum_i x_i(1-x_i) -(\sum_i x_i-|I|)^2}\le x_a-x_b.

Lean's real square root is zero on negative arguments. Thus the formal statement covers that case as well; a positive radicand is what provides a positive gap. Mathematical order-statistic notation specializes this interface by choosing a top set of size ss. The formal input explicitly supplies the partition and indices attaining its extrema. No sorting procedure is needed to state or prove this interface, and no unformalized sorting algorithm is required to fill a gap between the partition statement in this note and the formal theorem.

The historical module does not formally establish the complete three-branch optimization with attaining vectors, the nearest-rounding count-preservation theorem, the full equality classification, the two-segment paths, or any topological classification. In particular, its lemma assuming equal error masses does not prove that a particular rounding procedure produces those masses. The extension below attempts to close the optimization and rounding gaps, but its scripts have not been compiled. The nonnegative identity in Section 2 has a mathematical proof, and its aggregate algebraic identity occurs inside rank_gap_core; exact formal coverage must be read from the declarations.

Each of the 14 historical declarations was audited with #print axioms. Every output listed only propext, Classical.choice, and Quot.sound. There was no sorryAx, proof placeholder, or newly declared axiom. This means no unproved holes were added on top of the usual Lean/Mathlib foundations; it does not mean that the proofs are axiom-free. No successful axiom audit is claimed for the extension.

The checked source has SHA-256

3f29d4e1daad5ed467c6ef2a832a067b03546a2ca35293983f3675e76e70c9fa

During the 2026 09 08 run, the official Lean executable initially failed to locate itself because this host's process-ID namespace did not match its /proc view. A narrowly scoped compatibility shim maps only the current executable's readlink(/proc/<getpid()>/exe) lookup to /proc/self/exe. Lean's source, mathematical kernel, and proof checks were not changed. The reproduction material records the shim source, binary and source hashes, tool versions, failed intermediate attempts, and final successful log. The shim is unnecessary on a standard host.

With the supplied lean-toolchain and lakefile.toml, standard reproduction is

lake update
lake exe cache get
lake env lean MomentIslands.lean

The 33 added declarations: source candidates, NOT COMPILED

Module Added declarations Intended coverage Execution status
Packing.lean 6 Integer-offset defect bound by finite induction; absolute offset; exclusion of half-valued coordinates; scaled packing NOT COMPILED
BandSharp.lean 8 The three scalar lower bounds of T2 and their two-coordinate attainment witnesses NOT COMPILED
FiniteBand.lean 7 Actual finite-vector lower bound, binary padding for attainment in arbitrary dimensions, and a half-valued witness at the T4 threshold NOT COMPILED
Rounding.lean 12 Nearest binary rounding, preservation of the number of ones, uniqueness of the binary L1L^1 minimizer, and the sharp integer-total error bound NOT COMPILED

finite_band_gap explicitly receives a partition, indices attaining its extrema, and the boundary ordering. finite_band_attainment uses the finite index type (Fin p ⊕ Unit) ⊕ (Unit ⊕ Fin q) to provide pp ones, two boundary entries, and qq zeros, with all box and moment conditions in the statement. Transport through a sorting algorithm on a particular Fin n enumeration is not a separate implemented theorem.

The rounding extension includes the sufficient condition Ssη|S-s|\le\eta, D<1/2η2D<1/2-\eta^2 for count preservation and absence of ties. Its sharp threshold witness assumes 0η1/20\le\eta\le1/2; it does not claim an optimal threshold for larger tolerances. T3 and T6–T9, including paths, components, face retractions, and higher homotopy, remain outside Lean coverage.

Mathematical derivation, static source inspection, and rational normalization of 13 polynomial identities were completed for the extension. These do not check Lean elaboration, casts, tactic execution, kernel acceptance, or every inequality inference. The package therefore contains 14 historically checked declarations plus 33 uncompiled candidates, not 47 checked theorems.

The embedded source package includes all five mathematical modules, the import module, version pins, reproduction scripts, historical logs, current blocked-status records, and the algebra check. On a standard machine with the official Lean environment available, the added modules are intended to be checked by:

lake update
lake exe cache get
python3 verify.py

The verifier is designed to record PASS only after a successful build and axiom audit; a missing runtime gives BLOCKED, and a failed build gives FAIL. Its successful end-to-end execution has not yet been demonstrated. Source or runner corrections may still be necessary. This HTML contains the sources and records, not the Lean executable or a complete offline Mathlib installation.

Independent exact-arithmetic checks

Target Recorded finite coverage Result
Universal rank bound and nonnegative identity 24,300 sorted grid vectors; 150,723 rank partitions PASS
Robust formula and paths 75,623 band checks and two-segment paths; 9,240 attaining configurations; 1,880 nearest-rounding checks PASS
Sum-band edge graphs 75 polytopes; 8,087 independently enumerated edges; 583 threshold checks PASS
Noninteger rank gaps 317,353 sorted grid vectors; 633,302 squared inequalities; 9,900 attaining configurations PASS
Noninteger component counts 1,695 weighted-graph levels PASS
Wide-band edge graphs (T9) 60 rational polytopes; 660 critical-value and midpoint checks PASS (added in this review)
Hole transitions Six face-complex stages; boundary matrices over F2\mathbb F_2, including boundary-squared-zero checks PASS

The scripts use Python's standard-library integer and rational arithmetic. Different checks reuse some samples; these counts must not be added and reported as independent sample counts. Finite checks do not establish a theorem over a continuous domain. The generality comes from the mathematical proofs and, for the stated formal scope, the Lean proofs.

9. Novelty and attribution

This is a research and exposition note with independently derived formulas, not a certified discovery of new mathematics. Correctness, formal verification, and priority are separate questions. The focused additional audit on 2026 09 09 identified more known special cases and narrowed the remaining search. “Not identified” below means that an identical prior statement was not located in this limited search; it is not positive evidence of novelty.

Two findings materially update the earlier edition. Rosenberg–Jakobsson (2008), Theorem 1(ii), already states the sharp maximum-probability bound used in the rounding comparison [R1]. The earlier edition had principally cited that paper's packing lemma and a later explicit description in Rastegin (2023) [R4]. Also, Gorban (2013), §4.2, Fig.4.5, already exhibits newly born isolated components as the feasible set grows [R3]. Neither the probability bound nor that nonmonotonicity phenomenon is claimed as new here.

Result Current attribution and remaining scope
Packed maximum squared sum at fixed total The same extremal formula is known [R1–R2]; not a novelty candidate
Rank form of T1 at the first or last boundary, or with integer total A short consequence of a known bound or elementary aggregation; reductions are given below
Rank form of T1 at an internal boundary with noninteger total The same general expression was not identified; priority remains unresolved
Arbitrary-partition square form, nonnegative slack identity, equality classification Their individual priority is unresolved; identifying some rank special cases does not settle all of these statements
T2, T4, and T5 Explicit consequences of T1 and/or known extremal facts; the same particular formulas were not identified, and no separate general principle is claimed
T3, T6, and T9 Applications of known convex-polytope component theory [R3]; priority of the displayed closed formulas remains unresolved
T7 and T8 An explicit face-retraction argument and a concrete higher-homotopy calculation; a component theorem alone does not establish their full homotopy statements
Matrix corollary Standard transfer through the spectral theorem; vector component counts do not transfer to the full matrix space
Lean material Evidence about the specified statements and proof scripts, never evidence of bibliographic priority

A known sharp probability bound

For a probability vector pp, put H=ipi2H=\sum_i p_i^2 and M=maxipiM=\max_i p_i. Rosenberg–Jakobsson's Theorem 1(ii), p.2028, gives, in particular,

M1+2H12,12<H<1.(17) M\ge\frac{1+\sqrt{2H-1}}2,\qquad \frac12<H<1.\tag{17}

At H=1H=1, one coordinate is one and the same expression holds. This is an explicit antecedent from 2008, earlier than the checked 2023 statement; first historical priority is not asserted. The following normalizations and aggregations are our comparison arguments, not claims that the cited paper uses X01's notation or application.

First and last rank boundaries reduce to the known bound

For s=1s=1, T1 simplifies exactly to

g122QS2. g_1^2\ge2Q-S^2.

If S=0S=0, all entries vanish. If 2QS22Q\le S^2, the inequality is immediate. Otherwise set pi=xi/Sp_i=x_i/S, so H=Q/S2>1/2H=Q/S^2>1/2. Since p(2)1p(1)p_{(2)}\le1-p_{(1)}, (17), with the endpoint handled as above, yields

g1=S(p(1)p(2))S(2p(1)1)S2H1=2QS2. g_1=S(p_{(1)}-p_{(2)}) \ge S(2p_{(1)}-1) \ge S\sqrt{2H-1}=\sqrt{2Q-S^2}.

This argument needs only nonnegative entries; their upper bound by one is unnecessary in this special case.

For s=n1s=n-1, complement and reorder the entries: yi=1xiy_i=1-x_i. Then Dy=DD_y=D, Sy=nSS_y=n-S, and g1(y)=gn1(x)g_1(y)=g_{n-1}(x). Moreover,

(Sy1)2=(S(n1))2. (S_y-1)^2=(S-(n-1))^2.

The last-rank case therefore reduces to the first-rank case.

Integer totals and the sharp rounding estimate

If SS is an integer different from ss, then (Ss)21(S-s)^2\ge1 and T1 is immediate. If S=sS=s and D1/2D\ge1/2, it is also immediate. It remains to consider S=sS=s and D<1/2D<1/2.

Put di=min(xi,1xi)d_i=\min(x_i,1-x_i). For any nearest binary rounding zz,

ixizi=idi2D<1. \sum_i|x_i-z_i|=\sum_i d_i\le2D<1.

Thus the integer izis\sum_i z_i-s has absolute value less than one and is zero. If a coordinate were 1/21/2, changing its rounding alone would produce another nearest rounding with a different total, contradicting the same conclusion. Rounding is therefore unique, and the coordinates rounded to one are exactly the top ss coordinates.

The two error families have equal mass

ρ=zi=0xi=zi=1(1xi),2ρ<1. \rho=\sum_{z_i=0}x_i=\sum_{z_i=1}(1-x_i),\qquad 2\rho<1.

The sum of squares of nonnegative numbers is at most the square of their sum. Applying this separately to both families gives

D=2ρzi=0xi2zi=1(1xi)22ρ(1ρ). D=2\rho-\sum_{z_i=0}x_i^2-\sum_{z_i=1}(1-x_i)^2 \ge2\rho(1-\rho).

Since 12ρ>01-2\rho>0, it follows that

12ρ12D,xz1=2ρ112D.(16) 1-2\rho\ge\sqrt{1-2D},\qquad \boxed{\|x-z\|_1=2\rho\le1-\sqrt{1-2D}.}\tag{16}

Also, gs12ρg_s\ge1-2\rho, which proves the integer-total rank inequality. This short calculation does not by itself prove the entire sum-band rounding threshold in T4.

For a further bibliographic correspondence, form p=(1ρ,(xi)zi=0)p=(1-\rho,(x_i)_{z_i=0}). Its largest coordinate is 1ρ1-\rho, and

H(p)(1D)=ρ2zi=1(1xi)20. H(p)-(1-D)=\rho^2-\sum_{z_i=1}(1-x_i)^2\ge0.

Hence (17) also yields (16). We do not attribute this aggregation or the same rounding formulation to the 2008 paper. The old Lean module verifies the equal-mass squared-sum argument under an explicit equal-mass hypothesis. The new rounding scripts attempt to establish the rounding procedure's preservation and uniqueness properties, but remain uncompiled.

The remaining rank candidate is narrower

After the reductions above, the nontrivial rank form still requiring priority comparison can be restricted to

n4,2sn2,SZ,2D+(Ss)2<1. \boxed{n\ge4,\quad 2\le s\le n-2,\quad S\notin\mathbb Z, \quad 2D+(S-s)^2<1.}

Outside the last condition the rank inequality gives no positive gap certificate. This narrows the search; it does not prove that the remaining case is new or cannot follow shortly from other known inequalities. The signed arbitrary-partition statement and its slack identity require their own comparison.

T2 follows from T1 and the known packed squared-sum bound. Derivability from these ingredients does not establish that the exact three-branch statement was previously published, but it limits any claim of an independent new principle. For T9, the open novelty question concerns the explicit combination k=η(1η)k=\eta(1-\eta), c=(1η2)/2c=(1-\eta^2)/2, h=1/4h=1/4, and its binomial component counts, not the general graph reduction or the birth of new components.

What was actually compared, and what remains unread

The audit checked specific results rather than treating similar titles as mathematical equivalence:

Source and inspected part Comparison with X01
Rosenberg–Jakobsson, Theorem 1(ii), p.2028; Appendix Lemma 3, p.2032 [R1] Direct antecedents for the probability bound and packing
Ellis, arXiv v2, Theorem 1, pp.4–5; Example 2, p.6 [R2] Same finite-data maximum-variance and squared-sum formula
Wolkowicz–Styan, Theorems 2.4–2.5, pp.482–484 [R11] Upper bounds on ranked differences and bounds on the full spectral spread; these are not the specified internal adjacent-gap lower bound
Sharma–Pal, Theorem 5, equation (3.3), p.767 [R12] Lower bound on top-kk sum minus bottom-kk sum, a different quantity
Rubensson–Niklasson, §5.1, equations (13)–(16) [R6] Spectral exclusion from near-idempotency residual norms; no identical integer-offset rank formula identified in that section
Ek–Schutt–Stuckey–Tack, §3, Lemmas 3–5, Algorithm 1 [R7] Variance lower bounds for propagating an upper variance constraint, with a different direction from X01's high-variance guarantee
Goroncy–Rychlik, §2 and Example 2 [R5] Deterministic order-statistic inequalities without the same externally fixed box
Gorban, Lemma 2.1, Proposition 2.4, Lemma 3.2; §4.2, Fig.4.5 [R3] Known vertex/edge and level-set reductions, and a known nonmonotone component-count example

The Gorban numbers in this table follow the PDF; the corresponding older HTML numbers are Lemma 4, Proposition 7, and Lemma 14. His component correspondence alone does not establish the higher-homotopy sequence in T8; its face and cell proofs remain necessary. Matching Betti numbers alone is insufficient for that conclusion.

Selected related portions of The Wonderful Geometry of the Vandermonde map, including Lemma 2.12, and Harper's Morse Matchings on a Hypersimplex were also compared [R13–R14]. Ordered-chamber fibers, labeled vectors, and integer hypersimplices must be distinguished. No full survey of those papers' references is claimed.

Important full-text comparisons remain incomplete: Rubensson–Rudberg–Sałek (2008) [R10], Fahmy–Proschan (1981), Schaus–Régin (2014), Kvålseth (2015), and Kobayashi–Tanaka (2025) [R15]. Their abstracts or references do not establish absence of an equivalent theorem. The search covered English terminology from bounded order statistics, trace bounds, density-matrix purification, SPREAD constraints, and polytope complements. It did not exhaust MathSciNet, zbMATH, books, non-English literature, or every citation chain.

An appropriate publication position is therefore an explicit synthesis, derivation, and verification record with unresolved priority for the remaining formulas. Neither a search miss nor a Lean success certifies novelty.

10. References and source roles

These links identify primary sources. The listed reading scope is deliberately narrower than a claim to have audited every theorem in each paper.

  • [R1] N. A. Rosenberg and M. Jakobsson, The Relationship Between Homozygosity and the Frequency of the Most Frequent Allele, Genetics 179 (2008), 2027–2036. Theorem 1(ii), p.2028, gives the maximum-probability bound; Appendix Lemma 3, p.2032, gives packing. Both and their relevant proofs were inspected. Author-hosted PDF.
  • [R2] J. L. Ellis, The maximum variance of a finite dataset, given its mean, minimum, and maximum, arXiv:2508.17525v2 (2025). The seven-page preprint was inspected, particularly Theorem 1, pp.4–5, and Example 2, p.6. This citation refers to the audited arXiv version. arXiv PDF.
  • [R3] A. N. Gorban, Thermodynamic Tree: The Space of Admissible Paths, SIAM Journal on Applied Dynamical Systems 12 (2013), 246–278. Lemma 2.1, p.11; Proposition 2.4, p.13; Lemma 3.2, pp.18–19; §4.2, Fig.4.5, pp.26–27 of the PDF were compared. Source for vertex access, graph and level-set reductions, and a prior example of nonmonotone component counts. Author's arXiv PDF. The HTML version instead numbers those first three statements Lemma 4, Proposition 7, and Lemma 14.
  • [R4] A. E. Rastegin, Uncertainty relations in terms of generalized entropies derived from information diagrams (2023), Theorem 1, equations (30)–(31). A later explicit description of the high-collision-probability bound, retained for comparison; [R1] provides an older explicit antecedent. arXiv full text.
  • [R5] A. Goroncy and T. Rychlik, How deviant can you be? The complete solution, Mathematical Inequalities & Applications 9 (2006), 633–647. §2, p.637; §3, Example 2, pp.642–643 inspected. Its domain differs from the externally fixed-box setting. Publisher PDF.
  • [R6] E. H. Rubensson and A. M. N. Niklasson, arXiv:1302.7292 (2013 preprint), §5.1, equations (13)–(16). Comparison for near-idempotency residuals and eigenvalue estimation. The inspected bounds include AF2/TrAA2\|A\|_F^2/\operatorname{Tr}A\le\|A\|_2 for nonzero denominator and exclusion of a central open interval using the residual norm. arXiv PDF.
  • [R7] A. Ek, A. Schutt, P. J. Stuckey, and G. Tack, Explaining Propagation for Gini and Spread with Variable Mean, CP 2022, LIPIcs 235, 21:1–21:16. §3, Lemmas 3–5 and Algorithm 1, pp.21:4–21:7 inspected beyond the abstract. Official proceedings PDF.
  • [R8] Parameterless stopping criteria for recursive density matrix expansions, arXiv:1507.02087v3. Introduction, Theorem 1, and the HOMO/LUMO discussion in §6 were inspected as a related source on convergence of idempotency errors. arXiv full text.
  • [R9] Lean 4.19.0 and Mathlib v4.19.0. Official version records for the proof environment: Lean release and Mathlib tag. The acquired Mathlib source matches commit c44e0c8ee63ca166450922a373c7409c5d26b00b; this is not evidence of a new Lean compilation.
  • [R10] E. H. Rubensson, E. Rudberg, and P. Sałek, Density matrix purification with rigorous error control, Journal of Chemical Physics 128, 074106 (2008). Bibliography and abstract only; full-text equation comparison remains outstanding. DOI and publisher record.
  • [R11] H. Wolkowicz and G. P. H. Styan, Bounds for eigenvalues using traces, Linear Algebra and its Applications 29 (1980), 471–506. §2, especially Theorem 2.4, (2.40), p.482, and Theorem 2.5, pp.483–484, inspected. Author-hosted PDF.
  • [R12] R. Sharma and M. Pal, Note on bounds for eigenvalues using traces, Operators and Matrices 16 (2022), 759–773. Theorem 5, (3.3), p.767, inspected. Publisher PDF.
  • [R13] The Wonderful Geometry of the Vandermonde map. Selected portions of §2.1, including Lemma 2.12, inspected for connectedness of ordered-chamber power-sum fibers. Publisher full text.
  • [R14] J. T. Harper, Morse Matchings on a Hypersimplex, arXiv:1211.6483. The integer-hypersimplex face description and the statement and explanation of Theorem 6.11 were compared; the entire matching proof and associated thesis were not audited. arXiv full text.
  • [R15] Further full-text comparisons remain incomplete: Fahmy–Proschan (1981), Bounds on Differences of Order Statistics; Schaus–Régin (2014), Bound-consistent spread constraint; Kvålseth (2015), Bounds on Sample Variation Measures Based on Majorization; Kobayashi–Tanaka (2025), Unified relationship between mean, variance, and an arbitrary number of quantiles. Only available abstracts, bibliographic records, or references through other papers were checked; the absence of the present formulas is not established.

11. Remaining proof and literature work

The immediate review task is to check that each theorem's assumptions, threshold endpoints, and stated formal coverage agree. The Fable review request provides focused questions, while the source package makes the proof scripts and records available from this single HTML file. This edition has not yet received that further review.

For formal verification, the next concrete step is to run the existing 33 extension scripts under the pinned Lean and Mathlib versions, correct any elaboration or proof failures, and retain a fresh build and axiom-audit log. Only then can their status change from NOT COMPILED. The two-segment construction and topological results T3 and T6–T9 still require separate formalization.

T9 classifies path components for every admissible n,sn,s when 1/2<η<11/2<\eta<1. Mathematical extensions include higher homotopy types in this regime and η1\eta\ge1, where further integer-sum vertices enter the band. Bibliographic work should concentrate on the remaining internal noninteger-rank case and the unread sources listed above.

This document records exact formulas, ordinary mathematical proofs, known antecedents, historical machine checks, and current uncompiled work. It does not register established academic novelty, alter the previously published E01/E02 ledger, or include the separate triangle-audit candidate X04. Blog publication remains a later decision by Yokota.

INDEPENDENT REVIEW

Fableへの確認依頼Review request for Fable

今回の統合版を渡す際に使える依頼文です。以前受け取ったFableのレビュー原文も資料に残していますが、この版への新しいレビューが済んだという意味ではありません。Use the request below when sharing this edition. The earlier Fable review is preserved, but it is not a new review of this integrated edition.

日付:2026 09 09

このHTMLを、ブログ掲載前の数学的レビューとして確認してください。 本稿の「定理T1–T9」は本文内の参照番号であり、学術的新規性を認定した番号ではありません。

前提と検証状況

重点的に確認してほしい点

  1. T1の任意分割の平方不等式と、境界の順序を追加した平方根型の区別。非負余裕の分解、等号・安定性の仮定も確認してください。
  2. T2の全三分岐、η=0・η=1/2・δ=δ0・δ=δcの端点、任意次元の達成配置。有限ベクトルからLeanの分割形へ、また付加配置から順位差へ移る際の量化を確認してください。
  3. T4の丸め個数保存・L1最小解の一意性と、厳密不等号の必要性。追加コードの位相に依存しない証明も確認してください。
  4. T6–T9で凸多面体から凸集合を除く一般理論を適用する仮定。T7では閉面にP自身を含み、境界は相対境界です。T8では共通の補集合から二つの空間へ収縮することと、等位集合から直接面複体へ収縮することを区別してください。
  5. T9の閾値k=η(1−η), c=(1−η²)/2, h=1/4、c=hの同時合流、端の順位、各閾値での等号の扱い。
  6. 帰属の妥当性。2008年の最大成分境界、既知の整数総和・端の順位の系、Gorbanの既知の非単調な成分数の例を踏まえ、なお過大な新規性表現がないか確認してください。より近い先行結果があれば出典と定理箇所を示してください。
  7. 行列への不等式の適用と、行列空間の位相を混同していないか。図の数値例を連続空間全体の証明として扱っていないか。
  8. 日本語版と英語版の仮定・結論・検証状況に差がないか。

返してほしい形式

指摘ごとに「対象の定理・節」「問題の種類」「根拠または反例」「必要な修正」を示してください。 数学的な誤り、証明の省略、Leanの実装エラー、文献帰属、表現上の改善は区別してください。 問題を見つけなかった箇所も、実際に確認した範囲を示してください。単なる読解を形式検証済みと呼ばないでください。

依頼文をコピーする

Date: 2026 09 09

Please review this self-contained HTML before possible blog publication. The labels T1–T9 are internal references, not certifications of novelty.

Evidence status

Review priorities

  1. Distinguish T1's arbitrary-partition squared inequality from the square-root version requiring boundary order. Check the nonnegative slack decomposition, equality conditions and stability assumptions.
  2. Check all three branches of T2, including eta=0, eta=1/2 and both defect thresholds, as well as attaining configurations in arbitrary dimensions. Check quantifiers in the bridge from finite vectors to Lean partitions and from padded configurations to ranked gaps.
  3. Check T4's preserved rounded count, uniqueness of the binary L1 minimizer, and the strict threshold. Inspect the topology-free argument in the added code.
  4. Check the assumptions in the polytope/convex-obstacle reduction for T6–T9. T7 includes P itself among closed faces and uses relative boundaries. In T8, distinguish two retractions from a common complement from a direct retraction of the level set onto the face complex.
  5. Check T9 at k=eta(1-eta), c=(1-eta^2)/2 and h=1/4, including c=h, boundary ranks and equality at every threshold.
  6. Check attribution against the 2008 maximum-coordinate bound, the known integer-total and boundary-rank corollaries, and Gorban's example of nonmonotone component counts. Identify any overclaim or closer antecedent, with a precise source and theorem location.
  7. Distinguish scalar eigenvalue bounds from topology of matrix spaces. Ensure finite numerical checks are not presented as proofs over an entire continuous space.
  8. Check that assumptions, conclusions and evidence status agree between the Japanese and English versions.

Requested response

For each finding, give the theorem/section, issue type, evidence or counterexample, and required correction. Separate mathematical errors, omitted proof steps, Lean implementation errors, attribution, and editorial improvements. For portions with no issue found, describe the scope actually checked. Do not call a reading review formal verification.

Copy the review request

SOURCES & EVIDENCE

証明と検証記録を、すべて手元に。Keep the proofs and evidence together.

本文・数式・5種類の操作できる図・下のソースは、このHTMLだけで読めます。先行論文を開く場合やLeanの実行環境を取得する場合は通信が必要です。The exposition, formulas, five interactive figures and sources below can be read from this HTML alone. Opening cited papers or installing Lean requires a connection.

検証の区別Evidence boundary

既存14宣言の成功記録は2026 09 08のものです。追加33定理は未コンパイルで、現在の一括検証記録はBLOCKEDです。Mathlibソースの取得・API照合、有限検算、静的点検をLeanの実行成功とは数えていません。The successful original 14-declaration run dates to 2026 09 08. The 33 added candidates remain uncompiled and the current runner reports BLOCKED. Fetching Mathlib source, API inspection, finite checks and static review are not successful Lean execution.

追加コードに用いた、有限和と丸めの証明の接続The finite-sum and rounding bridges used in the added code

追加したコードで使う、二つの接続

以下は通常の数学的導出であり、追加コードがLeanで通ったという報告ではない。

有限和への接続。 任意の整数 kk に対し、S=xiS=\sum x_iD=xi(1xi)D=\sum x_i(1-x_i) として

(Sk)(1(Sk))D (S-k)(1-(S-k))\le D

を示す。F(S,D,k)=D(Sk)(1(Sk))F(S,D,k)=D-(S-k)(1-(S-k)) と置くと、

F(S+t,D+t(1t),k)=(1t)F(S,D,k)+tF(S,D,k1). F(S+t,D+t(1-t),k)=(1-t)F(S,D,k)+tF(S,D,k-1).

空列では F(0,0,k)=k(k+1)0F(0,0,k)=k(k+1)\ge00t10\le t\le1 なら重みが非負なので、有限帰納法で従う。これは既知の箱内二乗和最大化を、床関数なしで形式化する方法である。

丸めの個数保存への接続。 0η1/20\le\eta\le1/2Ssη|S-s|\le\etaD<1/2η2D<1/2-\eta^2 とする。各座標を近い0か1へ丸め、誤差の大きさを di1/2d_i\le1/2 とする。di2xi(1xi)d_i\le2x_i(1-x_i) より誤差の総和は1未満。

丸め個数が ss と異なるなら、増加・減少のどちらか一方の誤差和 ρ\rho1η1-\eta 以上になる。一方、ρ<1\rho<1。その側で 2di[0,1]2d_i\in[0,1] に整数 k=1k=1 の上記不等式を適用すると、

di2ρ2ρ+12,di(1di)12(1ρ)212η2. \sum d_i^2\le\rho^2-\rho+\frac12,\qquad \sum d_i(1-d_i)\ge\frac12-(1-\rho)^2\ge\frac12-\eta^2.

これは全体の欠損量の仮定に矛盾する。半値座標の排除は、その一座標を除いた列に同じ有限和不等式を使う。この経路なら、丸めの証明を位相分類から独立させられる。

これらの代数恒等式を含む13式の係数正規化検査は成功しているが、不等式の全推論・帰納法・平方根の意味・Leanの型検査を代替しない。

Two bridges used in the additional code

These are ordinary mathematical derivations, not a report that the added Lean scripts compiled.

From finite sums. For every integer kk, with S=xiS=\sum x_i and D=xi(1xi)D=\sum x_i(1-x_i), prove

(Sk)(1(Sk))D. (S-k)(1-(S-k))\le D.

Write F(S,D,k)=D(Sk)(1(Sk))F(S,D,k)=D-(S-k)(1-(S-k)). Then

F(S+t,D+t(1t),k)=(1t)F(S,D,k)+tF(S,D,k1). F(S+t,D+t(1-t),k)=(1-t)F(S,D,k)+tF(S,D,k-1).

The empty sequence gives F(0,0,k)=k(k+1)0F(0,0,k)=k(k+1)\ge0. Both weights are nonnegative for 0t10\le t\le1, so finite induction proves the claim. This is a floor-free route to the classical packing bound.

To the rounded count. Assume 0η1/20\le\eta\le1/2, Ssη|S-s|\le\eta, and D<1/2η2D<1/2-\eta^2. Round each coordinate to a nearest binary endpoint, with error di1/2d_i\le1/2. Since di2xi(1xi)d_i\le2x_i(1-x_i), the total error is less than one.

If the rounded count differs from ss, one side's error mass ρ\rho is at least 1η1-\eta, while ρ<1\rho<1. Apply the finite-sum bound to 2di[0,1]2d_i\in[0,1] on that side, with integer offset k=1k=1. It gives

di2ρ2ρ+12,di(1di)12(1ρ)212η2. \sum d_i^2\le\rho^2-\rho+\frac12,\qquad \sum d_i(1-d_i)\ge\frac12-(1-\rho)^2\ge\frac12-\eta^2.

This contradicts the total defect bound. A half-valued coordinate is excluded by applying packing to the remaining coordinates. This route makes the rounding proof independent of the topological classification.

Thirteen polynomial identities, including those used here, passed exact coefficient normalization. This does not check all inequality inferences, induction, square-root semantics or Lean types.

MomentIslands.lean · 既存14宣言/過去の成功記録ありMomentIslands.lean · original 14 declarations / historical PASS

SHA-256: 3f29d4e1daad5ed467c6ef2a832a067b03546a2ca35293983f3675e76e70c9fa

import Mathlib.Data.Real.Sqrt
import Mathlib.Algebra.Order.BigOperators.Ring.Finset
import Mathlib.Tactic.Linarith
import Mathlib.Tactic.NormNum
import Mathlib.Tactic.Ring

/-!
Formal algebraic core of the moment-islands exploration.
The ambient scalar type is `Real`; these are universal proofs, not grid tests.
The global topological classification is deliberately outside this file.
-/

open scoped BigOperators

namespace MomentIslands

/-- The sharp upper bound on the squared norm of a nonnegative pair. -/
theorem pair_square_upper (a b : ℝ) (ha : 0 ≤ a) (hb : 0 ≤ b) :
    a ^ 2 + b ^ 2 ≤ (a + b) ^ 2 := by
  nlinarith [mul_nonneg ha hb]

/-- Applying the same fact to the distances from the upper endpoint. -/
theorem pair_square_upper_complement (a b : ℝ) (ha : a ≤ 1) (hb : b ≤ 1) :
    a ^ 2 + b ^ 2 ≤ 1 + (a + b - 1) ^ 2 := by
  nlinarith [mul_nonneg (sub_nonneg.mpr ha) (sub_nonneg.mpr hb)]

/-- The four-variable example: partial sum one half forces Q ≤ 3/2. -/
theorem four_variable_gap_bound (a b c d : ℝ)
    (ha : 0 ≤ a) (hb : 0 ≤ b) (hc : c ≤ 1) (hd : d ≤ 1)
    (hs : a + b + c + d = 2) (ht : a + b = 1 / 2) :
    a ^ 2 + b ^ 2 + c ^ 2 + d ^ 2 ≤ 3 / 2 := by
  have hab := pair_square_upper a b ha hb
  have hcd := pair_square_upper_complement c d hc hd
  have hsum : c + d = 3 / 2 := by linarith
  rw [ht] at hab
  rw [hsum] at hcd
  nlinarith

/-- There is no real witness to the article's forbidden partial sum. -/
theorem four_variable_gap (a b c d : ℝ)
    (ha : 0 ≤ a) (hb : 0 ≤ b) (hc : c ≤ 1) (hd : d ≤ 1)
    (hs : a + b + c + d = 2) (ht : a + b = 1 / 2)
    (hq : a ^ 2 + b ^ 2 + c ^ 2 + d ^ 2 = 9 / 5) : False := by
  have h := four_variable_gap_bound a b c d ha hb hc hd hs ht
  linarith

/-- Finite nonnegative errors on two sides, each summing to rho, obey
the sharp quadratic defect bound D ≥ 2 rho (1-rho). No dimension is fixed. -/
theorem balanced_error_defect {ι κ : Type*} (I : Finset ι) (J : Finset κ)
    (u : ι → ℝ) (v : κ → ℝ) (rho : ℝ)
    (hu : ∀ i ∈ I, 0 ≤ u i) (hv : ∀ j ∈ J, 0 ≤ v j)
    (hsu : ∑ i ∈ I, u i = rho) (hsv : ∑ j ∈ J, v j = rho) :
    2 * rho * (1 - rho) ≤
      (∑ i ∈ I, u i * (1 - u i)) + ∑ j ∈ J, v j * (1 - v j) := by
  have hu2 := Finset.sum_sq_le_sq_sum_of_nonneg hu
  have hv2 := Finset.sum_sq_le_sq_sum_of_nonneg hv
  rw [hsu] at hu2
  rw [hsv] at hv2
  have eu : (∑ i ∈ I, u i * (1 - u i)) = rho - ∑ i ∈ I, (u i) ^ 2 := by
    calc
      _ = ∑ i ∈ I, (u i - (u i) ^ 2) := by
        apply Finset.sum_congr rfl
        intro i hi
        ring
      _ = _ := by rw [Finset.sum_sub_distrib, hsu]
  have ev : (∑ j ∈ J, v j * (1 - v j)) = rho - ∑ j ∈ J, (v j) ^ 2 := by
    calc
      _ = ∑ j ∈ J, (v j - (v j) ^ 2) := by
        apply Finset.sum_congr rfl
        intro j hj
        ring
      _ = _ := by rw [Finset.sum_sub_distrib, hsv]
  rw [eu, ev]
  nlinarith

/-- Inversion on the small-error branch. This is the square-root constant
used in the sharp rounding estimate. -/
theorem invert_defect_bound (rho D : ℝ) (hrho : rho ≤ 1 / 2)
    (hbound : 2 * rho * (1 - rho) ≤ D) :
    rho ≤ (1 - Real.sqrt (1 - 2 * D)) / 2 := by
  have hn : 0 ≤ 1 - 2 * rho := by linarith
  have hs : 1 - 2 * D ≤ (1 - 2 * rho) ^ 2 := by nlinarith
  have hroot : Real.sqrt (1 - 2 * D) ≤ 1 - 2 * rho :=
    (Real.sqrt_le_left hn).mpr hs
  linarith

/-- Arbitrary finite nonnegative balanced errors satisfy the sharp bound
whenever their common mass is at most one half. -/
theorem balanced_error_sharp_bound {ι κ : Type*} (I : Finset ι) (J : Finset κ)
    (u : ι → ℝ) (v : κ → ℝ) (rho D : ℝ)
    (hu : ∀ i ∈ I, 0 ≤ u i) (hv : ∀ j ∈ J, 0 ≤ v j)
    (hsu : ∑ i ∈ I, u i = rho) (hsv : ∑ j ∈ J, v j = rho)
    (hrho : rho ≤ 1 / 2)
    (hD : (∑ i ∈ I, u i * (1 - u i)) +
      (∑ j ∈ J, v j * (1 - v j)) = D) :
    rho ≤ (1 - Real.sqrt (1 - 2 * D)) / 2 := by
  apply invert_defect_bound rho D hrho
  rw [← hD]
  exact balanced_error_defect I J u v rho hu hv hsu hsv

/-- A quantitative near-equality certificate. If a nonnegative vector of
mass rho has a designated maximal entry m, then its missing squared norm
controls all mass outside that entry. -/
theorem concentration_from_square_deficit {ι : Type*} (I : Finset ι)
    (u : ι → ℝ) (rho m eps : ℝ)
    (hu : ∀ i ∈ I, 0 ≤ u i) (hm : ∀ i ∈ I, u i ≤ m)
    (hs : ∑ i ∈ I, u i = rho)
    (hgap : rho ^ 2 - ∑ i ∈ I, (u i) ^ 2 ≤ eps) :
    rho * (rho - m) ≤ eps := by
  have hsq : (∑ i ∈ I, (u i) ^ 2) ≤ m * rho := by
    calc
      _ ≤ ∑ i ∈ I, m * u i := by
        apply Finset.sum_le_sum
        intro i hi
        nlinarith [mul_nonneg (hu i hi) (sub_nonneg.mpr (hm i hi))]
      _ = _ := by rw [← Finset.mul_sum, hs]
  nlinarith

/-- Scalar rank-gap core. The hypotheses are aggregated mass and defect
bounds; no claim that they automatically describe a sorted vector is hidden. -/
theorem rank_gap_core (u v sigma rho D e g : ℝ)
    (hu : 0 ≤ u) (hv : v ≤ 1)
    (hsigma : 1 - u ≤ sigma) (hrho : v ≤ rho)
    (hD : u * sigma + (1 - v) * rho ≤ D)
    (he : e = rho - sigma) (hg : g = u - v) :
    1 ≤ 2 * D + e ^ 2 + g ^ 2 := by
  have hpA := mul_nonneg (sub_nonneg.mpr hv) (sub_nonneg.mpr hsigma)
  have hpB := mul_nonneg hu (sub_nonneg.mpr hrho)
  have hsq := sq_nonneg ((rho - v) - (sigma - (1 - u)))
  have hid : 2 * D + e ^ 2 + g ^ 2 - 1 =
      2 * (D - (u * sigma + (1 - v) * rho)) +
      2 * ((1 - v) * (sigma - (1 - u))) +
      2 * (u * (rho - v)) + ((rho - v) - (sigma - (1 - u))) ^ 2 := by
    rw [he, hg]
    ring
  nlinarith

/-- A square-root version, on the nonnegative gap branch. -/
theorem rank_gap_sqrt (D e g : ℝ) (hg : 0 ≤ g)
    (h : 1 ≤ 2 * D + e ^ 2 + g ^ 2) :
    Real.sqrt (1 - 2 * D - e ^ 2) ≤ g := by
  apply (Real.sqrt_le_left hg).mpr
  linarith

/-- Near equality forces the mass outside the two boundary coordinates
to be small, with the coefficients and all hypotheses left explicit. -/
theorem rank_gap_slack (u v sigma rho D e g : ℝ)
    (hu : 0 ≤ u) (hv : v ≤ 1)
    (hsigma : 1 - u ≤ sigma) (hrho : v ≤ rho)
    (hD : u * sigma + (1 - v) * rho ≤ D)
    (he : e = rho - sigma) (hg : g = u - v) :
    2 * (1 - v) * (sigma - (1 - u)) ≤ 2 * D + e ^ 2 + g ^ 2 - 1 ∧
    2 * u * (rho - v) ≤ 2 * D + e ^ 2 + g ^ 2 - 1 := by
  have hpA := mul_nonneg (sub_nonneg.mpr hv) (sub_nonneg.mpr hsigma)
  have hpB := mul_nonneg hu (sub_nonneg.mpr hrho)
  have hsq := sq_nonneg ((rho - v) - (sigma - (1 - u)))
  have hid : 2 * D + e ^ 2 + g ^ 2 - 1 =
      2 * (D - (u * sigma + (1 - v) * rho)) +
      2 * ((1 - v) * (sigma - (1 - u))) +
      2 * (u * (rho - v)) + ((rho - v) - (sigma - (1 - u))) ^ 2 := by
    rw [he, hg]
    ring
  constructor <;> nlinarith

/-- The rank-gap inequality for arbitrary finite top/rest collections.
`a` is a minimum of the top collection, `b` a maximum of the rest.
Disjointness is not needed for this algebraic statement; a sorted vector's
disjoint partition is a direct specialization. -/
theorem finite_rank_gap {ι : Type*} (I J : Finset ι) (x : ι → ℝ) (a b : ι)
    (ha : a ∈ I) (hb : b ∈ J)
    (hI : ∀ i ∈ I, 0 ≤ x i ∧ x i ≤ 1)
    (hJ : ∀ j ∈ J, 0 ≤ x j ∧ x j ≤ 1)
    (hmin : ∀ i ∈ I, x a ≤ x i) (hmax : ∀ j ∈ J, x j ≤ x b) :
    1 ≤ 2 * ((∑ i ∈ I, x i * (1 - x i)) +
      ∑ j ∈ J, x j * (1 - x j)) +
      ((∑ j ∈ J, x j) - (∑ i ∈ I, (1 - x i))) ^ 2 + (x a - x b) ^ 2 := by
  have hsigma : 1 - x a ≤ ∑ i ∈ I, (1 - x i) :=
    Finset.single_le_sum (fun i hi => sub_nonneg.mpr (hI i hi).2) ha
  have hrho : x b ≤ ∑ j ∈ J, x j :=
    Finset.single_le_sum (fun j hj => (hJ j hj).1) hb
  have htop : x a * (∑ i ∈ I, (1 - x i)) ≤
      ∑ i ∈ I, x i * (1 - x i) := by
    rw [Finset.mul_sum]
    apply Finset.sum_le_sum
    intro i hi
    exact mul_le_mul_of_nonneg_right (hmin i hi) (sub_nonneg.mpr (hI i hi).2)
  have hrest : (1 - x b) * (∑ j ∈ J, x j) ≤
      ∑ j ∈ J, x j * (1 - x j) := by
    rw [Finset.mul_sum]
    apply Finset.sum_le_sum
    intro j hj
    nlinarith [mul_nonneg (hJ j hj).1 (sub_nonneg.mpr (hmax j hj))]
  exact rank_gap_core (x a) (x b) _ _ _ _ _
    (hI a ha).1 (hJ b hb).2 hsigma hrho (add_le_add htop hrest) rfl rfl

/-- The same bound expressed using the actual total and defect of a finite
vector. For a top-s partition the cardinality of I is exactly s. -/
theorem rank_gap_partition {ι : Type*} [Fintype ι] [DecidableEq ι]
    (I : Finset ι) (x : ι → ℝ) (a b : ι)
    (ha : a ∈ I) (hb : b ∉ I)
    (hbox : ∀ i, 0 ≤ x i ∧ x i ≤ 1)
    (hmin : ∀ i ∈ I, x a ≤ x i) (hmax : ∀ j ∉ I, x j ≤ x b) :
    1 ≤ 2 * (∑ i, x i * (1 - x i)) +
      ((∑ i, x i) - (I.card : ℝ)) ^ 2 + (x a - x b) ^ 2 := by
  have hb' : b ∈ Iᶜ := by simpa using hb
  have hmax' : ∀ j ∈ Iᶜ, x j ≤ x b := by
    intro j hj
    exact hmax j (by simpa using hj)
  have h := finite_rank_gap I Iᶜ x a b ha hb'
    (fun i _ => hbox i) (fun j _ => hbox j) hmin hmax'
  have htot := I.sum_add_sum_compl x
  have hdef := I.sum_add_sum_compl (fun i => x i * (1 - x i))
  have hsigma : (∑ i ∈ I, (1 - x i)) = (I.card : ℝ) - ∑ i ∈ I, x i := by
    simp only [Finset.sum_sub_distrib, Finset.sum_const, nsmul_eq_mul, mul_one]
  have he : (∑ j ∈ Iᶜ, x j) - (∑ i ∈ I, (1 - x i)) =
      (∑ i, x i) - (I.card : ℝ) := by
    rw [hsigma]
    linarith
  rwa [hdef, he] at h

/-- The robust separation estimate for the actual finite-vector moments.
The ordering assumption chooses the nonnegative square-root branch. -/
theorem rank_gap_partition_sqrt {ι : Type*} [Fintype ι] [DecidableEq ι]
    (I : Finset ι) (x : ι → ℝ) (a b : ι)
    (ha : a ∈ I) (hb : b ∉ I)
    (hbox : ∀ i, 0 ≤ x i ∧ x i ≤ 1)
    (hmin : ∀ i ∈ I, x a ≤ x i) (hmax : ∀ j ∉ I, x j ≤ x b)
    (hab : x b ≤ x a) :
    Real.sqrt (1 - 2 * (∑ i, x i * (1 - x i)) -
      ((∑ i, x i) - (I.card : ℝ)) ^ 2) ≤ x a - x b := by
  exact rank_gap_sqrt _ _ _ (sub_nonneg.mpr hab)
    (rank_gap_partition I x a b ha hb hbox hmin hmax)

end MomentIslands

#print axioms MomentIslands.pair_square_upper
#print axioms MomentIslands.pair_square_upper_complement
#print axioms MomentIslands.four_variable_gap_bound
#print axioms MomentIslands.four_variable_gap
#print axioms MomentIslands.balanced_error_defect
#print axioms MomentIslands.invert_defect_bound
#print axioms MomentIslands.balanced_error_sharp_bound
#print axioms MomentIslands.concentration_from_square_deficit
#print axioms MomentIslands.rank_gap_core
#print axioms MomentIslands.rank_gap_sqrt
#print axioms MomentIslands.rank_gap_slack
#print axioms MomentIslands.finite_rank_gap
#print axioms MomentIslands.rank_gap_partition
#print axioms MomentIslands.rank_gap_partition_sqrt

#check MomentIslands.rank_gap_partition_sqrt
#check MomentIslands.balanced_error_sharp_bound
既存14宣言の成功ログ · 2026 09 08Historical successful log · 2026 09 08

SHA-256: a06d40e33bd4aa31a53fcf012843a924f10ab082caf3211e67fbd0572f3358b5

'MomentIslands.pair_square_upper' depends on axioms: [propext, Classical.choice, Quot.sound]
'MomentIslands.pair_square_upper_complement' depends on axioms: [propext, Classical.choice, Quot.sound]
'MomentIslands.four_variable_gap_bound' depends on axioms: [propext, Classical.choice, Quot.sound]
'MomentIslands.four_variable_gap' depends on axioms: [propext, Classical.choice, Quot.sound]
'MomentIslands.balanced_error_defect' depends on axioms: [propext, Classical.choice, Quot.sound]
'MomentIslands.invert_defect_bound' depends on axioms: [propext, Classical.choice, Quot.sound]
'MomentIslands.balanced_error_sharp_bound' depends on axioms: [propext, Classical.choice, Quot.sound]
'MomentIslands.concentration_from_square_deficit' depends on axioms: [propext, Classical.choice, Quot.sound]
'MomentIslands.rank_gap_core' depends on axioms: [propext, Classical.choice, Quot.sound]
'MomentIslands.rank_gap_sqrt' depends on axioms: [propext, Classical.choice, Quot.sound]
'MomentIslands.rank_gap_slack' depends on axioms: [propext, Classical.choice, Quot.sound]
'MomentIslands.finite_rank_gap' depends on axioms: [propext, Classical.choice, Quot.sound]
'MomentIslands.rank_gap_partition' depends on axioms: [propext, Classical.choice, Quot.sound]
'MomentIslands.rank_gap_partition_sqrt' depends on axioms: [propext, Classical.choice, Quot.sound]
MomentIslands.rank_gap_partition_sqrt.{u_1} {ι : Type u_1} [Fintype ι] [DecidableEq ι] (I : Finset ι) (x : ι → ℝ)
  (a b : ι) (ha : a ∈ I) (hb : b ∉ I) (hbox : ∀ (i : ι), 0 ≤ x i ∧ x i ≤ 1) (hmin : ∀ i ∈ I, x a ≤ x i)
  (hmax : ∀ j ∉ I, x j ≤ x b) (hab : x b ≤ x a) : √(1 - 2 * ∑ i, x i * (1 - x i) - (∑ i, x i - ↑I.card) ^ 2) ≤ x a - x b
MomentIslands.balanced_error_sharp_bound.{u_1, u_2} {ι : Type u_1} {κ : Type u_2} (I : Finset ι) (J : Finset κ)
  (u : ι → ℝ) (v : κ → ℝ) (rho D : ℝ) (hu : ∀ i ∈ I, 0 ≤ u i) (hv : ∀ j ∈ J, 0 ≤ v j) (hsu : ∑ i ∈ I, u i = rho)
  (hsv : ∑ j ∈ J, v j = rho) (hrho : rho ≤ 1 / 2) (hD : ∑ i ∈ I, u i * (1 - u i) + ∑ j ∈ J, v j * (1 - v j) = D) :
  rho ≤ (1 - √(1 - 2 * D)) / 2
既存ソースの検証記録 JSON · 過去の実行Original verification JSON · historical run

SHA-256: 5640ed3c375c0a6ae0edc1ed4556050eb25764c34d088df2b608a7053e38e6e8

{
  "status": "PASS",
  "lean_version": {
    "command": [
      "/workspace/scratch/969dff4f4f1c/formal_env/lean-4.19.0-linux/bin/lean",
      "--version"
    ],
    "cwd": "/workspace/scratch/969dff4f4f1c/round2_formal",
    "exit_code": 0,
    "output": "Lean (version 4.19.0, x86_64-unknown-linux-gnu, commit 6caaee842e94, Release)\n"
  },
  "mathlib_commit": {
    "command": [
      "git",
      "rev-parse",
      "HEAD"
    ],
    "cwd": "/workspace/scratch/969dff4f4f1c/formal_env/mathlib4",
    "exit_code": 0,
    "output": "c44e0c8ee63ca166450922a373c7409c5d26b00b\n"
  },
  "proof_check": {
    "command": [
      "/workspace/scratch/969dff4f4f1c/formal_env/lean-4.19.0-linux/bin/lake",
      "env",
      "lean",
      "--root=/workspace/scratch/969dff4f4f1c/round2_formal",
      "-o",
      "/workspace/scratch/969dff4f4f1c/round2_formal/MomentIslands.olean",
      "/workspace/scratch/969dff4f4f1c/round2_formal/MomentIslands.lean"
    ],
    "cwd": "/workspace/scratch/969dff4f4f1c/formal_env/mathlib4",
    "exit_code": 0,
    "output": "'MomentIslands.pair_square_upper' depends on axioms: [propext, Classical.choice, Quot.sound]\n'MomentIslands.pair_square_upper_complement' depends on axioms: [propext, Classical.choice, Quot.sound]\n'MomentIslands.four_variable_gap_bound' depends on axioms: [propext, Classical.choice, Quot.sound]\n'MomentIslands.four_variable_gap' depends on axioms: [propext, Classical.choice, Quot.sound]\n'MomentIslands.balanced_error_defect' depends on axioms: [propext, Classical.choice, Quot.sound]\n'MomentIslands.invert_defect_bound' depends on axioms: [propext, Classical.choice, Quot.sound]\n'MomentIslands.balanced_error_sharp_bound' depends on axioms: [propext, Classical.choice, Quot.sound]\n'MomentIslands.concentration_from_square_deficit' depends on axioms: [propext, Classical.choice, Quot.sound]\n'MomentIslands.rank_gap_core' depends on axioms: [propext, Classical.choice, Quot.sound]\n'MomentIslands.rank_gap_sqrt' depends on axioms: [propext, Classical.choice, Quot.sound]\n'MomentIslands.rank_gap_slack' depends on axioms: [propext, Classical.choice, Quot.sound]\n'MomentIslands.finite_rank_gap' depends on axioms: [propext, Classical.choice, Quot.sound]\n'MomentIslands.rank_gap_partition' depends on axioms: [propext, Classical.choice, Quot.sound]\n'MomentIslands.rank_gap_partition_sqrt' depends on axioms: [propext, Classical.choice, Quot.sound]\nMomentIslands.rank_gap_partition_sqrt.{u_1} {ι : Type u_1} [Fintype ι] [DecidableEq ι] (I : Finset ι) (x : ι → ℝ)\n  (a b : ι) (ha : a ∈ I) (hb : b ∉ I) (hbox : ∀ (i : ι), 0 ≤ x i ∧ x i ≤ 1) (hmin : ∀ i ∈ I, x a ≤ x i)\n  (hmax : ∀ j ∉ I, x j ≤ x b) (hab : x b ≤ x a) : √(1 - 2 * ∑ i, x i * (1 - x i) - (∑ i, x i - ↑I.card) ^ 2) ≤ x a - x b\nMomentIslands.balanced_error_sharp_bound.{u_1, u_2} {ι : Type u_1} {κ : Type u_2} (I : Finset ι) (J : Finset κ)\n  (u : ι → ℝ) (v : κ → ℝ) (rho D : ℝ) (hu : ∀ i ∈ I, 0 ≤ u i) (hv : ∀ j ∈ J, 0 ≤ v j) (hsu : ∑ i ∈ I, u i = rho)\n  (hsv : ∑ j ∈ J, v j = rho) (hrho : rho ≤ 1 / 2) (hD : ∑ i ∈ I, u i * (1 - u i) + ∑ j ∈ J, v j * (1 - v j) = D) :\n  rho ≤ (1 - √(1 - 2 * D)) / 2\n"
  },
  "axiom_audit": {
    "theorem_declarations": 14,
    "axiom_print_commands": 14,
    "sorry_axiom_in_output": false,
    "new_axiom_declarations": false,
    "placeholder_tokens": false
  },
  "source_sha256": "3f29d4e1daad5ed467c6ef2a832a067b03546a2ca35293983f3675e76e70c9fa",
  "lean_binary_sha256": "92c3d35b5bfaa5e0fea413a775d504cf46cd95e1345df61c2274f76779e7e023",
  "lean_shared_library_sha256": "2ab605c74c78f9ba4431a7b5305a4b28a9071d8a826f223eb14fe5530f78e14d",
  "runtime_compatibility": {
    "used": true,
    "scope": "Only readlink(/proc/<getpid()>/exe) is resolved as /proc/self/exe.",
    "lean_kernel_modified": false,
    "source_sha256": "2f3fe42f8e76de61473891406a97503891bc057dbfc68e37406a6b6c0f30ce12"
  }
}
Packing.lean · 6定理候補/未コンパイルPacking.lean · 6 candidates / NOT COMPILED

SHA-256: 728a1775e7eb1980674cd065489009232d1294e3594b4334de8ef8655c1f05de

import MomentIslands

open scoped BigOperators

namespace MomentIslands

/-- A floor-free form of the classical packing bound. It holds for every
integer offset, even when the offset is not the floor of the sum. -/
theorem integer_offset_defect {ι : Type*} (I : Finset ι) (x : ι → ℝ)
    (k : ℤ) (hbox : ∀ i ∈ I, 0 ≤ x i ∧ x i ≤ 1) :
    ((∑ i ∈ I, x i) - (k : ℝ)) *
        (1 - ((∑ i ∈ I, x i) - (k : ℝ))) ≤
      ∑ i ∈ I, x i * (1 - x i) := by
  classical
  revert hbox
  induction I using Finset.induction_on generalizing k with
  | empty =>
      intro hbox
      simp only [Finset.sum_empty]
      by_cases hk : 0 ≤ k
      · have hk' : (0 : ℝ) ≤ (k : ℝ) := by exact_mod_cast hk
        nlinarith [mul_nonneg hk' (show 0 ≤ (k : ℝ) + 1 by linarith)]
      · have hk1 : k + 1 ≤ 0 := Int.add_one_le_iff.mpr (lt_of_not_ge hk)
        have hk1' : (k : ℝ) + 1 ≤ 0 := by exact_mod_cast hk1
        nlinarith [mul_nonneg (show 0 ≤ -(k : ℝ) by linarith)
          (show 0 ≤ -(k : ℝ) - 1 by linarith)]
  | @insert a I ha ih =>
      intro hbox
      have hI : ∀ i ∈ I, 0 ≤ x i ∧ x i ≤ 1 := by
        intro i hi
        exact hbox i (Finset.mem_insert_of_mem hi)
      have ht := hbox a (Finset.mem_insert_self a I)
      have h0 := ih k hI
      have h1 := ih (k - 1) hI
      rw [Int.cast_sub, Int.cast_one] at h1
      have hw0 := mul_le_mul_of_nonneg_left h0 (sub_nonneg.mpr ht.2)
      have hw1 := mul_le_mul_of_nonneg_left h1 ht.1
      simp only [Finset.sum_insert ha]
      nlinarith [hw0, hw1]

/-- The usual sum-of-squares packing inequality, expressed at any integer
offset. Choosing the floor gives its sharp classical form. -/
theorem square_sum_integer_offset {ι : Type*} (I : Finset ι) (x : ι → ℝ)
    (k : ℤ) (hbox : ∀ i ∈ I, 0 ≤ x i ∧ x i ≤ 1) :
    (∑ i ∈ I, (x i) ^ 2) ≤
      (k : ℝ) + ((∑ i ∈ I, x i) - (k : ℝ)) ^ 2 := by
  have h := integer_offset_defect I x k hbox
  have hD : (∑ i ∈ I, x i * (1 - x i)) =
      (∑ i ∈ I, x i) - ∑ i ∈ I, (x i) ^ 2 := by
    rw [← Finset.sum_sub_distrib]
    apply Finset.sum_congr rfl
    intro i hi
    ring
  rw [hD] at h
  nlinarith

/-- The distance to any integer obeys the corresponding defect bound.
Only the range where this distance is at most one is informative. -/
theorem abs_integer_offset_defect {ι : Type*} (I : Finset ι) (x : ι → ℝ)
    (k : ℤ) (hbox : ∀ i ∈ I, 0 ≤ x i ∧ x i ≤ 1) :
    |(∑ i ∈ I, x i) - (k : ℝ)| *
        (1 - |(∑ i ∈ I, x i) - (k : ℝ)|) ≤
      ∑ i ∈ I, x i * (1 - x i) := by
  by_cases h : 0 ≤ (∑ i ∈ I, x i) - (k : ℝ)
  · rw [abs_of_nonneg h]
    exact integer_offset_defect I x k hbox
  · have hn : (∑ i ∈ I, x i) - (k : ℝ) ≤ 0 := le_of_not_ge h
    rw [abs_of_nonpos hn]
    have hbound := integer_offset_defect I x (k - 1) hbox
    rw [Int.cast_sub, Int.cast_one] at hbound
    nlinarith

/-- At a half-valued coordinate the defect has the sharp lower bound
1/2 minus the square of the total's offset from any integer. -/
theorem half_coordinate_defect {ι : Type*} [DecidableEq ι]
    (I : Finset ι) (x : ι → ℝ) (a : ι) (k : ℤ)
    (ha : a ∈ I) (hhalf : x a = 1 / 2)
    (hbox : ∀ i ∈ I, 0 ≤ x i ∧ x i ≤ 1) :
    1 / 2 - ((∑ i ∈ I, x i) - (k : ℝ)) ^ 2 ≤
      ∑ i ∈ I, x i * (1 - x i) := by
  have h := integer_offset_defect (I.erase a) x (k - 1)
    (fun i hi => hbox i (Finset.mem_of_mem_erase hi))
  rw [Int.cast_sub, Int.cast_one] at h
  have hS := Finset.sum_erase_add I x ha
  have hD := Finset.sum_erase_add I (fun i => x i * (1 - x i)) ha
  rw [hhalf] at hS hD
  nlinarith

/-- Below the half-coordinate barrier no coordinate can equal one half. -/
theorem no_half_below_barrier {ι : Type*} [DecidableEq ι]
    (I : Finset ι) (x : ι → ℝ) (k : ℤ) (eta delta : ℝ)
    (hbox : ∀ i ∈ I, 0 ≤ x i ∧ x i ≤ 1)
    (hmean : |(∑ i ∈ I, x i) - (k : ℝ)| ≤ eta)
    (hD : (∑ i ∈ I, x i * (1 - x i)) ≤ delta)
    (hdelta : delta < 1 / 2 - eta ^ 2) :
    ∀ a ∈ I, x a ≠ 1 / 2 := by
  intro a ha hhalf
  have h := half_coordinate_defect I x a k ha hhalf hbox
  have he : ((∑ i ∈ I, x i) - (k : ℝ)) ^ 2 ≤ eta ^ 2 := by
    have he0 := abs_nonneg ((∑ i ∈ I, x i) - (k : ℝ))
    have hp := mul_nonneg (sub_nonneg.mpr hmean)
      (show 0 ≤ eta + |(∑ i ∈ I, x i) - (k : ℝ)| by linarith)
    nlinarith [sq_abs ((∑ i ∈ I, x i) - (k : ℝ)), hp]
  linarith

/-- If entries lie in [0,1/2] and their total lies in [1-eta,1],
then their defect is at least 1/2-eta^2. This is the scaled packing
inequality used to rule out an incorrect nearest-integer count. -/
theorem half_bounded_mass_defect {ι : Type*} (I : Finset ι)
    (d : ι → ℝ) (eta : ℝ)
    (hbox : ∀ i ∈ I, 0 ≤ d i ∧ d i ≤ 1 / 2)
    (heta : 0 ≤ eta)
    (hlower : 1 - eta ≤ ∑ i ∈ I, d i)
    (hupper : (∑ i ∈ I, d i) ≤ 1) :
    1 / 2 - eta ^ 2 ≤ ∑ i ∈ I, d i * (1 - d i) := by
  have h := integer_offset_defect I (fun i => 2 * d i) 1 (by
    intro i hi
    constructor <;> nlinarith [(hbox i hi).1, (hbox i hi).2])
  have hS : (∑ i ∈ I, 2 * d i) = 2 * ∑ i ∈ I, d i := by
    rw [Finset.mul_sum]
  have hD : (∑ i ∈ I, (2 * d i) * (1 - 2 * d i)) =
      4 * (∑ i ∈ I, d i * (1 - d i)) - 2 * ∑ i ∈ I, d i := by
    rw [Finset.mul_sum, Finset.mul_sum, ← Finset.sum_sub_distrib]
    apply Finset.sum_congr rfl
    intro i hi
    ring
  rw [hS, hD] at h
  norm_num only [Int.cast_one] at h
  have hsq : ((∑ i ∈ I, d i) - 1) ^ 2 ≤ eta ^ 2 := by
    nlinarith [mul_nonneg (show 0 ≤ eta + ((∑ i ∈ I, d i) - 1) by linarith)
      (show 0 ≤ eta - ((∑ i ∈ I, d i) - 1) by linarith)]
  nlinarith

end MomentIslands

#print axioms MomentIslands.integer_offset_defect
#print axioms MomentIslands.square_sum_integer_offset
#print axioms MomentIslands.abs_integer_offset_defect
#print axioms MomentIslands.half_coordinate_defect
#print axioms MomentIslands.no_half_below_barrier
#print axioms MomentIslands.half_bounded_mass_defect
BandSharp.lean · 8定理候補/未コンパイルBandSharp.lean · 8 candidates / NOT COMPILED

SHA-256: 1e07403f3483715345c831e2f096ba988daf19a73bfdd2132a68ebed25515e26

import MomentIslands

/-!
Sharp scalar optimization for the narrow moment band, 0 ≤ eta ≤ 1/2.
The vector-to-scalar reduction is deliberately supplied in a separate file.

Status: candidate Lean 4.19 / mathlib 4.19 source; this addition has NOT
been compiled in the present environment. No axiom or proof placeholder
is introduced. The `#print axioms` commands are instructions for the next
actual run, not a report that this run has already happened.
-/

namespace MomentIslands

/-- The proposed optimal adjacent-gap certificate for the narrow band. -/
noncomputable def bandGap (eta delta : ℝ) : ℝ :=
  if delta ≤ eta * (1 - eta) then (1 + Real.sqrt (1 - 4 * delta)) / 2
  else if delta ≤ (1 - eta ^ 2) / 2 then Real.sqrt (1 - 2 * delta - eta ^ 2)
  else 0

theorem band_small_lower (eta delta a D g : ℝ)
    (heta : 0 ≤ eta) (hetaHalf : eta ≤ 1 / 2) (hdelta : 0 ≤ delta)
    (ha : 0 ≤ a) (haeta : a ≤ eta)
    (hpacking : a * (1 - a) ≤ D) (hD : D ≤ delta)
    (hg : 0 ≤ g) (hcore : 1 ≤ 2 * D + a ^ 2 + g ^ 2)
    (hsmall : delta ≤ eta * (1 - eta)) :
    (1 + Real.sqrt (1 - 4 * delta)) / 2 ≤ g := by
  have hrad : 0 ≤ 1 - 4 * delta := by
    nlinarith [sq_nonneg (2 * eta - 1)]
  have hs := Real.sq_sqrt hrad
  have ht := Real.sqrt_nonneg (1 - 4 * delta)
  have htone : Real.sqrt (1 - 4 * delta) ≤ 1 := by
    apply (Real.sqrt_le_left (by norm_num : (0 : ℝ) ≤ 1)).mpr
    linarith
  have htbound : Real.sqrt (1 - 4 * delta) ≤ 1 - 2 * a := by
    apply (Real.sqrt_le_left (by linarith : 0 ≤ 1 - 2 * a)).mpr
    nlinarith
  have har : a ≤ (1 - Real.sqrt (1 - 4 * delta)) / 2 := by linarith
  have hprod := mul_nonneg (sub_nonneg.mpr har)
    (show 0 ≤ (1 - Real.sqrt (1 - 4 * delta)) / 2 + a by linarith)
  have hsq : ((1 + Real.sqrt (1 - 4 * delta)) / 2) ^ 2 ≤ g ^ 2 := by
    nlinarith
  exact (sq_le_sq₀ (by linarith) hg).mp hsq

theorem band_middle_lower (eta delta a D g : ℝ)
    (heta : 0 ≤ eta) (ha : 0 ≤ a) (haeta : a ≤ eta)
    (hD : D ≤ delta) (hg : 0 ≤ g)
    (hcore : 1 ≤ 2 * D + a ^ 2 + g ^ 2) :
    Real.sqrt (1 - 2 * delta - eta ^ 2) ≤ g := by
  apply (Real.sqrt_le_left hg).mpr
  have hprod := mul_nonneg (sub_nonneg.mpr haeta) (add_nonneg heta ha)
  nlinarith

/-- Universal scalar lower bound. The packing premise is a separate,
explicit obligation when this theorem is applied to finite vectors. -/
theorem band_gap_lower (eta delta a D g : ℝ)
    (heta : 0 ≤ eta) (hetaHalf : eta ≤ 1 / 2) (hdelta : 0 ≤ delta)
    (ha : 0 ≤ a) (haeta : a ≤ eta)
    (hpacking : a * (1 - a) ≤ D) (hD : D ≤ delta)
    (hg : 0 ≤ g) (hcore : 1 ≤ 2 * D + a ^ 2 + g ^ 2) :
    bandGap eta delta ≤ g := by
  by_cases hsmall : delta ≤ eta * (1 - eta)
  · simp only [bandGap, if_pos hsmall]
    exact band_small_lower eta delta a D g heta hetaHalf hdelta
      ha haeta hpacking hD hg hcore hsmall
  · by_cases hmiddle : delta ≤ (1 - eta ^ 2) / 2
    · simp only [bandGap, if_neg hsmall, if_pos hmiddle]
      exact band_middle_lower eta delta a D g heta ha haeta hD hg hcore
    · simpa only [bandGap, if_neg hsmall, if_neg hmiddle] using hg

/-- Two coordinates realize a prescribed error and gap whenever
the elementary box condition g ≤ 1-a holds. -/
theorem pair_realization (a g : ℝ) (ha : 0 ≤ a) (haone : a ≤ 1)
    (hg : 0 ≤ g) (hga : g ≤ 1 - a) :
    let u := (1 - a + g) / 2
    let v := (1 - a - g) / 2
    0 ≤ v ∧ v ≤ u ∧ u ≤ 1 ∧ u + v = 1 - a ∧ u - v = g ∧
      u * (1 - u) + v * (1 - v) = (1 - a ^ 2 - g ^ 2) / 2 := by
  dsimp
  constructor
  · linarith
  constructor
  · linarith
  constructor
  · linarith
  constructor
  · ring
  constructor
  · ring
  · ring

/-- In the first branch one fractional coordinate suffices, and the
defect constraint is attained exactly. -/
theorem band_small_witness (eta delta : ℝ)
    (heta : 0 ≤ eta) (hetaHalf : eta ≤ 1 / 2)
    (hdelta : 0 ≤ delta) (hsmall : delta ≤ eta * (1 - eta)) :
    let t := Real.sqrt (1 - 4 * delta)
    let a := (1 - t) / 2
    let u := (1 + t) / 2
    0 ≤ a ∧ a ≤ eta ∧ 0 ≤ u ∧ u ≤ 1 ∧
      u = 1 - a ∧ u * (1 - u) = delta ∧
      u = bandGap eta delta := by
  dsimp
  have hrad : 0 ≤ 1 - 4 * delta := by
    nlinarith [sq_nonneg (2 * eta - 1)]
  have hs := Real.sq_sqrt hrad
  have ht := Real.sqrt_nonneg (1 - 4 * delta)
  have htone : Real.sqrt (1 - 4 * delta) ≤ 1 := by
    apply (Real.sqrt_le_left (by norm_num : (0 : ℝ) ≤ 1)).mpr
    linarith
  have hleta : 1 - 2 * eta ≤ Real.sqrt (1 - 4 * delta) := by
    apply (sq_le_sq₀ (by linarith : 0 ≤ 1 - 2 * eta) ht).mp
    nlinarith
  refine ⟨by linarith, by linarith, by linarith, by linarith, by ring, ?_, ?_⟩
  · nlinarith
  · simp only [bandGap, if_pos hsmall]

/-- In the middle branch both the sum-band and defect constraints are
attained exactly by two fractional coordinates. -/
theorem band_middle_witness (eta delta : ℝ)
    (heta : 0 ≤ eta) (hetaHalf : eta ≤ 1 / 2)
    (hfirst : eta * (1 - eta) ≤ delta)
    (hmiddle : delta ≤ (1 - eta ^ 2) / 2) :
    let g := Real.sqrt (1 - 2 * delta - eta ^ 2)
    let u := (1 - eta + g) / 2
    let v := (1 - eta - g) / 2
    0 ≤ v ∧ v ≤ u ∧ u ≤ 1 ∧ u + v = 1 - eta ∧
      u - v = g ∧ u * (1 - u) + v * (1 - v) = delta := by
  have hrad : 0 ≤ 1 - 2 * delta - eta ^ 2 := by linarith
  have hs := Real.sq_sqrt hrad
  have hg := Real.sqrt_nonneg (1 - 2 * delta - eta ^ 2)
  have hga : Real.sqrt (1 - 2 * delta - eta ^ 2) ≤ 1 - eta := by
    apply (Real.sqrt_le_left (by linarith : 0 ≤ 1 - eta)).mpr
    nlinarith
  have hp := pair_realization eta (Real.sqrt (1 - 2 * delta - eta ^ 2))
    heta (by linarith) hg hga
  dsimp at hp ⊢
  refine ⟨hp.1, hp.2.1, hp.2.2.1, hp.2.2.2.1, hp.2.2.2.2.1, ?_⟩
  nlinarith [hp.2.2.2.2.2]

/-- The zero branch is attained already at its first threshold. -/
theorem band_zero_witness (eta delta : ℝ)
    (heta : 0 ≤ eta) (hetaHalf : eta ≤ 1 / 2)
    (hlarge : (1 - eta ^ 2) / 2 ≤ delta) :
    let u := (1 - eta) / 2
    0 ≤ u ∧ u ≤ 1 ∧ u + u = 1 - eta ∧
      u * (1 - u) + u * (1 - u) ≤ delta := by
  dsimp
  refine ⟨by linarith, by linarith, by ring, ?_⟩
  nlinarith

/-- Sharpness data for all branches, including every endpoint.
Append s-1 ones and n-s-1 zeroes to obtain an n-coordinate witness. -/
theorem band_gap_witness (eta delta : ℝ)
    (heta : 0 ≤ eta) (hetaHalf : eta ≤ 1 / 2) (hdelta : 0 ≤ delta) :
    ∃ a u v : ℝ, 0 ≤ a ∧ a ≤ eta ∧ 0 ≤ v ∧ v ≤ u ∧ u ≤ 1 ∧
      u + v = 1 - a ∧ u * (1 - u) + v * (1 - v) ≤ delta ∧
      u - v = bandGap eta delta := by
  by_cases hsmall : delta ≤ eta * (1 - eta)
  · have h := band_small_witness eta delta heta hetaHalf hdelta hsmall
    dsimp at h
    refine ⟨(1 - Real.sqrt (1 - 4 * delta)) / 2,
      (1 + Real.sqrt (1 - 4 * delta)) / 2, 0,
      h.1, h.2.1, le_rfl, h.2.2.1, h.2.2.2.1, ?_, ?_, ?_⟩
    · simpa using h.2.2.2.2.1
    · simpa using le_of_eq h.2.2.2.2.2.1
    · simpa using h.2.2.2.2.2.2
  · by_cases hmiddle : delta ≤ (1 - eta ^ 2) / 2
    · have h := band_middle_witness eta delta heta hetaHalf
        (le_of_lt (lt_of_not_ge hsmall)) hmiddle
      dsimp at h
      refine ⟨eta, (1 - eta + Real.sqrt (1 - 2 * delta - eta ^ 2)) / 2,
        (1 - eta - Real.sqrt (1 - 2 * delta - eta ^ 2)) / 2,
        heta, le_rfl, h.1, h.2.1, h.2.2.1, h.2.2.2.1,
        le_of_eq h.2.2.2.2.2, ?_⟩
      simpa only [bandGap, if_neg hsmall, if_pos hmiddle] using h.2.2.2.2.1
    · have h := band_zero_witness eta delta heta hetaHalf
        (le_of_lt (lt_of_not_ge hmiddle))
      dsimp at h
      refine ⟨eta, (1 - eta) / 2, (1 - eta) / 2,
        heta, le_rfl, h.1, le_rfl, h.2.1, h.2.2.1, h.2.2.2, ?_⟩
      simp only [sub_self, bandGap, if_neg hsmall, if_neg hmiddle]

end MomentIslands

#print axioms MomentIslands.band_gap_lower
#print axioms MomentIslands.band_gap_witness
FiniteBand.lean · 7定理候補/未コンパイルFiniteBand.lean · 7 candidates / NOT COMPILED

SHA-256: 31797396fb0ad827a5e79dfa8c4e7773b07a8d8a532ae94f19afe1bcb665d7f9

import Packing
import BandSharp
import Mathlib

/-!
Draft extension, not compiled in the present environment.
The lower bound uses actual finite-vector moments.
The attainment theorem supplies arbitrarily many binary padding coordinates,
including explicit bounds identifying the two boundary values.
-/

open scoped BigOperators

namespace MomentIslands

theorem finite_band_gap {ι : Type*} [Fintype ι] [DecidableEq ι]
    (I : Finset ι) (x : ι → ℝ) (a b : ι) (eta delta : ℝ)
    (ha : a ∈ I) (hb : b ∉ I)
    (hbox : ∀ i, 0 ≤ x i ∧ x i ≤ 1)
    (hmin : ∀ i ∈ I, x a ≤ x i) (hmax : ∀ j ∉ I, x j ≤ x b)
    (hab : x b ≤ x a)
    (heta : 0 ≤ eta) (hetaHalf : eta ≤ 1 / 2) (hdelta : 0 ≤ delta)
    (hmean : |(∑ i, x i) - (I.card : ℝ)| ≤ eta)
    (hdefect : (∑ i, x i * (1 - x i)) ≤ delta) :
    bandGap eta delta ≤ x a - x b := by
  have hcore := rank_gap_partition I x a b ha hb hbox hmin hmax
  have hpacking := abs_integer_offset_defect Finset.univ x (I.card : ℤ)
    (fun i _ => hbox i)
  simp only [Int.cast_natCast] at hpacking
  apply band_gap_lower eta delta |(∑ i, x i) - (I.card : ℝ)|
    (∑ i, x i * (1 - x i)) (x a - x b)
    heta hetaHalf hdelta (abs_nonneg _) hmean hpacking hdefect
    (sub_nonneg.mpr hab)
  simpa only [sq_abs] using hcore

abbrev PaddedIndex (p q : ℕ) := (Fin p ⊕ Unit) ⊕ (Unit ⊕ Fin q)

def pairPadded (p q : ℕ) (u v : ℝ) : PaddedIndex p q → ℝ :=
  Sum.elim (Sum.elim (fun _ => 1) (fun _ => u))
    (Sum.elim (fun _ => v) (fun _ => 0))

theorem pairPadded_sum (p q : ℕ) (u v : ℝ) :
    (∑ i, pairPadded p q u v i) = (p : ℝ) + u + v := by
  simp [pairPadded, Fintype.sum_sum_type] <;> ring

theorem pairPadded_defect (p q : ℕ) (u v : ℝ) :
    (∑ i, pairPadded p q u v i * (1 - pairPadded p q u v i)) =
      u * (1 - u) + v * (1 - v) := by
  simp [pairPadded, Fintype.sum_sum_type]

theorem pairPadded_box (p q : ℕ) (u v : ℝ)
    (hv : 0 ≤ v) (hvu : v ≤ u) (hu : u ≤ 1) :
    ∀ i, 0 ≤ pairPadded p q u v i ∧ pairPadded p q u v i ≤ 1 := by
  intro i
  rcases i with (i | i) | (i | i)
  · simp [pairPadded]
  · exact ⟨le_trans hv hvu, hu⟩
  · exact ⟨hv, le_trans hvu hu⟩
  · simp [pairPadded]

/-- The top block has minimum u and the bottom block has maximum v.
The boundary coordinates themselves occur in the two Unit summands. -/
theorem pairPadded_boundaries (p q : ℕ) (u v : ℝ)
    (hv : 0 ≤ v) (hu : u ≤ 1) :
    (∀ i : Fin p ⊕ Unit, u ≤ pairPadded p q u v (Sum.inl i)) ∧
    (∀ i : Unit ⊕ Fin q, pairPadded p q u v (Sum.inr i) ≤ v) ∧
    pairPadded p q u v (Sum.inl (Sum.inr ())) = u ∧
    pairPadded p q u v (Sum.inr (Sum.inl ())) = v := by
  refine ⟨?_, ?_, rfl, rfl⟩
  · intro i
    cases i <;> simp [pairPadded, hu]
  · intro i
    cases i <;> simp [pairPadded, hv]

/-- Arbitrarily many ones and zeros can be appended to the two-coordinate
sharpness witness. The top block has p+1 coordinates and the bottom q+1.
No fixed dimension or finite numerical grid is assumed. -/
theorem finite_band_attainment (p q : ℕ) (eta delta : ℝ)
    (heta : 0 ≤ eta) (hetaHalf : eta ≤ 1 / 2) (hdelta : 0 ≤ delta) :
    ∃ u v : ℝ,
      let x := pairPadded p q u v
      (∀ i, 0 ≤ x i ∧ x i ≤ 1) ∧
      v ≤ u ∧
      |(∑ i, x i) - ((p : ℝ) + 1)| ≤ eta ∧
      (∑ i, x i * (1 - x i)) ≤ delta ∧
      (∀ i : Fin p ⊕ Unit, u ≤ x (Sum.inl i)) ∧
      (∀ i : Unit ⊕ Fin q, x (Sum.inr i) ≤ v) ∧
      x (Sum.inl (Sum.inr ())) = u ∧
      x (Sum.inr (Sum.inl ())) = v ∧
      u - v = bandGap eta delta := by
  obtain ⟨a, u, v, ha, haeta, hv, hvu, hu, hsum, hD, hgap⟩ :=
    band_gap_witness eta delta heta hetaHalf hdelta
  have hb := pairPadded_boundaries p q u v hv hu
  refine ⟨u, v, ?_⟩
  dsimp only
  refine ⟨pairPadded_box p q u v hv hvu hu, hvu, ?_, ?_,
    hb.1, hb.2.1, hb.2.2.1, hb.2.2.2, hgap⟩
  · rw [pairPadded_sum]
    have he : (p : ℝ) + u + v - ((p : ℝ) + 1) = -a := by linarith
    rw [he, abs_neg, abs_of_nonneg ha]
    exact haeta
  · rw [pairPadded_defect]
    exact hD

/-- At the rounding threshold a genuine half-valued coordinate is already
present. Binary padding gives this witness in every dimension p+q+2.
The total has offset -eta from the integer p+1. -/
theorem finite_rounding_barrier_attainment (p q : ℕ) (eta : ℝ)
    (heta : 0 ≤ eta) (hetaHalf : eta ≤ 1 / 2) :
    let x := pairPadded p q (1 / 2) (1 / 2 - eta)
    (∀ i, 0 ≤ x i ∧ x i ≤ 1) ∧
    |(∑ i, x i) - ((p : ℝ) + 1)| = eta ∧
    (∑ i, x i * (1 - x i)) = 1 / 2 - eta ^ 2 ∧
    x (Sum.inl (Sum.inr ())) = 1 / 2 := by
  dsimp only
  refine ⟨pairPadded_box p q (1 / 2) (1 / 2 - eta)
    (by linarith) (by linarith) (by norm_num), ?_, ?_, rfl⟩
  · rw [pairPadded_sum]
    have he : (p : ℝ) + 1 / 2 + (1 / 2 - eta) - ((p : ℝ) + 1) = -eta := by
      ring
    rw [he, abs_neg, abs_of_nonneg heta]
  · rw [pairPadded_defect]
    ring

end MomentIslands

#print axioms MomentIslands.finite_band_gap
#print axioms MomentIslands.pairPadded_sum
#print axioms MomentIslands.pairPadded_defect
#print axioms MomentIslands.pairPadded_box
#print axioms MomentIslands.pairPadded_boundaries
#print axioms MomentIslands.finite_band_attainment
#print axioms MomentIslands.finite_rounding_barrier_attainment
Rounding.lean · 12定理候補/未コンパイルRounding.lean · 12 candidates / NOT COMPILED

SHA-256: d925d1584ab62c8e12a9bb8e2d20c499735cd64c782d1cf2669f0ef95ea322b3

import MomentIslands
import Packing
import Mathlib.Tactic

/-!
Finite-vector nearest-binary rounding.  No sortedness hypothesis and no
topological connectedness theorem are needed for the integer-total result.
-/

open scoped BigOperators

namespace MomentIslands

noncomputable def round01 (t : ℝ) : ℝ := by
  classical
  exact if 1 / 2 < t then 1 else 0

noncomputable def roundedOnes {ι : Type*} [Fintype ι] (x : ι → ℝ) : Finset ι := by
  classical
  exact Finset.univ.filter (fun i => 1 / 2 < x i)

theorem mem_roundedOnes {ι : Type*} [Fintype ι] (x : ι → ℝ) (i : ι) :
    i ∈ roundedOnes x ↔ 1 / 2 < x i := by
  classical
  simp [roundedOnes]

/-- The chosen rounded value is always binary. -/
theorem round01_binary (t : ℝ) : round01 t = 0 ∨ round01 t = 1 := by
  classical
  unfold round01
  split_ifs <;> simp

/-- The sum of rounded entries is exactly the cardinality of the ones set. -/
theorem sum_round01 {ι : Type*} [Fintype ι] [DecidableEq ι] (x : ι → ℝ) :
    (∑ i, round01 (x i)) = ((roundedOnes x).card : ℝ) := by
  classical
  let I := roundedOnes x
  have htop : (∑ i ∈ I, round01 (x i)) = (I.card : ℝ) := by
    calc
      _ = ∑ _i ∈ I, (1 : ℝ) := by
        apply Finset.sum_congr rfl
        intro i hi
        exact if_pos ((mem_roundedOnes x i).mp hi)
      _ = _ := by simp
  have hrest : (∑ i ∈ Iᶜ, round01 (x i)) = 0 := by
    apply Finset.sum_eq_zero
    intro i hi
    have hn : i ∉ roundedOnes x := by simpa [I] using hi
    exact if_neg (fun h => hn ((mem_roundedOnes x i).mpr h))
  have h := I.sum_add_sum_compl (fun i => round01 (x i))
  rw [htop, hrest, add_zero] at h
  exact h.symm

/-- Off the tie hyperplane, the nearer binary endpoint is unique. -/
theorem round01_unique_nearest (t b : ℝ) (ht : t ≠ 1 / 2)
    (hb : b = 0 ∨ b = 1) (hbest : |t - b| ≤ |t - round01 t|) :
    b = round01 t := by
  classical
  unfold round01 at *
  split_ifs at * with h
  · rcases hb with rfl | rfl
    · have ht0 : 0 ≤ t := by linarith
      rw [sub_zero, abs_of_nonneg ht0] at hbest
      have hab : |t - 1| < t := by
        apply abs_lt.mpr
        constructor <;> linarith
      linarith
    · rfl
  · have ht' : t < 1 / 2 := by
      rcases lt_or_eq_of_le (le_of_not_gt h) with hlt | heq
      · exact hlt
      · exact (ht heq).elim
    rcases hb with rfl | rfl
    · rfl
    · have ht1 : t - 1 ≤ 0 := by linarith
      rw [abs_of_nonpos ht1, sub_zero] at hbest
      have hab : |t| < 1 - t := by
        apply abs_lt.mpr
        constructor <;> linarith
      linarith

/-- The error of either nearest endpoint is at most twice the scalar defect. -/
theorem round01_error_le (t : ℝ) (ht0 : 0 ≤ t) (ht1 : t ≤ 1) :
    |t - round01 t| ≤ 2 * (t * (1 - t)) := by
  classical
  unfold round01
  split_ifs with h
  · rw [abs_of_nonpos (by linarith : t - 1 ≤ 0)]
    nlinarith [mul_nonneg (by linarith : 0 ≤ 1 - t) (by linarith : 0 ≤ 2 * t - 1)]
  · rw [sub_zero, abs_of_nonneg ht0]
    nlinarith [mul_nonneg ht0 (by linarith : 0 ≤ 1 - 2 * t)]

/-- Rounding minimizes distance among the two endpoints, including ties. -/
theorem round01_nearest (t b : ℝ) (hb : b = 0 ∨ b = 1) :
    |t - round01 t| ≤ |t - b| := by
  classical
  unfold round01
  split_ifs with h
  · rcases hb with rfl | rfl
    · rw [sub_zero, abs_of_nonneg (by linarith : 0 ≤ t)]
      apply abs_le.mpr
      constructor <;> linarith
    · exact le_rfl
  · rcases hb with rfl | rfl
    · exact le_rfl
    · rw [sub_zero, abs_of_nonpos (by linarith : t - 1 ≤ 0)]
      apply abs_le.mpr
      constructor <;> linarith

/-- Without half-valued coordinates the rounded vector is the unique global
l1 minimizer among all binary vectors; no prescribed rank is assumed. -/
theorem round01_l1_unique {ι : Type*} [Fintype ι]
    (x z : ι → ℝ) (ht : ∀ i, x i ≠ 1 / 2)
    (hz : ∀ i, z i = 0 ∨ z i = 1)
    (hbest : (∑ i, |x i - z i|) ≤ ∑ i, |x i - round01 (x i)|) :
    z = fun i => round01 (x i) := by
  classical
  have hd : ∀ i, 0 ≤ |x i - z i| - |x i - round01 (x i)| := by
    intro i
    exact sub_nonneg.mpr (round01_nearest (x i) (z i) (hz i))
  have hsum : (∑ i, (|x i - z i| - |x i - round01 (x i)|)) ≤ 0 := by
    rw [Finset.sum_sub_distrib]
    linarith
  funext i
  apply round01_unique_nearest (x i) (z i) (ht i) (hz i)
  have hi := Finset.single_le_sum (fun j _ => hd j) (Finset.mem_univ i)
  linarith

/-- Integer total below defect one half: rounding preserves the exact total,
has no ambiguous coordinate, and satisfies the sharp l1 error bound. -/
theorem integer_total_rounding {ι : Type*} [Fintype ι] [DecidableEq ι]
    (x : ι → ℝ) (s : ℕ)
    (hbox : ∀ i, 0 ≤ x i ∧ x i ≤ 1)
    (hs : ∑ i, x i = (s : ℝ))
    (hD : (∑ i, x i * (1 - x i)) < 1 / 2) :
    (roundedOnes x).card = s ∧
    (∀ i, x i ≠ 1 / 2) ∧
    (∑ i, |x i - round01 (x i)|) ≤
      1 - Real.sqrt (1 - 2 * ∑ i, x i * (1 - x i)) := by
  classical
  let I := roundedOnes x
  let sigma : ℝ := ∑ i ∈ I, (1 - x i)
  let rho : ℝ := ∑ i ∈ Iᶜ, x i
  let D : ℝ := ∑ i, x i * (1 - x i)
  have hI : ∀ i ∈ I, 1 / 2 < x i := by
    intro i hi
    exact (mem_roundedOnes x i).mp hi
  have hJ : ∀ i ∈ Iᶜ, x i ≤ 1 / 2 := by
    intro i hi
    have hn : i ∉ roundedOnes x := by simpa [I] using hi
    exact le_of_not_gt (fun h => hn ((mem_roundedOnes x i).mpr h))
  have hsigma0 : 0 ≤ sigma :=
    Finset.sum_nonneg (fun i _ => sub_nonneg.mpr (hbox i).2)
  have hrho0 : 0 ≤ rho := Finset.sum_nonneg (fun i _ => (hbox i).1)
  have hsigmadef : sigma = (I.card : ℝ) - ∑ i ∈ I, x i := by
    simp [sigma, Finset.sum_sub_distrib]
  have hmass : rho - sigma = (s : ℝ) - I.card := by
    have ht := I.sum_add_sum_compl x
    rw [hs] at ht
    rw [hsigmadef]
    dsimp [rho]
    linarith
  have herror : (∑ i, |x i - round01 (x i)|) = sigma + rho := by
    rw [← I.sum_add_sum_compl (fun i => |x i - round01 (x i)|)]
    apply congrArg₂ (· + ·)
    · apply Finset.sum_congr rfl
      intro i hi
      rw [round01, if_pos (hI i hi), abs_of_nonpos (by linarith [(hbox i).2])]
      ring
    · apply Finset.sum_congr rfl
      intro i hi
      rw [round01, if_neg (not_lt.mpr (hJ i hi)), sub_zero,
        abs_of_nonneg (hbox i).1]
  have herrorD : sigma + rho ≤ 2 * D := by
    rw [← herror, D, Finset.mul_sum]
    exact Finset.sum_le_sum (fun i _ => round01_error_le (x i) (hbox i).1 (hbox i).2)
  have herror1 : sigma + rho < 1 := by dsimp [D] at herrorD; linarith
  have hksR : (I.card : ℝ) < (s : ℝ) + 1 := by linarith
  have hskR : (s : ℝ) < (I.card : ℝ) + 1 := by linarith
  have hks : I.card < s + 1 := by exact_mod_cast hksR
  have hsk : s < I.card + 1 := by exact_mod_cast hskR
  have hcount : I.card = s := by omega
  have hbalanced : sigma = rho := by rw [hcount] at hmass; linarith
  have hrhohalf : rho < 1 / 2 := by linarith
  have hnotie : ∀ i, x i ≠ 1 / 2 := by
    intro i heq
    have hi : i ∈ Iᶜ := by
      simp only [Finset.mem_compl, I, mem_roundedOnes]
      rw [heq]
      exact lt_irrefl _
    have hsingle : x i ≤ rho := Finset.single_le_sum (fun j _ => (hbox j).1) hi
    linarith
  have hdef : (∑ i ∈ I, (1 - x i) * (1 - (1 - x i))) +
      (∑ i ∈ Iᶜ, x i * (1 - x i)) = D := by
    have h := I.sum_add_sum_compl (fun i => x i * (1 - x i))
    change _ = ∑ i, x i * (1 - x i)
    rw [← h]
    congr 1
    apply Finset.sum_congr rfl
    intro i hi
    ring
  have hsharp := balanced_error_sharp_bound I Iᶜ (fun i => 1 - x i) x rho D
    (fun i _ => sub_nonneg.mpr (hbox i).2) (fun i _ => (hbox i).1)
    hbalanced rfl (le_of_lt hrhohalf) hdef
  refine ⟨hcount, hnotie, ?_⟩
  rw [herror, hbalanced]
  change rho + rho ≤ 1 - Real.sqrt (1 - 2 * D)
  linarith

/-- In particular, the coordinatewise nearest binary vector is uniquely
specified by the nearest-endpoint inequalities. -/
theorem integer_total_rounding_unique {ι : Type*} [Fintype ι] [DecidableEq ι]
    (x z : ι → ℝ) (s : ℕ)
    (hbox : ∀ i, 0 ≤ x i ∧ x i ≤ 1)
    (hs : ∑ i, x i = (s : ℝ))
    (hD : (∑ i, x i * (1 - x i)) < 1 / 2)
    (hz : ∀ i, z i = 0 ∨ z i = 1)
    (hnear : ∀ i, |x i - z i| ≤ |x i - round01 (x i)|) :
    z = fun i => round01 (x i) := by
  funext i
  exact round01_unique_nearest (x i) (z i)
    ((integer_total_rounding x s hbox hs hD).2.1 i) (hz i) (hnear i)

/-- The previous theorem also gives uniqueness for a global l1 objective. -/
theorem integer_total_rounding_l1_unique {ι : Type*} [Fintype ι] [DecidableEq ι]
    (x z : ι → ℝ) (s : ℕ)
    (hbox : ∀ i, 0 ≤ x i ∧ x i ≤ 1)
    (hs : ∑ i, x i = (s : ℝ))
    (hD : (∑ i, x i * (1 - x i)) < 1 / 2)
    (hz : ∀ i, z i = 0 ∨ z i = 1)
    (hbest : (∑ i, |x i - z i|) ≤ ∑ i, |x i - round01 (x i)|) :
    z = fun i => round01 (x i) := by
  exact round01_l1_unique x z (integer_total_rounding x s hbox hs hD).2.1 hz hbest

/-- The robust rounding barrier (T4): an integer-centred total-error band
and defect strictly below 1/2-eta^2 force the nearest binary rank to be s.
This elementary proof uses the packing bound on errors in [0,1/2]. -/
theorem robust_total_rounding {ι : Type*} [Fintype ι] [DecidableEq ι]
    (x : ι → ℝ) (s : ℕ) (eta : ℝ)
    (hbox : ∀ i, 0 ≤ x i ∧ x i ≤ 1)
    (heta : 0 ≤ eta)
    (hmean : |(∑ i, x i) - (s : ℝ)| ≤ eta)
    (hD : (∑ i, x i * (1 - x i)) < 1 / 2 - eta ^ 2) :
    (roundedOnes x).card = s ∧ (∀ i, x i ≠ 1 / 2) := by
  classical
  let I := roundedOnes x
  let sigma : ℝ := ∑ i ∈ I, (1 - x i)
  let rho : ℝ := ∑ i ∈ Iᶜ, x i
  let D : ℝ := ∑ i, x i * (1 - x i)
  have hI : ∀ i ∈ I, 1 / 2 < x i := by
    intro i hi
    exact (mem_roundedOnes x i).mp hi
  have hJ : ∀ i ∈ Iᶜ, x i ≤ 1 / 2 := by
    intro i hi
    have hn : i ∉ roundedOnes x := by simpa [I] using hi
    exact le_of_not_gt (fun h => hn ((mem_roundedOnes x i).mpr h))
  have hsigma0 : 0 ≤ sigma :=
    Finset.sum_nonneg (fun i _ => sub_nonneg.mpr (hbox i).2)
  have hrho0 : 0 ≤ rho := Finset.sum_nonneg (fun i _ => (hbox i).1)
  have hsigmadef : sigma = (I.card : ℝ) - ∑ i ∈ I, x i := by
    simp [sigma, Finset.sum_sub_distrib]
  have hmass : rho - sigma = (∑ i, x i) - I.card := by
    have ht := I.sum_add_sum_compl x
    rw [hsigmadef]
    dsimp [rho]
    linarith
  have herror : (∑ i, |x i - round01 (x i)|) = sigma + rho := by
    rw [← I.sum_add_sum_compl (fun i => |x i - round01 (x i)|)]
    apply congrArg₂ (· + ·)
    · apply Finset.sum_congr rfl
      intro i hi
      rw [round01, if_pos (hI i hi), abs_of_nonpos (by linarith [(hbox i).2])]
      ring
    · apply Finset.sum_congr rfl
      intro i hi
      rw [round01, if_neg (not_lt.mpr (hJ i hi)), sub_zero,
        abs_of_nonneg (hbox i).1]
  have herrorD : sigma + rho ≤ 2 * D := by
    rw [← herror, D, Finset.mul_sum]
    exact Finset.sum_le_sum (fun i _ => round01_error_le (x i) (hbox i).1 (hbox i).2)
  have herror1 : sigma + rho < 1 := by
    dsimp [D] at herrorD
    nlinarith [sq_nonneg eta]
  have hdef := I.sum_add_sum_compl (fun i => x i * (1 - x i))
  have hdefI0 : 0 ≤ ∑ i ∈ I, x i * (1 - x i) :=
    Finset.sum_nonneg (fun i _ => mul_nonneg (hbox i).1 (sub_nonneg.mpr (hbox i).2))
  have hdefJ0 : 0 ≤ ∑ i ∈ Iᶜ, x i * (1 - x i) :=
    Finset.sum_nonneg (fun i _ => mul_nonneg (hbox i).1 (sub_nonneg.mpr (hbox i).2))
  have htopDef : (∑ i ∈ I, (1 - x i) * (1 - (1 - x i))) =
      ∑ i ∈ I, x i * (1 - x i) := by
    apply Finset.sum_congr rfl
    intro i hi
    ring
  have hcount : I.card = s := by
    rcases lt_trichotomy I.card s with hlt | heq | hgt
    · have hstep : I.card + 1 ≤ s := Nat.succ_le_of_lt hlt
      have hstepR : (I.card : ℝ) + 1 ≤ (s : ℝ) := by exact_mod_cast hstep
      have hlower : 1 - eta ≤ rho := by
        have hm := (abs_le.mp hmean).1
        linarith
      have hupper : rho ≤ 1 := by linarith
      have hpack := half_bounded_mass_defect Iᶜ x eta
        (fun i hi => ⟨(hbox i).1, hJ i hi⟩) heta hlower hupper
      exact False.elim (by linarith)
    · exact heq
    · have hstep : s + 1 ≤ I.card := Nat.succ_le_of_lt hgt
      have hstepR : (s : ℝ) + 1 ≤ (I.card : ℝ) := by exact_mod_cast hstep
      have hlower : 1 - eta ≤ sigma := by
        have hm := (abs_le.mp hmean).2
        linarith
      have hupper : sigma ≤ 1 := by linarith
      have hpack := half_bounded_mass_defect I (fun i => 1 - x i) eta
        (fun i hi => ⟨sub_nonneg.mpr (hbox i).2, by linarith [hI i hi]⟩)
        heta hlower hupper
      rw [htopDef] at hpack
      exact False.elim (by linarith)
  have hmean' : |(∑ i, x i) - ((s : ℤ) : ℝ)| ≤ eta := by simpa using hmean
  have hnotie := no_half_below_barrier Finset.univ x (s : ℤ) eta D
    (fun i _ => hbox i) hmean' (le_refl _) hD
  exact ⟨hcount, fun i => hnotie i (Finset.mem_univ i)⟩

/-- Under the robust barrier the global nearest binary vector is unique. -/
theorem robust_total_rounding_l1_unique {ι : Type*} [Fintype ι] [DecidableEq ι]
    (x z : ι → ℝ) (s : ℕ) (eta : ℝ)
    (hbox : ∀ i, 0 ≤ x i ∧ x i ≤ 1)
    (heta : 0 ≤ eta)
    (hmean : |(∑ i, x i) - (s : ℝ)| ≤ eta)
    (hD : (∑ i, x i * (1 - x i)) < 1 / 2 - eta ^ 2)
    (hz : ∀ i, z i = 0 ∨ z i = 1)
    (hbest : (∑ i, |x i - z i|) ≤ ∑ i, |x i - round01 (x i)|) :
    z = fun i => round01 (x i) := by
  exact round01_l1_unique x z (robust_total_rounding x s eta hbox heta hmean hD).2 hz hbest

end MomentIslands

#print axioms MomentIslands.round01_binary
#print axioms MomentIslands.sum_round01
#print axioms MomentIslands.round01_unique_nearest
#print axioms MomentIslands.round01_error_le
#print axioms MomentIslands.round01_nearest
#print axioms MomentIslands.round01_l1_unique
#print axioms MomentIslands.integer_total_rounding
#print axioms MomentIslands.integer_total_rounding_unique
#print axioms MomentIslands.integer_total_rounding_l1_unique
#print axioms MomentIslands.robust_total_rounding
#print axioms MomentIslands.robust_total_rounding_l1_unique
現在の一括検証記録 JSON · BLOCKEDCurrent verification JSON · BLOCKED

SHA-256: af17a8cc51aaecdc4b7c4de8b5e23a8f725894cfa7fed6aea842858ea8d52de3

{
  "status": "BLOCKED",
  "scope": "Lean build and per-theorem axiom audit",
  "expected_lean": "4.19.0",
  "expected_mathlib_commit": "c44e0c8ee63ca166450922a373c7409c5d26b00b",
  "sources": {
    "MomentIslands.lean": {
      "sha256": "3f29d4e1daad5ed467c6ef2a832a067b03546a2ca35293983f3675e76e70c9fa",
      "theorems": 14
    },
    "Packing.lean": {
      "sha256": "728a1775e7eb1980674cd065489009232d1294e3594b4334de8ef8655c1f05de",
      "theorems": 6
    },
    "BandSharp.lean": {
      "sha256": "1e07403f3483715345c831e2f096ba988daf19a73bfdd2132a68ebed25515e26",
      "theorems": 8
    },
    "FiniteBand.lean": {
      "sha256": "31797396fb0ad827a5e79dfa8c4e7773b07a8d8a532ae94f19afe1bcb665d7f9",
      "theorems": 7
    },
    "Rounding.lean": {
      "sha256": "d925d1584ab62c8e12a9bb8e2d20c499735cd64c782d1cf2669f0ef95ea322b3",
      "theorems": 12
    },
    "X01.lean": {
      "sha256": "115993866fd49afc2c35210aa14c7b593ce8adc4005b2c9ef4381d5ac9da9cf2",
      "theorems": 0
    }
  },
  "commands": [],
  "static_audit": {
    "theorem_count": 47,
    "placeholder_tokens": false,
    "new_axiom_declarations": false
  },
  "reason": "Lean/Lake executables are not installed on PATH; no Lean theorem was checked."
}
実行環境の再取得記録 · Mathlibソースのみ取得Acquisition retry record · Mathlib source obtained

SHA-256: 6548c825c6b6f108fff81f3b9158c27d1cb75b79e079ccd46d5489f29030fbd1

{
  "date": "2026 09 09",
  "user_authorized_retry": true,
  "lean_download": {
    "source": "https://github.com/leanprover/lean4/releases/download/v4.19.0/lean-4.19.0-linux.tar.zst",
    "command": "curl -fL --connect-timeout 10 --max-time 180 --silent --show-error https://github.com/leanprover/lean4/releases/download/v4.19.0/lean-4.19.0-linux.tar.zst -o formal_work/lean-4.19.0-linux.tar.zst",
    "status": "BLOCKED",
    "error": "write_stdin failed: Unified exec process failed: network approval was cancelled before a decision was returned",
    "shell_exit_code": null,
    "successful_download": false
  },
  "mathlib_source": {
    "command": "git clone --depth 1 --branch v4.19.0 https://github.com/leanprover-community/mathlib4.git formal_work/mathlib4",
    "status": "SUCCESS",
    "exit_code": 0,
    "commit": "c44e0c8ee63ca166450922a373c7409c5d26b00b",
    "expected_commit": "c44e0c8ee63ca166450922a373c7409c5d26b00b",
    "matches_pin": true,
    "toolchain": "leanprover/lean4:v4.19.0",
    "scope": "Source checkout only; no Lean runtime or compiled Mathlib dependencies were obtained."
  },
  "fresh_lean_compilation": false,
  "verification_status": "BLOCKED",
  "source_api_audit": {
    "kind": "pinned-source inspection only; not elaboration or kernel checking",
    "mathlib_commit": "c44e0c8ee63ca166450922a373c7409c5d26b00b",
    "band_and_finite_vector_modules": {
      "modules": [
        "BandSharp.lean",
        "FiniteBand.lean"
      ],
      "inspected": [
        "Real.sqrt_le_left",
        "Real.sq_sqrt",
        "Real.sqrt_nonneg",
        "sq_le_sq₀",
        "sq_abs",
        "Fintype.sum_sum_type"
      ],
      "result": "No definite API-name or signature mismatch identified; sources unchanged."
    },
    "packing_and_rounding_modules": {
      "modules": [
        "Packing.lean",
        "Rounding.lean"
      ],
      "inspected": [
        "Finset.sum_erase_add",
        "Finset.sum_add_sum_compl",
        "Finset.single_le_sum",
        "Int.add_one_le_iff"
      ],
      "result": "No definite API-name or signature mismatch identified; sources unchanged."
    }
  }
}
X01.lean · 再現用ファイルX01.lean · reproduction file

SHA-256: 115993866fd49afc2c35210aa14c7b593ce8adc4005b2c9ef4381d5ac9da9cf2

import FiniteBand
import Rounding
lean-toolchain · 再現用ファイルlean-toolchain · reproduction file

SHA-256: 55e97be96000b5e9e290c9e74482e5e317861499a5540353ce845471bded8cea

leanprover/lean4:v4.19.0
lakefile.toml · 再現用ファイルlakefile.toml · reproduction file

SHA-256: 625fd3befdc078d824e16e6e515d63723ad022a8fe18224c98cb67d0f91289ac

name = "moment_islands_extension"
version = "0.2.0"
defaultTargets = ["X01"]

[[require]]
name = "mathlib"
git = "https://github.com/leanprover-community/mathlib4.git"
rev = "c44e0c8ee63ca166450922a373c7409c5d26b00b"

[[lean_lib]]
name = "MomentIslands"
[[lean_lib]]
name = "Packing"
[[lean_lib]]
name = "BandSharp"
[[lean_lib]]
name = "FiniteBand"
[[lean_lib]]
name = "Rounding"
[[lean_lib]]
name = "X01"
verify.py · 再現用ファイルverify.py · reproduction file

SHA-256: fe013d19834e0f636f49e8e61a41851d76fb3a70e02600bd9f1d8cb944463724

#!/usr/bin/env python3
"""Replay the Lean development, pin versions, and reject proof placeholders.
No mathematical PASS is emitted without a successful Lean build and axiom audit.
Dependencies must first be installed using the README commands.
"""
from pathlib import Path
import hashlib,json,re,shutil,subprocess,sys
ROOT=Path(__file__).resolve().parent
OUT=ROOT/'run-results'
OUT.mkdir(exist_ok=True)
FILES=['MomentIslands.lean','Packing.lean','BandSharp.lean','FiniteBand.lean','Rounding.lean','X01.lean']
PIN='c44e0c8ee63ca166450922a373c7409c5d26b00b'
ALLOWED={'propext','Classical.choice','Quot.sound'}
record={'status':'NOT_RUN','scope':'Lean build and per-theorem axiom audit',
        'expected_lean':'4.19.0','expected_mathlib_commit':PIN,'sources':{},'commands':[]}
theorems=[]
def finish(status,reason,exitcode):
    record.update(status=status,reason=reason)
    (OUT/'verification.json').write_text(json.dumps(record,ensure_ascii=False,indent=2)+'\n')
    print(json.dumps({'status':status,'reason':reason,'theorems':len(theorems)},ensure_ascii=False))
    raise SystemExit(exitcode)
for name in FILES:
    p=ROOT/name
    if not p.is_file(): finish('FAIL','Missing source: '+name,1)
    txt=p.read_text()
    names=re.findall(r'^(?:theorem|lemma)\s+([A-Za-z_][A-Za-z_0-9]*)',txt,re.M)
    theorems.extend('MomentIslands.'+n for n in names)
    record['sources'][name]={'sha256':hashlib.sha256(p.read_bytes()).hexdigest(),'theorems':len(names)}
    if re.search(r'\b(?:sorry|admit|native_decide)\b',txt) or re.search(r'^\s*(?:axiom|unsafe)\s',txt,re.M):
        finish('FAIL','Forbidden proof escape token: '+name,1)
if len(set(theorems))!=len(theorems): finish('FAIL','Duplicate theorem names',1)
record['static_audit']={'theorem_count':len(theorems),'placeholder_tokens':False,'new_axiom_declarations':False}
if not shutil.which('lake') or not shutil.which('lean'):
    finish('BLOCKED','Lean/Lake executables are not installed on PATH; no Lean theorem was checked.',2)
def run(args,logname):
    try:
        r=subprocess.run(args,cwd=ROOT,text=True,stdout=subprocess.PIPE,stderr=subprocess.STDOUT)
    except OSError as e: finish('BLOCKED',str(e),2)
    (OUT/logname).write_text(r.stdout)
    record['commands'].append({'argv':args,'exit_code':r.returncode,'log':logname})
    return r
v=run(['lake','env','lean','--version'],'lean-version.log')
if v.returncode or not re.search(r'\bversion 4\.19\.0\b',v.stdout):
    finish('FAIL','Lean version is unavailable or does not match 4.19.0.',1)
c=run(['git','-C','.lake/packages/mathlib','rev-parse','HEAD'],'mathlib-commit.log')
if c.returncode or c.stdout.strip()!=PIN:
    finish('FAIL','Mathlib checkout does not match the pinned commit; run the documented setup first.',1)
b=run(['lake','build'],'build.log')
if b.returncode: finish('FAIL','Lean build failed; inspect run-results/build.log.',1)
audit='import X01\n'+'\n'.join('#print axioms '+n for n in theorems)+'\n'
(ROOT/'Audit.lean').write_text(audit)
r=run(['lake','env','lean','Audit.lean'],'axioms.log')
if r.returncode: finish('FAIL','Lean axiom query failed.',1)
if 'sorryAx' in b.stdout+r.stdout: finish('FAIL','Lean reports a proof placeholder axiom.',1)
actual={}
for n in theorems:
    m=re.search(re.escape("'"+n+"'")+r'\s+depends on axioms:\s*\[([^\]]*)\]',r.stdout,re.S)
    if m:
        ax={a.strip() for a in m.group(1).split(',') if a.strip()}
    elif re.search(re.escape("'"+n+"'")+r'\s+does not depend on any axioms',r.stdout):
        ax=set()
    else: finish('FAIL','Missing axiom result for '+n,1)
    actual[n]=sorted(ax)
    if not ax<=ALLOWED: finish('FAIL','Unexpected axioms for '+n+': '+str(sorted(ax-ALLOWED)),1)
record['axioms']=actual
finish('PASS','Every listed theorem compiled under the pinned versions and passed the axiom audit.',0)
README.md · 再現用ファイルREADME.md · reproduction file

SHA-256: 3d63d61e2ef257a46eaa4073bfb05ef9f75d2e403e2d11a57783a504e8f097c4

# X01 — formal proof development checkpoint / 形式証明の追加作業

Date / 日付: 2026 09 09

**New code status: NOT COMPILED. 追加した証明コードは Lean 実行未確認です。**

This package contains 33 new theorem statements with proof scripts, plus the
unchanged 14-theorem original module. The 14 original declarations have a
preserved successful run from 2026 09 08. That historical run does not cover the
new modules and is not a fresh run in this environment.

追加分について実施したのは数学的導出、独立の静的点検、13個の有理係数多項式恒等式の
正規化検査です。Lean の構文・型・タクティク・カーネル検査は実行できていません。
追加公理や証明の穴を宣言して穴埋めするコードは入れていませんが、それだけで
コンパイル成功や形式証明の完成を意味しません。

## Why execution is blocked / 実行できなかった理由

Lean, Lake and Elan are absent from the current environment.
An attempt to fetch the official Lean 4.19.0 release ended with:
"network approval was cancelled before a decision was returned".
No successful download or new Lean compilation was recorded.
No alternate mirror or access-control workaround was used.

After the user explicitly authorized a retry, the Lean release download
returned the same cancellation. The pinned Mathlib source checkout succeeded
and matches c44e0c8ee63ca166450922a373c7409c5d26b00b.
That source checkout enables API inspection, but supplies neither the Lean
runtime nor compiled dependencies. See retry-record.json.

明示的な再試行の許可後もLean取得は同じエラーで停止しました。
一方、Mathlibの固定版ソースは取得でき、使用APIとの照合に利用しました。
ソース取得をLean検証成功とは扱いません。

## Added scope / 追加した範囲

- Packing.lean: finite induction for the integer-offset defect bound;
  absolute integer offset; exclusion of half-valued coordinates; scaled packing.
- BandSharp.lean: all three scalar branches of T2 and their two-coordinate witnesses.
- FiniteBand.lean: actual finite-vector lower bound, arbitrary-dimensional padded
  attainment witnesses, and a half-valued witness at the T4 rounding threshold.
- Rounding.lean: nearest 0/1 rounding, cardinality preservation, unique global
  binary L1 minimizer, and the sharp integer-total L1 error estimate.

finite_band_gap makes the partition, attained extrema and their ordering explicit.
finite_band_attainment uses the index type
(Fin p ⊕ Unit) ⊕ (Unit ⊕ Fin q), with p+1 upper and q+1 lower coordinates.
It proves the box, moments and boundary ordering for arbitrary p and q.
Transport to a particular sorted Fin n enumeration is not implemented as an
additional sorting-algorithm theorem.

robust_total_rounding proves a sufficient condition with eta >= 0:
|S-s| <= eta and D < 1/2-eta^2 imply the rounded cardinality is s and no tie occurs.
The threshold witness assumes 0 <= eta <= 1/2. No optimal threshold for wider
eta is claimed.

Theorems about path components and higher homotopy (T3, T6–T9), the complete
equality classification and full stability statement are not newly formalized
in this package. Priority and novelty are not questions settled by Lean.

## Main mathematical step / 有限和をつなぐ核

For any finite x_i in [0,1] and any integer k, define S=sum x_i and
D=sum x_i(1-x_i). Then

    (S-k)(1-(S-k)) <= D.

Write F(S,D,k)=D-(S-k)(1-(S-k)).
For a new coordinate t in [0,1],

    F(S+t, D+t(1-t), k)
       = (1-t) F(S,D,k) + t F(S,D,k-1).

The empty-vector case is F(0,0,k)=k(k+1)>=0 for integer k.
Both weights are nonnegative, so finite induction gives the result.
This is a floor-free proof of a classical packing bound, not a novelty claim.

For rounding, an incorrect count forces an error mass rho >= 1-eta on one side.
Each error is in [0,1/2]; D<1/2-eta^2 implies rho<1.
The scaled packing inequality gives that side's defect >=1/2-(1-rho)^2
>=1/2-eta^2, a contradiction. This avoids a dependency on topology.

## Reproduce with a standard Lean installation / 再現手順

Use the [official Lean installation instructions](https://lean-lang.org/install/).

Then, in the directory containing these files:

    lake update
    lake exe cache get
    python3 verify.py

Lean is pinned to 4.19.0, and Mathlib to commit
c44e0c8ee63ca166450922a373c7409c5d26b00b.
The verifier checks both versions, runs lake build, queries every theorem's
axioms and records logs and source SHA-256 hashes in run-results/.
Only propext, Classical.choice and Quot.sound are allowed.
Missing runtime is BLOCKED, proof/build failure is FAIL, and only a completed
build plus axiom audit can produce PASS.

The included verification record is BLOCKED, because no Lean runtime exists.
The full Lean runner itself has not yet been exercised against a successful
installation; its setup/build steps may require ordinary corrections.

## Optional exact algebra check / 補助的な恒等式検査

    python3 algebra_check.py

This uses rational coefficient normalization without external Python packages.
It checks only the 13 listed polynomial identities.
It does not check all inequality inferences, finite induction, casts, square-root
semantics or Lean proofs, and is not a replacement proof assistant.

## Historical evidence / 過去の記録

historical/ contains the original verification JSON and Lean output for the
unchanged MomentIslands.lean, preserved separately from the current result.
They must not be presented as evidence that the extension compiled.
algebra_check.py · 再現用ファイルalgebra_check.py · reproduction file

SHA-256: b5d4699fef987e00844fb97c6e15d933233c6422c9f6ba75ef8dacd348b196a1

#!/usr/bin/env python3
"""Exact rational polynomial identity checks; NOT a Lean/proof-kernel substitute."""
from fractions import Fraction as F
import json
from pathlib import Path

class P:
    def __init__(self, terms=0):
        self.d = terms if isinstance(terms, dict) else ({():F(terms)} if terms else {})
        self.d = {m:F(c) for m,c in self.d.items() if c}
    def __add__(self, other):
        o=poly(other); r=dict(self.d)
        for m,c in o.d.items(): r[m]=r.get(m,F(0))+c
        return P(r)
    __radd__=__add__
    def __neg__(self): return P({m:-c for m,c in self.d.items()})
    def __sub__(self,other): return self+-poly(other)
    def __rsub__(self,other): return poly(other)+-self
    def __mul__(self,other):
        o=poly(other); r={}
        for m,c in self.d.items():
            for n,d in o.d.items():
                z=tuple(sorted(m+n)); r[z]=r.get(z,F(0))+c*d
        return P(r)
    __rmul__=__mul__
    def __truediv__(self,n): return self*F(1,n)
    def __pow__(self,n):
        assert isinstance(n,int) and n>=0
        r=P(1)
        for _ in range(n): r=r*self
        return r
def poly(x): return x if isinstance(x,P) else P(x)
def V(name): return P({(name,):F(1)})
S,D,k,t,a,g,eta,delta,rho,Q=[V(s) for s in 'S D k t a g eta delta rho Q'.split()]
def deficit(S,D,k): return D-(S-k)*(1-S+k)
checks=[]
def check(name,lhs,rhs):
    diff=poly(lhs)-poly(rhs)
    checks.append({'name':name,'passed':not diff.d,
        'nonzero_coefficients':{str(m):str(c) for m,c in diff.d.items()}})
check('packing_induction_affine_identity',
    deficit(S+t,D+t*(1-t),k),
    (1-t)*deficit(S,D,k)+t*deficit(S,D,k-1))
check('packing_base_integer_product',deficit(0,0,k),k*(k+1))
check('packing_negative_offset',deficit(S,D,k-1),D-(k-S)*(1-(k-S)))
check('half_coordinate_barrier',
    deficit(S-F(1,2),D-F(1,4),k-1),D-F(1,2)+(S-k)**2)
u=(1-a+g)/2; v=(1-a-g)/2
check('pair_sum',u+v,1-a)
check('pair_gap',u-v,g)
check('pair_defect',u*(1-u)+v*(1-v),(1-a*a-g*g)/2)
b=(1-t)/2; w=(1+t)/2
check('first_branch_defect_mod_root',w*(1-w)-delta,(1-4*delta-t*t)/4)
check('first_branch_bound_mod_root',1-2*delta-b*b-w*w,(1-4*delta-t*t)/2)
check('first_branch_endpoint_order',1-4*delta-(1-2*eta)**2,4*(eta*(1-eta)-delta))
check('middle_branch_box_order',(1-eta)**2-(1-2*delta-eta*eta),2*(delta-eta*(1-eta)))
check('half_scaled_packing',2*rho-4*Q-(2*rho-1)*(2-2*rho),4*(rho*rho-rho+F(1,2)-Q))
check('rounding_barrier_attainment',
    F(1,4)+(F(1,2)-eta)*(F(1,2)+eta),F(1,2)-eta*eta)
record={'status':'PASS' if all(c['passed'] for c in checks) else 'FAIL',
    'scope':'Exact rational coefficient normalization of listed polynomial identities only.',
    'not_checked':['Lean parsing/elaboration/kernel','inequality inference','finite induction validity',
                   'integer casts','sqrt branch semantics','topology','novelty'],
    'checks':checks}
out=Path(__file__).resolve().parent/'algebra-check.json'
out.write_text(json.dumps(record,ensure_ascii=False,indent=2)+'\n')
print(json.dumps({'status':record['status'],'identities':len(checks),
                  'scope':record['scope']},ensure_ascii=False))
raise SystemExit(record['status']!='PASS')
algebra-check.json · 再現用ファイルalgebra-check.json · reproduction file

SHA-256: 5b40d507e0bd946e34aa8a4828173710738b0f6da282be20d66b90bae3841ba0

{
  "status": "PASS",
  "scope": "Exact rational coefficient normalization of listed polynomial identities only.",
  "not_checked": [
    "Lean parsing/elaboration/kernel",
    "inequality inference",
    "finite induction validity",
    "integer casts",
    "sqrt branch semantics",
    "topology",
    "novelty"
  ],
  "checks": [
    {
      "name": "packing_induction_affine_identity",
      "passed": true,
      "nonzero_coefficients": {}
    },
    {
      "name": "packing_base_integer_product",
      "passed": true,
      "nonzero_coefficients": {}
    },
    {
      "name": "packing_negative_offset",
      "passed": true,
      "nonzero_coefficients": {}
    },
    {
      "name": "half_coordinate_barrier",
      "passed": true,
      "nonzero_coefficients": {}
    },
    {
      "name": "pair_sum",
      "passed": true,
      "nonzero_coefficients": {}
    },
    {
      "name": "pair_gap",
      "passed": true,
      "nonzero_coefficients": {}
    },
    {
      "name": "pair_defect",
      "passed": true,
      "nonzero_coefficients": {}
    },
    {
      "name": "first_branch_defect_mod_root",
      "passed": true,
      "nonzero_coefficients": {}
    },
    {
      "name": "first_branch_bound_mod_root",
      "passed": true,
      "nonzero_coefficients": {}
    },
    {
      "name": "first_branch_endpoint_order",
      "passed": true,
      "nonzero_coefficients": {}
    },
    {
      "name": "middle_branch_box_order",
      "passed": true,
      "nonzero_coefficients": {}
    },
    {
      "name": "half_scaled_packing",
      "passed": true,
      "nonzero_coefficients": {}
    },
    {
      "name": "rounding_barrier_attainment",
      "passed": true,
      "nonzero_coefficients": {}
    }
  ]
}
新規性監査の全文 · 日本語Full novelty audit · Japanese

SHA-256: 1fb3196f6ea27ca01ec671f1ecae83e028dafcf10c2861ddaa28fdae23ef9e3b

# X01:先行研究・新規性の追加監査

調査日:2026 09 09  
対象:『平均と分散から、順位の境目を保証する』日英 HTML v1.1 の T1–T9。既存成果台帳の E01・E02 は今回の監査対象に含めない。

**判断:既知理論への帰属を明示した研究・解説ノートとして、ブログ掲載を検討できる。ただし、学術的新規性が確認された新定理としては扱えない。** 今回は一次資料の具体的な定理を追加照合し、既知の系である部分をさらに切り分けた。同一の記述を特定できなかった部分にも、別表現の先行結果や短い還元が残り得る。

## 1. 今回、判断が具体的に変わった二点

### 最大成分の鋭い境界は、2008 年の主定理にある

Rosenberg–Jakobsson の論文は、前稿では主に Appendix Lemma 3 の二乗和最大化を引用していた。しかし **Theorem 1(ii), p.2028** に、確率ベクトルの最大成分と二乗和の鋭い境界も載っている。二乗和を $H$、最大成分を $M$ とすると、特に $1/2<H<1$ で

$$
M\ge \frac{1+\sqrt{2H-1}}2
$$

となる。$H=1$ は一点集中として別に扱える。これは前稿が照合した Rastegin(2023)より前の明示的な先行例である。2008 年が最初の発見年だとまでは主張しない。[Rosenberg–Jakobsson(2008), 著者配布 PDF](https://web.stanford.edu/group/rosenberglab/papers/RosenbergJakobsson2008-Genetics.pdf)

この境界から、X01 の最上位の順位差の不等式も短く導ける。補集合への変換を使えば最下位にも適用できる。具体的な還元を第3節に記す。

### 「領域を広げる途中で島が増える」現象にも先行例がある

Gorban の一般理論は、凸多面体から凸集合を除いた領域の道連結成分を、残存する頂点・辺のグラフで調べる。さらに **§4.2, Fig.4.5, pp.26–27** に、新しい孤立頂点が現れるため、領域の増大に伴って成分数が再び増える例がある。したがって、この非単調性そのものを今回初めて発見したとは言えない。[Gorban(2013), 著者版 PDF](https://arxiv.org/pdf/1201.6315)

T9 について先行性の照合が残るのは、今回の箱・総和帯・二次関数という具体的設定での、閾値と二項係数による個数公式である。

## 2. 主張別の現時点の判定

ここで「未同定」は、今回の限定調査で同一の先行記述を特定できなかったという意味であり、新規性を認定する語ではない。

| 対象 | 判定 | 公開時に適切な位置づけ |
|---|---|---|
| 箱内での最大二乗和 $Q_{\max}=\lfloor S\rfloor+\{S\}^2$ | **同一結果が既知** | 既知の最適化公式。新規成果に数えない |
| T1 の順位版:最上位・最下位、または総和が整数の場合 | **既知境界の系、または短い初等的帰結** | 新規性候補から外して説明できる |
| T1 の順位版:内部順位・非整数和の非自明な場合 | **同一の一般式は未同定** | 鋭い不等式の独立導出として記録。優先権は未確定 |
| T1 の任意分割による平方形、非負余裕の恒等式、等号分類 | **個別の先行性は未確定** | 順位版の特殊例の還元だけで、これら全部の帰属が決まるわけではない |
| T2 の三分岐公式、T4 の丸め閾値、T5 の固定非整数和の順位差 | **既知部品や T1 からの明示的な帰結。同式の先行性は未確定** | 各公式と達成配置の整理。独立した新原理とは呼ばない |
| T3・T6・T9 の成分分類 | **一般原理は既知。今回の閉形式は未同定** | 既知の凸幾何を具体的制約へ適用した計算・証明 |
| T7 の面への収縮、T8 の切頂四面体の穴の遷移 | **高次位相を含む個別の先行性は未確定** | 一般原理の優先権と具体例の計算を分ける。成分数の既知定理だけで高次位相まで帰属させない |
| 行列への適用 | **スペクトル定理による標準的な系** | 応用・解釈として有用。ベクトルの成分数を行列空間に転用しない |
| Lean による検証 | **正しさ・形式化範囲の証拠** | 数学的優先権や新規性の証拠にはならない |

T2 は T1 と既知の二乗和最大化を組み合わせた結果である。「既知部品から導ける」ことだけで、三分岐の同じ陳述が出版済みだと断定することもできない。明示公式の有用性と、独立した理論的新規性の強さは分けて評価する。

## 3. 順位版 T1 の候補を絞る数学的確認

以下は先行結果と X01 の対応を調べるための本監査での導出であり、引用論文がこの記法・用途を述べたという意味ではない。

降順の $x\in[0,1]^n$ に対し

$$
S=\sum_i x_i,\qquad Q=\sum_i x_i^2,\qquad
D=S-Q,\qquad g_s=x_s-x_{s+1}
$$

とする。順位版 T1 は

$$
2D+(S-s)^2+g_s^2\ge1,\qquad 1\le s<n.
$$

### 3.1 最上位 $s=1$

式を整理すると、必要なのは $g_1^2\ge2Q-S^2$ である。$S=0$、または (2Q\le S^2) なら自明。残りの場合には $p_i=x_i/S$、$H=Q/S^2>1/2$ と正規化する。上記の既知境界と $p_2\le1-p_1$ より

$$
g_1=S(p_1-p_2)\ge S(2p_1-1)
\ge S\sqrt{2H-1}=\sqrt{2Q-S^2}.
$$

$H=1$ でも一点集中により同じ式が成立する。この場合には $x_i\le1$ という上限すら不要である。

### 3.2 最下位 $s=n-1$

$y_i=1-x_i$ を降順に並べると、$D_y=D$、$S_y=n-S$、最上位の差 $g_1(y)=g_{n-1}(x)$ である。また

$$
(S_y-1)^2=(S-(n-1))^2.
$$

したがって最上位の既知の系に還元される。

### 3.3 総和 $S$ が整数

$S\ne s$ なら $(S-s)^2\ge1$ なので自明。$S=s$ かつ $D\ge1/2$ も自明。残る $S=s,D<1/2$ では、各座標を近い 0 または 1 に丸めた $z_i$ を取る。

$$
\sum_i|x_i-z_i|=\sum_i\min(x_i,1-x_i)\le2D<1.
$$

よって整数 $\sum_i z_i-s$ の絶対値は 1 未満であり、$\sum_i z_i=s$。もし $x_i=1/2$ があれば、その座標だけ丸め先を変えた場合にも同じ結論となり矛盾する。従って丸めは一意で、1 に丸まる添字が上位 $s$ 個である。

両側の誤差和を

$$
\rho=\sum_{z_i=1}(1-x_i)=\sum_{z_i=0}x_i<\tfrac12
$$

と置く。非負数の二乗和は和の二乗以下なので

$$
D=2\rho-\sum_{z_i=1}(1-x_i)^2-\sum_{z_i=0}x_i^2
\ge2\rho(1-\rho).
$$

従って $1-2\rho\ge\sqrt{1-2D}$。さらに $g_s\ge1-2\rho$ から T1 が得られる。これは同じ初等的集約で丸め誤差も評価できることを示す。**総和誤差帯全体の T4 の閾値まで、この整数和の計算だけで証明したという意味ではない。**

### 残る範囲

以上から、順位版 T1 について同式の先行性をなお調べる対象は、実質的に

$$
n\ge4,\quad 2\le s\le n-2,\quad S\notin\mathbb Z,
\quad 2D+(S-s)^2<1
$$

へ絞れる。最後の条件の外では右辺から正の順位差を保証しない。これは調査対象の絞り込みであり、残る場合が新規である、あるいは既知定理から短く導けないという証明ではない。任意分割の符号付き境界差を用いる T1 全体や余裕の恒等式の優先権も、別に扱う。

## 4. 主要な一次資料との照合

| 一次資料・今回確認した箇所 | X01 との一致・相違 |
|---|---|
| [Rosenberg–Jakobsson(2008)](https://web.stanford.edu/group/rosenberglab/papers/RosenbergJakobsson2008-Genetics.pdf), *The Relationship Between Homozygosity and the Frequency of the Most Frequent Allele*. Theorem 1(ii), p.2028; Appendix Lemma 3, p.2032 と関連証明 | 最大成分の鋭い境界と、端点に詰める二乗和最大化。既知部分への直接の帰属先 |
| [Ellis(2025), arXiv v2](https://arxiv.org/pdf/2508.17525), *The maximum variance of a finite dataset, given its mean, minimum, and maximum*. 全7頁、特に Theorem 1, pp.4–5; Example 2, p.6 | 小数部分を使う有限標本の最大分散・最大二乗和公式が一致。今回読んだのは arXiv 版 |
| [Wolkowicz–Styan(1980)](https://www.math.uwaterloo.ca/~hwolkowi/henry/reports/bndseigs80.pdf), *Bounds for eigenvalues using traces*. §2、特に Theorem 2.4, (2.40), p.482; Theorem 2.5, pp.483–484 | 順位差の上界、全幅の上下界など。今回必要な指定内部順位の隣接差の下界とは区別される |
| [Sharma–Pal(2022)](https://files.ele-math.com/articles/oam-16-54.pdf), *Note on bounds for eigenvalues using traces*. Theorem 5, (3.3), p.767 | 上位 $k$ 個の和と下位 $k$ 個の和の差の下界。隣接する二つの順位の差とは異なる |
| [Rubensson–Niklasson(2013 プレプリント)](https://arxiv.org/pdf/1302.7292), §5.1, (13)–(16) | 近似射影の残差ノルムによる中央の固有値除外。trace の整数ずれを用いる T1・T2 と同式とは確認できなかった |
| [Ek–Schutt–Stuckey–Tack(2022)](https://drops.dagstuhl.de/storage/00lipics/lipics-vol235-cp2022/LIPIcs.CP.2022.21/LIPIcs.CP.2022.21.pdf), *Explaining Propagation for Gini and Spread with Variable Mean*. §3, Lemmas 3–5, Algorithm 1, pp.21:4–21:7 | 前回より進み、本文の定義・証明を確認。分散下限を使って分散上限制約を伝播する問題で、X01 の高分散側の順位差保証とは向きが違う |
| [Goroncy–Rychlik(2006)](https://files.ele-math.com/articles/mia-09-57.pdf), *How deviant can you be? The complete solution*. §2, p.637; §3 Example 2, pp.642–643 | 順位差とモーメントの先行研究だが、外部から共通の箱 $[0,1]$ を課す問題ではない |
| [Gorban(2013)](https://arxiv.org/pdf/1201.6315), *Thermodynamic Tree: The Space of Admissible Paths*. Lemma 2.1, p.11; Proposition 2.4, p.13; Lemma 3.2, pp.18–19; §4.2, Fig.4.5 | 頂点・辺グラフによる成分解析、等位集合との対応、成分数の非単調性が既知。箱帯に対する今回の個数公式は未同定 |

Gorban の引用番号は、前稿で参照した HTML の平坦な番号「Proposition 7 / Lemma 14」に対し、上記 PDF では「Proposition 2.4 / Lemma 3.2」である。公開用の引用には版・番号・頁を揃えると追跡しやすい。

さらに [*The Wonderful Geometry of the Vandermonde map*](https://link.springer.com/article/10.1007/s10208-025-09718-6) の §2.1・Lemma 2.12 なども照合した。順序室内の power-sum fiber の連結性を、座標ラベルを保った箱全体の成分数と同一視しない。また [Harper, *Morse Matchings on a Hypersimplex*](https://arxiv.org/html/1211.6483v1) の整数和の面構造・Morse matching も近接するが、今回の非整数和・二次関数による具体的な遷移列と同じ陳述は確認していない。これらは関連箇所の照合であり、全証明・全参考文献の精読ではない。

## 5. 位相部分に残る具体的な内容

T9 の領域は

$$
P=\{x\in[0,1]^n:s-\eta\le\sum_i x_i\le s+\eta\},\quad
F_\delta=\{x\in P:D(x)\le\delta\}.
$$

$D$ は凹関数なので $\{D>\delta\}\cap P$ は凸集合であり、Gorban のグラフ原理を適用できる。この対応づけは本監査での推論である。

$1/2<\eta<1$ では、X01 が明示的に計算した主な閾値は

$$
k=\eta(1-\eta),\quad c=(1-\eta^2)/2,\quad h=1/4.
$$

二値頂点の数 $b=\binom ns$ から、$\delta=k$ で $(n+1)b$ 個へ増え、その後は $c,h$ の順序に応じて合流し、$\delta\ge\max(c,h)$ で1成分となる。**この具体的な閾値・個数の組合せを同じ形で述べる先行文献は未同定**である。

T8 の $n=4,S=5/4$ における穴の遷移も、同じ具体例の先行記述は未同定。ただし、成分数のグラフ定理だけではホモトピー型は決まらない。面複体への収縮とセルの貼付けに関する本文の証明を残す必要がある。有限体上の Betti 数の一致だけで、ホモトピー型の証明を代替しない。

行列の固有値への不等式の適用と、行列空間そのものの位相も区別する。例えば rank 1 の直交射影は回転によって連続的に移動できるため、二値ベクトルの孤立成分数をそのまま行列空間に持ち込めない。

## 6. 未確認部分と、調査の限界

今回の検索は、決定論的な順位統計量・有限標本の分散、trace と固有値境界、density-matrix purification、SPREAD 制約、hypersimplex・多面体から凸集合を除く位相を、英語の別表現と既知論文の題名・引用を使って照合したもの。MathSciNet・zbMATH 等による包括的な優先権調査、非英語文献の網羅、全引用連鎖の追跡は実施していない。

特に次は全文の式を照合し切れていない。未読部分に同一結果がないとは判定しない。

| 未確認の一次文献 | 残る理由・確認対象 |
|---|---|
| [Rubensson–Rudberg–Sałek(2008), *Density matrix purification with rigorous error control*](https://doi.org/10.1063/1.2826343) | 論文の存在・要旨は確認。本文の取得に至らず、trace 誤差と固有値境界の具体式の比較が残る |
| [Fahmy–Proschan(1981), *Bounds on Differences of Order Statistics*](https://doi.org/10.1080/00031305.1981.10479304) | 原論文本文は未読。2006 年論文を通じた言及と、原論文の直接確認を区別する |
| [Schaus–Régin(2014), *Bound-consistent spread constraint*](https://doi.org/10.1007/s13675-013-0018-8) | 概要・書誌まで。制約下の分散評価の本文照合が残る |
| [Kvålseth(2015), *Bounds on Sample Variation Measures Based on Majorization*](https://doi.org/10.1080/03610926.2013.844252) | 概要・参考文献まで。majorization による既知境界への短い還元の確認が残る |
| [Kobayashi–Tanaka(2025), *Unified relationship between mean, variance, and an arbitrary number of quantiles*](https://doi.org/10.1007/s00184-025-01001-6) | 概要まで。今回の有限列・外部箱の条件を含むか、本文照合が残る |

したがって、現時点の正確な表現は「先行研究を確認し、既知部分を特定した。残りの新規性は未確定」である。検索で同式が出なかったことを、存在しないことの証明へ読み替えない。

## 7. ブログ掲載を検討する際の扱い

本監査の判断では、次の内容には研究・解説ノートとしての価値がある。既知の境界を共通の記号で結び、鋭い達成配置を示し、数式から図へ進めること。平均の許容幅を変えたときの成分数を具体的に数えること。そして、人間が読む証明・Lean で確認した範囲・数値計算を明確に分けて提示することである。

候補タイトルは **「平均と二乗和から、順位の隔たりと『島』を調べる――既知理論の具体化と形式検証」**。記事中では「独立に導出した」「既知理論をこの制約へ適用した」「同一の明示公式は今回未同定」と書ける。「新定理の発見」「非単調な島の初発見」「Lean が新規性を保証した」とは書けない。

既存 HTML の公開前の帰属修正点は、2008 年論文の **主定理**への参照追加、最上位・最下位・整数和の既知の系への分類、Gorban の既知の非単調性の例への参照追加である。これらを反映した上で、掲載するかどうかを判断する材料として本メモを用いられる。

Lean については、前稿に保存された 2026 09 08 の実行記録と形式化範囲を参照する。本日の文献監査で全定理を再コンパイルしたわけではなく、T6–T9 の位相分類などを Lean 確認済みと拡張して表現しない。

**本メモは公開判断のための監査結果であり、ブログへの掲載・配信は行っていない。**
統合時の限定点検と小修正Limited integration review and corrections

SHA-256: 1555f9731bdf9239e8b07aaf264764ff034b5d988bdd9f6b534571adf8e4c133

# 統合時の限定的な数学点検 / Limited integration review
2026 09 09

T1・T2・T4、T7の面収縮、T8の臨界値を含むホモトピー型、T9の頂点・辺と閾値等号を読んだ範囲で、
実質的な反例や証明の欠落は同定しなかった。全文の認証・新しいLean実行・学術的優先権の確認ではない。

反映した小修正:
- T2で S=s−a の端数は a>0 なら1−a、a=0なら0と明記。
- T7の閉面にはP自身を含む。∂Fはaff F内の相対境界と明記。

A limited read of T1, T2, T4, the face retraction in T7, critical levels in T8,
and vertices/edges/threshold equality in T9 found no substantive counterexample
or missing proof step. This is not full certification, a fresh Lean run or a priority audit.

Small corrections incorporated:
- In T2, the fractional part of S=s-a is 1-a for a>0, and 0 for a=0.
- In T7, closed faces include P itself and the boundary is relative to aff F.

ZIPを利用しなくても、上の各ソースを開いて読んだり個別に保存できます。一括ZIP内のhistorical-v1.1は過去の資料です。Lean本体やコンパイル済みMathlibは含みません。The individual sources can be inspected and saved without using ZIP. The historical-v1.1 directory in the complete bundle contains older material. A Lean runtime and compiled Mathlib are not included.