Source: https://guthlabs.ai/docs/instruments/1d-elastic-collision-solver/

instrument / verified-clean

# 1D Elastic Collision Solver

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/1d-elastic-collision-solver/>)[02**Mechanism**Method and assumptions](<https://guthlabs.ai/docs/instruments/1d-elastic-collision-solver/mechanism/>)[03**Implementation**Binding and validation](<https://guthlabs.ai/docs/instruments/1d-elastic-collision-solver/implementation/>)[04**Qualification**Evidence and errata](<https://guthlabs.ai/docs/instruments/1d-elastic-collision-solver/qualification/>)

## Ledger state

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

**Area**: Physics — Kinematics/Projectiles/Orbits, Forces/Energy/Momentum, Rotational Dynamics, Gravitation, Oscillations/Waves, Optics, E&M Fields, Relativity, Quantum, Statistical Thermo

**Tranche**: tranche-4

**Evidence ID**: t4-203

**Ledger rows**: 1

No ledger note is attached.

## Review findings

The collision formulas are correct under the stated physical assumptions. Verdict is NEEDS_REVIEW because the exact v2' formula and the KE-check definition/tolerance are ambiguous, and the honest label is 'n/a' despite the claim requiring explicit assumptions about isolation, one-dimensionality, and perfect elasticity.

### Formula and scope findings

- The v1' formula is standard for a perfectly elastic 1D collision, but v2' is specified only as 'analogous'; it should be explicitly stated as v2'=((m2-m1)v2+2m1v1)/(m1+m2).

- The advertised KE check has no defined formula, comparison criterion, or numerical tolerance. A standard check would compare KE_initial=0.5*m1*v1^2+0.5*m2*v2^2 with KE_final=0.5*m1*v1'^2+0.5*m2*v2'^2.

### Unit assumptions

- m1 and m2 must be positive masses expressed in the same unit; SI kilograms are assumed for the test vectors.

- v1 and v2 must be signed velocities in the same one-dimensional inertial frame, preferably m/s.

- The formulas assume an isolated collision with negligible external impulse and perfectly elastic behavior.

- KE outputs are in joules when masses are in kilograms and velocities are in m/s.

## Boundary hardening

**BREAK_CLAIMED** · SELF_FLAGGED

The formulas produce undefined results when m1+m2=0, and the specification gives no stated input validation for zero or negative masses. The solver also has no explicit collision-applicability branch for receding inputs and no stated sign convention.

## 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": {
    "m1": 2,
    "m2": 3,
    "v1": 5,
    "v2": -1
  },
  "expected_outputs": {
    "v1_prime": -2.2,
    "v2_prime": 3.8,
    "KE_initial": 26.5,
    "KE_final": 26.5,
    "KE_conserved": true
  },
  "working": "m1+m2=2+3=5. v1'=((2-3)*5+2*3*(-1))/5=(-5-6)/5=-11/5=-2.2. v2'=((3-2)*(-1)+2*2*5)/5=(-1+20)/5=19/5=3.8. KE_initial=0.5*2*5^2+0.5*3*(-1)^2=25+1.5=26.5 J. KE_final=0.5*2*(-2.2)^2+0.5*3*(3.8)^2=4.84+21.66=26.5 J."
}
````

## Related workflows

[Kinematics & Collisions Tutore=1](<https://guthlabs.ai/docs/instrument-workflows/kinematics-tutor/>)

## 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-tranche4/tranche4-results.json`

- `BOUNDARY_HAZARD_CATALOG.json`
