Simplify
The Simplify panel finds a minimal two-level expression logically equivalent to the active binding.
Overview
The simplify panel is in the left column, below the Inputs section. It runs automatically whenever the active binding changes. The result is a minimised sum-of-products (SOP) expression, displayed in a green box.
Algorithm
Logic Studio uses the Quine–McCluskey (QM) algorithm to find all prime implicants, followed by Petrick's method to find a minimum cover. The result is guaranteed to be a minimum two-level SOP (sum of products).
Simplification runs in a Web Worker to avoid blocking the UI. A "Simplifying…" status appears while the worker is busy.
Reading the result
The result is shown in a monospaced green box. It uses the same syntax as the editor. If the expression was already minimal, a "Minimal" badge appears next to the result.
A warning badge appears if the result has the same or more terms than the original — simplification couldn't improve it.
Applying the result
Click the Apply button or press ⌘↵ to paste the simplified expression back into the editor. The editor and all panels immediately update to the new expression.
Why? trace
Click the Why? disclosure below the result to see the step-by-step QM reasoning. Each step is a tagged card:
- IRRELEVANT: a variable that was removed because it doesn't affect the output
- COMBINE: two minterms that differ by one variable were combined into a prime implicant
- SELECT: a prime implicant was selected as part of the minimum cover
- COVER: the final cover — the selected prime implicants that cover all required minterms
Each step shows the expression at that point in inline code.
Don't-cares and simplification
Don't-care assignments (set in the Inputs panel via "dc" or via the ? suffix) are passed to the QM algorithm as optional minterms. The simplifier may include them in prime implicants to produce a smaller result, but it won't produce an output that's wrong on required minterms.
Rewrite panel
Below the Simplify panel is the Rewrite panel. It offers one-click transformations of the current expression:
- CNF — Conjunctive Normal Form (product of sums)
- DNF — Disjunctive Normal Form (sum of products, non-minimal)
- NNF — Negation Normal Form (push NOTs to leaves)
- De Morgan — apply De Morgan's laws
- Elim → — eliminate implication operators
- Factor — extract common sub-factors
- Pseudocode — always-on block showing an if/else pseudocode rendering of the current expression
Each rewrite button shows a before/after preview. Click Copy to copy the result, or click the button again to apply the rewrite to the editor.
Limitations
- QM only minimises two-level SOP. It won't produce factored forms, shared sub-expressions, or multi-level minimal circuits.
- QM treats predicate atoms as opaque booleans. It doesn't know that
age < 18andage >= 18are complements of each other — use the Z3 SMT solver for semantics-aware reasoning. - Simplification scales exponentially with the number of atoms. For expressions with 15+ atoms the worker may time out or be very slow.