- leaf {n : ℕ} : Bool → DecisionTree n
- branch {n : ℕ} : Fin n → DecisionTree n → DecisionTree n → DecisionTree n
Instances For
Equations
- (DecisionTree.leaf a).size = 0
- (DecisionTree.branch a l h).size = 1 + l.size + h.size
Instances For
Equations
- DecisionTree.lift x (DecisionTree.leaf b) = DecisionTree.leaf b
- DecisionTree.lift x (DecisionTree.branch j l h) = DecisionTree.branch ⟨↑j, ⋯⟩ (DecisionTree.lift x l) (DecisionTree.lift x h)
Instances For
theorem
DecisionTree.lift_evaluate
{n n' : ℕ}
{h : n ≤ n'}
{T : DecisionTree n}
{I : Vector Bool n'}
:
def
DecisionTree.relabel
{n : ℕ}
{f : ℕ → ℕ}
(hf : ∀ (i : Fin n), f ↑i < f n)
:
DecisionTree n → DecisionTree (f n)
Equations
- DecisionTree.relabel hf (DecisionTree.leaf a) = DecisionTree.leaf a
- DecisionTree.relabel hf (DecisionTree.branch a l h) = DecisionTree.branch ⟨f ↑a, ⋯⟩ (DecisionTree.relabel hf l) (DecisionTree.relabel hf h)