CVP verified calculation capability
Add, subtract, multiply, and divide fractions and mixed numbers using LCD/LCM for add/subtract, GCF reduction, and reciprocal division. Fraction arithmetic requires safe-integer inputs and intermediates; unsafe values return VALUE_OUT_OF_RANGE. Also simplifies and converts between fractions and decimals.
Math Capability ID math.fractions version 1.0.6 CVP VERIFIED STALE Core
Add
L = LCM(b, d); a/b + c/d = [a(L/b) + c(L/d)] / LL = LCM(b, d); a/b − c/d = [a(L/b) − c(L/d)] / La/b × c/d = (ac) / (bd)a/b ÷ c/d = a/b × d/ca/b = (a÷g)/(b÷g) where g = GCF(a,b)Modes: operate · simplify · to-dec · from-dec
Canonical symbols for this capability. Agent schemas remain the contract.
| Symbol | Quantity | Unit | Role |
|---|---|---|---|
op | Operation for operate mode: + − * / | — | input / output |
operator | Share-URL alias for op | — | input |
aNum | First numerator | — | input |
aDen | First denominator | — | input |
aWhole | Optional mixed-number whole for the first fraction; safe integer required | — | input |
bNum | Second numerator; safe integer required | — | input |
bDen | Second denominator | — | input |
bWhole | Optional mixed-number whole for the second fraction; safe integer required | — | input |
decimal | Finite decimal for from-dec mode | — | input / output |
n | — | — | output |
d | — | — | output |
improper | — | — | output |
mixed | — | — | output |
Inspectable numeric contract for this Capability@Version. Not a rewrite of the engine.
| Field | Declaration |
|---|---|
numeric_domain | rational |
exactness | exact + float64 |
algorithm | safe-integer LCD/product arithmetic and GCD reduction for fraction modes; float64 decimal conversion |
valid_domain | fraction integer inputs and every arithmetic intermediate must satisfy |x| ≤ 2^53−1; denominator ≠ 0 |
singularity_policy | DENOMINATOR_MUST_BE_NONZERO when an input denominator is 0; DIVISION_BY_ZERO only when dividing by a zero-valued second fraction |
branch_policy | not applicable — rational, not complex |
tolerance | not applicable — fraction arithmetic is exact within the safe-integer envelope; decimal conversion/display uses float64 |
convergence | not applicable — non-iterative |
conditioning | not applicable — fraction arithmetic is exact within the safe-integer envelope |
rounding | fraction arithmetic exact within the safe-integer envelope; decimal conversion/display uses IEEE-754 |
overflow | VALUE_OUT_OF_RANGE when a fraction input, mixed-number construction, or arithmetic intermediate exceeds the safe-integer envelope |
reproducibility | deterministic safe-integer fraction arithmetic + Capability@Version |
independent_oracle | Evidence published cases |
golden_vectors | Evidence golden + boundary + property (and published_reference_case when listed) |
Declared scope for this capability. Do not use it outside this domain.
Assumptions
One numerical check. The calculator page holds worked steps and FAQ.
3/4 + 1/6 = 11/12
CVP VERIFIED · production STALE · CVP protocol 1.0.0-proposed · Core assurance · operate (+/−/×/÷) and simplify. Computational verification is defined by CVP. Supplemental domain review (internal) and named expert review are defined by the Review policy and do not by themselves determine CVP conformance.
Human page, REST, and MCP share the same engine and calculation_version.
Build verified hashes workspace artifacts only. After deploy, attest:production GETs canonical URLs twice — the public/cached view an Agent actually hits, and origin — including every /capabilities/{id} HTML page. Public Capability HTML version must match catalog before production attestation passes. Live Trust rows above fetch /.well-known/calculatorx-production-attestation.json
and the output schema const. Build hashes: release integrity. That proves currently published page / engine / schema / evidence / MCP agree — not that a historical version is independently immutable. Reference Calculation Standard — Production surface contract 5/5.
curl -sS -X POST 'https://www.calculatorx.com/api/v1/calc/fractions' \
-H 'Content-Type: application/json' \
-d '{"inputs":{"mode":"operate","op":"+","aNum":3,"aDen":4,"bNum":1,"bDen":6},"calculation_version":"1.0.6"}'{
"inputs": {
"mode": "operate",
"op": "+",
"aNum": 3,
"aDen": 4,
"bNum": 1,
"bDen": 6
},
"calculation_version": "1.0.6"
}POST /api/v1/calc/fractions. This is a POST calculate endpoint — do not GET it.
Full REST contract: REST API docs.
Human-readable sources plus CVP reference evidence classes.
Sources
Reference evidence classes: O1 model · O2 expected_values · O2 numerical_behavior
Inspect, then execute. Same engine as REST and the human calculator.
curl -sS -X POST 'https://www.calculatorx.com/mcp' \
-H 'Content-Type: application/json' \
-H 'MCP-Protocol-Version: 2026-07-28' \
-H 'Mcp-Method: tools/call' \
-H 'Mcp-Name: inspect_capability' \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"inspect_capability","arguments":{"capability_id":"math.fractions"},"_meta":{"io.modelcontextprotocol/protocolVersion":"2026-07-28","io.modelcontextprotocol/clientInfo":{"name":"calculatorx-docs-example","version":"1.0.0"},"io.modelcontextprotocol/clientCapabilities":{}}}}'curl -sS -X POST 'https://www.calculatorx.com/mcp' \
-H 'Content-Type: application/json' \
-H 'MCP-Protocol-Version: 2026-07-28' \
-H 'Mcp-Method: tools/call' \
-H 'Mcp-Name: execute_calculation' \
-d '{"jsonrpc":"2.0","id":2,"method":"tools/call","params":{"name":"execute_calculation","arguments":{"capability_id":"math.fractions","inputs":{"mode":"operate","op":"+","aNum":3,"aDen":4,"bNum":1,"bDen":6},"calculation_version":"1.0.6"},"_meta":{"io.modelcontextprotocol/protocolVersion":"2026-07-28","io.modelcontextprotocol/clientInfo":{"name":"calculatorx-docs-example","version":"1.0.0"},"io.modelcontextprotocol/clientCapabilities":{}}}}'Pin calculation_version (1.0.6) when the result must stay reproducible.
Inspect the trust tier and required assurance level before execution. Full protocol notes: MCP docs.