MathLedger — Version v0.2.10
Status: LOCKED(see /versions/ for current status)
Tag: v0.2.10-demo-reliability | Commit: 55d12f49dc44 | Locked: 2026-01-04
Tier A (enforced): 11 Tier B (logged): 1 Tier C (aspirational): 3
What this version cannot enforce:
  • No Lean/Z3 verifier: FV claims always return ABSTAINED
  • Single template partitioner: no multi-model consensus
  • No learning loop: RFL not active
  • MV edge cases: overflow, float precision not fully covered

MV Validator Coverage ARCHIVE

MV Validator Coverage Specification

Version: v0.2.8 Status: Formalization of existing behavior Audit Reference: manus_epistemic_integrity_audit_2026-01-03_v0.2.2_response.md lines 65-67

Purpose

This document formalizes the exact coverage boundary of the MV (Mechanical Validation) arithmetic validator. It closes a deferred audit commitment and provides auditors with a canonical reference for what the system does and does not verify.

This document describes existing behavior. No code changes accompany this specification.

Coverage Summary

Claim PatternOutcomeExample
Valid arithmetic equality (true)VERIFIED2 + 2 = 4
Valid arithmetic equality (false)REFUTED2 + 2 = 5
Non-arithmetic claimABSTAINEDforall x, P(x)
Division by zeroABSTAINED5 / 0 = 0
Non-exact divisionABSTAINED7 / 3 = 2
Float literalsABSTAINED3.14 + 1 = 4.14
Complex expressionsABSTAINED(2 + 3) * 4 = 20

Exact Pattern

The validator accepts claims matching this regex:

^\s(-?\d+)\s([+\-/])\s(-?\d+)\s=\s(-?\d+)\s*$
In plain language: a op b = c where: Source: governance/mv_validator.py:54-56

Outcome Definitions

VERIFIED

Returned when:

  1. The claim matches the pattern
  2. The operation a op b is defined (no division by zero, exact division)
  3. The computed result equals c
Interpretation: The arithmetic equality is mechanically confirmed correct.

REFUTED

Returned when:

  1. The claim matches the pattern
  2. The operation a op b is defined
  3. The computed result does NOT equal c
Interpretation: The arithmetic equality is mechanically confirmed incorrect.

ABSTAINED

Returned when ANY of:

  1. The claim does not match the pattern
  2. Division by zero is attempted (b = 0 with / operator)
  3. Division is non-exact (a % b != 0 with / operator)
Interpretation: The validator cannot make a determination. This is NOT a failure; it is the correct response when the claim is outside the validator's scope.


What Is Covered

FeatureStatusNotes
Integer additionCovereda + b = c
Integer subtractionCovereda - b = c
Integer multiplicationCovereda * b = c
Exact integer divisionCovereda / b = c where a % b == 0
Negative integersCovered-5 + 3 = -2
Arbitrary precisionCoveredPython integers have no overflow
Leading/trailing whitespaceCoveredStripped before matching
Whitespace around operatorsCovered2 + 2 = 4 matches

What Is NOT Covered

FeatureStatusOutcomeRationale
Float literalsNot coveredABSTAINEDPattern requires \d+ (no decimal point)
Scientific notationNot coveredABSTAINEDPattern does not include e or E
Complex expressionsNot coveredABSTAINEDOnly binary a op b = c supported
ParenthesesNot coveredABSTAINEDNot in pattern
Multiple operatorsNot coveredABSTAINEDOnly single operator supported
Division by zeroNot coveredABSTAINEDUndefined operation
Non-exact divisionNot coveredABSTAINED7 / 3 has remainder
Symbolic mathNot coveredABSTAINEDNo variable support
InequalitiesNot coveredABSTAINEDOnly = supported
Modulo operatorNot coveredABSTAINEDOnly +, -, *, /

Overflow Behavior

There is no overflow risk.

Python integers are arbitrary-precision. The expression 101000 + 1 = 101000 + 1 will be correctly evaluated as VERIFIED (assuming it matches the pattern, which it does not due to **).

For claims that DO match the pattern, such as:

999999999999999999999999999999 + 1 = 1000000000000000000000000000000

This will be correctly parsed and evaluated without overflow.


Determinism Guarantee

The validator is:

This determinism is required for replay verification integrity.


Tier Classification

MV Validator Correctness remains Tier B. The coverage gaps documented above (floats, complex expressions, etc.) are by design, not bugs. They return ABSTAINED, which is the correct outcome for out-of-scope claims.

Audit Trail

This document closes a deferred commitment from the external audit response:

Resolution: Deferred to v0.2.4. Create docs/MV_VALIDATOR_COVERAGE.md documenting:
- Covered: a op b = c integer/decimal arithmetic
- Not covered: overflow, float precision, complex expressions
Source: manus_epistemic_integrity_audit_2026-01-03_v0.2.2_response.md lines 65-67

This commitment was deferred past v0.2.4 and is now delivered in v0.2.8.


How Auditors Should Use This Document

  1. Scope verification: Check that demo claims match the covered patterns before expecting VERIFIED/REFUTED
  2. ABSTAINED interpretation: Any claim outside the pattern table should return ABSTAINED
  3. Replay validation: Evidence packs contain the full proof_payload with parsed values for independent verification
  4. Coverage boundary testing: The demo deliberately shows ABSTAINED for out-of-scope claims (e.g., sqrt(2) is irrational)

Related Documents