Source: https://guthlabs.ai/docs/instruments/big-integer-base-n-arithmetic/

instrument / verified-clean

# Big Integer Base-N Arithmetic

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/big-integer-base-n-arithmetic/>)[02**Mechanism**Method and assumptions](<https://guthlabs.ai/docs/instruments/big-integer-base-n-arithmetic/mechanism/>)[03**Implementation**Binding and validation](<https://guthlabs.ai/docs/instruments/big-integer-base-n-arithmetic/implementation/>)[04**Qualification**Evidence and errata](<https://guthlabs.ai/docs/instruments/big-integer-base-n-arithmetic/qualification/>)

## Ledger state

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

**Area**: Computing & Information

**Tranche**: tranche-5

**Evidence ID**: t5-004

**Ledger rows**: 1

No ledger note is attached.

## Review findings

The four vectors assume conventional unsigned base-16 digit arrays with signed subtraction permitted, quotient-and-remainder division, and least-significant-first trace reporting. The exact ambiguities requiring resolution are signed-number representation, division semantics, digit-array order, base and digit validation, and carry/borrow trace schema.

### Formula and scope findings

- The specification gives only the phrase "schoolbook algorithms generalized to base b digit arrays" rather than explicit addition, subtraction, multiplication, and division formulas or pseudocode.

- Signed-integer behavior is unspecified: subtraction may produce a negative result, but the digit-array representation and sign handling are not defined.

- Division semantics are unspecified, including quotient rounding, remainder sign, and whether division returns quotient only or quotient plus remainder.

- Digit order is unspecified: the implementation must define whether arrays are least-significant-digit first or most-significant-digit first.

- The allowed base range and digit alphabet are unspecified. A standard positional representation requires an integer base b >= 2 and digits in the range 0 through b-1.

- The carry/borrow trace format is unspecified, so the stated output cannot be verified consistently.

### Unit assumptions

- Inputs are dimensionless integers represented in a common integer base b.

- For these test vectors, digits are written most-significant first, the base is explicitly supplied, and hexadecimal digits A-F represent values 10-15.

- The base is an integer b >= 2; every input digit must be in the range 0 through b-1.

- Results are returned without unnecessary leading zero digits, except that zero is represented as "0".

- Subtraction uses signed results; division uses nonnegative dividend and divisor and returns truncating quotient plus nonnegative remainder satisfying dividend = divisor * quotient + remainder.

- Carry and borrow traces below are listed from least-significant processed digit to most-significant processed digit.

## Boundary hardening

### Recorded hazards

- 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.

## 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": {
    "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."
}
````

## Related workflows

No source-defined multi-instrument workflow membership is recorded.

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