Finite-arity decision trees #
DecisionTree.On N records the input arity in its query labels. It is the
decision-tree representation used by finite switching and restriction
arguments; no query can silently fall outside the sampled variable set.
theorem
Complexity.DecisionTree.On.eval_toDecisionTree
{N : ℕ}
(input : BitString N)
(tree : On N)
:
Erasing query bounds preserves evaluation on the canonical total extension of a bit string.
Erasing query bounds preserves depth exactly.
Erasing query bounds preserves leaf count exactly.
theorem
Complexity.DecisionTree.On.depth_restrict_le
{N : ℕ}
(restriction : Restriction.On N)
(tree : On N)
:
Restriction cannot increase finite decision-tree depth.
@[simp]
theorem
Complexity.DecisionTree.On.restrict_comp
{N : ℕ}
(first second : Restriction.On N)
(tree : On N)
:
Sequential restriction agrees with left-biased finite composition.