Documentation

Complexitylib.Circuits.DecisionTree.Finite.Defs

Finite-arity decision trees -- definitions #

The original DecisionTree syntax uses natural-number query labels. Switching arguments, however, count restrictions on exactly N variables. DecisionTree.On N makes that arity part of the type and prevents out-of-range queries.

A Boolean decision tree whose every query is one of exactly N variables.

  • leaf {N : } (value : Bool) : On N

    A leaf carrying its Boolean output.

  • node {N : } (index : Fin N) (ifFalse ifTrue : On N) : On N

    Query index, taking ifFalse on zero and ifTrue on one.

Instances For
    Equations
    • One or more equations did not get rendered due to their size.
    Instances For
      def Complexity.DecisionTree.On.eval {N : } (input : BitString N) :
      On NBool

      Evaluate a finite-arity decision tree.

      Equations
      Instances For

        Maximum number of queries on any root-to-leaf path.

        Equations
        Instances For

          Number of leaves.

          Equations
          Instances For

            The finite set of variables queried by the tree.

            Equations
            Instances For

              Negate a decision tree by complementing every leaf.

              Equations
              Instances For
                def Complexity.DecisionTree.On.restrict {N : } (restriction : Restriction.On N) :
                On NOn N

                Simplify a finite decision tree under a matching restriction.

                Equations
                Instances For