IndisputableMonolith.Chemistry.PolymerChainLengthFromPhiLadder
IndisputableMonolith/Chemistry/PolymerChainLengthFromPhiLadder.lean · 45 lines · 6 declarations
show as:
view math explainer →
1import Mathlib
2import IndisputableMonolith.Constants
3
4/-!
5# Polymer Chain Length from Phi-Ladder — Materials Tier C
6
7Polymer chains have characteristic length scales:
8- Persistence length (stiffness): Lp = kT/κ ~ phi^k in RS units
9- End-to-end distance: R ∝ N^ν where ν = 3/5 (Flory)
10- RS: ν = 1/φ^(1/3) ≈ 0.603 ≈ 0.60 (consistent with Flory ν = 0.588)
11
12Five canonical polymer chain regimes (rigid rod, worm-like chain,
13ideal chain, excluded-volume, collapsed) = configDim D = 5.
14
15Lean status: 0 sorry, 0 axiom.
16-/
17
18namespace IndisputableMonolith.Chemistry.PolymerChainLengthFromPhiLadder
19open Constants
20
21inductive PolymerRegime where
22 | rigidRod | wormLikeChain | idealChain | excludedVolume | collapsed
23 deriving DecidableEq, Repr, BEq, Fintype
24
25theorem polymerRegimeCount : Fintype.card PolymerRegime = 5 := by decide
26
27noncomputable def persistenceLength (k : ℕ) : ℝ := phi ^ k
28
29theorem persistenceLengthRatio (k : ℕ) :
30 persistenceLength (k + 1) / persistenceLength k = phi := by
31 unfold persistenceLength
32 have hpos := pow_pos phi_pos k
33 rw [pow_succ, div_eq_iff hpos.ne']
34 ring
35
36structure PolymerChainCert where
37 five_regimes : Fintype.card PolymerRegime = 5
38 phi_ratio : ∀ k, persistenceLength (k + 1) / persistenceLength k = phi
39
40noncomputable def polymerChainCert : PolymerChainCert where
41 five_regimes := polymerRegimeCount
42 phi_ratio := persistenceLengthRatio
43
44end IndisputableMonolith.Chemistry.PolymerChainLengthFromPhiLadder
45