Guth
NewsDocs
Page actions
View as Markdown ↗
Explore MCP tools ↗

instrument implementation / implementation-contract

Big Integer Base-N Arithmetic implementation

A source-bound implementation contract for Big Integer Base-N Arithmetic; deployment and executable qualification remain separate.

Status: VERIFIED_CLEANLifecycle: implementation-contract

Binding contract

This record describes what an executable surface must bind and validate. It does not claim that a public calculator, package, or production route is deployed.

Record owner
Guth Instruments
Lifecycle
verified-clean
Evidence ID
t5-004
Effect
Computation or source lookup only

Input and validation requirements

  • Division by zero must be rejected before any division step.
  • Invalid digits, a base below 2, noninteger bases, and mismatched operand bases must be rejected.
  • If negative integers are supported, sign normalization and subtraction cases such as a smaller minuend must be explicitly defined and tested.
  • A JavaScript Number used for intermediate digit products or carry accumulation can lose precision; arbitrary precision requires BigInt or carefully bounded digit arithmetic.
  • Malformed inputs, empty digit arrays, leading signs, leading zeros, and zero normalization need explicit validation rules.
  • The division output must state whether it is quotient-only or quotient-plus-remainder and must define behavior for negative operands.
  • The empty honest_label field is a labeling concern: the catalog should not imply fully verified arbitrary-precision support until base validation, signed arithmetic, division semantics, and precision guarantees are specified and tested.

Required corrections

No binding erratum is attached to this unique-name record. Implementers must still preserve the declared units, domain, and failure behavior.

Inspectable interface fixture

The sample below is evidence for interface and validation tests, not a production implementation.

{
  "inputs": {
    "base": 16,
    "left": "FFFF",
    "right": "1",
    "operation": "add"
  },
  "expected_outputs": {
    "result": "10000",
    "carry_borrow_trace": {
      "carry_out_by_position": [
        1,
        1,
        1,
        1
      ],
      "final_carry": 1
    }
  },
  "working": "Process right to left: F + 1 = 16, write 0 and carry 1; F + 0 + 1 = 16, write 0 and carry 1; F + 0 + 1 = 16, write 0 and carry 1; F + 0 + 1 = 16, write 0 and carry 1. Append the final carry 1. Result = 10000 base 16."
}

Other records

Sources and evidence

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

  • VERIFIED_LEDGER.json
  • evidence-tranche5/tranche5-results.json