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

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_ERRATALifecycle: 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

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