Recursive van Emde Boas memory representation #
A tree occupies a contiguous five-word header followed by its summary and clusters. An empty record's minimum and maximum cells may contain arbitrary stale words; its presence flag and static split/child-span fields remain specified. Memory outside the recursive footprint is unconstrained by this representation.
This is a memory predicate and its frame/update calculus. It does not by itself provide an initializer, native execution, or an implemented time/space bound. The minimum-excluded algorithm follows [Dem15], whose notes credit Michael Bender; this particular contiguous record layout is an engineering choice.
Main definitions #
Header: the five-word record, allowing stale empty extrema.Rep: recursive interpretation of actual memory as a functional tree.writeBounds: the concrete presence/extrema writes.
Main results #
rep_frame: changing memory outside a represented interval preserves it.rep_writeBounds,rep_replace_cluster,rep_replace_summary: local representation updates.
References #
Stored split size: zero marks a leaf.
Instances For
Stored size of each recursively allocated child record.
Instances For
Recursive, interval-local representation of a functional tree in actual memory.
Instances For
A represented tree exposes the header of its root, regardless of surrounding memory.
The recursive record is large enough to store every universe index as a word offset.
Every smaller record size is bounded by its parent record size.
Every split size is bounded by its record span.
Every child span is bounded by its parent record span.
The cached-maximum guard makes every computed cluster index valid, even for a query initially outside the universe. No hypothesis constrains memory outside the represented tree.
Every header word of a cluster reached through the maximum guard lies in its parent interval. This statement applies before reading that cluster, not only after it is represented.
Representation depends only on the allocated recursive interval.
Arbitrary changes outside a tree interval preserve its representation.
Concrete extrema writes change precisely the represented root bounds.
Replacing one cluster interval preserves its parent, summary and sibling clusters.
Replacing the summary interval preserves the parent header and every cluster.