{
  "schema": 1,
  "lean_version": "Lean (version 4.19.0, x86_64-unknown-linux-gnu, commit 6caaee842e94, Release)",
  "mathlib": {
    "repository": "https://github.com/leanprover-community/mathlib4",
    "tag": "v4.19.0",
    "commit": "c44e0c8ee63ca166450922a373c7409c5d26b00b",
    "manifest_sha256": "5c6421b650bc87a2427a892a39e5522dc44543ca4ac1bd6e9f08d536c044a752",
    "toolchain": "leanprover/lean4:v4.19.0",
    "license": "Apache-2.0",
    "qualification": "Fresh compilation required; this lock alone is not proof evidence."
  },
  "source": "proofs/DissipativeBarReal.lean",
  "source_sha256": "7368497bd84dcb8ab8e020270a4823d233424601b0225e546393114b7141c972",
  "claims_sha256": "73faf38ad39f2e91ec18cad29e4c6afed1707bb3e349da9a8262d8961ea8bf48",
  "command": "lake --no-cache env lean -DwarningAsError=true proofs/DissipativeBarReal.lean (from pinned mathlib workspace)",
  "claims": [
    {
      "id": "dissipative-real-storage-sign",
      "theorem": "Kenoma.DissipativeBarReal.storage_nonnegative",
      "claim": "Local real stored energy is nonnegative.",
      "assumptions": "Real E0>=0, E1>=0; any real total strain eps and viscous strain v.",
      "limitations": "U=E0*eps^2/2+E1*(eps-v)^2/2. Real local constitutive law only; no numerical or JavaScript refinement, axial-bar or quadrature solve, discrete energy-ledger, calibration or biological validation.",
      "implementation": "web/dissipative-bar.mjs: observe uses the same local storage and loss densities; extensionSegment evolves the checked held-strain exponential. The separate forceSegment implements force-controlled ramps and creep.",
      "status": "checked",
      "axioms": [
        "propext",
        "Classical.choice",
        "Quot.sound"
      ]
    },
    {
      "id": "dissipative-real-dissipation-sign",
      "theorem": "Kenoma.DissipativeBarReal.dissipation_nonnegative",
      "claim": "Local real dissipation rate eta*vdot^2 is nonnegative.",
      "assumptions": "Real eta>=0; any real viscous-strain rate vdot.",
      "limitations": "Ddot=eta*vdot^2. Real local constitutive law only; no numerical or JavaScript refinement, axial-bar or quadrature solve, discrete energy-ledger, calibration or biological validation.",
      "implementation": "web/dissipative-bar.mjs: observe uses the same local storage and loss densities; extensionSegment evolves the checked held-strain exponential. The separate forceSegment implements force-controlled ramps and creep.",
      "status": "checked",
      "axioms": [
        "propext",
        "Classical.choice",
        "Quot.sound"
      ]
    },
    {
      "id": "dissipative-real-storage-derivative",
      "theorem": "Kenoma.DissipativeBarReal.storage_hasDerivAt",
      "claim": "The real storage time derivative equals E0*eps*epsdot+E1*(eps-v)*(epsdot-vdot).",
      "assumptions": "Fixed real E0,E1; supplied real strain paths eps(t),v(t) with HasDerivAt eps epsdot t and HasDerivAt v vdot t.",
      "limitations": "Derivative of U for fixed constitutive coefficients and supplied path derivatives. Real local constitutive law only; no numerical or JavaScript refinement, axial-bar or quadrature solve, discrete energy-ledger, calibration or biological validation.",
      "implementation": "web/dissipative-bar.mjs: observe uses the same local storage and loss densities; extensionSegment evolves the checked held-strain exponential. The separate forceSegment implements force-controlled ramps and creep.",
      "status": "checked",
      "axioms": [
        "propext",
        "Classical.choice",
        "Quot.sound"
      ]
    },
    {
      "id": "dissipative-real-power-balance",
      "theorem": "Kenoma.DissipativeBarReal.local_power_balance",
      "claim": "Real stress power equals storage rate plus dissipation under the Maxwell equation.",
      "assumptions": "Real E0,E1,eps,v,eta,epsdot,vdot; assumed constitutive constraint eta*vdot=E1*(eps-v).",
      "limitations": "sigma*epsdot=Udot+Ddot; the constitutive constraint is an explicit assumption. Real local constitutive law only; no numerical or JavaScript refinement, axial-bar or quadrature solve, discrete energy-ledger, calibration or biological validation.",
      "implementation": "web/dissipative-bar.mjs: observe uses the same local storage and loss densities; extensionSegment evolves the checked held-strain exponential. The separate forceSegment implements force-controlled ramps and creep.",
      "status": "checked",
      "axioms": [
        "propext",
        "Classical.choice",
        "Quot.sound"
      ]
    },
    {
      "id": "dissipative-real-elastic-recovery",
      "theorem": "Kenoma.DissipativeBarReal.zero_branch_recovers_elastic",
      "claim": "Setting E1=0 recovers sigma=E0*eps and U=E0*eps^2/2.",
      "assumptions": "Real E0,eps,v; the Maxwell spring coefficient E1 is exactly zero.",
      "limitations": "Zero-branch elastic reference; no whole-bar geometry or numerical equivalence is asserted. Real local constitutive law only; no numerical or JavaScript refinement, axial-bar or quadrature solve, discrete energy-ledger, calibration or biological validation.",
      "implementation": "web/dissipative-bar.mjs: observe uses the same local storage and loss densities; extensionSegment evolves the checked held-strain exponential. The separate forceSegment implements force-controlled ramps and creep.",
      "status": "checked",
      "axioms": [
        "propext",
        "Classical.choice",
        "Quot.sound"
      ]
    },
    {
      "id": "dissipative-real-viscous-derivative",
      "theorem": "Kenoma.DissipativeBarReal.viscous_strain_hasDerivAt",
      "claim": "The exact held-strain exponential has derivative E1*(eps-v(t))/eta.",
      "assumptions": "Fixed real held strain eps, initial viscous strain v0, E1, eta!=0; any real elapsed time t.",
      "limitations": "v(t)=eps+(v0-eps)*exp(-E1*t/eta); constant strain and coefficients only. Real local constitutive law only; no numerical or JavaScript refinement, axial-bar or quadrature solve, discrete energy-ledger, calibration or biological validation.",
      "implementation": "web/dissipative-bar.mjs: observe uses the same local storage and loss densities; extensionSegment evolves the checked held-strain exponential. The separate forceSegment implements force-controlled ramps and creep.",
      "status": "checked",
      "axioms": [
        "propext",
        "Classical.choice",
        "Quot.sound"
      ]
    },
    {
      "id": "dissipative-real-viscous-bounds",
      "theorem": "Kenoma.DissipativeBarReal.viscous_strain_bounded",
      "claim": "Forward held-strain viscous strain stays between v0 and eps.",
      "assumptions": "Real held strain eps and initial v0; E1>=0, eta>0 and elapsed time t>=0.",
      "limitations": "min(v0,eps)<=v(t)<=max(v0,eps); no general changing-load trajectory is certified. Real local constitutive law only; no numerical or JavaScript refinement, axial-bar or quadrature solve, discrete energy-ledger, calibration or biological validation.",
      "implementation": "web/dissipative-bar.mjs: observe uses the same local storage and loss densities; extensionSegment evolves the checked held-strain exponential. The separate forceSegment implements force-controlled ramps and creep.",
      "status": "checked",
      "axioms": [
        "propext",
        "Classical.choice",
        "Quot.sound"
      ]
    },
    {
      "id": "dissipative-real-viscous-monotone",
      "theorem": "Kenoma.DissipativeBarReal.viscous_strain_monotone",
      "claim": "Viscous strain is nondecreasing toward the held strain when v0<=eps.",
      "assumptions": "Real fixed eps,v0; E1>=0, eta>0 and v0<=eps; ordered real comparison times s<=t.",
      "limitations": "Weak monotonicity includes E1=0 and v0=eps; no asymptotic-limit or numerical step proof. Real local constitutive law only; no numerical or JavaScript refinement, axial-bar or quadrature solve, discrete energy-ledger, calibration or biological validation.",
      "implementation": "web/dissipative-bar.mjs: observe uses the same local storage and loss densities; extensionSegment evolves the checked held-strain exponential. The separate forceSegment implements force-controlled ramps and creep.",
      "status": "checked",
      "axioms": [
        "propext",
        "Classical.choice",
        "Quot.sound"
      ]
    },
    {
      "id": "dissipative-real-viscous-antitone",
      "theorem": "Kenoma.DissipativeBarReal.viscous_strain_antitone",
      "claim": "Viscous strain is nonincreasing toward the held strain when eps<=v0.",
      "assumptions": "Real fixed eps,v0; E1>=0, eta>0 and eps<=v0; ordered real comparison times s<=t.",
      "limitations": "Weak monotonicity includes E1=0 and eps=v0; no asymptotic-limit or numerical step proof. Real local constitutive law only; no numerical or JavaScript refinement, axial-bar or quadrature solve, discrete energy-ledger, calibration or biological validation.",
      "implementation": "web/dissipative-bar.mjs: observe uses the same local storage and loss densities; extensionSegment evolves the checked held-strain exponential. The separate forceSegment implements force-controlled ramps and creep.",
      "status": "checked",
      "axioms": [
        "propext",
        "Classical.choice",
        "Quot.sound"
      ]
    },
    {
      "id": "dissipative-real-held-stress-bounds",
      "theorem": "Kenoma.DissipativeBarReal.held_stress_bounded",
      "claim": "Forward held-strain stress lies between E0*eps and its initial value when v0<=eps.",
      "assumptions": "Real E0,eps,v0; E1>=0, eta>0, t>=0 and v0<=eps; sigma(t)=E0*eps+E1*(eps-v(t)).",
      "limitations": "Relative bounds require the stated initial ordering; no assertion of positive stress for arbitrary real strain. Real local constitutive law only; no numerical or JavaScript refinement, axial-bar or quadrature solve, discrete energy-ledger, calibration or biological validation.",
      "implementation": "web/dissipative-bar.mjs: observe uses the same local storage and loss densities; extensionSegment evolves the checked held-strain exponential. The separate forceSegment implements force-controlled ramps and creep.",
      "status": "checked",
      "axioms": [
        "propext",
        "Classical.choice",
        "Quot.sound"
      ]
    },
    {
      "id": "dissipative-real-held-stress-decay",
      "theorem": "Kenoma.DissipativeBarReal.held_stress_antitone",
      "claim": "Held-strain stress is nonincreasing when v0<=eps.",
      "assumptions": "Real E0,eps,v0; E1>=0, eta>0 and v0<=eps; ordered real comparison times s<=t.",
      "limitations": "Stress relaxation under constant imposed strain; no changing-load or force-controlled creep trajectory proof. Real local constitutive law only; no numerical or JavaScript refinement, axial-bar or quadrature solve, discrete energy-ledger, calibration or biological validation.",
      "implementation": "web/dissipative-bar.mjs: observe uses the same local storage and loss densities; extensionSegment evolves the checked held-strain exponential. The separate forceSegment implements force-controlled ramps and creep.",
      "status": "checked",
      "axioms": [
        "propext",
        "Classical.choice",
        "Quot.sound"
      ]
    }
  ]
}
