Source: https://guthlabs.ai/docs/instruments/ka-kb-pka-pkb-converter/

instrument / verified-clean

# Ka/Kb ⇄ pKa/pKb Converter

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/ka-kb-pka-pkb-converter/>)[02**Mechanism**Method and assumptions](<https://guthlabs.ai/docs/instruments/ka-kb-pka-pkb-converter/mechanism/>)[03**Implementation**Binding and validation](<https://guthlabs.ai/docs/instruments/ka-kb-pka-pkb-converter/implementation/>)[04**Qualification**Evidence and errata](<https://guthlabs.ai/docs/instruments/ka-kb-pka-pkb-converter/qualification/>)

## Ledger state

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

**Area**: Chemistry & Materials

**Tranche**: tranche-4

**Evidence ID**: t4-039

**Ledger rows**: 1

No ledger note is attached.

## Review findings

The core relationships are conditionally standard, but the instrument cannot be labeled an unqualified converter until it specifies base-10 logarithms, inverse formulas, conjugate-pair semantics, the Kw value or temperature input, and valid positive input constraints.

### Formula and scope findings

- The p-value formula must explicitly use base-10 logarithms: pKa=-log10(Ka) and pKb=-log10(Kb); an unspecified log base is ambiguous.

- The inverse formulas are missing: Ka=10^(-pKa) and Kb=10^(-pKb).

- Ka·Kb=Kw is valid only for a conjugate acid/base pair using consistent activity conventions and the same temperature; it is not a general relation between arbitrary Ka and Kb values.

- The specification does not define the Kw value or temperature. At 25 °C, a common approximation is Kw=1.00×10^-14, but Kw varies with temperature and convention.

### Unit assumptions

- Ka, Kb, and Kw are treated as dimensionless equilibrium constants based on activities; dimensional concentration-based constants cannot be used without a defined standard-state convention.

- The test vectors assume Kw=1.00×10^-14 at 25 °C.

- All Ka, Kb, pKa, and pKb values are positive-domain values except that p-values may be zero; logarithms are base 10.

## Boundary hardening

### Recorded hazards

- Ka=0 or Kb=0 causes division by zero when deriving the conjugate constant and makes the logarithm undefined.

- Negative Ka, Kb, or Kw values are invalid for these logarithms and equilibrium-constant calculations.

- The implementation must reject missing, nonnumeric, NaN, infinite, zero, or negative equilibrium constants when logarithms or reciprocal conversions are required.

- Using a default Kw without displaying or documenting its temperature can produce materially incorrect results.

- Inputs with concentration units are an ambiguity or unit-conversion trap unless the standard-state convention is explicitly defined.

## 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": {
    "Ka": 0.00001
  },
  "expected_outputs": {
    "Ka": 0.00001,
    "pKa": 5,
    "Kb": 1e-9,
    "pKb": 9
  },
  "working": "1. pKa=-log10(1×10^-5)=5. 2. Kb=Kw/Ka=(1×10^-14)/(1×10^-5)=1×10^(-14+5)=1×10^-9. 3. pKb=-log10(1×10^-9)=9."
}
````

## Related workflows

[Buffer Benchconstants](<https://guthlabs.ai/docs/instrument-workflows/buffer-bench/>)

## 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-tranche4/tranche4-results.json`
