Source: https://guthlabs.ai/docs/instruments/cas-simplifier-solver/mechanism/

instrument mechanism / verified-clean

# CAS Simplifier / Solver mechanism

The inspectable method record for CAS Simplifier / Solver, kept separate from implementation and qualification.

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

## Model scope

The supplied examples verify standard algebraic transformations, but they do not establish correctness for the advertised general symbolic scope. The instrument should be relabeled with explicit supported operations and domains, preserve side conditions in every result, expose solver completeness limitations, and identify the exact vendored engine and version.

- “CAS rule-based term rewriting” is an implementation technique, not a complete or uniquely defined formula for general symbolic simplification.

- The claim to solve arbitrary equations symbolically is not valid without specifying supported equation classes, coefficient domains, real-versus-complex semantics, branch conventions, and whether solutions are complete.

- The engine field is ambiguous: nerdamer and math.js algebra have different capabilities; math.js does not by itself guarantee general symbolic equation solving, factoring, or complete simplification.

- Simplification must preserve domain restrictions. For example, cancelling (x−1) from (x²−1)/(x−1) produces x+1 only under the retained condition x≠1.

- The empty honest_label fails to disclose incompleteness, possible conditional solutions, domain restrictions, unsupported functions, and possible dependence on a vendored engine.

## Units and conventions

- Inputs are treated as dimensionless mathematical symbols and constants; no physical units are supported by the specification.

- For numeric spot-checks, all values are real numbers represented in ordinary decimal arithmetic.

- For the equation-solving vector, the intended solution domain is the real numbers; the specification does not state whether real or complex solutions are returned.

## Inspectable vector

One of 4 source-bound review vectors:

````
{
  "inputs": {
    "operation": "simplify",
    "expression": "(x^2 - 1)/(x - 1)",
    "evaluation_points": [
      "2.5000000",
      "-0.75000000"
    ],
    "boundary_check": "x=1"
  },
  "expected_outputs": {
    "canonical_result": "x + 1, subject to x ≠ 1",
    "boundary_result": "undefined at x=1 because the original expression is 0/0",
    "spot_checks": [
      {
        "at": 2.5,
        "input_side": 3.5,
        "answer_side": 3.5
      },
      {
        "at": -0.75,
        "input_side": 0.25,
        "answer_side": 0.25
      }
    ]
  },
  "reference_data": {
    "identity": "(x^2−1)/(x−1) = ((x−1)(x+1))/(x−1) = x+1 for x≠1",
    "domain": "x≠1"
  },
  "working": "At x=2.5: original=((2.5)^2−1)/(2.5−1)=(6.25−1)/1.5=5.25/1.5=3.5; simplified=2.5+1=3.5. At x=−0.75: original=((−0.75)^2−1)/(−0.75−1)=(0.5625−1)/(−1.75)=−0.4375/−1.75=0.25; simplified=−0.75+1=0.25. At x=1, the original denominator is zero, so the result is undefined even though the cancelled expression evaluates to 2."
}
````

## Failure boundary

**BREAK_CLAIMED** · SELF_FLAGGED

The specification leaves domains, assumptions, cancellation restrictions, and square-root conventions unstated. An unconditional cancellation can incorrectly turn an undefined 0/0 value into 2 at x = 1, and an unconditional rewrite of sqrt(t^2) to t is wrong for negative t. These are concrete failure modes for a rule-based symbolic engine unless it preserves conditions and applies explicit conventions.

## Other records

[01**Overview**](<https://guthlabs.ai/docs/instruments/cas-simplifier-solver/>)[03**Implementation**](<https://guthlabs.ai/docs/instruments/cas-simplifier-solver/implementation/>)[04**Qualification**](<https://guthlabs.ai/docs/instruments/cas-simplifier-solver/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`
