Package

io.chymyst

util

Permalink

package util

Visibility
  1. Public
  2. All

Type Members

  1. final class Budu[X] extends AnyRef

    Permalink
  2. trait LabeledSubtype[X] extends AnyRef

    Permalink
  3. trait LabeledType[X] extends AnyRef

    Permalink

Value Members

  1. object Budu

    Permalink
  2. object ConjunctiveNormalForm

    Permalink

    Helper functions that perform computations with Boolean formulas while keeping them in the conjunctive normal form.

    Helper functions that perform computations with Boolean formulas while keeping them in the conjunctive normal form.

    A Boolean formula in CNF is represented by a list of lists of an arbitrary type T. For instance, the Boolean formula (a || b) && (c || d || e) is represented as

    List( List(a, b), List(c, d, e) )

    These helper methods will compute disjunction, conjunction, and negation of Boolean formulas in CNF, outputting the results also in CNF. Simplifications are performed only in so far as to remove exact duplicate terms or clauses such as a || a or (a || b) && (a || b).

    The type T represents primitive Boolean terms that cannot be further simplified or factored to CNF. These terms could be represented by expression trees or in another way; the CNF computations do not depend on the representation of terms.

    Note that negation such as ! a is considered to be a primitive term. Negation of a conjunction or disjunction, such as ! (a || b), can be simplified to CNF.

  3. object LabeledTypes

    Permalink

    Light-weight type aliases.

    Light-weight type aliases. Unlike type classes, these type aliases never perform any memory allocation at run time.

Ungrouped