Source: https://guthlabs.ai/docs/instruments/rolling-without-slipping-solver/mechanism/

instrument mechanism / verified-clean

# Rolling Without Slipping Solver mechanism

The inspectable method record for Rolling Without Slipping Solver, kept separate from implementation and qualification.

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

## Model scope

The acceleration algorithm is a direct lookup-table evaluation, not an iterative method. The core acceleration formula is standard, but the instrument needs explicit angle units, an unambiguous cylinder definition, and additional inputs/formulas for velocity and race results. The honest-label warning about idealized no-slip and no rolling resistance is appropriate but should also state that sufficient static friction is assumed.

- The acceleration formula a=g sin(theta)/(1+I/(mR^2)) is correct for a rigid body rolling down a straight incline without slipping, assuming gravity is uniform and the object starts with no dependence on translational initial velocity.

- The stated solid-sphere example is correct: I/(mR^2)=2/5, so a=g sin(theta)/(1+2/5)=(5/7)g sin(theta).

- Velocity is claimed as an output, but no ramp length, elapsed time, initial velocity, or velocity formula is specified. For release from rest over distance s, the required formula is v=sqrt(2as); after time t, v=at.

- The shape lookup is ambiguous for cylinder: a solid cylinder or disk has I/(mR^2)=1/2, while a hollow cylinder has a different ratio. The catalog must explicitly define which cylinder is intended.

- The no-slip condition is not merely a label: static friction must be sufficient. For a body with k=I/(mR^2), the required condition is mu_s >= k tan(theta)/(1+k).

## Units and conventions

- Use g=9.80665 m/s^2 unless a configurable value is explicitly provided.

- Angles are interpreted as degrees in these vectors and converted before applying sine: theta_rad=theta_deg*pi/180. The specification does not state whether the UI accepts degrees or radians.

- I/(mR^2) is dimensionless; acceleration is reported in m/s^2.

- For velocity checks, ramp length is in meters, initial velocity is in m/s, and the object is released from rest unless otherwise stated.

- The tested cylinder is explicitly treated as a solid cylinder, equivalent to a solid disk, with I/(mR^2)=1/2.

## Inspectable vector

One of 4 source-bound review vectors:

````
{
  "inputs": {
    "shape": "solid sphere",
    "angle": 30,
    "angle_unit": "degrees",
    "g": 9.80665
  },
  "expected_outputs": {
    "acceleration_m_per_s2": 3.502375
  },
  "working": "k=I/(mR^2)=2/5=0.4. Convert angle: sin(30 degrees)=0.5. Denominator=1+0.4=1.4. Numerator=g sin(theta)=9.80665*0.5=4.903325. Therefore a=4.903325/1.4=3.502375 m/s^2."
}
````

## Failure boundary

**BREAK_CLAIMED** · SELF_FLAGGED

The specification defines only four recognized shapes and gives no behavior for an unrecognized shape. Without explicit validation, an unknown shape produces an undefined inertia-ratio lookup and therefore an undefined acceleration; the solver must reject it.

## Other records

[01**Overview**](<https://guthlabs.ai/docs/instruments/rolling-without-slipping-solver/>)[03**Implementation**](<https://guthlabs.ai/docs/instruments/rolling-without-slipping-solver/implementation/>)[04**Qualification**](<https://guthlabs.ai/docs/instruments/rolling-without-slipping-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-tranche6/tranche6-results.json`

- `BOUNDARY_HAZARD_CATALOG.json`
