Source: https://guthlabs.ai/docs/instruments/boolean-expression-simplifier-karnaugh-map/

instrument / verified-clean

# Boolean Expression Simplifier (Karnaugh Map)

The current ledger marks this instrument verified clean within the source-bound verification corpus.

Status: **VERIFIED_CLEAN**Lifecycle: **verified-clean**

## Inspectable records

[01**Overview**Purpose and lifecycle](<https://guthlabs.ai/docs/instruments/boolean-expression-simplifier-karnaugh-map/>)[02**Mechanism**Method and assumptions](<https://guthlabs.ai/docs/instruments/boolean-expression-simplifier-karnaugh-map/mechanism/>)[03**Implementation**Binding and validation](<https://guthlabs.ai/docs/instruments/boolean-expression-simplifier-karnaugh-map/implementation/>)[04**Qualification**Evidence and errata](<https://guthlabs.ai/docs/instruments/boolean-expression-simplifier-karnaugh-map/qualification/>)

## Ledger state

The current ledger marks this instrument verified clean within the source-bound verification corpus.

**Area**: Mathematics — arithmetic through advanced (algebra, matrices, calculus, sequences/series, number theory, combinatorics, graphing, complex numbers, geometry, logic, sets)

**Tranche**: tranche-6

**Evidence ID**: t6-106

**Ledger rows**: 1

No ledger note is attached.

## Review findings

The core Quine-McCluskey approach is mathematically appropriate for Boolean minimization, but the empty honest_label and the unspecified variable ordering, POS procedure, tie-breaking definition, and don't-care semantics prevent an unconditional PASS.

### Formula and scope findings

- Quine-McCluskey is a standard method for generating prime implicants and obtaining a minimal SOP, but the specification does not state that the prime-implicant chart and a covering method such as Petrick's method are used when essential implicants alone do not produce a cover.

- The claimed minimal SOP/POS output is underspecified: it must define whether minimal means fewest product/sum terms, fewest literals, or a lexicographic tie-break among equally minimal results.

- POS minimization requires an explicit procedure, such as applying Quine-McCluskey to the zero-set/maxterms or minimizing the complemented function and applying De Morgan's law; this is not stated.

- The K-map output requires a defined variable ordering and Gray-code row/column ordering; otherwise the visualization is ambiguous.

- Handling of don't-care conditions is not specified, although they materially affect Quine-McCluskey grouping and the resulting minimum expression.

### Unit assumptions

- Boolean values are unitless and are represented as 0=false and 1=true.

- Minterm numbering assumes the listed variables are ordered left to right with the first variable as the most-significant bit and the last variable as the least-significant bit.

- K-map rows and columns use Gray-code order; the expected grids below state their row and column labels explicitly.

- A prime mark denotes Boolean complement, + denotes OR, and juxtaposition denotes AND.

## Boundary hardening

**BREAK_CLAIMED** · SELF_FLAGGED

The specification does not state a variable bit-order convention, so minterm 1 for variables A and B can legitimately simplify to either A'B or AB'. In addition, a 32-bit signed or bitwise JavaScript implementation can mishandle minterm 4,294,967,295 by converting it to -1, even though the exact mathematical result is a 32-literal product.

## Errata and corrections

No applied erratum is attached to this unique-name record.

## Inspectable example

4 review vectors are recorded. One source-bound sample is shown below.

````
{
  "inputs": {
    "variables": [
      "A",
      "B"
    ],
    "minterms": [
      1,
      2,
      3
    ],
    "dont_cares": [],
    "minterm_order": "A is MSB; B is LSB",
    "kmap_order": {
      "rows": "A=0,1",
      "columns": "B=0,1"
    }
  },
  "expected_outputs": {
    "minimal_sop": "A + B",
    "minimal_pos": "(A + B)",
    "kmap_grid": {
      "row_labels": [
        "A=0",
        "A=1"
      ],
      "column_labels": [
        "B=0",
        "B=1"
      ],
      "values": [
        [
          0,
          1
        ],
        [
          1,
          1
        ]
      ]
    },
    "spot_checks": {
      "A=0,B=1": 1,
      "A=1,B=0": 1,
      "A=0,B=0": 0
    }
  },
  "working": "Minterms in binary: 1=01, 2=10, 3=11. Combine 01 with 11: the A bit changes, giving -1 = B. Combine 10 with 11: the B bit changes, giving 1- = A. Minterm 1 is covered only by B, and minterm 2 is covered only by A, so both implicants are essential. Therefore SOP = A + B. The zero-set is only minterm 0 (00), so the minimal POS is the maxterm (A+B). Spot checks: A=0,B=1 gives 0+1=1; A=1,B=0 gives 1+0=1; A=0,B=0 gives 0+0=0."
}
````

## Related workflows

No source-defined multi-instrument workflow membership is recorded.

## Sources and evidence

These pointers bind the page to evidence. They do not grant authority or collapse verification into deployment.

- `VERIFIED_LEDGER.json · VERIFIED_CLEAN`

- `evidence-tranche6/tranche6-results.json`

- `BOUNDARY_HAZARD_CATALOG.json`
