Michaelis–Menten kinetics and the quasi-steady state
DefinitionMichaelis constant#✓fully proved
The Michaelis constant K_M = (kb + k₂)/k₁ (Briggs–Haldane). Meaningful for k₁ > 0.
noncomputable def michaelisConstant (k₁ kb k₂ : ℝ) : ℝ :=
(kb + k₂) / k₁
Used by 8
DefinitionMass-action rate of the substrate#✓fully proved
The mass-action rate of the substrate, s' = -k₁ e s + kb c.
def substrateRate (k₁ kb s c e : ℝ) : ℝ :=
-k₁ * e * s + kb * c
DefinitionMass-action rate of the enzyme–substrate complex#✓fully proved
The mass-action rate of the complex, c' = k₁ e s - (kb + k₂) c.
def complexRate (k₁ kb k₂ s c e : ℝ) : ℝ :=
k₁ * e * s - (kb + k₂) * c
StructureSolution of the Michaelis–Menten mass-action system#✓fully proved
A solution of the Michaelis–Menten mass-action system on [0, ∞):
s' = -k₁ e s + kb c, c' = k₁ e s - (kb + k₂) c, e' = -c', p' = k₂ c.
structure IsSolution (k₁ kb k₂ : ℝ) (s c e p : ℝ → ℝ) : Prop where
hasDerivAt_substrate : ∀ t, 0 ≤ t → HasDerivAt s (substrateRate k₁ kb (s t) (c t) (e t)) t
hasDerivAt_complex : ∀ t, 0 ≤ t →
HasDerivAt c (complexRate k₁ kb k₂ (s t) (c t) (e t)) t
hasDerivAt_enzyme : ∀ t, 0 ≤ t →
HasDerivAt e (-complexRate k₁ kb k₂ (s t) (c t) (e t)) t
hasDerivAt_product : ∀ t, 0 ≤ t → HasDerivAt p (k₂ * c t) t
def substrateRate (k₁ kb s c e : ℝ) : ℝ :=
-k₁ * e * s + kb * c
MathlibExt/Biology/Dynamics/MichaelisMenten.lean:71
def complexRate (k₁ kb k₂ s c e : ℝ) : ℝ :=
k₁ * e * s - (kb + k₂) * c
MathlibExt/Biology/Dynamics/MichaelisMenten.lean:75
Uses 2 · Used by 3
TheoremEnzyme conservation#✓fully proved
e(t) + c(t) = e(0) + c(0).
theorem IsSolution.enzyme_conservation {k₁ kb k₂ : ℝ} {s c e p : ℝ → ℝ}
(h : IsSolution k₁ kb k₂ s c e p) {t : ℝ} (ht : 0 ≤ t) : e t + c t = e 0 + c 0
structure IsSolution (k₁ kb k₂ : ℝ) (s c e p : ℝ → ℝ) : Prop where
hasDerivAt_substrate : ∀ t, 0 ≤ t → HasDerivAt s (substrateRate k₁ kb (s t) (c t) (e t)) t
hasDerivAt_complex : ∀ t, 0 ≤ t →
HasDerivAt c (complexRate k₁ kb k₂ (s t) (c t) (e t)) t
hasDerivAt_enzyme : ∀ t, 0 ≤ t →
HasDerivAt e (-complexRate k₁ kb k₂ (s t) (c t) (e t)) t
hasDerivAt_product : ∀ t, 0 ≤ t → HasDerivAt p (k₂ * c t) t
MathlibExt/Biology/Dynamics/MichaelisMenten.lean:80
Uses 2 · Used by 1
TheoremMass conservation#✓fully proved
s(t) + c(t) + p(t) = s(0) + c(0) + p(0).
theorem IsSolution.substrate_conservation {k₁ kb k₂ : ℝ} {s c e p : ℝ → ℝ}
(h : IsSolution k₁ kb k₂ s c e p) {t : ℝ} (ht : 0 ≤ t) :
s t + c t + p t = s 0 + c 0 + p 0
structure IsSolution (k₁ kb k₂ : ℝ) (s c e p : ℝ → ℝ) : Prop where
hasDerivAt_substrate : ∀ t, 0 ≤ t → HasDerivAt s (substrateRate k₁ kb (s t) (c t) (e t)) t
hasDerivAt_complex : ∀ t, 0 ≤ t →
HasDerivAt c (complexRate k₁ kb k₂ (s t) (c t) (e t)) t
hasDerivAt_enzyme : ∀ t, 0 ≤ t →
HasDerivAt e (-complexRate k₁ kb k₂ (s t) (c t) (e t)) t
hasDerivAt_product : ∀ t, 0 ≤ t → HasDerivAt p (k₂ * c t) t
MathlibExt/Biology/Dynamics/MichaelisMenten.lean:80
Uses 3
DefinitionQuasi-steady-state value of the complex#✓fully proved
The quasi-steady-state value of the complex, c = e₀ s / (K_M + s).
noncomputable def qssComplex (k₁ kb k₂ e₀ s : ℝ) : ℝ :=
e₀ * s / (michaelisConstant k₁ kb k₂ + s)
noncomputable def michaelisConstant (k₁ kb k₂ : ℝ) : ℝ :=
(kb + k₂) / k₁
MathlibExt/Biology/Dynamics/MichaelisMenten.lean:67
Uses 1 · Used by 7
DefinitionMichaelis–Menten rate law#✓fully proved
The Michaelis–Menten rate law v(s) = V_max s / (K_M + s).
noncomputable def mmRate (Vmax KM s : ℝ) : ℝ :=
Vmax * s / (KM + s)
Used by 7
TheoremQuasi-steady-state manifold#✓fully proved
With total enzyme e₀ (so e = e₀ - c), k₁ > 0 and
K_M + s ≠ 0, the complex is stationary iff c = e₀ s / (K_M + s).
theorem complexRate_eq_zero_iff {k₁ kb k₂ e₀ s c : ℝ} (hk₁ : 0 < k₁)
(hs : michaelisConstant k₁ kb k₂ + s ≠ 0) :
complexRate k₁ kb k₂ s c (e₀ - c) = 0 ↔ c = qssComplex k₁ kb k₂ e₀ s
noncomputable def michaelisConstant (k₁ kb k₂ : ℝ) : ℝ :=
(kb + k₂) / k₁
MathlibExt/Biology/Dynamics/MichaelisMenten.lean:67
def complexRate (k₁ kb k₂ s c e : ℝ) : ℝ :=
k₁ * e * s - (kb + k₂) * c
MathlibExt/Biology/Dynamics/MichaelisMenten.lean:75
noncomputable def qssComplex (k₁ kb k₂ e₀ s : ℝ) : ℝ :=
e₀ * s / (michaelisConstant k₁ kb k₂ + s)
MathlibExt/Biology/Dynamics/MichaelisMenten.lean:110
Uses 3 · Used by 1
TheoremBriggs–Haldane rate law#✓fully proved
On the quasi-steady-state manifold the product forms at rate
k₂ c = V_max s / (K_M + s), V_max = k₂ e₀.
theorem productRate_qss (k₁ kb k₂ e₀ s : ℝ) :
k₂ * qssComplex k₁ kb k₂ e₀ s = mmRate (k₂ * e₀) (michaelisConstant k₁ kb k₂) s
noncomputable def qssComplex (k₁ kb k₂ e₀ s : ℝ) : ℝ :=
e₀ * s / (michaelisConstant k₁ kb k₂ + s)
MathlibExt/Biology/Dynamics/MichaelisMenten.lean:110
noncomputable def mmRate (Vmax KM s : ℝ) : ℝ :=
Vmax * s / (KM + s)
MathlibExt/Biology/Dynamics/MichaelisMenten.lean:114
noncomputable def michaelisConstant (k₁ kb k₂ : ℝ) : ℝ :=
(kb + k₂) / k₁
MathlibExt/Biology/Dynamics/MichaelisMenten.lean:67
Uses 3 · Used by 1
TheoremSubstrate consumption at the Michaelis–Menten rate under QSSA#✓fully proved
On the quasi-steady-state manifold the substrate is consumed at the Michaelis–Menten rate:
s' = -V_max s / (K_M + s).
theorem substrateRate_qss {k₁ kb k₂ e₀ s : ℝ} (hk₁ : 0 < k₁)
(hs : michaelisConstant k₁ kb k₂ + s ≠ 0) :
substrateRate k₁ kb s (qssComplex k₁ kb k₂ e₀ s) (e₀ - qssComplex k₁ kb k₂ e₀ s) =
-mmRate (k₂ * e₀) (michaelisConstant k₁ kb k₂) s
noncomputable def michaelisConstant (k₁ kb k₂ : ℝ) : ℝ :=
(kb + k₂) / k₁
MathlibExt/Biology/Dynamics/MichaelisMenten.lean:67
def substrateRate (k₁ kb s c e : ℝ) : ℝ :=
-k₁ * e * s + kb * c
MathlibExt/Biology/Dynamics/MichaelisMenten.lean:71
noncomputable def qssComplex (k₁ kb k₂ e₀ s : ℝ) : ℝ :=
e₀ * s / (michaelisConstant k₁ kb k₂ + s)
MathlibExt/Biology/Dynamics/MichaelisMenten.lean:110
noncomputable def mmRate (Vmax KM s : ℝ) : ℝ :=
Vmax * s / (KM + s)
MathlibExt/Biology/Dynamics/MichaelisMenten.lean:114
TheoremMichaelis–Menten rate is strictly increasing#✓fully proved
The rate law is strictly increasing on s ≥ 0 for V_max, K_M > 0.
theorem mmRate_strictMono {Vmax KM : ℝ} (hV : 0 < Vmax) (hK : 0 < KM) :
StrictMonoOn (mmRate Vmax KM) (Ici 0)
noncomputable def mmRate (Vmax KM s : ℝ) : ℝ :=
Vmax * s / (KM + s)
MathlibExt/Biology/Dynamics/MichaelisMenten.lean:114
Uses 1 · Used by 1
TheoremMichaelis constant is the half-saturation substrate level#✓fully proved
The Michaelis constant is the half-saturation substrate level: v(K_M) = V_max / 2.
theorem mmRate_michaelisConstant {Vmax KM : ℝ} (hK : KM ≠ 0) :
mmRate Vmax KM KM = Vmax / 2
noncomputable def mmRate (Vmax KM s : ℝ) : ℝ :=
Vmax * s / (KM + s)
MathlibExt/Biology/Dynamics/MichaelisMenten.lean:114
Uses 1
TheoremMichaelis–Menten rate stays below its maximum#✓fully proved
The rate law is below its maximum: v(s) < V_max for s ≥ 0, V_max, K_M > 0.
theorem mmRate_lt {Vmax KM s : ℝ} (hV : 0 < Vmax) (hK : 0 < KM) (hs : 0 ≤ s) :
mmRate Vmax KM s < Vmax
noncomputable def mmRate (Vmax KM s : ℝ) : ℝ :=
Vmax * s / (KM + s)
MathlibExt/Biology/Dynamics/MichaelisMenten.lean:114
Uses 1
TheoremSaturation of the Michaelis–Menten rate#✓fully proved
Saturation: v(s) → V_max as s → ∞.
theorem tendsto_mmRate (Vmax KM : ℝ) :
Tendsto (mmRate Vmax KM) atTop (𝓝 Vmax)
noncomputable def mmRate (Vmax KM s : ℝ) : ℝ :=
Vmax * s / (KM + s)
MathlibExt/Biology/Dynamics/MichaelisMenten.lean:114
Uses 1
DefinitionFast transient of the complex with frozen substrate#✓fully proved
The fast transient of the complex with the substrate frozen at s̄:
c(t) = c* + (c₀ - c*) e^{-k₁ (s̄ + K_M) t}, where c* = e₀ s̄ / (K_M + s̄).
noncomputable def fastTransient (k₁ kb k₂ e₀ s c₀ t : ℝ) : ℝ :=
qssComplex k₁ kb k₂ e₀ s + (c₀ - qssComplex k₁ kb k₂ e₀ s) *
exp (-(k₁ * (s + michaelisConstant k₁ kb k₂)) * t)
noncomputable def qssComplex (k₁ kb k₂ e₀ s : ℝ) : ℝ :=
e₀ * s / (michaelisConstant k₁ kb k₂ + s)
MathlibExt/Biology/Dynamics/MichaelisMenten.lean:110
noncomputable def michaelisConstant (k₁ kb k₂ : ℝ) : ℝ :=
(kb + k₂) / k₁
MathlibExt/Biology/Dynamics/MichaelisMenten.lean:67
Uses 2 · Used by 2
TheoremFast transient solves the boundary-layer equation#✓fully proved
The fast transient solves the boundary-layer equation c' = k₁ (e₀ - c) s̄ - (kb + k₂) c
for k₁ > 0 and K_M + s̄ ≠ 0.
theorem hasDerivAt_fastTransient {k₁ kb k₂ e₀ s : ℝ} (hk₁ : 0 < k₁)
(hs : michaelisConstant k₁ kb k₂ + s ≠ 0) (c₀ t : ℝ) :
HasDerivAt (fastTransient k₁ kb k₂ e₀ s c₀)
(complexRate k₁ kb k₂ s (fastTransient k₁ kb k₂ e₀ s c₀ t)
(e₀ - fastTransient k₁ kb k₂ e₀ s c₀ t)) t
noncomputable def michaelisConstant (k₁ kb k₂ : ℝ) : ℝ :=
(kb + k₂) / k₁
MathlibExt/Biology/Dynamics/MichaelisMenten.lean:67
noncomputable def fastTransient (k₁ kb k₂ e₀ s c₀ t : ℝ) : ℝ :=
qssComplex k₁ kb k₂ e₀ s + (c₀ - qssComplex k₁ kb k₂ e₀ s) *
exp (-(k₁ * (s + michaelisConstant k₁ kb k₂)) * t)
MathlibExt/Biology/Dynamics/MichaelisMenten.lean:188
def complexRate (k₁ kb k₂ s c e : ℝ) : ℝ :=
k₁ * e * s - (kb + k₂) * c
MathlibExt/Biology/Dynamics/MichaelisMenten.lean:75
TheoremFast transient converges to the quasi-steady state#✓fully proved
The fast transient converges to the quasi-steady-state value for k₁ > 0 and
s̄ + K_M > 0.
theorem tendsto_fastTransient {k₁ kb k₂ e₀ s : ℝ} (hk₁ : 0 < k₁)
(hs : 0 < s + michaelisConstant k₁ kb k₂) (c₀ : ℝ) :
Tendsto (fastTransient k₁ kb k₂ e₀ s c₀) atTop (𝓝 (qssComplex k₁ kb k₂ e₀ s))
noncomputable def michaelisConstant (k₁ kb k₂ : ℝ) : ℝ :=
(kb + k₂) / k₁
MathlibExt/Biology/Dynamics/MichaelisMenten.lean:67
noncomputable def fastTransient (k₁ kb k₂ e₀ s c₀ t : ℝ) : ℝ :=
qssComplex k₁ kb k₂ e₀ s + (c₀ - qssComplex k₁ kb k₂ e₀ s) *
exp (-(k₁ * (s + michaelisConstant k₁ kb k₂)) * t)
MathlibExt/Biology/Dynamics/MichaelisMenten.lean:188
noncomputable def qssComplex (k₁ kb k₂ e₀ s : ℝ) : ℝ :=
e₀ * s / (michaelisConstant k₁ kb k₂ + s)
MathlibExt/Biology/Dynamics/MichaelisMenten.lean:110
Uses 3
TheoremRigorous QSSA#✓fully proved
Rigorous QSSA (Tikhonov 1952; Heineken–Tsuchiya–Aris 1967). On the slow time scale
τ = e₀ t, the substrate of the full Michaelis–Menten system with s(0) = s₀, c(0) = 0,
e(0) = e₀ stays within C e₀ of the solution S̄ of the reduced equation
dS̄/dτ = -k₂ S̄ / (K_M + S̄), S̄(0) = s₀, uniformly on [0, T].
theorem abs_sub_reduced_le {k₁ kb k₂ s₀ T : ℝ} (hk₁ : 0 < k₁) (hkb : 0 ≤ kb)
(hk₂ : 0 < k₂) (hs₀ : 0 < s₀) (hT : 0 < T) {S : ℝ → ℝ}
(hS : ∀ τ, 0 ≤ τ → HasDerivAt S (-mmRate k₂ (michaelisConstant k₁ kb k₂) (S τ)) τ)
(hS₀ : S 0 = s₀) :
∃ C : ℝ, ∀ e₀ : ℝ, 0 < e₀ → e₀ ≤ 1 → ∀ s c e p : ℝ → ℝ, IsSolution k₁ kb k₂ s c e p →
s 0 = s₀ → c 0 = 0 → e 0 = e₀ → ∀ τ ∈ Icc 0 T, |s (τ / e₀) - S τ| ≤ C * e₀
noncomputable def mmRate (Vmax KM s : ℝ) : ℝ :=
Vmax * s / (KM + s)
MathlibExt/Biology/Dynamics/MichaelisMenten.lean:114
noncomputable def michaelisConstant (k₁ kb k₂ : ℝ) : ℝ :=
(kb + k₂) / k₁
MathlibExt/Biology/Dynamics/MichaelisMenten.lean:67
structure IsSolution (k₁ kb k₂ : ℝ) (s c e p : ℝ → ℝ) : Prop where
hasDerivAt_substrate : ∀ t, 0 ≤ t → HasDerivAt s (substrateRate k₁ kb (s t) (c t) (e t)) t
hasDerivAt_complex : ∀ t, 0 ≤ t →
HasDerivAt c (complexRate k₁ kb k₂ (s t) (c t) (e t)) t
hasDerivAt_enzyme : ∀ t, 0 ≤ t →
HasDerivAt e (-complexRate k₁ kb k₂ (s t) (c t) (e t)) t
hasDerivAt_product : ∀ t, 0 ≤ t → HasDerivAt p (k₂ * c t) t
MathlibExt/Biology/Dynamics/MichaelisMenten.lean:80
Uses 8
Loading dependency explorer…
The dependency explorer needs JavaScript and its graph data.