Guth
NewsDocs
Page actions
View as Markdown ↗
Explore MCP tools ↗

instrument mechanism / verified-clean

Scientific Calculator mechanism

The inspectable method record for Scientific Calculator, kept separate from implementation and qualification.

Status: VERIFIED_CLEANLifecycle: verified-clean

Model scope

The arithmetic and precedence approach is broadly standard, but the specification is incomplete for angle-mode implementation, logarithm naming, memory behavior, parser portability, and error semantics. These ambiguities prevent an unconditional PASS.

  • Direct evaluation through math.js is a valid expression-evaluation strategy, but it does not by itself define DEG/RAD/GRAD behavior; angle-mode conversion must be explicitly implemented for trigonometric inputs and inverse-trigonometric outputs.
  • The specification does not define logarithm semantics. math.js log(x) is the natural logarithm, while a standard scientific-calculator label log commonly means base-10; log10(x) or an explicit base is required to avoid ambiguity.
  • Memory-register operations are claimed but are absent from the input contract and formula description; store, recall, add, clear, and register lifetime semantics must be specified.
  • Power associativity and calculator-specific precedence for chained exponentiation are not stated; expressions such as 2^3^2 need a defined interpretation.
  • The iOS note says NSExpression or a custom parser may replace math.js, but parser compatibility and supported functions/operators are not defined, so results may differ across engines.

Units and conventions

  • Angles are interpreted in the selected mode: DEG means degrees, RAD means radians, and GRAD means gradians; the mode must affect trigonometric functions consistently.
  • For the test vectors below, exp(1) is the natural exponential e, sqrt is the nonnegative real square root, and ^ denotes exponentiation.
  • No physical units are present in these expressions; all numeric values are dimensionless.
  • The expected arithmetic assumes ordinary real-number scientific-calculator behavior and sufficient internal precision.

Inspectable vector

One of 4 source-bound review vectors:

{
  "inputs": {
    "expression": "sin(30) + sqrt(81)",
    "angle_mode": "DEG"
  },
  "expected_outputs": {
    "result": 9.5
  },
  "reference_data": {
    "identity": "sin(30 degrees)=1/2",
    "formula": "sin(30 degrees)+sqrt(81)"
  },
  "working": "30 degrees = 30*pi/180 = pi/6. sin(pi/6)=1/2=0.5. sqrt(81)=9. Add: 0.5+9=9.5."
}

Failure boundary

BREAK_CLAIMED · SELF_FLAGGED

The division-by-zero vector produces Infinity at the numeric evaluator level even though the mathematical result is undefined, and the unspecified logarithm-base convention can produce either 4.605170185988091 or 2 for the same displayed expression.

Other records

Sources and evidence

These pointers bind the page to evidence. They do not grant authority or collapse verification into deployment.

  • VERIFIED_LEDGER.json
  • evidence-tranche8/tranche8-results.json
  • BOUNDARY_HAZARD_CATALOG.json