Home Developers Evidence math.modulo

Public evidence

math.modulo

Machine-checked verification for calculation version 1.1.0 · tier engine_tested

Verification

13/13 calculation tests · Production surface contract 4/4

  • Golden tests 3 / 3
  • Boundary tests 4 / 4
  • Property tests 6 / 6
  • Production surface contract 4 / 4
  • }
  • Engine tested Yes
  • Source checked Yes
  • Artifact integrity PASS
  • Production attestation Embedded snapshot: STALE · Last attested schema matched 1.1.0 snapshot / local build · Semantic contract ✓ · Last attestation PASS · current evidence changed · re-attestation required · Public/cache ✓ · Origin ✓ · Live production status STALE (1 capability; 163 remain CURRENT) @ 2026-09-19T00:00:17.039Z
  • Semantic contract PASS
  • Evidence attested at 2026-09-18T21:41:55.460Z
  • Last production check 2026-09-18T21:41:55.460Z
  • Public / cache PASS
  • Origin PASS
  • Supplemental domain review Not performed
  • Named expert review Not performed
  • release artifacts aligned PASS
  • schema valid input executes PASS
  • engine success output validates schema PASS
  • schema rejects incomplete input PASS

Fingerprint sha256:59e9e5e8c8611060a80fa798580aed8925a9c0cbb6da559c0932d9eec2e80b76

Input schema sha256:dcbee42ab4691d7298144d98af2f0d064a63300f13d6e34f83e69ce5e0aed01e · Output schema sha256:803b6d51a579dee4e63148f96a4901e06725aaf252b9ac093bb412499fe6502a · 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
modulo
Engine
modulo
Engine build
2026-09-19
Evidence core
2026-09-19T01:08:38.526Z
Rendered
2026-09-19T02:14:29.317Z
Last reviewed

Assumptions

  • Euclidean remainder
  • Not JavaScript truncated %
  • Integers only

Limitations

  • Euclidean remainder, not truncated or floored remainder toward −∞ of the quotient only
  • Not IEEE remainder or floating-point fmod
  • Not /calc/math/gcf — gcd is only used for invertibility
  • modulus = 0 → DIVISION_BY_ZERO
  • gcd(a,m) ≠ 1 → NOT_INVERTIBLE
  • |m| < 2 on inverse → INVALID_INPUT
  • Share URLs use modulus, not m (m is reserved elsewhere)

Sources

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

Published checks

Golden, boundary, and property cases included in this evidence build.

IDKindStatusDetail
golden-modgoldenpassExpected remainder=2 · quotient=3 · Actual mode=remainder · a=17 · modulus=5 · remainder=2 · quotient=3 · identity=17 = (3)·(5) + 2 · convention=euclidean · algorithm=euclidean_division
golden-mod-negativegoldenpassExpected remainder=3 · quotient=-4 · Actual mode=remainder · a=-17 · modulus=5 · remainder=3 · quotient=-4 · identity=-17 = (-4)·(5) + 3 · convention=euclidean · algorithm=euclidean_division
boundary-mod-zeroboundarypassExpected DIVISION_BY_ZERO · Actual DIVISION_BY_ZERO
boundary-mod-missingboundarypassExpected MISSING_REQUIRED_INPUT · Actual MISSING_REQUIRED_INPUT
golden-mod-inversegoldenpassExpected inverse=4 · gcd=1 · Actual mode=inverse · a=3 · modulus=11 · remainder=3 · inverse=4 · gcd=1 · bezout_x=4 · bezout_y=-1
boundary-mod-not-invertibleboundarypassExpected NOT_INVERTIBLE · Actual NOT_INVERTIBLE
boundary-mod-inverse-modeboundarypassExpected INVALID_MODE · Actual INVALID_MODE
property-mod-pospropertypass17 = 3·5 + 2
property-mod-negpropertypass−17 = (−4)·5 + 3
property-mod-rangepropertypass0 ≤ r < |m|
property-mod-identitypropertypassa = q·m + r
property-mod-neg-mpropertypassr still in [0,|m|)
property-mod-invpropertypass3⁻¹ ≡ 4 (mod 11)