Home Developers Evidence math.gcf

Public evidence

math.gcf

Machine-checked verification for calculation version 1.0.2 · tier engine_tested

CVP: CVP VERIFIED · CVP protocol 1.0.0-proposed · Core assurance· ≥2 integers; ignore zeros unless all zero · Protocol · Schema · Production report

Declared partition coverage
PASS · 8/8 declared partitions (gcf, zero, negative, beyond-safe-integer, multi-input-fold, method-unavailable, xcal, invalid-domain)
Versions
Calculation 1.0.2 · CVP protocol 1.0.0-proposed · Evidence 2026-09-16.sources-no-wolfram
Verification revision
2026-09-16.sources-no-wolfram · 3/3 property · digest 2f7e2bf9bb70

Verification

Legacy regression suite: 20/20 calculation tests · Production surface contract 3/3

Three distinct suites: educational examples on the calculator page, this legacy regression count (20/20 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-09-16.sources-no-wolfram. Calculation version 1.0.2. CVP 1.0.0-proposed. 4/4 golden · 7/7 CVP boundary · 5/5 invalid · 3/3 property · 1/1 metamorphic · 1/1 cross-interface · 5/5 cross-calculator · 3/3 CVP contract. digest 2f7e2bf9bb70.

  • Golden (oracle-backed) 4 / 4
  • CVP boundary 7 / 7
  • Invalid input 5 / 5
  • Property 3 / 3
  • Metamorphic 1 / 1
  • Cross-interface 1 / 1
  • Cross-calculator 5 / 5
  • CVP contract 3 / 3
  • Interfaces PASS · UI (SSR) / REST / MCP
  • Interface claim ui-ssr is query-result HTML, not a live browser session.
  • Assurance Core
  • release artifacts aligned PASS
  • schema valid input executes PASS
  • engine success output validates schema PASS

Fingerprint sha256:ce4c8fd3816846a3947cf60cc5a029f9ac4466c2dbe18ebc7381d0b2803029fc

Input schema sha256:937a6e502dea5e3c5dfc1ddc415dfe74551baf9c69172984c2beceac52db1c58 · Output schema sha256:0197666ba550d0fd10d924e139641734a798a04db1fcf2a2b5f25113ce68d993 · 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
gcf
Engine
gcf
Engine build
2026-09-16
Evidence core
2026-09-16T06:41:00.884Z
Rendered
2026-09-16T22:03:43.771Z
Last reviewed

Assumptions

  • Integer inputs; negatives treated by absolute value.
  • Zeros are ignored unless every input is 0.
  • GCF of a set of all zeros is undefined.

Limitations

  • Integers only; negatives treated by absolute value
  • Each integer ≤ 48 decimal digits (product bound, not a mathematical bound)
  • Zeros are ignored unless every input is 0 (then UNDEFINED)
  • Need at least two numbers → NEED_TWO_NUMBERS
  • Non-integers → INVALID_NUMBER
  • Integers beyond MAX_SAFE_INTEGER must be decimal strings in JSON

Sources

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

Methods

Algorithms this engine uses. Not external references.

Legacy published checks

Golden and boundary cases from the legacy Evidence JSON. CVP property, metamorphic, round-trip, O3, and interface statuses/checks are recorded in the Manifest — including SKIP when a suite has no vectors.

IDKindStatusDetail
triplegoldenpassExpected value=4 · exact=4 · Actual value=4 · exact=4 · count=3 · formula=GCF(a,b,c,…) = GCF(GCF(a,b),c,…) · binary_formula=GCF(a,b)=GCF(b, a mod b) · max_digits=48
pairgoldenpassExpected value=9 · Actual value=9 · exact=9 · count=2 · formula=GCF(a,b,c,…) = GCF(GCF(a,b),c,…) · binary_formula=GCF(a,b)=GCF(b, a mod b) · max_digits=48
with-zerogoldenpassExpected value=5 · Actual value=5 · exact=5 · count=2 · formula=GCF(a,b,c,…) = GCF(GCF(a,b),c,…) · binary_formula=GCF(a,b)=GCF(b, a mod b) · max_digits=48
zero-zero-5goldenpassExpected value=5 · Actual value=5 · exact=5 · count=3 · formula=GCF(a,b,c,…) = GCF(GCF(a,b),c,…) · binary_formula=GCF(a,b)=GCF(b, a mod b) · max_digits=48
bigint-unsafegoldenpassExpected value=3 · Actual value=3 · exact=3 · count=2 · formula=GCF(a,b,c,…) = GCF(GCF(a,b),c,…) · binary_formula=GCF(a,b)=GCF(b, a mod b) · max_digits=48
numsInputgoldenpassExpected value=4 · Actual value=4 · exact=4 · count=3 · formula=GCF(a,b,c,…) = GCF(GCF(a,b),c,…) · binary_formula=GCF(a,b)=GCF(b, a mod b) · max_digits=48
boundary-all-zero-pairboundarypassExpected UNDEFINED · Actual UNDEFINED
boundary-all-zero-tripleboundarypassExpected UNDEFINED · Actual UNDEFINED
boundary-one-numberboundarypassExpected NEED_TWO_NUMBERS · Actual NEED_TWO_NUMBERS
boundary-missingboundarypassExpected MISSING_REQUIRED_INPUT · Actual MISSING_REQUIRED_INPUT
boundary-non-integerboundarypassExpected INVALID_NUMBER · Actual INVALID_NUMBER
boundary-alias-numsInputboundarypassExpected value=4 · exact=4 · Actual value=4 · exact=4 · count=3 · formula=GCF(a,b,c,…) = GCF(GCF(a,b),c,…) · binary_formula=GCF(a,b)=GCF(b, a mod b) · max_digits=48
boundary-bigint-unsafeboundarypassExpected value=3 · Actual value=3 · exact=3 · count=2 · formula=GCF(a,b,c,…) = GCF(GCF(a,b),c,…) · binary_formula=GCF(a,b)=GCF(b, a mod b) · max_digits=48
property-commutative-foldpropertypassGCF(8,12,20) = GCF(20,12,8) = 4
property-three-methods-agreepropertypassfactor, prime, and Euclidean all return 4
property-ignore-zerospropertypassGCF(0,0,12,20) = GCF(12,20)
property-gcf-k-0propertypassGCF(-48,0)=48
property-bigint-beyond-safe-integerpropertypassGCF(9007199254740993, 3) = 3 (BigInt; IEEE-754 Number would round)
property-pairwise-associativepropertypassGCF(GCF(48,18),30) = GCF(48,18,30)
property-divides-eachpropertypass4 divides 8, 12, and 20