https://w3id.org/np/RAFhrP9S3MibWqgmSl4Y2hThZ1cHVaABgcnxH_MxB4r6I
.trig | .trig.txt | .jelly | .jelly.txt | .jsonld | .jsonld.txt | .nq | .nq.txt | .xml | .xml.txt
@prefix this: <https://w3id.org/np/RAFhrP9S3MibWqgmSl4Y2hThZ1cHVaABgcnxH_MxB4r6I> .
@prefix sub: <https://w3id.org/np/RAFhrP9S3MibWqgmSl4Y2hThZ1cHVaABgcnxH_MxB4r6I/> .
@prefix np: <http://www.nanopub.org/nschema#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix prov: <http://www.w3.org/ns/prov#> .
@prefix npx: <http://purl.org/nanopub/x/> .
@prefix dc: <http://purl.org/dc/terms/> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
sub:Head {
this: a np:Nanopublication;
np:hasAssertion sub:assertion;
np:hasProvenance sub:provenance;
np:hasPublicationInfo sub:pubinfo .
}
sub:assertion {
<https://w3id.org/delphi/resource/assessment/hygromorph-antisymmetric-twist--claim-test--marom-crosscheck-01>
a <https://w3id.org/delphi/ontology/Assessment>;
dc:description "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.";
<http://www.w3.org/2000/01/rdf-schema#comment> "Measured: 0.999998000011939 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, not a test of the claim in organisms. The Lean proofs establish the identities; this checks that the formalized definitions are the functions the authors implemented (angle in radians vs degrees, ordering of layers, sign of the shear, which layer carries eps_L). The published code is run verbatim by exec-ing the Grasshopper scripts with their input ports as globals; nothing is edited. The Lean definitions are read from the Lean source file by a small term parser, not retyped. It shows the formalization and the code agree; it does not show either matches pine cones, and the paper's measured-vs-predicted actuator results are not reproduced (the repository has videos and figures but no tables).";
<http://www.w3.org/2000/01/rdf-schema#label> "Claim test of hygromorph-antisymmetric-twist (marom-crosscheck-01): supports, confidence 0.95";
<http://www.w3.org/2000/01/rdf-schema#seeAlso> <https://github.com/fractastical/delphisci/blob/bf2af6ee0a84e23ffa6414ad7a0a50a8c276506e/test-data/claim-tests/plant-hygromorph-mechanics/hygromorph-antisymmetric-twist/marom-crosscheck-01/result.json>;
prov:wasAttributedTo <https://w3id.org/delphi/resource/agent/delphisci-claim-tester-claude-sonnet-5-5>;
<https://w3id.org/delphi/ontology/admissibleDatasets> "None: the inputs are random draws from the stated grid; the reference is the published code at a pinned commit, independent of our Lean file.";
<https://w3id.org/delphi/ontology/assessmentType> "claim-test/0.1.0";
<https://w3id.org/delphi/ontology/dataKind> "computational";
<https://w3id.org/delphi/ontology/disconfirmingObservation> "At least one input in an unmutated configuration where the published code and the Lean-defined function differ by more than the rounding bound.";
<https://w3id.org/delphi/ontology/evidenceAgainst> "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.";
<https://w3id.org/delphi/ontology/expectedObservation> "For random inputs, every output the published pipeline shares with our Lean definitions agrees within the stated output-rounding bound.";
<https://w3id.org/delphi/ontology/failCriterion> "Pre-registered (refuted). Any draw in an unmutated configuration exceeds the bound for any of the quantities above. That is a discrepancy between the Lean definitions and the published code (a sign, angle-convention, or transcription error on one side); it is reported with the first failing inputs and is not explained away. If the controls fail to detect a relevant fault, the verdict is 'inconclusive' with reason 'other'.";
<https://w3id.org/delphi/ontology/hasConfidence> "0.95"^^xsd:double;
<https://w3id.org/delphi/ontology/hasEvidence> <https://w3id.org/delphi/resource/evidence/hygromorph-antisymmetric-twist--claim-test--marom-crosscheck-01--dataset-1>;
<https://w3id.org/delphi/ontology/hasVerdict> "supports";
<https://w3id.org/delphi/ontology/hypothesis> "The Lean definitions shearStrain and axialStrain (ThompsonLaws/Hygromorphs.lean) and the strain projection published with Marom et al. (2026) (T_tis.py and T_stack.py, run unmodified) compute the same functions: for every draw, the strip-axis strain and the in-plane shear strain of each layer, and the through-thickness and shear mismatches, agree within the rounding bound; and for antisymmetric fibre angles with equal layers the published pipeline gives zero axial mismatch and a shear mismatch (epsL - epsT) sin 2 phi, as shearStrain_mismatch and axialStrain_mismatch state.";
<https://w3id.org/delphi/ontology/inferenceMethod> "Exhaustive comparison over all draws against the rounding-aware bound; fault-injection controls must trip the same comparison.";
<https://w3id.org/delphi/ontology/passCriterion> "Pre-registered (supported). In every one of the 8 configurations and the antisymmetric sets, for all draws, eps_strip_1, eps_strip_2, delta_12_1, delta_12_2, delta_eps_thk and delta_eps_12 from the published scripts equal the Lean-defined values within the rounding bound; in the antisymmetric sets |delta_eps_thk| <= 1e-6 and |delta_eps_12 - (epsL - epsT) sin 2 phi| <= 1e-6; and the controls detect all faults relevant to this claim (L1, L2, L3, M1, M2, M4). 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).";
<https://w3id.org/delphi/ontology/preregistered> "false"^^xsd:boolean .
<https://w3id.org/delphi/resource/claim/hygromorph-antisymmetric-twist> <https://w3id.org/delphi/ontology/hasAssessment>
<https://w3id.org/delphi/resource/assessment/hygromorph-antisymmetric-twist--claim-test--marom-crosscheck-01> .
<https://w3id.org/delphi/resource/evidence/hygromorph-antisymmetric-twist--claim-test--marom-crosscheck-01--dataset-1>
a <https://w3id.org/delphi/ontology/EvidenceItem>;
dc:description "independent reference implementation of the strain-projection and Timoshenko steps; file hashes recorded by analysis.py";
dc:license "Apache-2.0";
<http://www.w3.org/2000/01/rdf-schema#label> "Dataset: lamm-mit/CategoryTheoryDesign gh_scripts (code of Marom, Tibbits, Zardini & Buehler 2026, JMPS 106780)";
prov:atLocation <https://raw.githubusercontent.com/lamm-mit/CategoryTheoryDesign/fa8100bad1b43525f28106da94a7f055730fb325/LICENSE>,
<https://raw.githubusercontent.com/lamm-mit/CategoryTheoryDesign/fa8100bad1b43525f28106da94a7f055730fb325/gh_scripts/F_fib.py>,
<https://raw.githubusercontent.com/lamm-mit/CategoryTheoryDesign/fa8100bad1b43525f28106da94a7f055730fb325/gh_scripts/F_fil.py>,
<https://raw.githubusercontent.com/lamm-mit/CategoryTheoryDesign/fa8100bad1b43525f28106da94a7f055730fb325/gh_scripts/L_lam.py>,
<https://raw.githubusercontent.com/lamm-mit/CategoryTheoryDesign/fa8100bad1b43525f28106da94a7f055730fb325/gh_scripts/L_lay.py>,
<https://raw.githubusercontent.com/lamm-mit/CategoryTheoryDesign/fa8100bad1b43525f28106da94a7f055730fb325/gh_scripts/S_elem.py>,
<https://raw.githubusercontent.com/lamm-mit/CategoryTheoryDesign/fa8100bad1b43525f28106da94a7f055730fb325/gh_scripts/S_print.py>,
<https://raw.githubusercontent.com/lamm-mit/CategoryTheoryDesign/fa8100bad1b43525f28106da94a7f055730fb325/gh_scripts/T_stack.py>,
<https://raw.githubusercontent.com/lamm-mit/CategoryTheoryDesign/fa8100bad1b43525f28106da94a7f055730fb325/gh_scripts/T_tis.py>,
<https://raw.githubusercontent.com/lamm-mit/CategoryTheoryDesign/fa8100bad1b43525f28106da94a7f055730fb325/gh_scripts/alpha_1.py>,
<https://raw.githubusercontent.com/lamm-mit/CategoryTheoryDesign/fa8100bad1b43525f28106da94a7f055730fb325/gh_scripts/alpha_1_prime.py>,
<https://raw.githubusercontent.com/lamm-mit/CategoryTheoryDesign/fa8100bad1b43525f28106da94a7f055730fb325/gh_scripts/alpha_2.py>,
<https://raw.githubusercontent.com/lamm-mit/CategoryTheoryDesign/fa8100bad1b43525f28106da94a7f055730fb325/gh_scripts/alpha_2_prime.py>,
<https://raw.githubusercontent.com/lamm-mit/CategoryTheoryDesign/fa8100bad1b43525f28106da94a7f055730fb325/gh_scripts/alpha_geo.py>,
<https://raw.githubusercontent.com/lamm-mit/CategoryTheoryDesign/fa8100bad1b43525f28106da94a7f055730fb325/gh_scripts/alpha_geo_prime.py>,
<https://raw.githubusercontent.com/lamm-mit/CategoryTheoryDesign/fa8100bad1b43525f28106da94a7f055730fb325/gh_scripts/beta_bend.py>,
<https://raw.githubusercontent.com/lamm-mit/CategoryTheoryDesign/fa8100bad1b43525f28106da94a7f055730fb325/gh_scripts/beta_bend_prime.py>,
<https://raw.githubusercontent.com/lamm-mit/CategoryTheoryDesign/fa8100bad1b43525f28106da94a7f055730fb325/gh_scripts/beta_twist.py>,
<https://raw.githubusercontent.com/lamm-mit/CategoryTheoryDesign/fa8100bad1b43525f28106da94a7f055730fb325/gh_scripts/beta_twist_prime.py>,
<https://raw.githubusercontent.com/lamm-mit/CategoryTheoryDesign/fa8100bad1b43525f28106da94a7f055730fb325/gh_scripts/geo.py>,
<https://raw.githubusercontent.com/lamm-mit/CategoryTheoryDesign/fa8100bad1b43525f28106da94a7f055730fb325/gh_scripts/stim_hygro.py>,
<https://raw.githubusercontent.com/lamm-mit/CategoryTheoryDesign/fa8100bad1b43525f28106da94a7f055730fb325/gh_scripts/stim_hygro_prime.py>,
<https://raw.githubusercontent.com/lamm-mit/CategoryTheoryDesign/fa8100bad1b43525f28106da94a7f055730fb325/gh_scripts/stim_thermal.py>,
<https://raw.githubusercontent.com/lamm-mit/CategoryTheoryDesign/fa8100bad1b43525f28106da94a7f055730fb325/gh_scripts/stim_thermal_prime.py>;
prov:wasDerivedFrom <https://github.com/lamm-mit/CategoryTheoryDesign>;
<https://w3id.org/delphi/ontology/hasChecksum> "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" .
}
sub:provenance {
<https://w3id.org/delphi/resource/agent/delphisci-claim-tester-claude-sonnet-5-5>
a prov:SoftwareAgent;
<http://www.w3.org/2000/01/rdf-schema#label> "delphisci claim tester (claude-sonnet-5-5; marom-crosscheck-01)";
prov:actedOnBehalfOf <https://orcid.org/0009-0007-4948-9192>;
<https://w3id.org/delphi/ontology/usesModel> <https://w3id.org/delphi/resource/model/claude-sonnet-5-5> .
<https://w3id.org/delphi/resource/model/claude-sonnet-5-5> a <https://w3id.org/delphi/ontology/LanguageModel>;
dc:identifier "claude-sonnet-5-5" .
sub:assertion prov:wasAttributedTo <https://w3id.org/delphi/resource/agent/delphisci-claim-tester-claude-sonnet-5-5>;
prov:wasDerivedFrom <https://github.com/fractastical/delphisci/blob/bf2af6ee0a84e23ffa6414ad7a0a50a8c276506e/test-data/claim-tests/plant-hygromorph-mechanics/hygromorph-antisymmetric-twist/marom-crosscheck-01/result.json>;
prov:wasGeneratedBy sub:test .
sub:plan prov:hadPlan <https://github.com/fractastical/delphisci/blob/bf2af6ee0a84e23ffa6414ad7a0a50a8c276506e/test-data/claim-tests/README.md> .
sub:test a prov:Activity;
prov:qualifiedAssociation sub:plan;
prov:wasAssociatedWith <https://w3id.org/delphi/resource/agent/delphisci-claim-tester-claude-sonnet-5-5> .
}
sub:pubinfo {
this: dc:created "2026-11-08T16:24:31.888Z"^^xsd:dateTime;
dc:creator <https://orcid.org/0009-0007-4948-9192>;
dc:license <https://creativecommons.org/licenses/by/4.0/>;
npx:hasNanopubType <https://w3id.org/delphi/ontology/Assessment>;
npx:introduces <https://w3id.org/delphi/resource/assessment/hygromorph-antisymmetric-twist--claim-test--marom-crosscheck-01>;
<http://www.w3.org/2000/01/rdf-schema#label> "Claim test of hygromorph-antisymmetric-twist (marom-crosscheck-01): supports, confidence 0.95";
<https://w3id.org/delphi/ontology/domain> <https://w3id.org/delphi/resource/domain/plant-hygromorph-mechanics> .
sub:sig npx:hasAlgorithm "RSA";
npx:hasPublicKey "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAyFHtPB6p0mCjDozxlOY9CmO3nBm7Te3jFbXyLmM+G1tGe47Da0jYIbhkl9Oo1ZjxmCa3LCwlEqK8gj6hEIcL4ahW30JXh9HycfKVk1bugkzMEV15tJdTzAU3sGMFnbNsn43xY2LFLy45tApkRm5byEiM7oRRrooIdwoQKnP4Wzq/bfAoJ9qvW+MGkelyOTd1jbSt+KfmT7xKmDfWzAHddUlWwMX2QJOLxDaffOteTop6ZRgPiNmPJKA/S62Gac9XtSYT3oDkZ6/nr5cxxNLpOyxTf5FPISiCe11xYO/unYjY+mwnOfA8yhJIyx1l0O9I0vpOpn+E5TvyHJV+oSTrvwIDAQAB";
npx:hasSignature "W+nUfRbi4ZMXd+3jtVXlABQvx99eYOgrJ0H1jt1L857Gr3OIzqYKmwJ+5yZJu+3KPJVo9bzJ3Xb30u5D9TiDtFHYmME+8LVElHTENvCgyOeE10bGe39coQGldH6KBUYeSCO+DuuCEHD2PND/TOGHPfDFEKBGKFGwa6my2GzhX9+PQW8sGO3oGmEWB9p2UNyaqCnTFEnGJXSFdvH2c8R2SO+ms1IYJoYHNPKGZXwKp9Uy9SJEBJg57LBV+EU0aOSiLeRj78yV6sBqz//1bhKzCTfjlKfZl1zE9Y2dG2Aztw7CENjME6+wvRlXsoyK5MwNRpplPgYAZYJaEoe9qW/ggw==";
npx:hasSignatureTarget this:;
npx:signedBy <https://orcid.org/0009-0007-4948-9192> .
}