{"bundle_type":"pith_open_graph_bundle","bundle_version":"1.0","pith_number":"pith:2017:JGN7O2RQYWSNR5RBQTPXQSKJUH","short_pith_number":"pith:JGN7O2RQ","canonical_record":{"source":{"id":"1709.04816","kind":"arxiv","version":1},"metadata":{"license":"http://arxiv.org/licenses/nonexclusive-distrib/1.0/","primary_cat":"cs.PL","submitted_at":"2017-09-14T14:35:50Z","cross_cats_sorted":["cs.LO"],"title_canon_sha256":"d17a86eb131d2c41db78c6efff1a1715b28dd9c70d66b8329bf7685877240b03","abstract_canon_sha256":"a416f0c090472edfa726fbc28f3e771963218b8331f09b856b7a2dd743a9d52b"},"schema_version":"1.0"},"canonical_sha256":"499bf76a30c5a4d8f62184df784949a1d2866c96e94ce30c97a5dcbcfb9ef96e","source":{"kind":"arxiv","id":"1709.04816","version":1},"source_aliases":[{"alias_kind":"arxiv","alias_value":"1709.04816","created_at":"2026-05-18T00:35:10Z"},{"alias_kind":"arxiv_version","alias_value":"1709.04816v1","created_at":"2026-05-18T00:35:10Z"},{"alias_kind":"doi","alias_value":"10.48550/arxiv.1709.04816","created_at":"2026-05-18T00:35:10Z"},{"alias_kind":"pith_short_12","alias_value":"JGN7O2RQYWSN","created_at":"2026-05-18T12:31:24Z"},{"alias_kind":"pith_short_16","alias_value":"JGN7O2RQYWSNR5RB","created_at":"2026-05-18T12:31:24Z"},{"alias_kind":"pith_short_8","alias_value":"JGN7O2RQ","created_at":"2026-05-18T12:31:24Z"}],"events":[{"event_type":"record_created","subject_pith_number":"pith:2017:JGN7O2RQYWSNR5RBQTPXQSKJUH","target":"record","payload":{"canonical_record":{"source":{"id":"1709.04816","kind":"arxiv","version":1},"metadata":{"license":"http://arxiv.org/licenses/nonexclusive-distrib/1.0/","primary_cat":"cs.PL","submitted_at":"2017-09-14T14:35:50Z","cross_cats_sorted":["cs.LO"],"title_canon_sha256":"d17a86eb131d2c41db78c6efff1a1715b28dd9c70d66b8329bf7685877240b03","abstract_canon_sha256":"a416f0c090472edfa726fbc28f3e771963218b8331f09b856b7a2dd743a9d52b"},"schema_version":"1.0"},"canonical_sha256":"499bf76a30c5a4d8f62184df784949a1d2866c96e94ce30c97a5dcbcfb9ef96e","receipt":{"kind":"pith_receipt","key_id":"pith-v1-2026-05","algorithm":"ed25519","signed_at":"2026-05-18T00:35:10.081042Z","signature_b64":"EIuZ9LxPNiRoBYsOlSHQ5Kj7JorDA0Awo/FBNKLPH7w75gng5FtZZ8nwowUXoZpwy1f/W/hCS/ViijdIy/ZPAA==","signed_message":"canonical_sha256_bytes","builder_version":"pith-number-builder-2026-05-17-v1","receipt_version":"0.3","canonical_sha256":"499bf76a30c5a4d8f62184df784949a1d2866c96e94ce30c97a5dcbcfb9ef96e","last_reissued_at":"2026-05-18T00:35:10.080463Z","signature_status":"signed_v1","first_computed_at":"2026-05-18T00:35:10.080463Z","public_key_fingerprint":"8d4b5ee74e4693bcd1df2446408b0d54"},"source_kind":"arxiv","source_id":"1709.04816","source_version":1,"attestation_state":"computed"},"signer":{"signer_id":"pith.science","signer_type":"pith_registry","key_id":"pith-v1-2026-05","public_key_fingerprint":"8d4b5ee74e4693bcd1df2446408b0d54"},"created_at":"2026-05-18T00:35:10Z","supersedes":[],"prev_event":null,"signature":{"signature_status":"signed_v1","algorithm":"ed25519","key_id":"pith-v1-2026-05","public_key_fingerprint":"8d4b5ee74e4693bcd1df2446408b0d54","signature_b64":"hxfI+kq/6DaBUOwFpXmiv9062hgz+wO++1ZTygNujAbcT/JlWD964j8aa1rEztvzqn/0Dnw+m72oxj+26vN1Cg==","signed_message":"open_graph_event_sha256_bytes","signed_at":"2026-06-08T14:12:50.937044Z"},"content_sha256":"903b43afab10489102ba1ce15342ff4cea6996564eece4b540f3c782f4e0fbcd","schema_version":"1.0","event_id":"sha256:903b43afab10489102ba1ce15342ff4cea6996564eece4b540f3c782f4e0fbcd"},{"event_type":"graph_snapshot","subject_pith_number":"pith:2017:JGN7O2RQYWSNR5RBQTPXQSKJUH","target":"graph","payload":{"graph_snapshot":{"paper":{"title":"Combining Static and Dynamic Contract Checking for Curry","license":"http://arxiv.org/licenses/nonexclusive-distrib/1.0/","headline":"","cross_cats":["cs.LO"],"primary_cat":"cs.PL","authors_text":"Michael Hanus","submitted_at":"2017-09-14T14:35:50Z","abstract_excerpt":"Static type systems are usually not sufficient to express all requirements on function calls. Hence, contracts with pre- and postconditions can be used to express more complex constraints on operations. Contracts can be checked at run time to ensure that operations are only invoked with reasonable arguments and return intended results. Although such dynamic contract checking provides more reliable program execution, it requires execution time and could lead to program crashes that might be detected with more advanced methods at compile time. To improve this situation for declarative languages,"},"claims":{"count":0,"items":[],"snapshot_sha256":"258153158e38e3291e3d48162225fcdb2d5a3ed65a07baac614ab91432fd4f57"},"source":{"id":"1709.04816","kind":"arxiv","version":1},"verdict":{"id":null,"model_set":{},"created_at":null,"strongest_claim":"","one_line_summary":"","pipeline_version":null,"weakest_assumption":"","pith_extraction_headline":""},"references":{"count":0,"sample":[],"resolved_work":0,"snapshot_sha256":"258153158e38e3291e3d48162225fcdb2d5a3ed65a07baac614ab91432fd4f57","internal_anchors":0},"formal_canon":{"evidence_count":0,"snapshot_sha256":"258153158e38e3291e3d48162225fcdb2d5a3ed65a07baac614ab91432fd4f57"},"author_claims":{"count":0,"strong_count":0,"snapshot_sha256":"258153158e38e3291e3d48162225fcdb2d5a3ed65a07baac614ab91432fd4f57"},"builder_version":"pith-number-builder-2026-05-17-v1"},"verdict_id":null},"signer":{"signer_id":"pith.science","signer_type":"pith_registry","key_id":"pith-v1-2026-05","public_key_fingerprint":"8d4b5ee74e4693bcd1df2446408b0d54"},"created_at":"2026-05-18T00:35:10Z","supersedes":[],"prev_event":null,"signature":{"signature_status":"signed_v1","algorithm":"ed25519","key_id":"pith-v1-2026-05","public_key_fingerprint":"8d4b5ee74e4693bcd1df2446408b0d54","signature_b64":"2+rJj5sqCAJUwjufWarI4EeFWVq/riVWKDGRyJW0ogHIaBN91Kh1t9HmvMhX7nJB4Et7KxM1KYcu2YmsX2/WAw==","signed_message":"open_graph_event_sha256_bytes","signed_at":"2026-06-08T14:12:50.937685Z"},"content_sha256":"8ad74324744c479f3978adb114dd8911c18e3cfbe8c7955237441d9c12b18f8d","schema_version":"1.0","event_id":"sha256:8ad74324744c479f3978adb114dd8911c18e3cfbe8c7955237441d9c12b18f8d"}],"timestamp_proofs":[],"mirror_hints":[{"mirror_type":"https","name":"Pith Resolver","base_url":"https://pith.science","bundle_url":"https://pith.science/pith/JGN7O2RQYWSNR5RBQTPXQSKJUH/bundle.json","state_url":"https://pith.science/pith/JGN7O2RQYWSNR5RBQTPXQSKJUH/state.json","well_known_bundle_url":"https://pith.science/.well-known/pith/JGN7O2RQYWSNR5RBQTPXQSKJUH/bundle.json","status":"primary"}],"public_keys":[{"key_id":"pith-v1-2026-05","algorithm":"ed25519","format":"raw","public_key_b64":"stVStoiQhXFxp4s2pdzPNoqVNBMojDU/fJ2db5S3CbM=","public_key_hex":"b2d552b68890857171a78b36a5dccf368a953413288c353f7c9d9d6f94b709b3","fingerprint_sha256_b32_first128bits":"RVFV5Z2OI2J3ZUO7ERDEBCYNKS","fingerprint_sha256_hex":"8d4b5ee74e4693bcd1df2446408b0d54","rotates_at":null,"url":"https://pith.science/pith-signing-key.json","notes":"Pith uses this Ed25519 key to sign canonical record SHA-256 digests. Verify with: ed25519_verify(public_key, message=canonical_sha256_bytes, signature=base64decode(signature_b64))."}],"merge_version":"pith-open-graph-merge-v1","built_at":"2026-06-08T14:12:50Z","links":{"resolver":"https://pith.science/pith/JGN7O2RQYWSNR5RBQTPXQSKJUH","bundle":"https://pith.science/pith/JGN7O2RQYWSNR5RBQTPXQSKJUH/bundle.json","state":"https://pith.science/pith/JGN7O2RQYWSNR5RBQTPXQSKJUH/state.json","well_known_bundle":"https://pith.science/.well-known/pith/JGN7O2RQYWSNR5RBQTPXQSKJUH/bundle.json"},"state":{"state_type":"pith_open_graph_state","state_version":"1.0","pith_number":"pith:2017:JGN7O2RQYWSNR5RBQTPXQSKJUH","merge_version":"pith-open-graph-merge-v1","event_count":2,"valid_event_count":2,"invalid_event_count":0,"equivocation_count":0,"current":{"canonical_record":{"metadata":{"abstract_canon_sha256":"a416f0c090472edfa726fbc28f3e771963218b8331f09b856b7a2dd743a9d52b","cross_cats_sorted":["cs.LO"],"license":"http://arxiv.org/licenses/nonexclusive-distrib/1.0/","primary_cat":"cs.PL","submitted_at":"2017-09-14T14:35:50Z","title_canon_sha256":"d17a86eb131d2c41db78c6efff1a1715b28dd9c70d66b8329bf7685877240b03"},"schema_version":"1.0","source":{"id":"1709.04816","kind":"arxiv","version":1}},"source_aliases":[{"alias_kind":"arxiv","alias_value":"1709.04816","created_at":"2026-05-18T00:35:10Z"},{"alias_kind":"arxiv_version","alias_value":"1709.04816v1","created_at":"2026-05-18T00:35:10Z"},{"alias_kind":"doi","alias_value":"10.48550/arxiv.1709.04816","created_at":"2026-05-18T00:35:10Z"},{"alias_kind":"pith_short_12","alias_value":"JGN7O2RQYWSN","created_at":"2026-05-18T12:31:24Z"},{"alias_kind":"pith_short_16","alias_value":"JGN7O2RQYWSNR5RB","created_at":"2026-05-18T12:31:24Z"},{"alias_kind":"pith_short_8","alias_value":"JGN7O2RQ","created_at":"2026-05-18T12:31:24Z"}],"graph_snapshots":[{"event_id":"sha256:8ad74324744c479f3978adb114dd8911c18e3cfbe8c7955237441d9c12b18f8d","target":"graph","created_at":"2026-05-18T00:35:10Z","signer":{"key_id":"pith-v1-2026-05","public_key_fingerprint":"8d4b5ee74e4693bcd1df2446408b0d54","signer_id":"pith.science","signer_type":"pith_registry"},"payload":{"graph_snapshot":{"author_claims":{"count":0,"snapshot_sha256":"258153158e38e3291e3d48162225fcdb2d5a3ed65a07baac614ab91432fd4f57","strong_count":0},"builder_version":"pith-number-builder-2026-05-17-v1","claims":{"count":0,"items":[],"snapshot_sha256":"258153158e38e3291e3d48162225fcdb2d5a3ed65a07baac614ab91432fd4f57"},"formal_canon":{"evidence_count":0,"snapshot_sha256":"258153158e38e3291e3d48162225fcdb2d5a3ed65a07baac614ab91432fd4f57"},"paper":{"abstract_excerpt":"Static type systems are usually not sufficient to express all requirements on function calls. Hence, contracts with pre- and postconditions can be used to express more complex constraints on operations. Contracts can be checked at run time to ensure that operations are only invoked with reasonable arguments and return intended results. Although such dynamic contract checking provides more reliable program execution, it requires execution time and could lead to program crashes that might be detected with more advanced methods at compile time. To improve this situation for declarative languages,","authors_text":"Michael Hanus","cross_cats":["cs.LO"],"headline":"","license":"http://arxiv.org/licenses/nonexclusive-distrib/1.0/","primary_cat":"cs.PL","submitted_at":"2017-09-14T14:35:50Z","title":"Combining Static and Dynamic Contract Checking for Curry"},"references":{"count":0,"internal_anchors":0,"resolved_work":0,"sample":[],"snapshot_sha256":"258153158e38e3291e3d48162225fcdb2d5a3ed65a07baac614ab91432fd4f57"},"source":{"id":"1709.04816","kind":"arxiv","version":1},"verdict":{"created_at":null,"id":null,"model_set":{},"one_line_summary":"","pipeline_version":null,"pith_extraction_headline":"","strongest_claim":"","weakest_assumption":""}},"verdict_id":null}}],"author_attestations":[],"timestamp_anchors":[],"storage_attestations":[],"citation_signatures":[],"replication_records":[],"corrections":[],"mirror_hints":[],"record_created":{"event_id":"sha256:903b43afab10489102ba1ce15342ff4cea6996564eece4b540f3c782f4e0fbcd","target":"record","created_at":"2026-05-18T00:35:10Z","signer":{"key_id":"pith-v1-2026-05","public_key_fingerprint":"8d4b5ee74e4693bcd1df2446408b0d54","signer_id":"pith.science","signer_type":"pith_registry"},"payload":{"attestation_state":"computed","canonical_record":{"metadata":{"abstract_canon_sha256":"a416f0c090472edfa726fbc28f3e771963218b8331f09b856b7a2dd743a9d52b","cross_cats_sorted":["cs.LO"],"license":"http://arxiv.org/licenses/nonexclusive-distrib/1.0/","primary_cat":"cs.PL","submitted_at":"2017-09-14T14:35:50Z","title_canon_sha256":"d17a86eb131d2c41db78c6efff1a1715b28dd9c70d66b8329bf7685877240b03"},"schema_version":"1.0","source":{"id":"1709.04816","kind":"arxiv","version":1}},"canonical_sha256":"499bf76a30c5a4d8f62184df784949a1d2866c96e94ce30c97a5dcbcfb9ef96e","receipt":{"algorithm":"ed25519","builder_version":"pith-number-builder-2026-05-17-v1","canonical_sha256":"499bf76a30c5a4d8f62184df784949a1d2866c96e94ce30c97a5dcbcfb9ef96e","first_computed_at":"2026-05-18T00:35:10.080463Z","key_id":"pith-v1-2026-05","kind":"pith_receipt","last_reissued_at":"2026-05-18T00:35:10.080463Z","public_key_fingerprint":"8d4b5ee74e4693bcd1df2446408b0d54","receipt_version":"0.3","signature_b64":"EIuZ9LxPNiRoBYsOlSHQ5Kj7JorDA0Awo/FBNKLPH7w75gng5FtZZ8nwowUXoZpwy1f/W/hCS/ViijdIy/ZPAA==","signature_status":"signed_v1","signed_at":"2026-05-18T00:35:10.081042Z","signed_message":"canonical_sha256_bytes"},"source_id":"1709.04816","source_kind":"arxiv","source_version":1}}},"equivocations":[],"invalid_events":[],"applied_event_ids":["sha256:903b43afab10489102ba1ce15342ff4cea6996564eece4b540f3c782f4e0fbcd","sha256:8ad74324744c479f3978adb114dd8911c18e3cfbe8c7955237441d9c12b18f8d"],"state_sha256":"672748b5d12bb3a7df1483f6037f0efa4eb7942b0f15ae5e02d46ab893ae513d"},"bundle_signature":{"signature_status":"signed_v1","algorithm":"ed25519","key_id":"pith-v1-2026-05","public_key_fingerprint":"8d4b5ee74e4693bcd1df2446408b0d54","signature_b64":"NeHw87/Fz7kLzcG0s6hiZi89XHyCo1PHi04yAPKWM21DOYHASsHb6T6jiVV9dtCs8TO+G+SfoCOzuU8R0jLgDA==","signed_message":"bundle_sha256_bytes","signed_at":"2026-06-08T14:12:50.940882Z","bundle_sha256":"2ac90517707f2782fa5f1b49894ed6f37351e31fd54caa63bbedcec8f49b1509"}}