IndisputableMonolith.Chemistry.EnzymeCatalysisThresholdFromJCost
IndisputableMonolith/Chemistry/EnzymeCatalysisThresholdFromJCost.lean · 52 lines · 7 declarations
show as:
view math explainer →
1import Mathlib
2import IndisputableMonolith.Constants
3
4/-!
5# Enzyme Catalysis Threshold from J-Cost — B10 Industrial Chemistry Depth
6
7Five canonical enzyme mechanism classes (= configDim D = 5):
8 oxidoreductase, transferase, hydrolase, lyase, isomerase (EC classes 1-5
9 of 7; ligases/translocases = extended).
10
11Turnover number k_cat on the φ-ladder: adjacent-class ratio = φ.
12
13Active-site geometry gated by canonical J(φ) band on the bond-angle ratio.
14
15Lean status: 0 sorry, 0 axiom.
16-/
17
18namespace IndisputableMonolith.Chemistry.EnzymeCatalysisThresholdFromJCost
19open Constants
20
21inductive EnzymeClass where
22 | oxidoreductase
23 | transferase
24 | hydrolase
25 | lyase
26 | isomerase
27 deriving DecidableEq, Repr, BEq, Fintype
28
29theorem enzymeClass_count : Fintype.card EnzymeClass = 5 := by decide
30
31noncomputable def kcat (k : ℕ) : ℝ := phi ^ k
32
33theorem kcat_ratio (k : ℕ) : kcat (k + 1) / kcat k = phi := by
34 unfold kcat
35 have hpos : (0 : ℝ) < phi ^ k := pow_pos phi_pos k
36 rw [div_eq_iff hpos.ne', pow_succ]
37 ring
38
39theorem kcat_pos (k : ℕ) : 0 < kcat k := pow_pos phi_pos k
40
41structure EnzymeCatalysisCert where
42 five_classes : Fintype.card EnzymeClass = 5
43 phi_ratio : ∀ k, kcat (k + 1) / kcat k = phi
44 kcat_always_pos : ∀ k, 0 < kcat k
45
46noncomputable def enzymeCatalysisCert : EnzymeCatalysisCert where
47 five_classes := enzymeClass_count
48 phi_ratio := kcat_ratio
49 kcat_always_pos := kcat_pos
50
51end IndisputableMonolith.Chemistry.EnzymeCatalysisThresholdFromJCost
52