Bug Rivet Paradox Calculator - Lorentz Factor and Squash Verdict

Use this free bug rivet paradox calculator to decide whether a relativistically moving rivet squashes the bug, using length contraction and signal propagation.

Updated: July 8, 2026 • Free Tool

Bug Rivet Paradox Calculator

m

Rest length of the rivet shaft, in the rivet's own frame.

m

Distance from the surface to the bug at the bottom.

c

Speed toward the hole, as a fraction of the speed of light.

m/s

Longitudinal wave speed of the material (steel ~5960 m/s).

Results

Lorentz factor (gamma)

-

Contracted rivet length

- m

Rivet tip reach (with shock)

- m

Bug squashed?

-

Minimum velocity to squash

- c

How to read the verdict

In the bug's rest frame the rivet is contracted to L = L0 / gamma. After the head stops, a signal travels down the rivet at the material speed of sound v_s.

The tip keeps moving until that wave arrives, so the total reach is (L0 / gamma)(1 + v / v_s).

The bug is squashed when this reach is at least the hole depth d.

Minimum velocity is the fraction of c that makes the reach exactly equal to d.

Reference frames

Bug's frame: the rivet is short and the tip's reach is set by the shock wave.

Rivet's frame: the hole is contracted, so the bottom rises toward the tip.

Both frames agree on whether the bug is squashed.

What the Bug-Rivet Paradox Shows

The bug rivet paradox calculator is built around a teaching example from special relativity that turns an abstract symmetry into a concrete, falsifiable question. A rivet whose rest length L0 is shorter than a hole of depth d is fired at the hole, with a bug at the bottom. At rest the rivet cannot reach the bug, but a moving rivet is length-contracted.

The puzzle is that the two reference frames seem to disagree. In the bug's frame the rivet is short; in the rivet's frame the hole is short. Each frame has a different story about whether the tip reaches the bottom, and the resolution comes from adding the one physical detail the naive version leaves out.

The same length contraction also appears in a Length Contraction Calculator, so you can compare the bare effect with the full paradox side by side.

How the Bug-Rivet Paradox Calculator Works

The bug rivet paradox calculator works entirely in the bug's rest frame, where the geometry is easy to picture. It finds the Lorentz factor gamma = 1 / sqrt(1 - v^2/c^2) from the rivet velocity, then contracts the rivet to L = L0 / gamma.

L = L0 / gamma reach = (L0 / gamma)(1 + v / v_s) (L0 / gamma)(1 + v / v_s) >= d
  • L0: Rivet proper length - measured in the rivet's rest frame.
  • d: Hole depth - distance from the surface to the bug.
  • v: Rivet velocity toward the hole, as a fraction of c.
  • v_s: Speed of sound in the rivet material, the speed of the stopping signal.
  • gamma: Lorentz factor: 1 at rest, diverging toward infinity as v approaches c.

After the head stops, the stopping signal travels down the contracted shaft at v_s, taking time L / v_s. During that time the tip keeps moving a further distance v * L / v_s, so the total reach is (L0 / gamma)(1 + v / v_s). The bug is squashed when this reach is at least d. The same gamma also drives time dilation, so the result pairs naturally with a Time Dilation Calculator.

The calculator also reports the minimum velocity that just squashes the bug, by solving (L0 / gamma)(1 + v / v_s) = d numerically. For a steel rivet the v / v_s term is enormous, so the threshold velocity is tiny; for an idealized perfectly rigid rivet (signal at c) the threshold is never reached.

Worked example: L0 = 0.5 m, d = 1.0 m, v = 0.9c. gamma = 2.294, L = 0.218 m. With steel v_s = 5960 m/s the reach is (0.218)(1 + 0.9c / 5960) = 0.218 * 53962 = 11766 m, far past the bug, so the bug is squashed.

Worked example: L0 = 0.5 m, d = 1.0 m, v = 0.9c, but with an idealized rigid rivet v_s = c. Then reach = (0.218)(1 + 0.9) = 0.414 m, short of the 1.0 m hole, so the bug survives - the contrast shows why the shock-wave term matters.

According to Wikipedia (Length contraction), the contracted length of a moving object is L0 divided by the Lorentz factor gamma.

HyperPhysics gives a frame-by-frame breakdown of the bug-rivet scenario that shows how the event coordinates transform between frames.

Because the rivet speed is entered as a fraction of the speed of light, the universal speed limit sets the scale for every gamma you compute.

Key Concepts Explained

Four ideas carry the whole paradox used by the bug rivet paradox calculator. Understand each one and the squash verdict stops looking mysterious.

Length contraction

The moving rivet's shaft is measured shorter along its direction of motion by the factor gamma, so L = L0 / gamma in the bug's frame.

Lorentz factor gamma

gamma = 1 / sqrt(1 - v^2/c^2) appears in time dilation and length contraction. At rest gamma is 1; near c it grows without bound.

Relativity of simultaneity

The two frames disagree on the order of distant events, which is exactly what the Lorentz transformation predicts and why the paradox is only apparent.

Finite signal speed

No object is perfectly rigid. The stopping order travels down the rivet at the speed of sound, far below c, so the tip keeps moving after the head stops.

These four ideas connect the paradox to the rest of special relativity. The moving clock runs slow and the moving ruler appears short by the same factor gamma, which is why students compare this thought experiment with time dilation.

According to Wikipedia (Relativity of simultaneity), two frames in relative motion disagree about whether spatially separated events happen at the same time.

How to Use This Calculator

