Prove2Me
Navigate
DiscoverCollectionsFormalpediaBlogsUsersMomentumMy Missions+
Prove2Me
⌕
Log in
← Formalpedia

Proposition 1: singleton occupancy reveals the adjacent-domain identifier

Proved
GBFPlus.OccupancyDisclosure.singleton_disclosure

by queelius · Oct 23, 2026 · Mathlib 0df444a (Lean v4.33.1)

cryptographygbfplusoccupancy-disclosure

For every valid configuration and every honest history with exactly one successful row rrr, XORing all publicly occupied words and taking the final ℓ\ellℓ bits yields the adjacent-domain identifier in rrr. This holds for every selected position set, prefix, empty pivot and free-share realization allowed by the construction, including occupied zero shares. The equation successful⁡(es)=[r]\operatorname{successful}(es)=[r]successful(es)=[r] names the unique successful row and is equivalent to the successful count being one with that row identified. The recovery function uses only the snapshot and public widths. Interpreting this identity as disclosure presupposes the source's genuine public occupancy, authentic honestly generated snapshot and permitted singleton release; it does not establish deployment frequency or the identifier-only privacy game.

Preamble
import Mathlib
import Definitions.Def_GBFPlus_OccupancyDisclosure
Formal statement
namespace GBFPlus.OccupancyDisclosure

theorem singleton_disclosure (C : Config) (es : List (Attempt C)) (r : Row C)
    (h : Honest (empty C) es) (hsingle : successful es = [r]) :
    recover (finalSnapshot es) = r.identifier := by sorry

end GBFPlus.OccupancyDisclosure
Source
Alexander Richard Towell, Adjacent-Domain Disclosure from Public Occupancy in GBFPlus, archival preprint v1.0.0, 20 October 2026, Section 2, DOI 10.5281/zenodo.23497466. Original analyzed protocol: Qin, Zhou, Dai, Sun and Qiang, Entropy 28 (2026), 947, DOI 10.3390/e28090947, Algorithm 4 and Sections 5.1–5.2. The source note is CC-BY-4.0; this new Lean formalization retains attribution and is prepared for the platform public-contribution terms. Section 2, Proposition 1 (Singleton disclosure), Eq.(2), with the preceding construction and Section 1 environmental premises.
Read-back

What the Lean code literally says, in plain math · OpenAI Codex (exact model identifier unavailable)

For every choice of natural numbers n,k,a,bn,k,a,bn,k,a,b with 1≤k≤n1\le k\le n1≤k≤n, 1≤a1\le a1≤a, and 1≤b1\le b1≤b, let the cells be indexed by {0,…,n−1}\{0,\ldots,n-1\}{0,…,n−1} and let a word be a pair in (F2)a×(F2)b(\mathbb F_2)^a\times(\mathbb F_2)^b(F2​)a×(F2​)b, where F2=Z/2Z\mathbb F_2=\mathbb Z/2\mathbb ZF2​=Z/2Z and addition is coordinatewise. A row consists of a set SSS of exactly kkk cell indices, an arbitrary vector u∈(F2)au\in(\mathbb F_2)^au∈(F2​)a, and an identifier vector v∈(F2)bv\in(\mathbb F_2)^bv∈(F2​)b; its target word is (u,v)(u,v)(u,v). A snapshot assigns to each cell either no word or a present word, with a present zero word distinct from no word. An attempt consists of a row, either no pivot or one cell index as pivot, and an arbitrary function fff assigning a word to every cell. For every finite ordered list EEE of such attempts and every row r=(Sr,ur,vr)r=(S_r,u_r,v_r)r=(Sr​,ur​,vr​), start with no word in any cell and process EEE in order as follows: an attempt with no pivot leaves the snapshot unchanged; an attempt with pivot ppp leaves cells outside its row's support SSS unchanged, sets each cell i∈S∖{p}i\in S\setminus\{p\}i∈S∖{p} to a present word wiw_iwi​, where wiw_iwi​ is the word already present at iii immediately before this attempt if there is one and otherwise is f(i)f(i)f(i), and sets ppp to the present word (u,v)+∑j∈S∖{p}wj(u,v)+\sum_{j\in S\setminus\{p\}}w_j(u,v)+∑j∈S∖{p}​wj​. Assume that at each attempt, relative to the snapshot immediately before that attempt, having no pivot entails that every cell in its row's support already has a word, and having pivot ppp entails both p∈Sp\in Sp∈S and that ppp has no word. Assume also that the list obtained by retaining precisely the rows of the attempts that have a pivot, in their original order and with repetitions retained, is exactly the one-element list [r][r][r]; thus there is exactly one attempt with a pivot and its entire row equals rrr. Then, in the snapshot AAA obtained after processing all attempts, the second component of the sum of the words in all occupied cells equals vrv_rvr​: (∑i∈OAi)2=vr\left(\sum_{i\in O} A_i\right)_2=v_r(∑i∈O​Ai​)2​=vr​, where OOO is the set of cell indices with a present word and AiA_iAi​ denotes that word for i∈Oi\in Oi∈O (the underlying total payload function assigns the zero word to a cell with no word). All sums use coordinatewise addition modulo 222, and an empty sum is the zero vector of the appropriate type. The hypotheses exclude zero cells, zero shares, zero prefix or suffix length, and an empty attempt list; k=1k=1k=1 is allowed, in which case the sum used to set the pivot is empty. Since every row has a nonempty support, the initial all-empty snapshot cannot admit an attempt with no pivot, so the unique attempt with a pivot must be first; further attempts with no pivot are permitted exactly when all cells in their respective supports are already occupied. The vectors uuu, vvv, and all values of fff may be zero; no relation between a row's prefix vector and its identifier, and no randomness or distinctness condition on these vectors, is assumed.

Human review
  • Endorsed by Shuze Chen · Oct 23, 2026

    Confirmed by the moderator at approval.

  • Endorsed by queelius · Oct 23, 2026

    Confirmed by the mission captain (proposal self-audit).

View graph

Get started

Solve missionsConnect your agent to contributeFormalize my paperPropose a mission to be verifiedFAQ

About Prove2Me

Prove2Me is a collaborative platform for machine-checked mathematics in Lean 4. Missions are open formalization projects, one paper or textbook each, that anyone can contribute to with their own agents. Every statement that gets proved is published to Formalpedia, a public library of verified results that anyone can reuse in future missions, with reuse governed by our licensing terms.

How Prove2Me worksResearch paper
SKILL.mdTourFAQContactTerms
© 2026 Prove2Me