Home Developers Evidence math.subtraction

Public evidence

math.subtraction

Machine-checked verification for calculation version 1.0.2 · tier engine_tested

CVP status

CVP VERIFIED · CVP protocol 1.0.0-proposed · Core assurance

Declared partitions are difference, solve-for-minuend, solve-for-subtrahend, long-normal, long-negative-result, invalid-domain — aligned with published capability modes. CPython independently checks full packs, exact scaled-integer differences and column borrowing, including negative-result sign.

Declared partition coverage
PASS · 6/6 declared partitions (difference, solve-for-minuend, solve-for-subtrahend, long-normal, long-negative-result, invalid-domain)
Versions
Calculation 1.0.2 · CVP protocol 1.0.0-proposed · Evidence 2026-10-22.subtraction-complete-contract-v3
Verification revision
2026-10-22.subtraction-complete-contract-v3 · 2/2 property · digest a0f1f4f1c566

Verification

Legacy regression suite: 7/7 calculation tests · Production surface contract 6/6

Three distinct suites: educational examples on the calculator page, this legacy regression count (7/7 golden + boundary), and the CVP verification suite below. They are not the same number. Property, metamorphic, round-trip, O3, and interface statuses/checks are recorded in the CVP Manifest . SKIP (0/0) means that suite has no published vectors.

    This calculator CURRENT · Public schema 1.0.2 matches · Semantic contract ✓ · Production attested · Public/cache ✓ · Origin ✓

CVP verification suite

Protocol checks from the Evidence Manifest. Distinct from the legacy regression suite above. Verification revision 2026-10-22.subtraction-complete-contract-v3. Calculation version 1.0.2. CVP 1.0.0-proposed. 82/82 golden · 1/1 CVP boundary · 5/5 invalid · 2/2 property · 1/1 metamorphic · 2/2 round-trip · 7/7 cross-interface · 6/6 CVP contract. digest a0f1f4f1c566. 82 independent complete packs across binary64 missing-term and exact bounded decimal Long branches; no exhaustive-domain proof.

  • Golden (oracle-backed) 82 / 82
  • CVP boundary 1 / 1
  • Invalid input 5 / 5
  • Property 2 / 2
  • Metamorphic 1 / 1
  • Round-trip 2 / 2
  • Cross-interface 7 / 7
  • CVP contract 6 / 6
  • Interfaces PASS · UI (SSR) / REST / MCP
  • Interface claim ui-ssr is query-result HTML, not a live browser session. Error-path engine·REST·MCP 1/1 (status, code, calculation_version). SSR compared on URL-canonical requested calculations; empty query is idle (not an error) and JSON-typed object/array inputs are REST/MCP-only.
  • Assurance Core
  • release artifacts aligned PASS
  • schema output required declared PASS
  • schema valid input executes PASS
  • engine success output validates schema PASS
  • schema rejects incomplete input PASS
  • rest success payload validates schema PASS

Fingerprint sha256:3858ac9946c6434a2f06373ccf5b0f8268ce418b3d6c773730867d010f9a7395

Input schema sha256:9c1ec7b28cf3db713c746af9b7c016edd000313cd43b41beef982823a07ce98c · Output schema sha256:e09c05e6abaec6df6a02613c008f543607e5cd1e7174e36a5cceb8bf92951299 · Build-time SHA-256 digests prove published artifacts agree with each other (release_integrity.scope=workspace). Production attestation GETs canonical URLs twice (public/cached view and origin), including Capability HTML, via npm run attest:production --write (published at /.well-known/calculatorx-production-attestation.json) and fails if the public Capability page advertises a different calculation_version. This is artifact consistency, not an independent immutable release log.

Build & scope

Engine identity and declared limitations.

Tool
subtraction
Engine
subtraction
Engine build
2026-10-22
Evidence core
2026-10-22T10:03:41.853Z
Rendered
2026-10-23T01:27:11.574Z
Last reviewed
—

Assumptions

  • Difference mode: binary64 arithmetic; exactly two terms; scientific notation allowed; integral inputs within ±(2^53−1).
  • Long subtraction: non-negative decimal numbers without scientific notation.
  • Order is minuend − subtrahend. When minuend < subtrahend the difference is negative; long mode still stacks the minuend on top. Column work subtracts the smaller magnitude from the larger, then applies the sign.

Limitations

  • Difference requires exactly two terms and uses binary64, not exact decimal arithmetic. All normalized integral operands must be safe integers. Cancellation may amplify input/conversion error; measurement uncertainty is not modeled.
  • Long uses exact decimal strings; display and exact_value are authoritative. Numeric fields are approximate binary64 conveniences. Up to48 aligned columns, non-negative inputs, negative result allowed; no scientific notation.
  • Tokens at most512 characters, without commas. Unknown fields, invalid types/modes, conflicting aliases and text nonzero underflow rejected.
  • Shared links run the current engine; they do not retain historical runtimes.

Sources

Standards and references supporting this tool specification. Methods are listed separately — they are algorithms, not bibliographic sources.

Verification disclosure

Aggregate outcomes, scope and artifact commitments are public. Complete test inputs, expected values, execution records and oracle infrastructure are retained privately. This summary does not independently reproduce the full verification run.