{
  "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/MaterialResponseReal.lean",
  "source_sha256": "2e30769e073b719b66cfcb38c527d7319034fcf55f2723771a54405337e53258",
  "claims_sha256": "7d6c40ad2fe4d991085e6a03edd417b32247d95b86bd7b5ad108d04e0473f3c0",
  "command": "lake --no-cache env lean -DwarningAsError=true proofs/MaterialResponseReal.lean (from pinned mathlib workspace)",
  "claims": [
    {
      "id": "material-real-confined-volume",
      "theorem": "Kenoma.MaterialReal.confined_volume",
      "claim": "Real b=1 and 0<h<1 imply J=h and 0<J<1",
      "assumptions": "Real height 0<h<1; equal lateral stretches b=1; J=b*b*h.",
      "limitations": "No equilibrium, constitutive stress, floating-point refinement or anatomical claim.",
      "implementation": "web/material-response.mjs: confined candidate volume ratio.",
      "status": "checked",
      "axioms": [
        "propext",
        "Classical.choice",
        "Quot.sound"
      ]
    },
    {
      "id": "material-real-bulk-sign",
      "theorem": "Kenoma.MaterialReal.finite_bulk_energy_nonnegative",
      "claim": "Real V>=0, K>=0 imply VK(J-1)^2/2>=0",
      "assumptions": "Real reference volume V>=0 and bulk coefficient K>=0; any real J.",
      "limitations": "Only the bulk term is covered; fractional-power shear and derivatives remain unfinished.",
      "implementation": "web/material-response.mjs: bulkEnergyJ via the unchanged tissue law.",
      "status": "checked",
      "axioms": [
        "propext",
        "Classical.choice",
        "Quot.sound"
      ]
    },
    {
      "id": "material-real-bulk-zero",
      "theorem": "Kenoma.MaterialReal.positive_bulk_zero_energy",
      "claim": "Real V>0, K>0 imply bulk energy zero iff J=1",
      "assumptions": "Real V>0 and K>0; any real J.",
      "limitations": "Does not assert loaded equilibrium has J=1, or establish incompressibility.",
      "implementation": "web/material-response.mjs: finite bulk energy and volume ratio.",
      "status": "checked",
      "axioms": [
        "propext",
        "Classical.choice",
        "Quot.sound"
      ]
    },
    {
      "id": "material-real-separated-wall",
      "theorem": "Kenoma.MaterialReal.separated_wall_zero_reaction",
      "claim": "Real positive gap and assumed Rg=0 imply R=0",
      "assumptions": "Real reaction R and gap g>0 with assumed complementarity R*g=0.",
      "limitations": "Complementarity is assumed, not certified for the numerical wall solve or collisions.",
      "implementation": "web/material-response.mjs: unilateral wall reaction and gap.",
      "status": "checked",
      "axioms": [
        "propext",
        "Classical.choice",
        "Quot.sound"
      ]
    },
    {
      "id": "material-real-lateral-work",
      "theorem": "Kenoma.MaterialReal.lateral_virtual_work",
      "claim": "Real lateral stress and wall work factor as 2V(Px+R)delta",
      "assumptions": "Real reference volume, nominal stress, wall reaction and lateral variation; stress/energy derivative association supplied separately.",
      "limitations": "No derivative, root existence, uniqueness or stationarity certificate.",
      "implementation": "web/material-response.mjs: signed lateral residual and virtual work.",
      "status": "checked",
      "axioms": [
        "propext",
        "Classical.choice",
        "Quot.sound"
      ]
    }
  ]
}
