Source: https://guthlabs.ai/docs/instruments/derivative-calculator-symbolic-numeric/mechanism/

instrument mechanism / verified-with-binding-errata

# Derivative Calculator (symbolic + numeric) mechanism

The inspectable method record for Derivative Calculator (symbolic + numeric), kept separate from implementation and qualification.

Status: **VERIFIED_WITH_ERRATA**Lifecycle: **verified-with-binding-errata**

## Model scope

The standard first-derivative formula is correct only when interpreted as (f(x+h)-f(x-h))/(2*h), with radians for trigonometric examples and a documented nonzero h. The specification is FAIL because h and the nth numeric-derivative algorithm are undefined, and the broad symbolic-support claim lacks domain and capability limits.

- The numeric formula is written as f(x+h)-f(x-h)/2h, which is ambiguous under standard operator precedence; it must be explicitly written as (f(x+h)-f(x-h))/(2*h).

- The step size h is not specified as an input, fixed constant, adaptive value, or error-controlled value.

- Only the first-derivative central-difference formula is specified, but the instrument claims nth numeric derivatives; the algorithm for order greater than 1 is missing.

- The symbolic behavior and supported syntax/domain rules of math.js derivative() are not defined, so the claim of general symbolic differentiation is too broad.

- The numeric central difference is an approximation and should report or document its h-dependent numerical error.

## Units and conventions

- Angles are assumed to be in radians for trigonometric functions.

- The independent variable x and h must use the same units; h must be nonzero and sufficiently small relative to the scale of x.

- For logarithms and other restricted functions, inputs must remain in the function's valid real or complex domain.

- The displayed numeric values below use h=0.00001.

## Inspectable vector

One of 4 source-bound review vectors:

````
{
  "inputs": {
    "function": "x^3-2*x+1",
    "variable": "x",
    "point": 2,
    "order": 1,
    "h": 0.00001
  },
  "expected_outputs": {
    "symbolic_derivative": "3*x^2-2",
    "numeric_value": 10.0000000001,
    "spot_checks": [
      {
        "at": 0,
        "input_side": -0.9999999999,
        "answer_side": -2
      },
      {
        "at": 1,
        "input_side": 1.0000000001,
        "answer_side": 1
      }
    ]
  },
  "reference_data": {
    "method": "First-order central difference",
    "h": 0.00001
  },
  "working": "Symbolic: d(x^3-2x+1)/dx = 3x^2-2; at x=2, 3(2^2)-2 = 12-2 = 10. Numeric: f(2.00001) = 2.00001^3 - 2(2.00001) + 1; f(1.99999) = 1.99999^3 - 2(1.99999) + 1. Their difference divided by 2(0.00001) simplifies exactly for this cubic to 3(2^2)-2+(0.00001)^2 = 10+0.0000000001 = 10.0000000001. At x=0, central result = -2+0.0000000001 = -1.9999999999? Correction: for f=x^3-2x+1, the central derivative is 3x^2-2+h^2. Thus at x=0 it is -1.9999999999, and at x=1 it is 1.0000000001. At x=2 it is 10.0000000001."
}
````

## Failure boundary

**BREAK_CLAIMED** · SELF_FLAGGED

The numeric path accepts h=0 unless it explicitly validates the step size; the central-difference formula then evaluates 0/0. The branch-switch probe also exposes a semantic hazard: abs(x) at x=0 yields a finite central estimate even though the true derivative is undefined.

## Other records

[01**Overview**](<https://guthlabs.ai/docs/instruments/derivative-calculator-symbolic-numeric/>)[03**Implementation**](<https://guthlabs.ai/docs/instruments/derivative-calculator-symbolic-numeric/implementation/>)[04**Qualification**](<https://guthlabs.ai/docs/instruments/derivative-calculator-symbolic-numeric/qualification/>)

## 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`
