Source: https://guthlabs.ai/docs/instruments/scientific-calculator/

instrument / verified-clean

# Scientific Calculator

The current ledger marks this instrument verified clean within the source-bound verification corpus.

Status: **VERIFIED_CLEAN**Lifecycle: **verified-clean**

## Inspectable records

[01**Overview**Purpose and lifecycle](<https://guthlabs.ai/docs/instruments/scientific-calculator/>)[02**Mechanism**Method and assumptions](<https://guthlabs.ai/docs/instruments/scientific-calculator/mechanism/>)[03**Implementation**Binding and validation](<https://guthlabs.ai/docs/instruments/scientific-calculator/implementation/>)[04**Qualification**Evidence and errata](<https://guthlabs.ai/docs/instruments/scientific-calculator/qualification/>)

## Ledger state

The current ledger marks this instrument verified clean within the source-bound verification corpus.

**Area**: Mathematics — arithmetic through advanced (algebra, matrices, calculus, sequences/series, number theory, combinatorics, graphing, complex numbers, geometry, logic, sets)

**Tranche**: tranche-8

**Evidence ID**: t8-004

**Ledger rows**: 1

No ledger note is attached.

## Review findings

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.

### Formula and scope findings

- 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.

### Unit assumptions

- 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.

## Boundary hardening

**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.

## Errata and corrections

No applied erratum is attached to this unique-name record.

## Inspectable example

4 review vectors are recorded. One source-bound sample is shown below.

````
{
  "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."
}
````

## Related workflows

No source-defined multi-instrument workflow membership is recorded.

## Sources and evidence

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

- `VERIFIED_LEDGER.json · VERIFIED_CLEAN`

- `evidence-tranche8/tranche8-results.json`

- `BOUNDARY_HAZARD_CATALOG.json`
