Skip to article frontmatterSkip to article content
Site not loading correctly?

This may be due to an incorrect BASE_URL configuration. See the MyST Documentation for reference.

Kinetic Energy is Quadratic: a Galilean-Invariance Derivation

This note derives the functional form of kinetic energy,

E(v)=cv2,E(v)=c\,v^2,

from a single inelastic-collision thought experiment together with Galilean invariance. The key intermediate result is the parallelogram law

E(v+b)+E(vb)=2E(v)+2E(b)for all v,b,E(v+b)+E(v-b)=2E(v)+2E(b)\qquad\text{for all }v,b,

which holds because the same collision, viewed from a continuous family of moving frames, must balance energy in each of them. Unlike the single doubling relation E(2v)=4E(v)E(2v)=4E(v) studied in the scaling functional equation — which is too weak to fix the form of EE — the parallelogram law constrains EE at a dense set of scales, and so (with a mild regularity assumption) pins it down completely.

What we are computing

We treat the kinetic energy of a moving body as a function of its speed alone.

The goal is to determine the function EE. We will find that the physics forces E(v)=cv2E(v)=cv^2 for a single positive constant cc (a unit convention; the Newtonian choice is c=12c=\tfrac12).

Assumptions

We make the following physical assumptions. Each is stated once and then used explicitly in the derivation.

Assumptions (P2), (P3), (P5) are the heart of the argument: the same physical collision is described in many inertial frames, the bookkeeping (P3)–(P4) must work in each, and the heat (P5) is the frame-independent glue that ties the descriptions together.

One collision, seen from every frame

Consider the simplest symmetric collision. Two identical balls, each of mass mm, move directly toward each other along a line, one at velocity +v+v and the other at v-v in the laboratory frame. They are made of clay: they collide, stick, and form a single body of mass 2m2m.

By momentum conservation (P3), the combined body has total momentum m(+v)+m(v)=0m(+v)+m(-v)=0, so it is at rest after the collision.

Now view this one event from a second inertial frame SS' moving at an arbitrary velocity bb relative to the lab. Velocities transform by uubu\mapsto u-b (P2). The velocities of the three objects — the two incoming balls and the final clump — are:

Object (mass)Lab frameFrame SS' (boost bb)Speed in SS'
Ball 1 (mm)+v+vvbv-bvb\lvert v-b\rvert
Ball 2 (mm)v-vvb-v-bv+b\lvert v+b\rvert
Final clump (2m2m)0b-bb\lvert b\rvert

We now write the energy balance (P4) in two frames and equate the heat (P5).

Laboratory frame. The two incoming balls have speed vv, so the initial kinetic energy is mE(v)+mE(v)=2mE(v)mE(v)+mE(v)=2mE(v). The final body is at rest, with kinetic energy 2mE(0)=02m\,E(0)=0. Hence the heat is

Q=2mE(v).Q=2mE(v).

Frame SS'. Using the speeds from the table and extensivity (P1), the initial kinetic energy is mE(vb)+mE(v+b)mE(|v-b|)+mE(|v+b|) and the final kinetic energy is the energy of the mass 2m2m moving at speed b|b|, namely 2mE(b)2m\,E(|b|). Energy balance (P4) in SS', with the same heat QQ by frame-invariance (P5), reads

mE(vb)+mE(v+b)=2mE(b)+Q.mE(|v-b|)+mE(|v+b|)=2m\,E(|b|)+Q.

Substituting (4) for QQ, dividing by mm, and using that EE is even (P1) to drop the absolute values, we obtain the central identity.

It holds for all bb precisely because the boost is arbitrary: each choice of frame SS' is an independent instance of energy conservation for the same event.

Lean: the parallelogram law and its basic consequences

The hypothesis is the predicate Parallelogram E.

KineticEnergyGalileanFlow.lean
/-- The **parallelogram law** (quadratic functional equation): `E (v+b)+E (v-b)=2E v+2E b`.
This is the relation derived in `kinetic_energy_galilean.md` from a symmetric inelastic collision
viewed in an arbitrary inertial frame (boost `b`). -/
def Parallelogram (E : ℝ → ℝ) : Prop := ∀ v b : ℝ, E (v + b) + E (v - b) = 2 * E v + 2 * E b

From it one reads off E(0)=0E(0)=0, evenness, and the doubling slice E(2v)=4E(v)E(2v)=4E(v), which is exactly the equation of the companion note (parallelogram_isSolution).

KineticEnergyGalileanFlow.lean
/-- `E 0 = 0`. -/
theorem parallelogram_zero (h : Parallelogram E) : E 0 = 0 := by
  have h00 := h 0 0
  simp only [add_zero, sub_zero] at h00
  linarith

/-- `E` is even: `E (-x) = E x`. -/
theorem parallelogram_even (h : Parallelogram E) (x : ℝ) : E (-x) = E x := by
  have h0x := h 0 x
  rw [parallelogram_zero h] at h0x
  simp only [zero_add, zero_sub, mul_zero] at h0x
  linarith

/-- The **doubling relation** `E (2 x) = 4 E x` is the `b = x` slice of the parallelogram law.
This is exactly the equation studied in `scaling_functional_equation.md`. -/
theorem parallelogram_double (h : Parallelogram E) (x : ℝ) : E (2 * x) = 4 * E x := by
  have hxx := h x x
  rw [show x + x = 2 * x by ring, show x - x = (0 : ℝ) by ring, parallelogram_zero h] at hxx
  linarith

