. . . . "Seed 20261101. Each of 8 configurations (stimulus x Nat/Art branch x beta_bend/beta_twist) got 1000 random draws, plus 500 antisymmetric draws per branch and response (10000 draws in all). For each draw the published Grasshopper components in vendor/ (commit fa8100bad) were exec'd unmodified in the wiring of gh_scripts/README.md, and the same inputs were evaluated with shearStrain, axialStrain, timoshenkoCoefficient and bilayerCurvature parsed from ThompsonLaws/Hygromorphs.lean by lean_eval.py. Differences were divided by the pre-registered rounding bound. The equilibrium equations of bilayerCurvature_ofEquilibrium were solved as a 2x2 linear system. Nine faults were injected one at a time as controls." . . "Measured: 0.9961289457359396 max |published - Lean| / rounding bound over all draws (<= 1 passes) (n = 10000, deterministic given the seed; no sampling error is claimed). Interpretation: A computational consistency check of the formalized formula against an independent implementation, not a test of the claim on organisms or on the hydrogel strips of printed-bilayer-01. The published code uses the same closed form, so agreement shows the Lean definition and the code do not differ by a transcription error (m = h1/h2 and n = E1/E2 orientation, the factor 6, the 1/h prefactor); the equilibrium solve additionally checks the closed form against the mechanics it is derived from. The one-dimensional Euler-Bernoulli strip model is shared by all three and is itself an idealization." . "Claim test of hygromorph-bilayer-curvature (marom-crosscheck-01): supports, confidence 0.95" . . . "None: random draws from the stated grid; references are the published code at a pinned commit and a linear solve of the stated equations." . "claim-test/0.1.0" . "computational" . "At least one draw in an unmutated configuration where the published kappa differs from the Lean closed form by more than the rounding bound, or the equilibrium solve differs from the closed form by more than relative 1e-9." . "Computational data only: it shows the Lean definitions and the published implementation agree, not that organisms follow the claim." . "Output rounding is the only discrepancy permitted: the published scripts serialize bundle values with six decimals, so the comparison uses the pre-registered rounding-aware bound rather than machine precision. Agreement within that bound does not exclude differences smaller than 1e-6." . "S_elem.py and S_print.py recompute the through-thickness and shear mismatches from the tissue-stage values themselves, so the final curvature does not depend on the beta reducer's output; the reducer only selects which one is active. The published pipeline is compositional in its interfaces but the mismatch is derived twice." . "The degrees-to-radians conversion of the fibre angle is done by this harness, not by Lean: the published code takes degrees and the Lean definitions take radians. The control M2 (radians dropped from one angle) shows the harness would see a mismatch of that kind inside the published code, but a wrong conversion in the harness itself would show as a failure of every draw." . "The inputs cover ranges (thermal strains up to 4500 %) far beyond physical ones because the identities are algebraic and domain-independent; this checks the functions, not any material." . "The paper's measured-vs-predicted actuator results (its Table 4: predicted and measured opening or twist angles for four cases, n = 3 or 4 each, L = 100 mm, h1 = h2 = 0.6 mm) are not reproduced here: the repository ships only two of the four material panels (PA6-GF and PLA-CF; PA612-CF15 and PLA are missing), and the shipped G-code headers record a baseline curvature of 0.0763 1/cm, which is not the 0.0635 1/cm implied by the paper's predicted 36.4 degrees, with the two baseline raster angles swapped relative to the paper's Table 2, and 0.0000 1/cm for both thermal cases." . "The published pipeline, the Lean closed form and the numerical equilibrium solution give the same curvature for random layer thicknesses, moduli, fibre angles and swelling strains." . "Pre-registered (refuted). Any draw in an unmutated configuration has kappa from the published pipeline outside the bound of the Lean closed form, or the equilibrium solution differs from the Lean closed form by more than relative 1e-9. That is a discrepancy between our formalization (or the published code) and Timoshenko's formula, reported with the first failing inputs. If the controls fail to detect a relevant fault, the verdict is 'inconclusive' with reason 'other'." . "0.95"^^ . . "supports" . "Lean's bilayerCurvature (Timoshenko's formula, with the coefficient timoshenkoCoefficient) and the published S_elem.py / S_print.py (run unmodified inside the full pipeline stimulus -> fibre -> lamina -> tissue -> element) give the same curvature for every draw; and both equal the curvature obtained by solving the force balance, moment balance and interface compatibility equations that bilayerCurvature_ofEquilibrium takes as hypotheses." . "Exhaustive comparison over all draws against the rounding-aware bound; fault-injection controls must trip the same comparison." . "Pre-registered (supported). In every one of the 8 configurations, for all draws, kappa from the published pipeline equals bilayerCurvature(h1 + h2, h1/h2, E1/E2, active mismatch) evaluated from the Lean source within the rounding bound, where the active mismatch is the through-thickness axial mismatch for beta_bend and the shear mismatch for beta_twist, computed by the Lean-defined strains; the numerical solution of the equilibrium equations (force P1 + P2 = 0; moment P1 (h1 + h2)/2 + kappa (E1 h1^3 + E2 h2^3)/12 = 0; compatibility eps1 + P1/(E1 h1) - kappa h1/2 = eps2 + P2/(E2 h2) + kappa h2/2, linear in P1 and kappa) agrees with the Lean closed form within relative 1e-9; and the controls detect all faults relevant to this claim (L4, L5, M3). Rounding-aware bound: the published scripts serialize every bundle value with {:.6f} (angles and thicknesses with {:.4f}), so the inputs above are on grids that survive serialization exactly and the only expected discrepancy is output rounding. Strain-like quantities (eps_strip_i, delta_12_i) must agree within 5e-7 + 1e-12; mismatches (delta_eps_thk, delta_eps_12) within 1e-6 + 1e-12; kappa within |C_geom| * 1e-6 + 5e-7 + 1e-12. Sampling (fixed before running; seed 20261101, numpy default_rng): per configuration N = 1000 draws. chi or alpha on a 1e-4 grid in [-0.2, 0.3] (per layer, L and T), humidity RH_ref in 0..50 % and RH in 50..100 % (integers) or T_ref in 0..50 and T_cur in 50..150 C (integers), theta_1 and theta_2 on a 0.01 degree grid in [-90, 90], h_1 and h_2 on a 1e-4 cm grid in [0.02, 0.2], E_1 and E_2 log-uniform in [100, 20000] rounded to integers, L = 8, W = 1.2, with |chi_L - chi_T| >= 0.005 in each layer. Configurations: stimulus (hygro, thermal) x branch (Nat: F_fib..S_elem; Art: F_fil..S_print) x response (beta_bend, beta_twist) = 8. Plus an antisymmetric set of 500 draws per branch with theta_2 = -theta_1, equal layer materials and beta_twist and beta_bend each. Controls (fault injection, pre-registered): five faults are injected one at a time into the Lean-side expressions (L1 sin(2 phi) -> sin(phi) in shearStrain; L2 cos^2/sin^2 swapped in axialStrain; L3 factor 1/2 dropped from shearStrain; L4 6(1+m)^2 -> 3(1+m)^2 in timoshenkoCoefficient; L5 (1+m n) -> (1+m/n) in timoshenkoCoefficient) and four into the vendored scripts (M1 sin(2.0*r1) -> sin(r1) in T_tis; M2 radians() dropped from theta_2 in T_tis; M3 (1.0+m*n) -> (1.0+m/n) in S_elem; M4 d12_1 - d12_2 -> d12_1 + d12_2 in beta_twist). Every fault relevant to a claim must trip the rounding-aware bound in at least 90 % of the draws of every configuration it affects, otherwise the harness cannot see transcription errors and the verdict is inconclusive (reason other)." . "false"^^ . . "independent reference implementation of the strain-projection and Timoshenko steps; file hashes recorded by analysis.py" . "Apache-2.0" . . "Dataset: lamm-mit/CategoryTheoryDesign gh_scripts (code of Marom, Tibbits, Zardini & Buehler 2026, JMPS 106780)" . . . . . . . . . . . . . . . . . . . . . . . . . . "sha256:08541cabdcc621379dc7a8afc41f0897b97319cdc646c893def3dd6f13c5202e" . "sha256:136f2a9238a10d0c3df159136dab160e332d8a64696d33d14c279186bcc50628" . "sha256:1c105303b875865c0f93efe325d62cc58be624c247436a34318691cd89964636" . "sha256:20c7c3bf955b9fb916d21faa1e96cad5ad52bda0f5903f78a1b5325e11861e56" . "sha256:3b51396ba0c8c0a6779635ec1b9563d17e87138ea7fac831f9b48697d76dcb56" . "sha256:4120990ab57d750197c176ce9d41b4b0792ec9f18b4dca8d0d5836c15d7e7e9e" . "sha256:42be2bbfa2a63b9948bb7a043bbcd455af9038765b983449d01a6769fa490e8e" . "sha256:459dbf850cb9f2afc2094f79b95459afc8243dfd486f221b27d22b3f2c10a675" . "sha256:557fd9d833243c996224409d309397ca481e3b5261d622a5e80099e2c17327ba" . "sha256:57cef6bce9c9a97ec273a874b69554b2eb92169e3a4385733d21106a3be025f7" . "sha256:584e1c86d19344db5d9ccfd393fc0d262fc593950b9be13100bd1b21efe17c9c" . "sha256:9a9fae59c66d777e9608f3823fe19ee07965b2fab1f64ae3e7dfcdb08f1b351c" . "sha256:b943d1b577588f0832abc2b4fe5321ce68494d13696bf6da0fe637e8fc9c7626" . "sha256:bbfa24b16c5037208284c1ff085f8bc8acf14fe247aea1f614d407cf241e3eda" . "sha256:bc88efb2ec2a784b49fd27b34d34e5544411a822db733c02bf05b782112d3291" . "sha256:bcc3ef0187379d6e1c30b7df8615e8c341836681875633f5538da62ca1766c8f" . "sha256:c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4" . "sha256:cc602626822305e3411def1bc16b56f481569d28943e3530d95e40108e312871" . "sha256:d075dbff4e6c622eb4db449c3d7c43b4c99f6f95a7d3b405641e8d6396fd88c6" . "sha256:d29e85a504ebefde6f78a838f05429166af4b1547ae9f928e97b63e24e9eeea8" . "sha256:db69c73e5cf5a5132dfd6b37cef78e5332148a8e2665e5456c49975a429103b9" . "sha256:dbdd8c663aac36077a9fccf08a2241acbc3c4b19415b1e03bad3ee9c2078d5e6" . "sha256:e2c5791e3ca67fcfb960ec88dbb9661a6fc2309f46063d022605f9667c780f03" . "sha256:f551db79ead25f0b458fa5a0d3c1fd85ed21bee7624c62b89e5aa758d143b38c" . . "delphisci claim tester (claude-sonnet-5-5; marom-crosscheck-01)" . . . "claude-sonnet-5-5" . . . . . . . . . "2026-11-08T16:24:31.889Z"^^ . . . . . "Claim test of hygromorph-bilayer-curvature (marom-crosscheck-01): supports, confidence 0.95" . . "RSA" . "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAyFHtPB6p0mCjDozxlOY9CmO3nBm7Te3jFbXyLmM+G1tGe47Da0jYIbhkl9Oo1ZjxmCa3LCwlEqK8gj6hEIcL4ahW30JXh9HycfKVk1bugkzMEV15tJdTzAU3sGMFnbNsn43xY2LFLy45tApkRm5byEiM7oRRrooIdwoQKnP4Wzq/bfAoJ9qvW+MGkelyOTd1jbSt+KfmT7xKmDfWzAHddUlWwMX2QJOLxDaffOteTop6ZRgPiNmPJKA/S62Gac9XtSYT3oDkZ6/nr5cxxNLpOyxTf5FPISiCe11xYO/unYjY+mwnOfA8yhJIyx1l0O9I0vpOpn+E5TvyHJV+oSTrvwIDAQAB" . "bYtAtpRlQefeHeg83srQh5M2NdxTGTrjhaQDCaZkY6LEKwvnjXSQbUrNCKqKDTQEtHiQ4MdJyCo5vlKlYmFAeaqQBPS44hs0kTb6j8M5aAiWGO8FjKX7JNqSHG38k6q5rBI3ikdVAMm0RA20KtNRXUrOFB3YvR5dsqeKgUw9M1q+L/2QWjqjN8TCFRyEt03mvE4NHSFJXFYBu9eJhoGzCbfpyHmkpzYE4uDfryhiH55/gmbwwPZoD7L0wYa0sV+SVIwBZdkKge0JYvu6UDiD9xx33IVSVzUKA3wvfZO2j/8wqEwAeMRRsthyGuzqYUNjiStFaUzjy5brex3GY6tC2w==" . . .