Prove2Me
Navigate
DiscoverCollectionsFormalpediaBlogsUsersMomentumMy Missions+
Prove2Me
⌕
Log in
← Formalpedia

R8 BitNB GenData seed SG1_0 (NL=31359 initial labels)

Definition
IntMul_Kappa_R8_Data_BitOppbankGenData_0

by Ethan Cheung Wang · Oct 21, 2026 · Mathlib 0df444a (Lean v4.33.1)

bitnbgendataintmulkapparound8

GenData seed: initial stage-1 labels

Round-six BitNB stores stage words as packed maps wire↦code\mathrm{wire}\mapsto\mathrm{code}wire↦code (codeOf). The initial stage-1 state SG1_0 before genF sets code(wX(x))=cND(x+1)\mathrm{code}(w_X(x))=c_{ND}(x+1)code(wX​(x))=cND​(x+1) on the length-vvv entrance block and 000 elsewhere (cf. init1 in IntMul_Kappa_R6_Defs51).

This module emits that seed for the R8 local-wire count NL=31359N_L=31359NL​=31359 (NR=27794NR=27794NR=27794). Later SG* snapshots need genF over an R7-retargeted Loc pack (GREC/RETS/INJ still reference slots up to 400764007640076 in R6 data).

Definition code
import Mathlib.Data.Nat.Basic
import Mathlib.Data.Nat.Bitwise

set_option autoImplicit false
set_option relaxedAutoImplicit false
set_option maxHeartbeats 8000000
set_option maxRecDepth 100000

/-!
# R8 BitNB GenData seed — initial stage-1 label pack `SG1_0`

For local-wire count `NL = 31359` (`= 2v + NR + h` with `NR = 27794`), the R6
`init1`/`SG1_0` seed pattern on the `wX` block is geometry-only:

* `code(wX x) = cND(x+1) = 1774+x` for `x < v = 1771`
* all other wires `0` pending R7 Loc (`retN` for `wT`, slot labels from `genF`)

Packed as 16-bit fields LSB-first in 65536-bit `packL` limbs (R6 GenData convention).
Full `SG1_1..` / `SG2_*` require running `Defs51.genF` on an R7-retargeted Loc
(`GREC`/`INJ`/`RETS` currently max out at slot `40076`).
-/

namespace IntMul.Kappa.R8.Bit.Oppbank.Gen

def packL (l : List Nat) : Nat :=
  l.foldr (fun p acc => Nat.lor p (Nat.shiftLeft acc 65536)) 0

def NL : ℕ := 31359