/-- Every solution of the parallelogram law solves the scaling equation `E (2 v) = 4 E v` of
`scaling_functional_equation.md` on the positive reals. -/
theorem parallelogram_isSolution (h : Parallelogram E) : ScalingFlow.IsSolution E :=
  fun v _ => parallelogram_double h v

The doubling relation is just one slice

Setting b=vb=v in (6) and using E(0)=0E(0)=0 gives

E(2v)+E(0)=2E(v)+2E(v)    E(2v)=4E(v).E(2v)+E(0)=2E(v)+2E(v)\;\Longrightarrow\; E(2v)=4E(v).

This is exactly the relation analysed in the scaling functional equation. The point of the present note is that this single slice (b=vb=v) is not enough: iterating E(2v)=4E(v)E(2v)=4E(v) only relates scales differing by integer powers of 2, a discrete set, which leaves an entire 1-periodic factor free. The parallelogram law is the full content of the physics — all boosts bb, not just b=vb=v — and as we show next it determines EE completely.

Solving the parallelogram law

We now extract E(v)=cv2E(v)=cv^2 from (6). Write c:=E(1)c:=E(1).

Step 1 — integer scaling. Fix vv and apply (6) with the two points nvnv and vv:

E(nv+v)+E(nvv)=2E(nv)+2E(v),E(nv+v)+E(nv-v)=2E(nv)+2E(v),

that is,

E((n+1)v)=2E(nv)+2E(v)E((n1)v).E\bigl((n+1)v\bigr)=2E(nv)+2E(v)-E\bigl((n-1)v\bigr).

With the initial data E(0v)=E(0)=0E(0\cdot v)=E(0)=0 and E(1v)=E(v)E(1\cdot v)=E(v), the recurrence (9) has the unique solution

E(nv)=n2E(v),n=0,1,2,,E(nv)=n^2E(v),\qquad n=0,1,2,\dots,

as one checks by induction: 2n2E(v)+2E(v)(n1)2E(v)=(n2+2n+1)E(v)=(n+1)2E(v)2n^2E(v)+2E(v)-(n-1)^2E(v)=(n^2+2n+1)E(v)=(n+1)^2E(v). By evenness this holds for all integers nZn\in\mathbb Z.

Step 2 — rational scaling. Applying Step 1 with vv replaced by v/nv/n gives E(v)=E(nvn)=n2E(v/n)E(v)=E\bigl(n\cdot\tfrac{v}{n}\bigr)=n^2E(v/n), hence

E ⁣(vn)=1n2E(v).E\!\left(\frac{v}{n}\right)=\frac{1}{n^2}E(v).

Combining the two, for any positive rational r=p/qr=p/q,

E(rv)=E ⁣(pvq)=p2E ⁣(vq)=p2q2E(v)=r2E(v).E(rv)=E\!\left(p\cdot\frac{v}{q}\right)=p^2\,E\!\left(\frac{v}{q}\right) =\frac{p^2}{q^2}E(v)=r^2E(v).

Setting v=1v=1 yields

E(r)=r2E(1)=cr2for every rational r,E(r)=r^2E(1)=c\,r^2\qquad\text{for every rational }r,

using evenness for r<0r<0.

Lean: Steps 1–2 — integer and rational scaling
KineticEnergyGalileanFlow.lean
/-- **Step 1 (integer scaling).** `E (n v) = n ^ 2 E v` for every natural `n`, by the second-order
recurrence `E ((n+1)v) = 2 E (n v) + 2 E v - E ((n-1) v)` coming from the parallelogram law. -/
theorem nat_scaling (h : Parallelogram E) (v : ℝ) (n : ℕ) :
    E ((n : ℝ) * v) = (n : ℝ) ^ 2 * E v := by
  suffices H : ∀ k : ℕ,
      E ((k : ℝ) * v) = (k : ℝ) ^ 2 * E v ∧
        E (((k : ℝ) + 1) * v) = ((k : ℝ) + 1) ^ 2 * E v from (H n).1
  intro k
  induction k with
  | zero => refine ⟨?_, ?_⟩ <;> simp [parallelogram_zero h]
  | succ k ih =>
    obtain ⟨ih1, ih2⟩ := ih
    refine ⟨by rw [show ((k + 1 : ℕ) : ℝ) = (k : ℝ) + 1 by push_cast; ring]; exact ih2, ?_⟩
    have hp := h (((k : ℝ) + 1) * v) v
    rw [show ((k : ℝ) + 1) * v + v = (((k : ℝ) + 1) + 1) * v by ring,
      show ((k : ℝ) + 1) * v - v = (k : ℝ) * v by ring, ih1, ih2] at hp
    rw [show ((k + 1 : ℕ) : ℝ) = (k : ℝ) + 1 by push_cast; ring]
    linear_combination hp

/-- **Step 1 (integer scaling), over `ℤ`.** `E (m v) = m ^ 2 E v` for every integer `m`. -/
theorem int_scaling (h : Parallelogram E) (m : ℤ) (v : ℝ) :
    E ((m : ℝ) * v) = (m : ℝ) ^ 2 * E v := by
  obtain ⟨n, rfl | rfl⟩ := Int.eq_nat_or_neg m
  · exact_mod_cast nat_scaling h v n
  · push_cast
    rw [show -(n : ℝ) * v = -((n : ℝ) * v) by ring, parallelogram_even h, nat_scaling h v n]
    ring

