Page actions
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.jsonevidence-tranche5/tranche5-results.json