Tree Evaluation with fan-in d #
An instance of d-ary Tree Evaluation with height h and value length ℓ is a perfect d-ary
tree with every leaf at depth h. Its leaves carry ℓ-bit values and its internal nodes carry
arbitrary gates ({0,1}^ℓ)^d → {0,1}^ℓ. The value of a node is its gate applied to the values of
its children; the answer is the value of the root. Fan-in 2 is the binary problem
Cslib.TreeEval.Tree, which embeds by Cslib.TreeEval.Ary.Tree.ofBinary.
Fan-in larger than two arises when Tree Evaluation is used to simulate time-bounded multi-tape machines, where a block of the computation depends on one earlier block per tape.
Main definitions #
Cslib.TreeEval.Ary.Tree d ℓ h: ad-ary instance of heighthand value lengthℓ.Cslib.TreeEval.Ary.Tree.eval: the value of the root.Cslib.TreeEval.Ary.Tree.nodeAt: the node at a path from the root.Cslib.TreeEval.Ary.Tree.ofBinary: a binary instance as an instance of fan-in2.
Main results #
Cslib.TreeEval.Ary.Tree.eval_ofBinary: the embedding preserves the value.
References #
- S. Cook, P. McKenzie, D. Wehr, M. Braverman and R. Santhanam, Pebbles and branching programs for tree evaluation introduce the problem for arbitrary fan-in.
- J. Cook and I. Mertz, Tree Evaluation is in Space O(log n · log log n)
treat fan-in
d.
A gate of fan-in d on ℓ-bit values: a function of the values of the d children.
Instances For
A binary gate as a gate of fan-in 2, reading child 0 as the left one.
Instances For
A d-ary Tree Evaluation instance: a perfect d-ary tree with all leaves at depth h,
carrying ℓ-bit values, and internal nodes carrying gates of fan-in d.
- leaf {d ℓ : ℕ} (v : Fin ℓ → Bool) : Tree d ℓ 0
A leaf carrying a value.
- node {d ℓ h : ℕ} (f : Gate d ℓ) (c : Fin d → Tree d ℓ h) : Tree d ℓ (h + 1)
An internal node carrying a gate, with its
dsubtrees.
Instances For
A binary instance as an instance of fan-in 2, with child 0 on the left.
Instances For
The embedding of binary instances preserves the value.