Restricting decision trees #
A fixed query can be eliminated by selecting the corresponding branch. A free query remains and recursively restricts both children. This is the structural simplification used when switching-lemma arguments measure decision-tree depth.
Main results #
DecisionTree.eval_restrict-- restriction preserves semantics.DecisionTree.depth_restrict_le-- restriction cannot increase query depth.DecisionTree.vars_restrict_subset_filter-- surviving queries are free variables from the original tree.DecisionTree.restrict_comp-- sequential restriction agrees with left-biased restriction composition.
Simplify a decision tree under a restriction.
Equations
- One or more equations did not get rendered due to their size.
- Complexity.DecisionTree.restrict ρ (Complexity.DecisionTree.leaf b) = Complexity.DecisionTree.leaf b
Instances For
The empty restriction is the identity on decision trees.
Evaluating a restricted tree agrees with applying the restriction to its assignment before evaluating the original tree.
Restricting a decision tree cannot increase its query depth.
Every variable queried after restriction was queried originally and remains free. Selecting a fixed branch may remove additional variables.
Sequentially restricting a tree agrees with applying the left-biased composition of the two restrictions once.