Static fusion trees for finite sets #
Every finite set of distinct unsigned word keys has a static fusion-tree representation. Preprocessing sorts the set, builds the tree, and chooses its proved compression parameters; no RAM preprocessing-time bound is claimed. Query execution uses the actual standard-basis program, whose bounded-size nonuniform code family depends only on physical word width.
The explicit arena contract covers the whole allocation frontier, in addition to the keys and query fitting words. The returned option is two words: presence in register 32 and a key in register 33. This distinguishes absence from key zero without requiring an extra data bit.
Main definitions #
Static.tree: the tree constructed from an arbitrary finite set.Static.initial: its actual preprocessed memory and query registers.Static.IsPredecessor: conventional inclusive predecessor semantics.Static.workingWords: allocated data words plus all 1024 query registers.
Main results #
Static.query_spec: actual halting RAM execution in3100000 (1 + log_w n)instructions.Static.workingWords_le: at most126n + 1042data and register words.Static.workingWords_le_of_nonempty: at most1168nwords for nonempty sets.
References #
The concrete tree for a finite key set.
Instances For
Preprocessed memory, query, and base address, with zero initial workspace registers.
Instances For
A uniform linear bound, including the empty structure and all query registers.
For nonempty sets, the additive workspace and empty-root constants are absorbed in n.
Every arbitrary finite key set receives an actual bounded RAM representation and correct halting predecessor execution. Time includes initialization, all node instructions, traversal, and halt. Space includes the allocated records, auxiliary data, and all working registers. Width selects the code family; the key set, address, and query are runtime data.