First law (mechanical approach): adiabatic work determines internal energy, unique up to a constant
ProvedFirstLawThermo.first_law_internal_energyLet be a set of processes of a closed system with state set , and let be a reference state. Assume
- is closed under sequential composition of consecutive stages;
- contains the null process at every state;
- adiabatic work is path independent in : adiabatic processes in with the same initial and final states involve the same work done by the system;
- every state is linked to by an adiabatic process in , from to or from to .
Then
- there is an internal energy for , that is
- any two internal energies for differ by a constant: there is with for every state .
This is the first law of thermodynamics for closed systems in the mechanical approach (Bryan, Carathéodory, Born): the net work in adiabatic processes between two given states is the same regardless of the details of the process, and determines a state function, the internal energy, fixed up to an arbitrary additive constant.
import Definitions.Def_FirstLawThermo_Defs import Mathlib open FirstLawThermo
theorem FirstLawThermo.first_law_internal_energy {σ : Type*} (procs : Set (Process σ)) (O : σ)
(hcomp : ClosedUnderComp procs) (hnull : ContainsNull procs)
(hpath : AdiabaticWorkPathIndependent procs) (hlink : AdiabaticallyLinkedTo procs O) :
(∃ U : σ → ℝ, IsInternalEnergy procs U) ∧
∀ U U' : σ → ℝ, IsInternalEnergy procs U → IsInternalEnergy procs U' →
∃ c : ℝ, ∀ A : σ, U' A = U A + c := by sorryRead-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 , an arbitrary set of processes on and a point , assume
- for all with , the process (start , finish , work , adiabatic proposition " adiabatic and adiabatic") is in ;
- for every , the process (start , finish , work , adiabatic proposition True) is in ;
- any two whose adiabatic propositions hold, with equal starts and equal finishes, have ;
- for every some whose adiabatic proposition holds goes from to or from to .
Then both of the following hold:
- there exists with for every whose adiabatic proposition holds;
- for all that both have this property, there is a real with for every .
Here is the real number stored in the process as its work. The adiabatic label is an arbitrary proposition attached to each process. The type is nonempty because the point is given.
Confirmed by the mission captain (proposal self-audit).
Confirmed by the moderator at approval.