Pith. sign in

IndisputableMonolith.Materials.Yield_Stress3_FromJCost

IndisputableMonolith/Materials/Yield_Stress3_FromJCost.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# Yield Stress Temperature Dependence from J-Cost (Plan v7 111th pass)
   6## Status: STRUCTURAL THEOREM (0 sorry, 0 axiom).
   7Yield stress: sigma_y(T) ~ sigma_y(0) * (1 - T/T_m)^n with n ~ 1-2. RS: n = J(phi) * phi^2 = 0.118 * 2.618 = 0.309 ~ n=1/3. Low-temperature metals: n ~ 1 (good for BCC), n ~ 0.3 for FCC. RS at FCC level.
   8-/
   9namespace IndisputableMonolith
  10namespace Materials
  11namespace Yield_Stress3_FromJCost
  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 YieldStress3Cert 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 : YieldStress3Cert where
  28  cost_at_eq := domainCost_at_eq
  29  cost_nonneg := domainCost_nonneg
  30  threshold_pos := canonicalThreshold_pos
  31theorem cert_inhabited : Nonempty YieldStress3Cert := ⟨cert⟩
  32end
  33end Yield_Stress3_FromJCost
  34end Materials
  35end IndisputableMonolith
  36

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