Proposition 1: singleton occupancy reveals the adjacent-domain identifier
ProvedGBFPlus.OccupancyDisclosure.singleton_disclosureFor every valid configuration and every honest history with exactly one successful row , XORing all publicly occupied words and taking the final bits yields the adjacent-domain identifier in . This holds for every selected position set, prefix, empty pivot and free-share realization allowed by the construction, including occupied zero shares. The equation 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.
import Mathlib import Definitions.Def_GBFPlus_OccupancyDisclosure
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
Read-back
What the Lean code literally says, in plain math · OpenAI Codex (exact model identifier unavailable)
For every choice of natural numbers with , , and , let the cells be indexed by and let a word be a pair in , where and addition is coordinatewise. A row consists of a set of exactly cell indices, an arbitrary vector , and an identifier vector ; its target word is . 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 assigning a word to every cell. For every finite ordered list of such attempts and every row , start with no word in any cell and process in order as follows: an attempt with no pivot leaves the snapshot unchanged; an attempt with pivot leaves cells outside its row's support unchanged, sets each cell to a present word , where is the word already present at immediately before this attempt if there is one and otherwise is , and sets to the present word . 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 entails both and that 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 ; thus there is exactly one attempt with a pivot and its entire row equals . Then, in the snapshot obtained after processing all attempts, the second component of the sum of the words in all occupied cells equals : , where is the set of cell indices with a present word and denotes that word for (the underlying total payload function assigns the zero word to a cell with no word). All sums use coordinatewise addition modulo , 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; 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 , , and all values of 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.
Confirmed by the mission captain (proposal self-audit).
Confirmed by the moderator at approval.