/-- Initial stage-1 label state (`NL` wires). -/
def SG1_0 : Nat :=
  packL [
  0xdd80dd70dd60dd50dd40dd30dd20dd10dd00dcf0dce0dcd0dcc0dcb0dca0dc90dc80dc70dc60dc50dc40dc30dc20dc10dc00dbf0dbe0dbd0dbc0dbb0dba0db90db80db70db60db50db40db30db20db10db00daf0dae0dad0dac0dab0daa0da90da80da70da60da50da40da30da20da10da00d9f0d9e0d9d0d9c0d9b0d9a0d990d980d970d960d950d940d930d920d910d900d8f0d8e0d8d0d8c0d8b0d8a0d890d880d870d860d850d840d830d820d810d800d7f0d7e0d7d0d7c0d7b0d7a0d790d780d770d760d750d740d730d720d710d700d6f0d6e0d6d0d6c0d6b0d6a0d690d680d670d660d650d640d630d620d610d600d5f0d5e0d5d0d5c0d5b0d5a0d590d580d570d560d550d540d530d520d510d500d4f0d4e0d4d0d4c0d4b0d4a0d490d480d470d460d450d440d430d420d410d400d3f0d3e0d3d0d3c0d3b0d3a0d390d380d370d360d350d340d330d320d310d300d2f0d2e0d2d0d2c0d2b0d2a0d290d280d270d260d250d240d230d220d210d200d1f0d1e0d1d0d1c0d1b0d1a0d190d180d170d160d150d140d130d120d110d100d0f0d0e0d0d0d0c0d0b0d0a0d090d080d070d060d050d040d030d020d010d000cff0cfe0cfd0cfc0cfb0cfa0cf90cf80cf70cf60cf50cf40cf30cf20cf10cf00cef0cee0ced0cec0ceb0cea0ce90ce80ce70ce60ce50ce40ce30ce20ce10ce00cdf0cde0cdd0cdc0cdb0cda0cd90cd80cd70cd60cd50cd40cd30cd20cd10cd00ccf0cce0ccd0ccc0ccb0cca0cc90cc80cc70cc60cc50cc40cc30cc20cc10cc00cbf0cbe0cbd0cbc0cbb0cba0cb90cb80cb70cb60cb50cb40cb30cb20cb10cb00caf0cae0cad0cac0cab0caa0ca90ca80ca70ca60ca50ca40ca30ca20ca10ca00c9f0c9e0c9d0c9c0c9b0c9a0c990c980c970c960c950c940c930c920c910c900c8f0c8e0c8d0c8c0c8b0c8a0c890c880c870c860c850c840c830c820c810c800c7f0c7e0c7d0c7c0c7b0c7a0c790c780c770c760c750c740c730c720c710c700c6f0c6e0c6d0c6c0c6b0c6a0c690c680c670c660c650c640c630c620c610c600c5f0c5e0c5d0c5c0c5b0c5a0c590c580c570c560c550c540c530c520c510c500c4f0c4e0c4d0c4c0c4b0c4a0c490c480c470c460c450c440c430c420c410c400c3f0c3e0c3d0c3c0c3b0c3a0c390c380c370c360c350c340c330c320c310c300c2f0c2e0c2d0c2c0c2b0c2a0c290c280c270c260c250c240c230c220c210c200c1f0c1e0c1d0c1c0c1b0c1a0c190c180c170c160c150c140c130c120c110c100c0f0c0e0c0d0c0c0c0b0c0a0c090c080c070c060c050c040c030c020c010c000bff0bfe0bfd0bfc0bfb0bfa0bf90bf80bf70bf60bf50bf40bf30bf20bf10bf00bef0bee0bed0bec0beb0bea0be90be80be70be60be50be40be30be20be10be00bdf0bde0bdd0bdc0bdb0bda0bd90bd80bd70bd60bd50bd40bd30bd20bd10bd00bcf0bce0bcd0bcc0bcb0bca0bc90bc80bc70bc60bc50bc40bc30bc20bc10bc00bbf0bbe0bbd0bbc0bbb0bba0bb90bb80bb70bb60bb50bb40bb30bb20bb10bb00baf0bae0bad0bac0bab0baa0ba90ba80ba70ba60ba50ba40ba30ba20ba10ba00b9f0b9e0b9d0b9c0b9b0b9a0b990b980b970b960b950b940b930b920b910b900b8f0b8e0b8d0b8c0b8b0b8a0b890b880b870b860b850b840b830b820b810b800b7f0b7e0b7d0b7c0b7b0b7a0b790b780b770b760b750b740b730b720b710b700b6f0b6e0b6d0b6c0b6b0b6a0b690b680b670b660b650b640b630b620b610b600b5f0b5e0b5d0b5c0b5b0b5a0b590b580b570b560b550b540b530b520b510b500b4f0b4e0b4d0b4c0b4b0b4a0b490b480b470b460b450b440b430b420b410b400b3f0b3e0b3d0b3c0b3b0b3a0b390b380b370b360b350b340b330b320b310b300b2f0b2e0b2d0b2c0b2b0b2a0b290b280b270b260b250b240b230b220b210b200b1f0b1e0b1d0b1c0b1b0b1a0b190b180b170b160b150b140b130b120b110b100b0f0b0e0b0d0b0c0b0b0b0a0b090b080b070b060b050b040b030b020b010b000aff0afe0afd0afc0afb0afa0af90af80af70af60af50af40af30af20af10af00aef0aee0aed0aec0aeb0aea0ae90ae80ae70ae60ae50ae40ae30ae20ae10ae00adf0ade0add0adc0adb0ada0ad90ad80ad70ad60ad50ad40ad30ad20ad10ad00acf0ace0acd0acc0acb0aca0ac90ac80ac70ac60ac50ac40ac30ac20ac10ac00abf0abe0abd0abc0abb0aba0ab90ab80ab70ab60ab50ab40ab30ab20ab10ab00aaf0aae0aad0aac0aab0aaa0aa90aa80aa70aa60aa50aa40aa30aa20aa10aa00a9f0a9e0a9d0a9c0a9b0a9a0a990a980a970a960a950a940a930a920a910a900a8f0a8e0a8d0a8c0a8b0a8a0a890a880a870a860a850a840a830a820a810a800a7f0a7e0a7d0a7c0a7b0a7a0a790a780a770a760a750a740a730a720a710a700a6f0a6e0a6d0a6c0a6b0a6a0a690a680a670a660a650a640a630a620a610a600a5f0a5e0a5d0a5c0a5b0a5a0a590a580a570a560a550a540a530a520a510a500a4f0a4e0a4d0a4c0a4b0a4a0a490a480a470a460a450a440a430a420a410a400a3f0a3e0a3d0a3c0a3b0a3a0a390a380a370a360a350a340a330a320a310a300a2f0a2e0a2d0a2c0a2b0a2a0a290a280a270a260a250a240a230a220a210a200a1f0a1e0a1d0a1c0a1b0a1a0a190a180a170a160a150a140a130a120a110a100a0f0a0e0a0d0a0c0a0b0a0a0a090a080a070a060a050a040a030a020a010a0009ff09fe09fd09fc09fb09fa09f909f809f709f609f509f409f309f209f109f009ef09ee09ed09ec09eb09ea09e909e809e709e609e509e409e309e209e109e009df09de09dd09dc09db09da09d909d809d709d609d509d409d309d209d109d009cf09ce09cd09cc09cb09ca09c909c809c709c609c509c409c309c209c109c009bf09be09bd09bc09bb09ba09b909b809b709b609b509b409b309b209b109b009af09ae09ad09ac09ab09aa09a909a809a709a609a509a409a309a209a109a0099f099e099d099c099b099a0999099809970996099509940993099209910990098f098e098d098c098b098a0989098809870986098509840983098209810980097f097e097d097c097b097a0979097809770976097509740973097209710970096f096e096d096c096b096a0969096809670966096509640963096209610960095f095e095d095c095b095a0959095809570956095509540953095209510950094f094e094d094c094b094a0949094809470946094509440943094209410940093f093e093d093c093b093a0939093809370936093509340933093209310930092f092e092d092c092b092a0929092809270926092509240923092209210920091f091e091d091c091b091a0919091809170916091509140913091209110910090f090e090d090c090b090a090909080907090609050904090309020901090008ff08fe08fd08fc08fb08fa08f908f808f708f608f508f408f308f208f108f008ef08ee08ed08ec08eb08ea08e908e808e708e608e508e408e308e208e108e008df08de08dd08dc08db08da08d908d808d708d608d508d408d308d208d108d008cf08ce08cd08cc08cb08ca08c908c808c708c608c508c408c308c208c108c008bf08be08bd08bc08bb08ba08b908b808b708b608b508b408b308b208b108b008af08ae08ad08ac08ab08aa08a908a808a708a608a508a408a308a208a108a0089f089e089d089c089b089a0899089808970896089508940893089208910890088f088e088d088c088b088a0889088808870886088508840883088208810880087f087e087d087c087b087a0879087808770876087508740873087208710870086f086e086d086c086b086a0869086808670866086508640863086208610860085f085e085d085c085b085a0859085808570856085508540853085208510850084f084e084d084c084b084a0849084808470846084508440843084208410840083f083e083d083c083b083a0839083808370836083508340833083208310830082f082e082d082c082b082a0829082808270826082508240823082208210820081f081e081d081c081b081a0819081808170816081508140813081208110810080f080e080d080c080b080a080908080807080608050804080308020801080007ff07fe07fd07fc07fb07fa07f907f807f707f607f507f407f307f207f107f007ef07ee07ed07ec07eb07ea07e907e807e707e607e507e407e307e207e107e007df07de07dd07dc07db07da07d907d807d707d607d507d407d307d207d107d007cf07ce07cd07cc07cb07ca07c907c807c707c607c507c407c307c207c107c007bf07be07bd07bc07bb07ba07b907b807b707b607b507b407b307b207b107b007af07ae07ad07ac07ab07aa07a907a807a707a607a507a407a307a207a107a0079f079e079d079c079b079a0799079807970796079507940793079207910790078f078e078d078c078b078a0789078807870786078507840783078207810780077f077e077d077c077b077a0779077807770776077507740773077207710770076f076e076d076c076b076a0769076807670766076507640763076207610760075f075e075d075c075b075a0759075807570756075507540753075207510750074f074e074d074c074b074a0749074807470746074507440743074207410740073f073e073d073c073b073a0739073807370736073507340733073207310730072f072e072d072c072b072a0729072807270726072507240723072207210720071f071e071d071c071b071a0719071807170716071507140713071207110710070f070e070d070c070b070a070907080707070607050704070307020701070006ff06fe06fd06fc06fb06fa06f906f806f706f606f506f406f306f206f106f006ef06ee,
  0x0,
  0x0,
  0x0,
  0x0,
  0x0,
  0x0,
  0x0
  ]

def field16 (S i : Nat) : Nat := (S >>> (16 * i)) &&& 65535
def codeOf (S : Nat) (w : Nat) : Nat := field16 S w

end IntMul.Kappa.R8.Bit.Oppbank.Gen
Source
Pattern from Prove2me IntMul_Kappa_R6_Defs51 init1 / BitNBGenData SG1_0; geometry IntMul_Kappa_R8_Data_BitOppbankConsts (NL=31359).

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