Full CNF Clause Set Builder from Truth Table

Build equivalent canonical CNF clauses from every false truth-table row without auxiliary variables.

Description

Canonical conjunctive normal form joins one maxterm for each false truth-table row.

Canonical conjunctive normal form joins one maxterm for each false truth-table row. Every clause excludes precisely its associated false assignment without introducing auxiliary variables.1

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

When to use Full CNF Clause Set Builder from Truth Table

Use this for the following task: Build equivalent canonical CNF clauses from every false truth-table row without auxiliary variables. Prepare the specified logical encoding before running the check or transformation.

How to use Full CNF Clause Set 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 clauses, 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 rows in binary counting order. For each false row negate one-bit literals, join them with OR, then join all clauses with AND.

CNF = AND of maxterms for false rows

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

Output fieldMeaningValue type
clausesCanonical CNF clauseslist of string
formulaConjunctive normal formstring (propositional-formula)
json
{
  "input": {
    "variables": [
      "p",
      "q"
    ],
    "values": [
      true,
      false,
      false,
      true
    ]
  },
  "output": {
    "clauses": [
      "p || !q",
      "!p || q"
    ],
    "formula": "(p || !q) && (!p || q)"
  }
}

Limitations and assumptions

At most 12 variables and 4096 rows are accepted; very large rendered forms are rejected. An all-true column gives true. This is canonical CNF, not minimized CNF or a Tseitin encoding.

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 DNF Minterm List Builder from Truth Table when you need its operation: Build canonical DNF minterms and their indices from true rows in binary counting order. Choose Maxterm Index Complement Convention Checker for the complementary operation: Construct a maxterm from a binary row index and check a proposed most-significant-bit negation mask.

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