Pith. sign in

IndisputableMonolith.Chemistry.RNATargetedCompounds

IndisputableMonolith/Chemistry/RNATargetedCompounds.lean · 88 lines · 7 declarations

show as:
view math explainer →

open module explainer GitHub source

Explainer status: pending

   1import Mathlib
   2import IndisputableMonolith.Constants
   3import IndisputableMonolith.Cost
   4
   5/-!
   6# RNA-Targeted Compounds
   7
   8## Element 85 (Domain C): small molecules binding RNA structures
   9
  10RNA-targeted compounds (e.g., Risdiplam for SMA, Branaplam) bind
  11to RNA secondary or tertiary structures, modulating splicing,
  12translation, or stability.  RS predicts the binding J-cost is
  13quantized by the φ-ladder of RNA stem-loop conformations.
  14
  15## Lean status: 0 sorry, 0 axiom
  16-/
  17
  18namespace IndisputableMonolith
  19namespace Chemistry
  20namespace RNATargetedCompounds
  21
  22open Constants
  23open Cost
  24
  25noncomputable section
  26
  27/-- A discrete RNA conformational state, indexed by the φ-rung. -/
  28structure RNAState where
  29  rung : ℕ
  30  /-- The state's J-cost relative to the unfolded reference. -/
  31  cost : ℝ
  32  cost_eq : cost = phi ^ rung - 1
  33
  34/-- The φ-ladder of RNA states. -/
  35def rnaStateAt (n : ℕ) : RNAState where
  36  rung := n
  37  cost := phi ^ n - 1
  38  cost_eq := rfl
  39
  40/-- The cost increases monotonically with rung. -/
  41theorem rna_cost_monotone (m n : ℕ) (h : m ≤ n) :
  42    (rnaStateAt m).cost ≤ (rnaStateAt n).cost := by
  43  unfold rnaStateAt
  44  show phi ^ m - 1 ≤ phi ^ n - 1
  45  have hphi_ge_one : 1 ≤ phi := phi_ge_one
  46  have h_pow : phi ^ m ≤ phi ^ n := pow_le_pow_right₀ hphi_ge_one h
  47  linarith
  48
  49/-- The reference state (rung 0) has zero cost. -/
  50theorem rna_state_zero_cost : (rnaStateAt 0).cost = 0 := by
  51  unfold rnaStateAt; simp
  52
  53/-- **MASTER THEOREM**: the rung-0 state is the global cost minimum
  54    among the φ-ladder RNA states. -/
  55theorem rna_state_zero_minimum (n : ℕ) :
  56    (rnaStateAt 0).cost ≤ (rnaStateAt n).cost := by
  57  rw [rna_state_zero_cost]
  58  -- (rnaStateAt n).cost = phi^n - 1 ≥ 0 since phi ≥ 1.
  59  unfold rnaStateAt
  60  show 0 ≤ phi ^ n - 1
  61  have hphi_ge_one : 1 ≤ phi := phi_ge_one
  62  have h_pow : 1 ≤ phi ^ n := by
  63    induction n with
  64    | zero => simp
  65    | succ k ih =>
  66        rw [pow_succ]
  67        have : 1 * 1 ≤ phi ^ k * phi := mul_le_mul ih hphi_ge_one (by norm_num) (by positivity)
  68        linarith
  69  linarith
  70
  71/-- **MASTER CERTIFICATE.** -/
  72structure RNATargetedCompoundsCert where
  73  state_monotone :
  74    ∀ m n : ℕ, m ≤ n → (rnaStateAt m).cost ≤ (rnaStateAt n).cost
  75  reference_zero : (rnaStateAt 0).cost = 0
  76  reference_minimum : ∀ n : ℕ, (rnaStateAt 0).cost ≤ (rnaStateAt n).cost
  77
  78def rnaTargetedCompoundsCert : RNATargetedCompoundsCert where
  79  state_monotone := rna_cost_monotone
  80  reference_zero := rna_state_zero_cost
  81  reference_minimum := rna_state_zero_minimum
  82
  83end
  84
  85end RNATargetedCompounds
  86end Chemistry
  87end IndisputableMonolith
  88

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