Proposition 2: the disjoint-position certificate reveals the identifier XOR
ProvedGBFPlus.OccupancyDisclosure.aggregate_disclosureFor every honest snapshot with successful insertions and public occupied-cell count , XORing the occupied words and taking their final bits yields the XOR of the inserted adjacent-domain identifiers. The successful count is derived from the insertion history. The certificate implies and disjoint successful position sets. For the conclusion gives only this aggregate, not the individual identifiers or their multiset. The equality is a sufficient certificate, not a necessary condition for every possible disclosure; no conclusion or probability claim is made for snapshots failing it. Ledger read access, genuine occupancy and authentic honest generation remain the source interpretation's explicit premises.
import Mathlib import Definitions.Def_GBFPlus_OccupancyDisclosure
namespace GBFPlus.OccupancyDisclosure
theorem aggregate_disclosure (C : Config) (es : List (Attempt C))
(h : Honest (empty C) es) (hpositive : 1 ≤ (successful es).length)
(hcount : (occupied (finalSnapshot es)).card = (successful es).length * C.shares) :
recover (finalSnapshot es) = identifierXor (successful es) := 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 satisfying , , and , let the cells be indexed by , let a word be a pair in , and let an identifier be a vector in ; all vector and word sums below use coordinatewise addition modulo . Consider any finite ordered list of attempts, each consisting of a row , where has exactly elements, , and , together with either no pivot or a pivot , and an arbitrary function . Start with every cell empty and process the list in order, with a snapshot recording either emptiness or one word at each cell. Assume the following conditions hold at every attempt, relative to the snapshot immediately before that attempt: if there is no pivot, every cell of is already occupied, and the snapshot is left unchanged; if a pivot is supplied, then and is empty. In the latter case, define to be the word already stored at if is occupied in , and otherwise; the next snapshot leaves cells outside unchanged, stores at each , and stores at . Let be the number of attempts in the list that supply a pivot, and let be the resulting final snapshot. If and the number of occupied cells in is exactly , then the second component of the sum of all words stored in the occupied cells of equals the sum of the identifiers of all attempts that supply a pivot, with each such occurrence in the list counted separately. Empty sums are zero, so the pivot formula also applies when . Empty lists and lists with no supplied pivots are excluded by , and zero cell counts, zero share counts, and zero vector lengths are excluded by the parameter inequalities; the occupancy equality cannot hold if . A stored zero word still counts as occupied. The vectors and the functions have no further restrictions, and repeated rows or identifiers are not separately forbidden: the conditions on the successive snapshots and the final occupancy count are the imposed hypotheses.
Confirmed by the mission captain (proposal self-audit).
Confirmed by the moderator at approval.