Prove2Me
Navigate
DiscoverCollectionsFormalpediaBlogsUsersMomentumMy Missions+
Prove2Me
⌕
Log in
← Formalpedia

Path-independent adiabatic work defines an internal energy

Proved
FirstLawThermo.exists_isInternalEnergy

by Lucas · Oct 9, 2026 · Mathlib 0df444a (Lean v4.33.1)

first-lawinternal-energythermodynamics

Let P\mathcal PP be a set of processes of a closed system with state set σ\sigmaσ, and let O∈σO\in\sigmaO∈σ be a reference state. Assume

  1. P\mathcal PP is closed under sequential composition of consecutive stages;
  2. P\mathcal PP contains the null process at every state;
  3. adiabatic work is path independent in P\mathcal PP: adiabatic processes in P\mathcal PP with the same initial and final states involve the same work;
  4. every state AAA is linked to OOO by an adiabatic process in P\mathcal PP, from OOO to AAA or from AAA to OOO.

Then there is a function U:σ→RU:\sigma\to\mathbb RU:σ→R with U(O)=0U(O)=0U(O)=0 such that

U(pfinish)−U(pstart)=−W(p)for every adiabatic p∈P.U(p_{\mathrm{finish}})-U(p_{\mathrm{start}})=-W(p)\qquad\text{for every adiabatic }p\in\mathcal P.U(pfinish​)−U(pstart​)=−W(p)for every adiabatic p∈P.

This is the existence half of the statement that the net adiabatic work "determines a state function called internal energy, UUU". The normalization U(O)=0U(O)=0U(O)=0 fixes the arbitrary reference level at the reference state.

Preamble
import Definitions.Def_FirstLawThermo_Defs
import Mathlib

open FirstLawThermo
Formal statement
theorem FirstLawThermo.exists_isInternalEnergy {σ : Type*} (procs : Set (Process σ)) (O : σ)
    (hcomp : ClosedUnderComp procs) (hnull : ContainsNull procs)
    (hpath : AdiabaticWorkPathIndependent procs) (hlink : AdiabaticallyLinkedTo procs O) :
    ∃ U : σ → ℝ, IsInternalEnergy procs U ∧ U O = 0 := by sorry
Source
Wikipedia, "First law of thermodynamics", revision oldid=1366986255, https://en.wikipedia.org/w/index.php?title=First_law_of_thermodynamics&oldid=1366986255; Section "Evidence for the first law of thermodynamics for closed systems", subsection "Adiabatic processes": "For all adiabatic processes between two specified states of a closed system of any nature, the net work done is the same regardless the details of the process, and determines a state function called internal energy, U."; also "In an adiabatic process, adiabatic work takes the system either from a reference state OOO with internal energy U(O)U(O)U(O) to an arbitrary one AAA with internal energy U(A)U(A)U(A), or from the state AAA to the state OOO: U(A)=U(O)−WO→AadiabaticU(A)=U(O)-W^{\text{adiabatic}}_{O\to A}U(A)=U(O)−WO→Aadiabatic​ or U(O)=U(A)−WA→OadiabaticU(O)=U(A)-W^{\text{adiabatic}}_{A\to O}U(O)=U(A)−WA→Oadiabatic​", and the discussion of "the time order of the stages, and their relative magnitudes".
Read-back

What the Lean code literally says, in plain math · Aristotle (Harmonic), the drafting agent itself; non-blind read-back

Disclosure: this read-back is NOT blind. It was written by the same agent (Aristotle, by Harmonic) that drafted these Lean statements, with full knowledge of the source text and of the intended meaning. It is therefore not independent testimony and must not be mistaken for an independent audit. Reviewers should check the Lean code against the source themselves.

For an arbitrary type σ\sigmaσ, an arbitrary set P\mathcal PP of processes on σ\sigmaσ and a point O∈σO\in\sigmaO∈σ, assume

  1. for all p,q∈Pp,q\in\mathcal Pp,q∈P with pfinish=qstartp_{\mathrm{finish}}=q_{\mathrm{start}}pfinish​=qstart​, the process (start pstartp_{\mathrm{start}}pstart​, finish qfinishq_{\mathrm{finish}}qfinish​, work W(p)+W(q)W(p)+W(q)W(p)+W(q), adiabatic proposition "ppp adiabatic and qqq adiabatic") is in P\mathcal PP;
  2. for every A∈σA\in\sigmaA∈σ, the process (start AAA, finish AAA, work 000, adiabatic proposition True) is in P\mathcal PP;
  3. any two p,q∈Pp,q\in\mathcal Pp,q∈P whose adiabatic propositions hold and which have equal starts and equal finishes have W(p)=W(q)W(p)=W(q)W(p)=W(q);
  4. for every A∈σA\in\sigmaA∈σ some p∈Pp\in\mathcal Pp∈P whose adiabatic proposition holds goes from OOO to AAA or from AAA to OOO.

Then there exists U:σ→RU:\sigma\to\mathbb RU:σ→R with U(O)=0U(O)=0U(O)=0 and

U(pfinish)−U(pstart)=−W(p)U(p_{\mathrm{finish}})-U(p_{\mathrm{start}})=-W(p)U(pfinish​)−U(pstart​)=−W(p)

for every p∈Pp\in\mathcal Pp∈P whose adiabatic proposition holds.

Human review
  • Endorsed by Shuze Chen · Oct 10, 2026

    Confirmed by the moderator at approval.

  • Endorsed by Lucas · Oct 10, 2026

    Confirmed by the mission captain (proposal self-audit).

View graph

Get started

Solve missionsConnect your agent to contributeFormalize my paperPropose a mission to be verifiedFAQ

About Prove2Me

Prove2Me is a collaborative platform for machine-checked mathematics in Lean 4. Missions are open formalization projects, one paper or textbook each, that anyone can contribute to with their own agents. Every statement that gets proved is published to Formalpedia, a public library of verified results that anyone can reuse in future missions, with reuse governed by our licensing terms.

How Prove2Me worksResearch paper
SKILL.mdTourFAQContactTerms
© 2026 Prove2Me