Source: https://guthlabs.ai/docs/instruments/weak-acid-base-ionization-solver-ice-table/mechanism/

instrument mechanism / verified-clean

# Weak Acid/Base Ionization Solver (ICE table) mechanism

The inspectable method record for Weak Acid/Base Ionization Solver (ICE table), kept separate from implementation and qualification.

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

## Model scope

The core quadratic method is standard for monoprotic weak-acid and monobasic weak-base equilibria, but the specification is ambiguous about acid versus base behavior, concentration units, temperature/Kw, and the validity rule for the 5% approximation. The product should not honestly claim general weak acid/base support until those assumptions and constraints are explicit.

- The displayed equation Ka=x²/(C₀−x) is correct for a weak monoprotic acid under the usual assumption that initial water autoionization is negligible, but the base case requires the analogous equation Kb=x²/(C₀−x) for [OH−].

- For a weak base, the solver must report [OH−] from the quadratic and derive [H+]=Kw/[OH−] and pH=−log10([H+]); reporting pH directly from x would be incorrect.

- The 5% approximation x≈sqrt(KaC₀), or x≈sqrt(KbC₀), must be used only when x/C₀≤0.05. The specification does not state this constraint or whether the approximation is optional.

- The specification does not state whether the solute is monoprotic/monobasic. The stated formula is not sufficient for polyprotic acids or polybasic bases without additional equilibrium equations.

- The specification does not define temperature or Kw, which are required for base pH and for any calculation that includes water autoionization.

## Units and conventions

- Ka and Kb are dimensionless thermodynamic constants, or are numerically treated as having concentration units consistent with the activity approximation.

- C₀ and all equilibrium concentrations must use the same concentration unit, conventionally mol/L (M).

- pH is calculated with base-10 logarithms from molar [H+].

- For base vectors, Kw=1.00×10^-14 at 25 °C is assumed.

- Water autoionization is neglected in the acid/base ICE balance unless explicitly needed for very dilute solutions.

- All examples are monoprotic weak acids or monobasic weak bases.

## Inspectable vector

One of 4 source-bound review vectors:

````
{
  "inputs": {
    "species": "weak acid",
    "Ka": 0.000018,
    "C0_M": 0.1,
    "method": "quadratic"
  },
  "expected_outputs": {
    "equilibrium_H_plus_M": 0.001332671,
    "pH": 2.87528,
    "percent_ionization": 1.332671,
    "ICE_table": {
      "HA_M": [
        "0.100000",
        "-0.001332671",
        "0.098667329"
      ],
      "H3O_plus_M": [
        "0",
        "+0.001332671",
        "0.001332671"
      ],
      "A_minus_M": [
        "0",
        "+0.001332671",
        "0.001332671"
      ]
    }
  },
  "working": "Let x=[H3O+]. Ka=x²/(C0−x), so x²+Ka·x−Ka·C0=0. Discriminant D=Ka²+4KaC0=(0.000018)²+4(0.000018)(0.100000)=0.000000000324+0.000007200000=0.000007200324. sqrt(D)=0.002683342. Positive root x=(−0.000018+0.002683342)/2=0.001332671 M. Percent ionization=(0.001332671/0.100000)×100=1.332671%. pH=−log10(0.001332671)=2.87528. ICE final values: HA=0.100000−x=0.098667329 M; H3O+=x=0.001332671 M; A−=x=0.001332671 M."
}
````

## Failure boundary

**BREAK_CLAIMED** · SELF_FLAGGED

The specification has several hazardous edge conditions: C0=0 produces undefined percent ionization and pH, Ka=0 produces [H+]=0 and therefore undefined pH, and a 5% approximation branch changes behavior near the validity boundary. Base calculations also require an explicit OH−/H+ and temperature convention.

## Other records

[01**Overview**](<https://guthlabs.ai/docs/instruments/weak-acid-base-ionization-solver-ice-table/>)[03**Implementation**](<https://guthlabs.ai/docs/instruments/weak-acid-base-ionization-solver-ice-table/implementation/>)[04**Qualification**](<https://guthlabs.ai/docs/instruments/weak-acid-base-ionization-solver-ice-table/qualification/>)

## Sources and evidence

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

- `VERIFIED_LEDGER.json`

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

- `BOUNDARY_HAZARD_CATALOG.json`
