Documentation

Complexitylib.Circuits.DecisionTree.NormalForm.Defs

Compiling finite decision trees to CNF and DNF -- definitions #

Each accepting root-to-leaf path becomes one DNF term. A false branch records the negative query literal and a true branch records the positive literal. The dual CNF is obtained by compiling the leaf-complemented tree and applying De Morgan negation.

DNF terms corresponding to the accepting paths of a finite decision tree.

Equations
Instances For
    def Complexity.DecisionTree.On.toDNF {N : } (tree : On N) :
    DNF N

    Compile a finite decision tree to a DNF with one term per accepting path.

    Equations
    Instances For
      def Complexity.DecisionTree.On.toCNF {N : } (tree : On N) :
      CNF N

      Compile a finite decision tree to a CNF by De Morgan duality.

      Equations
      Instances For
        def Complexity.DecisionTree.On.anyDNF {N : } (trees : List (On N)) :
        DNF N

        Compile a disjunction of decision trees to one DNF.

        Equations
        Instances For
          def Complexity.DecisionTree.On.allCNF {N : } (trees : List (On N)) :
          CNF N

          Compile a conjunction of decision trees to one CNF.

          Equations
          Instances For