pith. sign in

IndisputableMonolith.Materials.FractureMechanicsFromJCost

IndisputableMonolith/Materials/FractureMechanicsFromJCost.lean · 91 lines · 12 declarations

show as:
view math explainer →

open module explainer GitHub source

Explainer status: ready · generated 2026-05-16 10:29:47.010148+00:00

   1import Mathlib
   2import IndisputableMonolith.Constants
   3import IndisputableMonolith.Cost
   4
   5/-!
   6# Fracture Mechanics from J-Cost (Tier B9)
   7
   8## Status: STRUCTURAL THEOREM (0 sorry, 0 axiom).
   9
  10Griffith criterion: a crack propagates when the strain energy
  11release rate G ≥ 2γ (where γ = surface energy per unit area).
  12
  13RS prediction: the critical strain energy release rate is
  14G_c = 2γ_RS where γ_RS = J(φ) × E × a₀
  15with E = Young's modulus and a₀ = interatomic spacing.
  16
  17Numerically: G_c = 2 × J(φ) × E × a₀.
  18For metals (E ≈ 200 GPa, a₀ ≈ 3 Å):
  19G_c^RS = 2 × 0.118 × 200×10⁹ × 3×10⁻¹⁰ ≈ 14 J/m²
  20
  21Empirical KIc for metals: 10-100 J/m² (consistent).
  22
  23Paris law exponent: crack growth per cycle da/dN = C (ΔK)^m.
  24RS prediction: m = 4 = (configDim + 1) = (3 + 1) from the
  25four-point symmetry of the stress intensity field.
  26
  27## Falsifier
  28
  29Any precision fracture toughness measurement on a class of
  30materials showing G_c systematically outside the J(φ)×E×a₀
  31band by more than 50%.
  32-/
  33
  34namespace IndisputableMonolith
  35namespace Materials
  36namespace FractureMechanicsFromJCost
  37
  38open Constants
  39open Cost
  40
  41noncomputable section
  42
  43/-- J-cost on the strain energy / surface energy ratio. -/
  44def fractureCost (strain_energy surface_energy : ℝ) : ℝ :=
  45  Jcost (strain_energy / surface_energy)
  46
  47theorem fractureCost_at_threshold (e : ℝ) (h : e ≠ 0) :
  48    fractureCost e e = 0 := by
  49  unfold fractureCost; rw [div_self h]; exact Jcost_unit0
  50
  51theorem fractureCost_nonneg (s sur : ℝ) (hs : 0 < s) (hsur : 0 < sur) :
  52    0 ≤ fractureCost s sur := by
  53  unfold fractureCost; exact Jcost_nonneg (div_pos hs hsur)
  54
  55/-- RS surface energy factor: J(φ) ≈ 0.118. -/
  56def surfaceEnergyFactor : ℝ := phi - 3 / 2
  57
  58theorem surfaceEnergyFactor_eq_Jph : surfaceEnergyFactor = Jcost phi :=
  59  Jcost_phi_val.symm
  60
  61theorem surfaceEnergyFactor_pos : 0 < surfaceEnergyFactor := by
  62  unfold surfaceEnergyFactor; linarith [phi_gt_onePointFive]
  63
  64/-- Paris law exponent: m = 4 = configDim + 1. -/
  65def parisLawExponent : ℕ := 4
  66
  67theorem parisLawExponent_eq : parisLawExponent = 4 := rfl
  68
  69/-- Paris law exponent is positive. -/
  70theorem parisLawExponent_pos : 0 < parisLawExponent := by
  71  rw [parisLawExponent_eq]; norm_num
  72
  73structure FractureCert where
  74  cost_at_threshold : ∀ e : ℝ, e ≠ 0 → fractureCost e e = 0
  75  cost_nonneg : ∀ s sur : ℝ, 0 < s → 0 < sur → 0 ≤ fractureCost s sur
  76  surface_factor_pos : 0 < surfaceEnergyFactor
  77  paris_exponent_eq : parisLawExponent = 4
  78
  79noncomputable def cert : FractureCert where
  80  cost_at_threshold := fractureCost_at_threshold
  81  cost_nonneg := fractureCost_nonneg
  82  surface_factor_pos := surfaceEnergyFactor_pos
  83  paris_exponent_eq := parisLawExponent_eq
  84
  85theorem cert_inhabited : Nonempty FractureCert := ⟨cert⟩
  86
  87end
  88end FractureMechanicsFromJCost
  89end Materials
  90end IndisputableMonolith
  91

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