Full DNF Minterm List Builder from Truth Table

Build canonical DNF minterms and their indices from true rows in binary counting order.

Description

Canonical disjunctive normal form joins a minterm for each true truth-table row.

Canonical disjunctive normal form joins a minterm for each true truth-table row. Each minterm identifies one assignment, making this an exact representation rather than a minimized formula.1

The tool returns minterms, indices, formula. Interpret the result under the rule and assumptions below; an encoded premise’s truth is not independently established.

When to use Full DNF Minterm List Builder from Truth Table

Use this for the following task: Build canonical DNF minterms and their indices from true rows in binary counting order. Prepare the specified logical encoding before running the check or transformation.

How to use Full DNF Minterm List Builder from Truth Table and understand its results

  1. Prepare the requested Boolean values, complete truth-table rows, or identifier atoms. An atom is a name such as p or premise_1, not a natural-language sentence.
  2. Enter variables, values according to the field table, then run the tool.
  3. Read minterms, indices, formula. Use the matching rule, assignment order or nonempty-class assumptions below to interpret the result.
  4. For a false check, inspect the supplied encoding and matching rule. A well-formed false result is different from an input error.
Input fieldMeaningValue type and boundsRequirement
variablesDistinct variables in most-significant-bit orderlist of string; minimum entries 0; maximum entries 12; each entry: maximum text length 100; pattern ^(?!(?:true|false)$)[A-Za-z_][A-Za-z0-9_]*$(?![\s\S])Required
valuesTruth values in binary counting orderlist of boolean; minimum entries 1; maximum entries 4096Required

Supply distinct variables in most-significant-bit order and exactly 2^n Boolean values in binary counting order. Decode true row indexes, negate zero-bit literals and join conjunctions with OR.

DNF = OR of minterms for true rows

The symbols and boundary conditions refer to the supplied fields and the implementation described above.

Output fieldMeaningValue type
mintermsCanonical DNF mintermslist of string
indicesMinterm indiceslist of integer
formulaDisjunctive normal formstring (propositional-formula)
json
{
  "input": {
    "variables": [
      "p",
      "q"
    ],
    "values": [
      false,
      true,
      true,
      false
    ]
  },
  "output": {
    "minterms": [
      "!p && q",
      "p && !q"
    ],
    "indices": [
      1,
      2
    ],
    "formula": "(!p && q) || (p && !q)"
  }
}

Limitations and assumptions

At most 12 variables and 4096 rows are accepted; very large rendered forms are rejected. No true rows gives false; with zero variables the single true row renders a true minterm. No minimization is performed.

The supplied encodings must represent the intended propositions or classes. No natural-language parsing or assessment of empirical premise truth is performed. Malformed input gives a tool error rather than a logical false result.

Alternative or Complementary methods

Choose Full CNF Clause Set Builder from Truth Table when you need its operation: Build equivalent canonical CNF clauses from every false truth-table row without auxiliary variables. Choose Minterm Index Binary Assignment Decoder for the complementary operation: Decode a minterm index into fixed-width binary bits and the corresponding conjunction of identifier literals.

Background reference: Complete truth tables.

References

  1. Complete truth tables — forallx Calgary, Open Logic Project

Similar or alternative tools

Don't forget to set a bookmark for tool.io!
Privacy | Imprint | Cookies