pith. machine review for the scientific record. sign in

IndisputableMonolith.Chemistry.CrystalGrowthFromPhiLadder

IndisputableMonolith/Chemistry/CrystalGrowthFromPhiLadder.lean · 49 lines · 6 declarations

show as:
view math explainer →

open module explainer GitHub source

Explainer status: pending

   1import Mathlib
   2import IndisputableMonolith.Constants
   3
   4/-!
   5# Crystal Growth Rate from Phi-Ladder — Tier F Crystallography
   6
   7Crystal growth rate v follows the Burton-Cabrera-Frank (BCF) model:
   8v ∝ exp(-E_step/kT) where E_step is the step energy. In RS terms,
   9the critical undercooling ΔT for each crystal habit follows the φ-ladder:
  10adjacent crystal habits require φ× more undercooling to form.
  11
  12Five canonical crystal habits (cubic, tetragonal, hexagonal, orthorhombic,
  13trigonal) = configDim D = 5.
  14
  15RS prediction: adjacent critical undercooling ratio = φ ≈ 1.618.
  16This matches the empirical Walton relation where undercooling threshold
  17scales as φ^n for the n-th crystallisation habit.
  18
  19Lean status: 0 sorry, 0 axiom.
  20-/
  21
  22namespace IndisputableMonolith.Chemistry.CrystalGrowthFromPhiLadder
  23open Constants
  24
  25inductive CrystalHabit where
  26  | cubic | tetragonal | hexagonal | orthorhombic | trigonal
  27  deriving DecidableEq, Repr, BEq, Fintype
  28
  29theorem crystalHabitCount : Fintype.card CrystalHabit = 5 := by decide
  30
  31noncomputable def undercoolingThreshold (k : ℕ) : ℝ := phi ^ k
  32
  33theorem undercoolingRatio (k : ℕ) :
  34    undercoolingThreshold (k + 1) / undercoolingThreshold k = phi := by
  35  unfold undercoolingThreshold
  36  have hpos : 0 < phi ^ k := pow_pos phi_pos _
  37  rw [pow_succ]
  38  field_simp [hpos.ne']
  39
  40structure CrystalGrowthCert where
  41  five_habits : Fintype.card CrystalHabit = 5
  42  phi_ratio : ∀ k, undercoolingThreshold (k + 1) / undercoolingThreshold k = phi
  43
  44noncomputable def crystalGrowthCert : CrystalGrowthCert where
  45  five_habits := crystalHabitCount
  46  phi_ratio := undercoolingRatio
  47
  48end IndisputableMonolith.Chemistry.CrystalGrowthFromPhiLadder
  49

source mirrored from github.com/jonwashburn/shape-of-logic