Pith. sign in

IndisputableMonolith.Information.DNA_Storage_Density_RS

IndisputableMonolith/Information/DNA_Storage_Density_RS.lean · 36 lines · 8 declarations

show as:
view math explainer →

open module explainer GitHub source

Explainer status: pending

   1import Mathlib
   2import IndisputableMonolith.Constants
   3import IndisputableMonolith.Cost
   4/-!
   5# RS DNA Storage Density RS 
   6DNA storage density: 215e15 bytes/gram (Church et al. 2012). RS: phi^k bytes/gram. phi^52 = 1.7e11 per bp * 4 bp/byte = 6.8e10 bytes/um^3 * 10^15 um^3/gram = 6.8e25? Structural.
   7Status: STRUCTURAL THEOREM (0 sorry, 0 axiom).
   8-/
   9namespace IndisputableMonolith
  10namespace Information
  11namespace DNA_Storage_Density_RS
  12open Constants
  13open Cost
  14noncomputable section
  15def domainCost (m e : ℝ) : ℝ := Jcost (m / e)
  16theorem domainCost_at_eq (r : ℝ) (h : r ≠ 0) : domainCost r r = 0 := by
  17  unfold domainCost; rw [div_self h]; exact Jcost_unit0
  18theorem domainCost_nonneg (m e : ℝ) (hm : 0 < m) (he : 0 < e) : 0 ≤ domainCost m e := by
  19  unfold domainCost; exact Jcost_nonneg (div_pos hm he)
  20def canonicalThreshold : ℝ := phi - 3 / 2
  21theorem canonicalThreshold_pos : 0 < canonicalThreshold := by
  22  unfold canonicalThreshold; linarith [phi_gt_onePointFive]
  23structure DNAStorageCert where
  24  cost_at_eq : ∀ r : ℝ, r ≠ 0 → domainCost r r = 0
  25  cost_nonneg : ∀ m e : ℝ, 0 < m → 0 < e → 0 ≤ domainCost m e
  26  threshold_pos : 0 < canonicalThreshold
  27noncomputable def cert : DNAStorageCert where
  28  cost_at_eq := domainCost_at_eq
  29  cost_nonneg := domainCost_nonneg
  30  threshold_pos := canonicalThreshold_pos
  31theorem cert_inhabited : Nonempty DNAStorageCert := ⟨cert⟩
  32end
  33end DNA_Storage_Density_RS
  34end Information
  35end IndisputableMonolith
  36

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