{"bundle_type":"pith_open_graph_bundle","bundle_version":"1.0","pith_number":"pith:2017:XA6VL7TQTKKJVU6C5BDD6JFLN7","short_pith_number":"pith:XA6VL7TQ","canonical_record":{"source":{"id":"1708.07223","kind":"arxiv","version":1},"metadata":{"license":"http://arxiv.org/licenses/nonexclusive-distrib/1.0/","primary_cat":"cs.LO","submitted_at":"2017-08-24T00:18:58Z","cross_cats_sorted":[],"title_canon_sha256":"c7528a7abc886ab5803ef6444232510d61d8bcb4c1e3dc123c6afefe69616e4a","abstract_canon_sha256":"aa993c177dcc3066ededab970a0a81c4b93893598906b04726dad747adb18608"},"schema_version":"1.0"},"canonical_sha256":"b83d55fe709a949ad3c2e8463f24ab6fc4ba7ac7e4d756e4b3687856116f840e","source":{"kind":"arxiv","id":"1708.07223","version":1},"source_aliases":[{"alias_kind":"arxiv","alias_value":"1708.07223","created_at":"2026-05-18T00:36:46Z"},{"alias_kind":"arxiv_version","alias_value":"1708.07223v1","created_at":"2026-05-18T00:36:46Z"},{"alias_kind":"doi","alias_value":"10.48550/arxiv.1708.07223","created_at":"2026-05-18T00:36:46Z"},{"alias_kind":"pith_short_12","alias_value":"XA6VL7TQTKKJ","created_at":"2026-05-18T12:31:53Z"},{"alias_kind":"pith_short_16","alias_value":"XA6VL7TQTKKJVU6C","created_at":"2026-05-18T12:31:53Z"},{"alias_kind":"pith_short_8","alias_value":"XA6VL7TQ","created_at":"2026-05-18T12:31:53Z"}],"events":[{"event_type":"record_created","subject_pith_number":"pith:2017:XA6VL7TQTKKJVU6C5BDD6JFLN7","target":"record","payload":{"canonical_record":{"source":{"id":"1708.07223","kind":"arxiv","version":1},"metadata":{"license":"http://arxiv.org/licenses/nonexclusive-distrib/1.0/","primary_cat":"cs.LO","submitted_at":"2017-08-24T00:18:58Z","cross_cats_sorted":[],"title_canon_sha256":"c7528a7abc886ab5803ef6444232510d61d8bcb4c1e3dc123c6afefe69616e4a","abstract_canon_sha256":"aa993c177dcc3066ededab970a0a81c4b93893598906b04726dad747adb18608"},"schema_version":"1.0"},"canonical_sha256":"b83d55fe709a949ad3c2e8463f24ab6fc4ba7ac7e4d756e4b3687856116f840e","receipt":{"kind":"pith_receipt","key_id":"pith-v1-2026-05","algorithm":"ed25519","signed_at":"2026-05-18T00:36:46.880098Z","signature_b64":"0w5151wmRDnb49QeMWjPzdEJOqIDEIJ57/0mB+p7MBCksqqgBY1qCzY5VWftmpNQ6B4y/4zRCmacVV7WexO4AQ==","signed_message":"canonical_sha256_bytes","builder_version":"pith-number-builder-2026-05-17-v1","receipt_version":"0.3","canonical_sha256":"b83d55fe709a949ad3c2e8463f24ab6fc4ba7ac7e4d756e4b3687856116f840e","last_reissued_at":"2026-05-18T00:36:46.879512Z","signature_status":"signed_v1","first_computed_at":"2026-05-18T00:36:46.879512Z","public_key_fingerprint":"8d4b5ee74e4693bcd1df2446408b0d54"},"source_kind":"arxiv","source_id":"1708.07223","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:36:46Z","supersedes":[],"prev_event":null,"signature":{"signature_status":"signed_v1","algorithm":"ed25519","key_id":"pith-v1-2026-05","public_key_fingerprint":"8d4b5ee74e4693bcd1df2446408b0d54","signature_b64":"7llOMp5kbm1WmqE1zVDmp8vfgIRWmbVDPbgrZYDtVAciXbeQnBPXnQY+kEY0yvIWwKxxIcJz+w9SrLstHi2cDw==","signed_message":"open_graph_event_sha256_bytes","signed_at":"2026-05-27T22:26:27.743271Z"},"content_sha256":"6771ad661507bffe36c3a925eda4544fb6817530de4a1d4b3c6f4f789b67ef37","schema_version":"1.0","event_id":"sha256:6771ad661507bffe36c3a925eda4544fb6817530de4a1d4b3c6f4f789b67ef37"},{"event_type":"graph_snapshot","subject_pith_number":"pith:2017:XA6VL7TQTKKJVU6C5BDD6JFLN7","target":"graph","payload":{"graph_snapshot":{"paper":{"title":"Generating Loop Invariants for Program Verification by Transformation","license":"http://arxiv.org/licenses/nonexclusive-distrib/1.0/","headline":"","cross_cats":[],"primary_cat":"cs.LO","authors_text":"Dublin City University, G. W. Hamilton (School of Computing, Republic of Ireland)","submitted_at":"2017-08-24T00:18:58Z","abstract_excerpt":"Loop invariants play a central role in the verification of imperative programs. However, finding these invariants is often a difficult and time-consuming task for the programmer. We have previously shown how program transformation can be used to facilitate the verification of functional programs, but the verification of imperative programs is more challenging due to the need to discover these loop invariants. In this paper, we describe a technique for automatically discovering loop invariants. Our approach is similar to the induction-iteration method, but avoids the potentially exponential blo"},"claims":{"count":0,"items":[],"snapshot_sha256":"258153158e38e3291e3d48162225fcdb2d5a3ed65a07baac614ab91432fd4f57"},"source":{"id":"1708.07223","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:36:46Z","supersedes":[],"prev_event":null,"signature":{"signature_status":"signed_v1","algorithm":"ed25519","key_id":"pith-v1-2026-05","public_key_fingerprint":"8d4b5ee74e4693bcd1df2446408b0d54","signature_b64":"k0zxBwmP+JTBWK06roodk90ko5T6A4IHSxbkGLwRM8AcnRYHTDPqz09cyJ8h2L0vbeMRDz+P0/Fh61NdBxgxBQ==","signed_message":"open_graph_event_sha256_bytes","signed_at":"2026-05-27T22:26:27.743977Z"},"content_sha256":"c592cd8809d39411cdc975c73fb2c887abba331c2fee7432c92f0cfae5c6abf7","schema_version":"1.0","event_id":"sha256:c592cd8809d39411cdc975c73fb2c887abba331c2fee7432c92f0cfae5c6abf7"}],"timestamp_proofs":[],"mirror_hints":[{"mirror_type":"https","name":"Pith Resolver","base_url":"https://pith.science","bundle_url":"https://pith.science/pith/XA6VL7TQTKKJVU6C5BDD6JFLN7/bundle.json","state_url":"https://pith.science/pith/XA6VL7TQTKKJVU6C5BDD6JFLN7/state.json","well_known_bundle_url":"https://pith.science/.well-known/pith/XA6VL7TQTKKJVU6C5BDD6JFLN7/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-05-27T22:26:27Z","links":{"resolver":"https://pith.science/pith/XA6VL7TQTKKJVU6C5BDD6JFLN7","bundle":"https://pith.science/pith/XA6VL7TQTKKJVU6C5BDD6JFLN7/bundle.json","state":"https://pith.science/pith/XA6VL7TQTKKJVU6C5BDD6JFLN7/state.json","well_known_bundle":"https://pith.science/.well-known/pith/XA6VL7TQTKKJVU6C5BDD6JFLN7/bundle.json"},"state":{"state_type":"pith_open_graph_state","state_version":"1.0","pith_number":"pith:2017:XA6VL7TQTKKJVU6C5BDD6JFLN7","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":"aa993c177dcc3066ededab970a0a81c4b93893598906b04726dad747adb18608","cross_cats_sorted":[],"license":"http://arxiv.org/licenses/nonexclusive-distrib/1.0/","primary_cat":"cs.LO","submitted_at":"2017-08-24T00:18:58Z","title_canon_sha256":"c7528a7abc886ab5803ef6444232510d61d8bcb4c1e3dc123c6afefe69616e4a"},"schema_version":"1.0","source":{"id":"1708.07223","kind":"arxiv","version":1}},"source_aliases":[{"alias_kind":"arxiv","alias_value":"1708.07223","created_at":"2026-05-18T00:36:46Z"},{"alias_kind":"arxiv_version","alias_value":"1708.07223v1","created_at":"2026-05-18T00:36:46Z"},{"alias_kind":"doi","alias_value":"10.48550/arxiv.1708.07223","created_at":"2026-05-18T00:36:46Z"},{"alias_kind":"pith_short_12","alias_value":"XA6VL7TQTKKJ","created_at":"2026-05-18T12:31:53Z"},{"alias_kind":"pith_short_16","alias_value":"XA6VL7TQTKKJVU6C","created_at":"2026-05-18T12:31:53Z"},{"alias_kind":"pith_short_8","alias_value":"XA6VL7TQ","created_at":"2026-05-18T12:31:53Z"}],"graph_snapshots":[{"event_id":"sha256:c592cd8809d39411cdc975c73fb2c887abba331c2fee7432c92f0cfae5c6abf7","target":"graph","created_at":"2026-05-18T00:36:46Z","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":"Loop invariants play a central role in the verification of imperative programs. However, finding these invariants is often a difficult and time-consuming task for the programmer. We have previously shown how program transformation can be used to facilitate the verification of functional programs, but the verification of imperative programs is more challenging due to the need to discover these loop invariants. In this paper, we describe a technique for automatically discovering loop invariants. Our approach is similar to the induction-iteration method, but avoids the potentially exponential blo","authors_text":"Dublin City University, G. W. Hamilton (School of Computing, Republic of Ireland)","cross_cats":[],"headline":"","license":"http://arxiv.org/licenses/nonexclusive-distrib/1.0/","primary_cat":"cs.LO","submitted_at":"2017-08-24T00:18:58Z","title":"Generating Loop Invariants for Program Verification by Transformation"},"references":{"count":0,"internal_anchors":0,"resolved_work":0,"sample":[],"snapshot_sha256":"258153158e38e3291e3d48162225fcdb2d5a3ed65a07baac614ab91432fd4f57"},"source":{"id":"1708.07223","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:6771ad661507bffe36c3a925eda4544fb6817530de4a1d4b3c6f4f789b67ef37","target":"record","created_at":"2026-05-18T00:36:46Z","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":"aa993c177dcc3066ededab970a0a81c4b93893598906b04726dad747adb18608","cross_cats_sorted":[],"license":"http://arxiv.org/licenses/nonexclusive-distrib/1.0/","primary_cat":"cs.LO","submitted_at":"2017-08-24T00:18:58Z","title_canon_sha256":"c7528a7abc886ab5803ef6444232510d61d8bcb4c1e3dc123c6afefe69616e4a"},"schema_version":"1.0","source":{"id":"1708.07223","kind":"arxiv","version":1}},"canonical_sha256":"b83d55fe709a949ad3c2e8463f24ab6fc4ba7ac7e4d756e4b3687856116f840e","receipt":{"algorithm":"ed25519","builder_version":"pith-number-builder-2026-05-17-v1","canonical_sha256":"b83d55fe709a949ad3c2e8463f24ab6fc4ba7ac7e4d756e4b3687856116f840e","first_computed_at":"2026-05-18T00:36:46.879512Z","key_id":"pith-v1-2026-05","kind":"pith_receipt","last_reissued_at":"2026-05-18T00:36:46.879512Z","public_key_fingerprint":"8d4b5ee74e4693bcd1df2446408b0d54","receipt_version":"0.3","signature_b64":"0w5151wmRDnb49QeMWjPzdEJOqIDEIJ57/0mB+p7MBCksqqgBY1qCzY5VWftmpNQ6B4y/4zRCmacVV7WexO4AQ==","signature_status":"signed_v1","signed_at":"2026-05-18T00:36:46.880098Z","signed_message":"canonical_sha256_bytes"},"source_id":"1708.07223","source_kind":"arxiv","source_version":1}}},"equivocations":[],"invalid_events":[],"applied_event_ids":["sha256:6771ad661507bffe36c3a925eda4544fb6817530de4a1d4b3c6f4f789b67ef37","sha256:c592cd8809d39411cdc975c73fb2c887abba331c2fee7432c92f0cfae5c6abf7"],"state_sha256":"cf595e89f005359d394e51c62608c78c8b53e32d57fb27245c87d7e5bfef64b4"},"bundle_signature":{"signature_status":"signed_v1","algorithm":"ed25519","key_id":"pith-v1-2026-05","public_key_fingerprint":"8d4b5ee74e4693bcd1df2446408b0d54","signature_b64":"w7L8j+ehy6K107NYKu5cvFtCMq/adwI1llPnB2AzXBSCfF0UvOZxafMUtO+Ahp5vLeugRL7ee0SpqtqP8eEiCQ==","signed_message":"bundle_sha256_bytes","signed_at":"2026-05-27T22:26:27.747913Z","bundle_sha256":"4032d07cc7ccaaaec10bc649462e47a48af91b541a817016502f2a499233144b"}}