Conjunctive Normal Form CNF Conversion Steps Counter

Bounded classical propositional !,&,| parser/NNF/CNF conversion; counts distributive Cartesian merge events, not a universal proof-step metric; <=256 clauses, <=4096 literals.

Description

Conjunctive Normal Form CNF Conversion Steps Counter: return clause count, literal count, distribution events.

Conjunctive normal form is an AND of clauses, each containing OR-connected literals. Distribution can expand a small expression into many clauses.

This tool returns clause count, literal count, distribution events. Use the stated units and model convention when interpreting these fields.

When to use this tool

Use this tool when the supplied inputs match the specific operation described above and you need a repeatable result under its stated convention.

  • Check the supported input and output contract against an existing calculation or observation.
  • Use the complete example to confirm units, selector spelling and result interpretation.

How to use the tool and how it works

  1. Enter every field in the input table using the stated units and the exact supported selector spelling where applicable.
  2. Run the tool. Correct input errors before interpreting an output.
  3. Read the result fields below; use accompanying flags and the stated sign, boundary or model convention when interpreting a number.

Parse uppercase atoms with !, &, vertical-bar OR and parentheses, with negation binding before AND and OR. Push negations inward and distribute OR over AND, then count clauses, literal occurrences and distribution events.1

Input fieldMeaning and unitsAccepted input
expressionExpression.Text
Output fieldInterpretation
resultObject containing the following named result fields.
result.clauseCountClause count; use the stated units and sign convention.
result.literalCountLiteral count; use the stated units and sign convention.
result.distributionEventsDistribution events; use the stated units and sign convention.
json
{
  "input": {
    "expression": "(A&B)|C"
  },
  "output": {
    "result": {
      "clauseCount": 2,
      "literalCount": 4,
      "distributionEvents": 1
    }
  }
}

Limitations and assumptions

  • The converter is bounded to 1024 characters, 64 nested terms, 256 clauses and 4096 literal occurrences. It does not minimize or remove redundant clauses.
  • Every declared field is required and unexpected fields are rejected. Numeric inputs must be finite; input errors are distinct from a valid false result or an explicitly qualified output.
  • Extremely large inputs and nonfinite or excessively large outputs are rejected. List positions reported by the tool use zero-based indices unless stated otherwise.

Alternative or Complementary methods

Check the underlying observations, units and conventions independently before using the result in a larger workflow. The tools listed below address nearby tasks; compare their inputs and scope before substituting one for this operation.

References

  1. Tool behavior and example: Conjunctive Normal Form CNF Conversion Steps Counter — tool.io

Similar or alternative tools

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