Simplify

Simplify the active binding, apply the result, or expand the reasoning behind it.

Overview

The Simplify section is part of Result. It updates when you edit the expression, select another binding, or change the solver. For Boolean rules, it produces a two-level sum of products (SOP). With Z3 loaded, predicate rules can also be simplified using integer comparisons and numeric-set relationships.

Simplify panel showing a minimised result and a Why? trace explaining the steps.
The Simplify panel with a result. The "Why?" trace section shows the Quine–McCluskey steps that produced this result.

Algorithm

Logic Studio uses Quine–McCluskey (QM) to find prime implicants, followed by Petrick's method to select a minimum two-level sum-of-products cover. The result is a two-level expression; circuit factoring is a separate task.

A Working… message appears while a result is being calculated. Z3 simplification is conservative: an equivalent expression may keep terms that could be simplified further.

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 explains when simplification is skipped, including expressions above the 12-atom QM limit.

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:

Each step shows the expression at that point in inline code.

Don't-cares and simplification

Use the ? suffix to mark don't-care variables for QM simplification. The dc control in Inputs affects the constrained Result summary. Don't-care assignments from the suffix are passed to QM as optional minterms. The simplifier may include them in prime implicants to produce a smaller result, while preserving the required outputs.

Rewrite panel

Below the Simplify panel is the Rewrite panel. It offers one-click transformations of the current expression:

Clicking a rewrite applies it to the editor. Expand the before/after preview to inspect the change, and use its copy control to copy the rewritten form.

Limitations

Use SMT/Z3 for integer predicate relationships; see Predicates for the supported types.

For a large rule, simplify smaller bindings or compare candidate rewrites in Equiv Diff.