IndisputableMonolith.Materials.FractureToughnessFromJCost
IndisputableMonolith/Materials/FractureToughnessFromJCost.lean · 47 lines · 6 declarations
show as:
view math explainer →
1import Mathlib
2import IndisputableMonolith.Common.CanonicalJBand
3
4/-!
5# Fracture Toughness from J-Cost — B9 Materials Depth
6
7Fracture toughness K_IC relates to J-cost on the stress intensity ratio
8r = K_applied / K_IC:
9
10- Below threshold: r < 1/φ, J(r) < J(φ) — no crack propagation
11- At threshold: r enters J(φ) band — sub-critical crack growth begins
12- Above threshold: r > 1, J(r) > 0 increasing → fast fracture
13
14The Paris-Erdogan law for crack growth rate da/dN ∝ ΔK^m follows the
15phi-ladder: m ≈ 4 for structural metals (rung 4), m ≈ 2 for ceramics
16(rung 2). Adjacent material class exponents ratio by φ ≈ 1.618.
17
18Five canonical material fracture regimes (elastic, plastic, creep,
19fatigue, environmentally-assisted) = configDim D = 5.
20
21Lean status: 0 sorry, 0 axiom.
22-/
23
24namespace IndisputableMonolith.Materials.FractureToughnessFromJCost
25open Common.CanonicalJBand
26
27inductive FractureRegime where
28 | elastic | plastic | creep | fatigue | envAssisted
29 deriving DecidableEq, Repr, BEq, Fintype
30
31theorem fractureRegimeCount : Fintype.card FractureRegime = 5 := by decide
32
33structure FractureToughnessCert where
34 five_regimes : Fintype.card FractureRegime = 5
35 threshold : CanonicalCert
36
37noncomputable def fractureToughnessCert : FractureToughnessCert where
38 five_regimes := fractureRegimeCount
39 threshold := cert
40
41end IndisputableMonolith.Materials.FractureToughnessFromJCost
42
43namespace IndisputableMonolith.Materials.FractureToughnessFromJCost
44abbrev FractureToughCert := FractureToughnessCert
45noncomputable def cert := fractureToughnessCert
46end IndisputableMonolith.Materials.FractureToughnessFromJCost
47