proofs(P4): append_preserves_verified + build_chain_all_verified#103
Merged
Conversation
Closes the P4 slot of the VeriSimDB foundation-pack inventory (issue #77). Adds two theorems and one supporting lemma to formal/Provenance.v: - mk_honest_verifies (lemma) — every record built by mk_honest satisfies record_verify by construction (single reflexivity). - append_preserves_verified (P4) — appending an honest record to an all-verified chain yields an all-verified chain. Proof via Forall_app + mk_honest_verifies. - build_chain_all_verified (P4 corollary) — every chain built from empty by repeated honest append has all records verifying. Proof by induction on the content list, base case Forall_nil + step case append_preserves_verified. Both new theorems close on Parameters only (content, hash, sha256, genesis_hash). The sha256_collision_resistant axiom is NOT consumed — verified locally via Print Assumptions output: Axioms: sha256 : content -> hash -> hash hash : Type genesis_hash : hash content : Type The existing Provenance assumptions-whitelist guard in coq-build.yml accepts these Parameters; the OK-message label is updated implicitly (content describes itself). Updated header doc to list P4 in the theorem inventory + clarify that sha256_collision_resistant is reserved for V8 only (P4 doesn't need it). Local build: PASS (coqc 8.18.0, Ubuntu apt-installed). Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> Signed-off-by: hyperpolymath <6759885+hyperpolymath@users.noreply.github.com>
hyperpolymath
enabled auto-merge (squash)
June 2, 2026 11:42
🔍 Hypatia Security ScanFindings: 238 issues detected
View findings[
{
"reason": "Action actions/checkout@v6 needs attention",
"type": "unpinned_action",
"file": "build-validation.yml",
"action": "pin_sha",
"rule_module": "workflow_audit",
"severity": "medium"
},
{
"reason": "Action dtolnay/rust-toolchain@stable needs attention",
"type": "unpinned_action",
"file": "build-validation.yml",
"action": "pin_sha",
"rule_module": "workflow_audit",
"severity": "medium"
},
{
"reason": "Action Swatinem/rust-cache@v2 needs attention",
"type": "unpinned_action",
"file": "build-validation.yml",
"action": "pin_sha",
"rule_module": "workflow_audit",
"severity": "medium"
},
{
"reason": "Action actions/checkout@v6 needs attention",
"type": "unpinned_action",
"file": "build-validation.yml",
"action": "pin_sha",
"rule_module": "workflow_audit",
"severity": "medium"
},
{
"reason": "Action erlef/setup-beam@v1 needs attention",
"type": "unpinned_action",
"file": "build-validation.yml",
"action": "pin_sha",
"rule_module": "workflow_audit",
"severity": "medium"
},
{
"reason": "Action actions/checkout@v6 needs attention",
"type": "unpinned_action",
"file": "elixir-ci.yml",
"action": "pin_sha",
"rule_module": "workflow_audit",
"severity": "medium"
},
{
"reason": "Action erlef/setup-beam@v1 needs attention",
"type": "unpinned_action",
"file": "elixir-ci.yml",
"action": "pin_sha",
"rule_module": "workflow_audit",
"severity": "medium"
},
{
"reason": "Action actions/cache@v5 needs attention",
"type": "unpinned_action",
"file": "elixir-ci.yml",
"action": "pin_sha",
"rule_module": "workflow_audit",
"severity": "medium"
},
{
"reason": "Action tions/checkout@v6\n needs attention",
"type": "unpinned_action",
"file": "elixir-ci.yml",
"action": "pin_sha",
"rule_module": "workflow_audit",
"severity": "medium"
},
{
"reason": "Action lef/setup-beam@v1\n needs attention",
"type": "unpinned_action",
"file": "elixir-ci.yml",
"action": "pin_sha",
"rule_module": "workflow_audit",
"severity": "medium"
}
]Powered by Hypatia Neurosymbolic CI/CD Intelligence |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Closes the P4 slot of the foundation-pack inventory (#77).
Adds 2 theorems + 1 supporting lemma to `formal/Provenance.v`:
Foundation pack status post-P4
With P4 landed: foundation pack 10/10 closed, all on Parameters only (zero axiom consumption).
Print Assumptions output (verified locally)
```
Axioms:
sha256 : content -> hash -> hash
hash : Type
genesis_hash : hash
content : Type
```
Both new theorems close on Parameters; `sha256_collision_resistant` axiom NOT consumed (reserved for later V8 uniqueness theorem).
Test plan
Local: PASS (`coqc 8.18.0`, Ubuntu apt-installed).
🤖 Generated with Claude Code