/-- `E (1 / n) = E 1 * (1 / n) ^ 2`, the reciprocal case of rational scaling. -/
theorem inv_value (h : Parallelogram E) (n : ℕ) (hn : n ≠ 0) :
    E ((n : ℝ)⁻¹) = E 1 * ((n : ℝ)⁻¹) ^ 2 := by
  have hn' : (n : ℝ) ≠ 0 := Nat.cast_ne_zero.mpr hn
  have hns := nat_scaling h ((n : ℝ)⁻¹) n
  rw [mul_inv_cancel₀ hn'] at hns
  have h2 : E ((n : ℝ)⁻¹) = E 1 * ((n : ℝ) ^ 2)⁻¹ := by
    rw [hns, mul_comm ((n : ℝ) ^ 2) (E ((n : ℝ)⁻¹)), mul_assoc,
      mul_inv_cancel₀ (pow_ne_zero 2 hn'), mul_one]
  rw [h2, inv_pow]

/-- **Step 2 (rational scaling).** `E q = E 1 * q ^ 2` for every rational `q`. -/
theorem rat_value (h : Parallelogram E) (q : ℚ) : E (q : ℝ) = E 1 * (q : ℝ) ^ 2 := by
  rw [Rat.cast_def, div_eq_mul_inv, int_scaling h q.num ((q.den : ℝ)⁻¹),
    inv_value h q.den q.den_nz]
  ring

Step 3 — all real speeds, by regularity. The rationals are dense in R\mathbb R. By the regularity assumption (P6), EE is continuous (the measurable case is discussed in The role of regularity). The two continuous functions E(x)E(x) and cx2cx^2 agree on the dense set Q\mathbb Q by (13), so they agree everywhere:

E(v)=cv2,c=E(1)>0.\boxed{\,E(v)=c\,v^2\,,\qquad c=E(1)>0.}

This is the kinetic energy law. The constant cc is fixed by a choice of units; the Newtonian convention E(v)=12v2E(v)=\tfrac12 v^2 corresponds to c=12c=\tfrac12.

Lean: Step 3 — continuity forces the quadratic, and the converse

The continuous solution agrees with E(1)v2E(1)\,v^2 on the dense set Q\mathbb Q, hence everywhere.

KineticEnergyGalileanFlow.lean
/-- **The note's Step 3.** A *continuous* solution of the parallelogram law is the quadratic
`E v = E 1 * v ^ 2`: it agrees with `E 1 * v ^ 2` on the dense set `ℚ` by `rat_value`, and both
sides are continuous. -/
theorem eq_quadratic_of_continuous (h : Parallelogram E) (hc : Continuous E) (x : ℝ) :
    E x = E 1 * x ^ 2 := by
  have hE : E = fun x => E 1 * x ^ 2 := by
    apply Rat.denseRange_cast.equalizer hc (continuous_const.mul (continuous_pow 2))
    funext q
    exact rat_value h q
  exact congrFun hE x

Conversely, every quadratic E(v)=cv2E(v)=c\,v^2 satisfies the parallelogram law, so the description is exact.

KineticEnergyGalileanFlow.lean
/-- **Converse.** Every quadratic `E v = c v ^ 2` satisfies the parallelogram law. -/
theorem parallelogram_quadratic (c : ℝ) : Parallelogram (fun x => c * x ^ 2) := by
  intro v b
  simp only []
  ring

Why the density argument is legitimate here

It is worth contrasting this with the companion note, because the same-looking density step fails there and succeeds here.

reachable scalings λ\lambda with E(λv)=λ2E(v)E(\lambda v)=\lambda^2E(v)in log2\log_2 coordinatesdense in R\mathbb R?conclusion
doubling E(2v)=4E(v)E(2v)=4E(v) alone{2n:nZ}\{2^n:n\in\mathbb Z\}the integers Z\mathbb Zno1-periodic factor survives
parallelogram lawall rationals Q>0\mathbb Q_{>0}denseyesE=cv2E=cv^2

Iterating the doubling relation can only multiply or divide a speed by 2, so it reaches the discrete group {2n}\{2^n\}; its logarithm is the lattice Z\mathbb Z, which is not dense, and continuity buys nothing beyond the periodicity already present. The parallelogram law instead delivers scaling by every rational, a dense set, so continuity legitimately extends (13) to all reals. The extra strength is precisely the boosts bvb\neq v: the doubling relation is the lone instance b=vb=v.

The role of regularity

Some regularity (P6) is genuinely needed: without it, (6) has pathological non-measurable solutions built from a Hamel basis of R\mathbb R over Q\mathbb Q (the same mechanism that produces nonlinear solutions of Cauchy’s additive equation). These are physically irrelevant but mathematically real, so some hypothesis must exclude them.

Lean: a non-measurable, non-quadratic solution exists

For a non-linear additive aa (a Hamel-basis solution of Cauchy’s equation), E(x)=a(x)xE(x)=a(x)\,x satisfies the parallelogram law but is not cx2c x^2.

KineticEnergyGalileanFlow.lean
/-- **Without regularity the parallelogram law has non-quadratic solutions.** If `a : ℝ → ℝ` is a
non-linear additive map (a Hamel-basis solution of Cauchy's equation,
`CstarFlow.exists_additive_not_linear`), then `E x = a x * x` satisfies the parallelogram law but is
not of the form `c x ^ 2`. Such an `E` is non-measurable (else it would be quadratic by
`eq_quadratic_of_measurable`); the construction depends on the axiom of choice. -/
theorem exists_parallelogram_not_quadratic :
    ∃ E : ℝ → ℝ, Parallelogram E ∧ ¬ ∃ c : ℝ, ∀ x, E x = c * x ^ 2 := by
  obtain ⟨a, hadd, hnl⟩ := CstarFlow.exists_additive_not_linear
  have ha0 : a 0 = 0 := by have := hadd 0 0; simp only [add_zero] at this; linarith
  refine ⟨fun x => a x * x, ?_, ?_⟩
  · intro v b
    simp only []
    have hsub : a (v - b) = a v - a b := by
      have := hadd (v - b) b
      rw [sub_add_cancel] at this
      linarith
    rw [hadd v b, hsub]; ring
  · rintro ⟨c, hc⟩
    apply hnl
    refine ⟨c, fun x => ?_⟩
    rcases eq_or_ne x 0 with rfl | hx
    · simp [ha0]
    · have hcx : a x * x = c * x * x := by have := hc x; simp only at this; rw [this]; ring
      exact mul_right_cancel₀ hx hcx

Continuity is the most transparent choice and is what we used in Step 3. However, the much weaker assumption of Lebesgue measurability already suffices: measurable solutions of the quadratic functional equation (6) are automatically continuous (a Steinhaus-type argument, exactly as for the additive Cauchy equation), after which Step 3 applies unchanged. Physically, measurability is an extremely mild requirement — it merely says that the heat produced is a measurable function of the impact speed — so the quadratic law E(v)=cv2E(v)=cv^2 is forced under any reasonable regularity at all.

In the Lean development the measurable case is handled directly through the polarization pol(x,y)=14(E(x+y)E(xy))\operatorname{pol}(x,y)=\tfrac14\bigl(E(x+y)-E(x-y)\bigr), which the parallelogram law makes symmetric and biadditive. Each slice xpol(x,y)x\mapsto\operatorname{pol}(x,y) is therefore a measurable additive map, hence linear (reusing the measurable additive Cauchy theorem from the companion C*-note); evaluating on the diagonal, E(x)=pol(x,x)=E(1)x2E(x)=\operatorname{pol}(x,x)=E(1)\,x^2.

Lean: the polarization is symmetric, biadditive, and measurable-linear
KineticEnergyGalileanFlow.lean
/-- `polar E x x = E x` (the diagonal recovers `E`). -/
theorem polar_self (h : Parallelogram E) (x : ℝ) : polar E x x = E x := by
  simp only [polar]
  rw [show x + x = 2 * x by ring, parallelogram_double h, show x - x = (0 : ℝ) by ring,
    parallelogram_zero h]
  ring

/-- `polar E 0 y = 0`. -/
theorem polar_zero_left (h : Parallelogram E) (y : ℝ) : polar E 0 y = 0 := by
  have hy : E (0 - y) = E y := by rw [zero_sub]; exact parallelogram_even h y
  simp only [polar, zero_add, hy, sub_self, zero_div]

/-- **Jensen's identity for the polarization** (from the parallelogram law applied twice):
`polar E (x+x') y + polar E (x-x') y = 2 * polar E x y`. -/
theorem polar_jensen (h : Parallelogram E) (x x' y : ℝ) :
    polar E (x + x') y + polar E (x - x') y = 2 * polar E x y := by
  have hA := h (x + y) x'
  rw [show x + y + x' = x + x' + y by ring, show x + y - x' = x - x' + y by ring] at hA
  have hB := h (x - y) x'
  rw [show x - y + x' = x + x' - y by ring, show x - y - x' = x - x' - y by ring] at hB
  simp only [polar]
  linarith [hA, hB]

/-- **Additivity of the polarization in the first slot.** This is Jensen's identity together with
`polar E 0 y = 0`. -/
theorem polar_add_left (h : Parallelogram E) (x x' y : ℝ) :
    polar E (x + x') y = polar E x y + polar E x' y := by
  have hj := polar_jensen h ((x + x') / 2) ((x - x') / 2) y
  rw [show (x + x') / 2 + (x - x') / 2 = x by ring,
    show (x + x') / 2 - (x - x') / 2 = x' by ring] at hj
  have hh := polar_jensen h ((x + x') / 2) ((x + x') / 2) y
  rw [show (x + x') / 2 + (x + x') / 2 = x + x' by ring,
    show (x + x') / 2 - (x + x') / 2 = (0 : ℝ) by ring, polar_zero_left h] at hh
  linarith [hj, hh]

/-- The polarization is symmetric: `polar E x y = polar E y x` (from evenness). -/
theorem polar_symm (h : Parallelogram E) (x y : ℝ) : polar E x y = polar E y x := by
  simp only [polar]
  rw [add_comm y x, show y - x = -(x - y) by ring, parallelogram_even h]

/-- If `E` is measurable, so is each slice `x ↦ polar E x y`. -/
theorem polar_measurable (hm : Measurable E) (y : ℝ) : Measurable (fun x => polar E x y) := by
  simp only [polar]
  exact ((hm.comp (measurable_id.add_const y)).sub
    (hm.comp (measurable_id.sub_const y))).div_const 4

/-- **Linearity of the polarization in the first slot, for measurable `E`.** Each slice is a
measurable additive map `ℝ → ℝ`, hence linear by `CstarFlow.cauchy_additive_measurable_linear`. -/
theorem polar_linear_left (h : Parallelogram E) (hm : Measurable E) (x y : ℝ) :
    polar E x y = polar E 1 y * x := by
  have hlin := CstarFlow.cauchy_additive_measurable_linear (fun t => polar E t y)
    (fun a b => polar_add_left h a b y) (polar_measurable hm y)
  simpa using hlin x
Lean: measurability forces the quadratic
KineticEnergyGalileanFlow.lean
/-- **Measurability forces the quadratic.** A measurable solution of the parallelogram law is
`E v = E 1 * v ^ 2`. From `polar E x x = E x` and bilinearity,
`E x = polar E x x = (polar E 1 1) * x ^ 2 = E 1 * x ^ 2`. -/
theorem eq_quadratic_of_measurable (h : Parallelogram E) (hm : Measurable E) (x : ℝ) :
    E x = E 1 * x ^ 2 := by
  have hxx : E x = polar E x x := (polar_self h x).symm
  have h1 : polar E x x = polar E 1 x * x := polar_linear_left h hm x x
  have h2 : polar E 1 x = E 1 * x := by
    rw [polar_symm h 1 x, polar_linear_left h hm x 1, polar_self h 1]
  rw [hxx, h1, h2]; ring

Remark: the name “parallelogram law”

Equation (6) is the classical parallelogram identity

x+y2+xy2=2x2+2y2\|x+y\|^2+\|x-y\|^2=2\|x\|^2+2\|y\|^2

with E()=2E(\cdot)=\|\cdot\|^2. The associated symmetric form

B(x,y):=14(E(x+y)E(xy))B(x,y):=\tfrac14\bigl(E(x+y)-E(x-y)\bigr)

is biadditive — additive in each slot, which the parallelogram law guarantees on its own — and E(x)=B(x,x)E(x)=B(x,x), the polarization identity. So the physics says that kinetic energy is a quadratic form in velocity.

There is a subtlety here, and it is the same regularity assumption as before. Biadditivity makes BB bilinear only over Q\mathbb Q: B(qx,y)=qB(x,y)B(qx,y)=q\,B(x,y) for rational qq. Concluding B(x,y)=cxyB(x,y)=c\,xy (hence E(v)=cv2E(v)=cv^2 in one dimension) needs bilinearity over R\mathbb R, i.e. B(λx,y)=λB(x,y)B(\lambda x,y)=\lambda\,B(x,y) for real λ\lambda, and upgrading Q\mathbb Q-homogeneity to R\mathbb R-homogeneity is exactly the Cauchy/Steinhaus step — it requires the regularity (P6). Without it there are wild Q\mathbb Q-bilinear forms: the non-measurable solution E(x)=a(x)xE(x)=a(x)\,x of The role of regularity has polarization B(x,y)=12(a(x)y+a(y)x)B(x,y)=\tfrac12\bigl(a(x)\,y+a(y)\,x\bigr), which is symmetric and biadditive with B(x,x)=E(x)B(x,x)=E(x), yet is not cxyc\,xy. So “every quadratic form is cv2cv^2” holds only for the measurable (equivalently, R\mathbb R-bilinear) ones.

With that regularity in hand, the one-dimensional form is cv2cv^2; in three dimensions the same argument applied componentwise, together with isotropy (P1), gives E(v)=cv2E(\mathbf v)=c\,\lVert\mathbf v\rVert^2. For a genuine norm the regularity is automatic — a norm is continuous — and the statement that a norm obeying the parallelogram law comes from an inner product is the Jordan–von Neumann theorem.

Summary

Relativistic kinetic energy: replacing Galilean by Lorentz boosts

The derivation above used relativity at only one point: “view the same collision from a frame moving at velocity bb.” Special relativity changes that one kinematic ingredient — boosts compose by adding rapidity, not velocity — and everything else follows from the same symmetries. In particular we do not assume mass–energy equivalence, nor that the dissipated heat raises the blob’s rest mass; we assume only the symmetries (Lorentz covariance, energy and momentum conservation, extensivity, regularity) and derive E=mc2E=mc^2, the Lorentz factor, the form of the relativistic momentum, and the kinetic energy Ekin=(γ1)mc2E_{\text{kin}}=(\gamma-1)mc^2 from them.

One change: boosts add rapidity

Collinear Lorentz boosts do not add velocities; instead the rapidity ϕ:=artanh(v/c)\phi:=\operatorname{artanh}(v/c) adds. A boost by rapidity β\beta sends ϕϕβ\phi\mapsto\phi-\beta, exactly as a Galilean boost sent vvbv\mapsto v-b. In rapidity variables, Lorentz boosts look Galilean. The only kinematic identity we need is its definition,

tanhϕ=vc,\tanh\phi=\frac{v}{c},

together with the trig consequence coshϕ=1/1v2/c2\cosh\phi=1/\sqrt{1-v^2/c^2}. The total energy per unit rest mass, E(ϕ)\mathcal E(\phi), is an unknown function: determining its form is the whole point of this section.

Assumptions: only symmetries

So the only post-Newtonian input is (P2′). The other hypotheses are either symmetries already present in the Galilean derivation ((P1), (P3), (P4), (P6)) or a direct consequence of Lorentz covariance ((P5′): a body at rest carries a Lorentz-invariant label). No relativistic law — not E=mc2E=mc^2, not the form of pp, not the mass increase — is assumed; each is derived below.

The collision, in rapidity variables

Take the same symmetric collision: two rest-mass-mm particles at rapidities +ϕ+\phi and ϕ-\phi (velocities ±v\pm v). By momentum conservation and the symmetry of the setup (P3′) they form a blob at rest (rapidity 0). Let MM be the blob’s invariant rest mass (P5′); it is not assumed to equal 2m2m.

Lab frame. Energy conservation (P4′) with extensivity (P1′): the incoming particles contribute mE(ϕ)+mE(ϕ)=2mE(ϕ)m\,\mathcal E(\phi)+m\,\mathcal E(-\phi)=2m\,\mathcal E(\phi), and the blob at rest contributes ME(0)M\,\mathcal E(0). Hence

ME(0)=2mE(ϕ),i.e.M=2mE(ϕ)E(0).M\,\mathcal E(0)=2m\,\mathcal E(\phi), \qquad\text{i.e.}\qquad M=\frac{2m\,\mathcal E(\phi)}{\mathcal E(0)}.

We take the non-degenerate case E(0)0\mathcal E(0)\ne 0: if E(0)=0\mathcal E(0)=0 then the balance forces E(ϕ)=0\mathcal E(\phi)=0 for every collision, i.e. E0\mathcal E\equiv0, the trivial theory (the Galilean limit, where mass conservation is decoupled, is recovered separately in Deriving E=mc2E=mc^2: the non-relativistic limit).

This is the decisive difference from the Galilean case. There E(0)=0\mathcal E(0)=0, so the blob’s rest energy ME(0)M\,\mathcal E(0) vanished and the balance above reduced to 0=00=0 — it said nothing about MM, and a separate mass-conservation law had to be adjoined to force M=2mM=2m. Here E(0)0\mathcal E(0)\ne0, so energy conservation fixes MM on its own, and mass is not separately conserved.

Boosted frame. Now view the collision from a frame boosted by rapidity β\beta. By (P2′) rapidities add: particle A has rapidity ϕβ\phi-\beta, particle B has ϕβ-\phi-\beta, and the blob has β-\beta. The blob’s invariant mass is still MM ((P5′), a Lorentz scalar). Energy conservation (P4′) in this frame reads

mE(ϕβ)+mE(ϕβ)=ME(β).m\,\mathcal E(\phi-\beta)+m\,\mathcal E(-\phi-\beta)=M\,\mathcal E(-\beta).

Substituting M=2mE(ϕ)/E(0)M=2m\,\mathcal E(\phi)/\mathcal E(0) and using that E\mathcal E is even (E(ϕβ)=E(ϕ+β)\mathcal E(-\phi-\beta)=\mathcal E(\phi+\beta), E(β)=E(β)\mathcal E(-\beta)=\mathcal E(\beta)) gives the central identity.

This is the multiplicative cousin of the parallelogram law: the additive right-hand side 2E(ϕ)+2E(β)2\mathcal E(\phi)+2\mathcal E(\beta) has become the product 2E(0)E(ϕ)E(β)\tfrac{2}{\mathcal E(0)}\mathcal E(\phi)\mathcal E(\beta), precisely because the conserved blob on the right is itself labeled by its rest energy ME(0)M\,\mathcal E(0), and energy conservation ties MM to the collision energy. Note the constant is 2/E(0)2/\mathcal E(0) — with the unknown rest energy per unit mass E(0)\mathcal E(0), not 2/c22/c^2. We have not assumed E=mc2E=mc^2; E(0)\mathcal E(0) is determined in Deriving E=mc2E=mc^2: the non-relativistic limit.

Solving d’Alembert’s equation

The measurable (equivalently, continuous) solutions of (21) with γE(0)=1\gamma_{\mathcal E}(0)=1 are

γE(ϕ)=cosh(aϕ),γE(ϕ)=cos(aϕ),orγE1,\gamma_{\mathcal E}(\phi)=\cosh(a\phi),\qquad \gamma_{\mathcal E}(\phi)=\cos(a\phi),\qquad\text{or}\qquad \gamma_{\mathcal E}\equiv 1,

for a constant aa. (Without regularity there are again Hamel-basis pathologies.) The physics selects one branch: energy is minimized at rest and grows with speed, so γE1\gamma_{\mathcal E}\ge 1 and increases with ϕ|\phi|, which rules out cos(aϕ)\cos(a\phi) — it dips below 1 — and the constant. Hence γE(ϕ)=cosh(aϕ)\gamma_{\mathcal E}(\phi)=\cosh(a\phi), i.e.

E(ϕ)=E(0)cosh(aϕ).\mathcal E(\phi)=\mathcal E(0)\cosh(a\phi).

The constant aa sets the scale of rapidity; it is pinned to a=1a=1 by the non-relativistic limit below (matching Ekin12mv2E_{\text{kin}}\to\tfrac12 mv^2), exactly as the free constant in the Galilean law E=cv2E=cv^2 was fixed by the Newtonian unit convention. Thus E(ϕ)=E(0)coshϕ\mathcal E(\phi)=\mathcal E(0)\cosh\phi, and — using cosh(artanh(v/c))=1/1v2/c2\cosh(\operatorname{artanh}(v/c))=1/\sqrt{1-v^2/c^2} — as a function of velocity

E(v)=E(0)1v2/c2.\mathcal E(v)=\frac{\mathcal E(0)}{\sqrt{1-v^2/c^2}}.

Deriving E=mc2E=mc^2: the non-relativistic limit

Up to the single constant E(0)\mathcal E(0) — the rest energy per unit mass — the energy function is now fixed. This constant is not a convention: in a Lorentz-covariant theory the rest energy is a genuine physical quantity (energy is the time component of the energy–momentum and cannot be shifted by an additive constant without breaking covariance), unlike in the Galilean theory where it was set to zero. It is fixed by requiring the theory to reduce to the Galilean one at small speeds.

Expanding (23) at small rapidity, ϕ=artanh(v/c)v/c\phi=\operatorname{artanh}(v/c)\to v/c,

E(ϕ)=E(0)coshϕ=E(0)+12E(0)ϕ2+O(ϕ4),\mathcal E(\phi)=\mathcal E(0)\cosh\phi =\mathcal E(0)+\tfrac12\mathcal E(0)\phi^2+O(\phi^4),

so the kinetic energy per unit mass is

E(ϕ)E(0)=E(0)2c2v2+O(v4).\mathcal E(\phi)-\mathcal E(0)=\frac{\mathcal E(0)}{2c^2}\,v^2+O(v^4).

The first half of this note showed the Galilean kinetic energy per unit mass is 12v2\tfrac12 v^2. Matching the leading term forces

  E(0)=c2.  \boxed{\;\mathcal E(0)=c^2.\;}

So the rest energy is mc2mc^2 — mass–energy equivalence — is a theorem: the output of the low-velocity limit, not an assumption. With E(0)=c2\mathcal E(0)=c^2, the energy ratio γE=E/c2\gamma_{\mathcal E}=\mathcal E/c^2 becomes the usual Lorentz factor γ=1/1v2/c2=coshϕ\gamma=1/\sqrt{1-v^2/c^2}=\cosh\phi (henceforth we drop the subscript), and

E(v)=c21v2/c2=γc2,\mathcal E(v)=\frac{c^2}{\sqrt{1-v^2/c^2}}=\gamma\,c^2,

so the total and kinetic energies of a body of rest mass mm are

E=γmc2,Ekin=(γ1)mc2.E=\gamma\,mc^2,\qquad \boxed{\,E_{\text{kin}}=(\gamma-1)\,mc^2\,.}

The non-relativistic limit recovers the parallelogram law

Write E=c2+ε\mathcal E=c^2+\varepsilon, with ε\varepsilon the kinetic energy per unit mass. Substituting into (20) (now with E(0)=c2\mathcal E(0)=c^2) and cancelling the common 2c22c^2,

ε(ϕ+β)+ε(ϕβ)=2ε(ϕ)+2ε(β)+2c2ε(ϕ)ε(β).\varepsilon(\phi+\beta)+\varepsilon(\phi-\beta) =2\varepsilon(\phi)+2\varepsilon(\beta)+\frac{2}{c^2}\,\varepsilon(\phi)\,\varepsilon(\beta).

As cc\to\infty the last term vanishes and ϕv/c\phi\to v/c becomes proportional to vv, so ε\varepsilon — as a function of the rescaled velocity — satisfies the parallelogram law (6) of the previous sections, returning the quadratic εv2\varepsilon\propto v^2. Quantitatively, ε=c2(coshϕ1)12v2\varepsilon=c^2(\cosh\phi-1)\approx\tfrac12v^2; matching the Newtonian value is exactly what fixed E(0)=c2\mathcal E(0)=c^2 (and a=1a=1) above. The relativistic d’Alembert law contains the Galilean parallelogram law as its cc\to\infty shadow.

Derived corollary: the heat has mass

The blob’s invariant mass was not assumed — it was fixed by the lab-frame balance (18). Substituting E(ϕ)=c2coshϕ=c2γ\mathcal E(\phi)=c^2\cosh\phi=c^2\gamma and E(0)=c2\mathcal E(0)=c^2,

M=2mE(ϕ)E(0)=2mcoshϕ=2γm.M=\frac{2m\,\mathcal E(\phi)}{\mathcal E(0)}=2m\cosh\phi=2\gamma\,m.

So the rest mass grows in the collision, by

M2m=2(γ1)m=2(γ1)mc2c2=Qc2,M-2m=2(\gamma-1)m=\frac{2(\gamma-1)mc^2}{c^2}=\frac{Q}{c^2},

where Q=2(γ1)mc2Q=2(\gamma-1)mc^2 is exactly the kinetic energy lost — the heat. The “frame-invariant heat” of the Galilean derivation is, relativistically, the increase in invariant rest mass, and Q=ΔMc2Q=\Delta M\,c^2 is a direct consequence of E(0)=c2\mathcal E(0)=c^2, not an additional hypothesis. That is why the conserved object on the right of (20) is multiplicative rather than additive.

The relativistic momentum

The collision has so far been mined only for the energy: writing energy balance in two frames gave d’Alembert’s equation, hence E(ϕ)=c2coshϕ\mathcal E(\phi)=c^2\cosh\phi. We now extract the momentum pp from the same collision — again without assuming its form, only that it is conserved (P3′) and extensive in rest mass.

Like energy, momentum is extensive in the amount of matter: a body of rest mass μ\mu at rapidity ϕ\phi carries momentum μπ(ϕ)\mu\,\pi(\phi) for a single function π\pi, which is odd (π(ϕ)=π(ϕ)\pi(-\phi)=-\pi(\phi)) by parity/isotropy. This is the momentum analog of (P1′), and it follows from momentum additivity over co-moving constituents. We do not assume π(ϕ)=csinhϕ\pi(\phi)=c\sinh\phi; we derive it.

The lab frame is trivial. By the vvv\leftrightarrow -v symmetry of the setup the incoming momenta mπ(ϕ)+mπ(ϕ)=0m\,\pi(\phi)+m\,\pi(-\phi)=0 cancel, so the blob is at rest. This is everything (P3′) gave us in the energy derivation, and it determines nothing about π\pi. The information sits in a boosted frame, where the cancellation is no longer trivial.

Boosted frame. View the collision from a frame boosted by rapidity β\beta. Rapidities add: the particles are at ϕβ\phi-\beta and ϕβ-\phi-\beta, the blob at β-\beta, and its mass is still M=2mcoshϕM=2m\cosh\phi (a Lorentz scalar, already fixed by the energy balance). Momentum conservation (P3′), valid in this frame by Lorentz covariance of the conservation law, reads

mπ(ϕβ)+mπ(ϕβ)=Mπ(β).m\,\pi(\phi-\beta)+m\,\pi(-\phi-\beta)=M\,\pi(-\beta).

Using oddness on both sides and substituting M=2mcoshϕM=2m\cosh\phi,

π(ϕ+β)π(ϕβ)=2coshϕπ(β).\pi(\phi+\beta)-\pi(\phi-\beta)=2\cosh\phi\,\pi(\beta).

This holds for all ϕ,β\phi,\beta. Since they are arbitrary we may swap them; using oddness once more gives the companion identity

π(ϕ+β)+π(ϕβ)=2coshβπ(ϕ).\pi(\phi+\beta)+\pi(\phi-\beta)=2\cosh\beta\,\pi(\phi).

Adding (34) and (35),

π(ϕ+β)=coshϕπ(β)+coshβπ(ϕ).\boxed{\,\pi(\phi+\beta)=\cosh\phi\,\pi(\beta)+\cosh\beta\,\pi(\phi)\,.}

This is precisely the addition formula for sinh\sinh, the momentum cousin of d’Alembert’s equation. With the regularity assumption (P6′) its unique odd solution is π(ϕ)=Asinhϕ\pi(\phi)=A\sinh\phi for a constant AA: differentiating in β\beta at β=0\beta=0 gives π(ϕ)=π(0)coshϕ\pi'(\phi)=\pi'(0)\cosh\phi, hence π=Asinhϕ\pi=A\sinh\phi; and (as for the energy equation) measurability excludes Hamel-type pathologies, since an additive perturbation hh would have to satisfy h(ϕ+β)=coshϕh(β)+coshβh(ϕ)h(\phi+\beta)=\cosh\phi\,h(\beta)+\cosh\beta\,h(\phi), which forces h0h\equiv0.

Fixing the constant. At small rapidity sinhϕϕv/c\sinh\phi\approx\phi\approx v/c, so p=mπ(ϕ)mAv/cp=m\,\pi(\phi)\approx mA\,v/c. The relativistic theory must reduce to the Galilean one, whose momentum is p=mvp=mv (the collision axiom (P3) of the first half of this note). Matching gives A=cA=c, hence

π(ϕ)=csinhϕ,p=mcsinhϕ=mγv,\pi(\phi)=c\sinh\phi,\qquad p=mc\sinh\phi=m\gamma v,

using sinh(artanh(v/c))=γv/c\sinh(\operatorname{artanh}(v/c))=\gamma v/c.

The two derivations are exact twins: d’Alembert’s equation fixes the “time” component coshϕ\cosh\phi (the energy); the addition formula (36) fixes the “space” component sinhϕ\sinh\phi (the momentum); and the two non-relativistic limits fix the overall scales to c2c^2 and cc.

Why mass–energy equivalence is a relativistic phenomenon

The Galilean and relativistic regimes differ at exactly one point: the value of the rest energy E(0)\mathcal E(0).

So E=mc2E=mc^2 is precisely the statement “E(0)0\mathcal E(0)\ne0”: rest energy is a nonzero physical scale, energy conservation alone accounts for the mass of composite bodies, and the entire relativistic energy structure follows from Lorentz symmetry plus this one derived constant. The momentum structure is its exact twin (The relativistic momentum): together the two collision functional equations produce the energy–momentum 4-vector (E/c,p)=mc(coshϕ,sinhϕ)(E/c,\,p)=mc(\cosh\phi,\sinh\phi) as a derived object, with invariant E2(pc)2=(mc2)2E^2-(pc)^2=(mc^2)^2.