Follow these steps to go from a problem statement to a squash verdict without doing the algebra by hand when you use the bug rivet paradox calculator.

  1. 1 Enter the rivet proper length L0: the rest length of the rivet shaft, in meters.
  2. 2 Enter the hole depth d: the distance from the surface to the bug, in meters.
  3. 3 Enter the rivet velocity v: the speed toward the hole as a fraction of c (for example 0.9).
  4. 4 Enter the speed of sound v_s: the longitudinal wave speed of the rivet material (about 5960 m/s for steel).
  5. 5 Read the results: the calculator shows gamma, the contracted length, the shock-wave reach, the squash verdict, and the minimum velocity.

Example: L0 = 0.5 m, d = 1.0 m, v = 0.9c, v_s = 5960 m/s. The calculator returns a contracted length of 0.218 m, a reach of 11766 m, and the verdict "bug squashed", with a minimum velocity near 2e-5 c.

You can track the tip's extra distance v * L / v_s with a plain Kinematics Calculator before plugging the numbers into the paradox.

Why This Thought Experiment Matters

The bug-rivet paradox is valuable because it turns a symmetry principle into a single yes-or-no prediction about a physical outcome.

  • Frame-independent outcome: every inertial observer must agree on whether the bug survives, which makes the paradox a clean test of consistency.
  • Exposes hidden assumptions: the contradiction vanishes once you drop the idea of a perfectly rigid rivet.
  • Connects to real materials: the speed of sound in the rivet is a genuine material property, linking relativity to solid mechanics.
  • Reinforces gamma: one input produces gamma, the contracted length, and the squash threshold, so the same factor is used three ways.

Special relativity is not a bag of optical tricks; it makes a definite claim about what happens to the bug that every frame confirms. When a calculation seems to produce a contradiction, the usual culprit is an everyday assumption smuggled in, such as perfect rigidity.

The agreement between frames is the same reasoning behind the forces inside real materials, where a push propagates as a wave rather than instantly.

Factors That Affect Your Results

Four inputs shift the answer, and the contracted length alone does not decide it.

Hole depth d

A deeper hole is harder to reach, so the bug survives more easily. The reach must clear d for a squash.

Rivet length L0

A longer rivet reaches further for the same velocity, because the contracted length scales with L0.

Velocity v

Higher speed shrinks the rivet and lengthens the shock reach, both pushing toward "squashed". The kinetic energy, from a Work-Energy-Power Calculator, grows without bound as v nears c.

Speed of sound v_s

A softer material (lower v_s) lets the tip travel further before stopping, increasing the reach. A perfectly rigid rivet would have v_s = c.

  • The contracted length only sets the starting point; the v / v_s shock term is what determines whether the bug is crushed.
  • Massive rivets cannot reach c. As v approaches c, gamma diverges and the contracted length approaches zero, but the reach still grows through the v / v_s term.
  • The verdict is frame-independent: both the bug's frame and the rivet's frame agree on the final outcome once the signal delay is included.

The contracted length of a moving object is L0 divided by the Lorentz factor gamma, which is the starting point for the reach calculation and is covered in Wikipedia's article on length contraction.

Bug rivet paradox calculator diagram showing a contracted rivet striking a hole with a bug at the bottom and the Lorentz factor formula
Bug rivet paradox calculator diagram showing a contracted rivet striking a hole with a bug at the bottom and the Lorentz factor formula

Frequently Asked Questions

What is the bug-rivet paradox?

A rivet of rest length L0 is shot toward a hole of depth d, where d is larger than L0 so the rivet could never reach the bottom at rest. A bug sits at the bottom. In special relativity the moving rivet is length-contracted, so the question is whether the tip reaches the bug before the head's impact can stop it. The puzzle is that the two reference frames give seemingly different answers.

Why is the bug-rivet paradox not a contradiction in special relativity?

Special relativity is internally consistent: all inertial frames agree on the final physical outcome, including whether the bug survives. The two frames disagree on lengths and on the order of distant events, but that disagreement is exactly what the relativity of simultaneity predicts. Once you track how the impact signal (not the rigid rod) propagates, both frames reach the same squash verdict.

What is the formula for whether the bug gets squashed?

In the bug's rest frame the rivet contracts to L = L0 / gamma. After the head stops, a signal travels down the rivet at the material speed of sound v_s, taking time L / v_s. During that time the tip keeps moving a further distance v * L / v_s, so the total reach is (L0 / gamma)(1 + v / v_s). The bug is squashed when this reach is at least the hole depth d.

What is the minimum rivet velocity needed to squash the bug?

It is the velocity that makes the reach exactly equal to the hole depth: (L0 / gamma)(1 + v / v_s) = d. Because gamma depends on v, this is solved numerically. For steel (v_s about 5960 m/s) the speed-of-sound term dominates so the threshold velocity is tiny; for an idealized perfectly rigid rivet where the signal travels at c, the threshold is never reached and the bug always survives.

Why does the speed of sound in the rivet matter?

A real rivet is not perfectly rigid. When the head strikes the surface, the order to stop travels down the shaft as a mechanical wave at the speed of sound in the material, which is far slower than light. The tip keeps moving until that wave arrives, so the reach depends directly on v_s. Treating the rivet as instantly rigid would wrongly ignore this delay.

Does length contraction alone decide if the bug survives?

No. The contracted length L0 / gamma only tells you where the tip is the instant the head stops. The bug is squashed only if the tip still reaches the bottom during the extra time before the stopping wave arrives. That is why the shock-wave term v / v_s is essential to the correct answer.