feat: verify data-flow transformation semantics #25
No reviewers
Labels
No labels
bug
duplicate
enhancement
help wanted
invalid
question
wontfix
No milestone
No project
No assignees
2 participants
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
Slipstream/emc!25
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "feat/verify-data-flow-transformations"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Summary
emc verifyexecution.Rationale
Verification
cargo nextest run init_creates_deterministic_project_layout --no-tests=failfailed before implementation on the missing Lean transformation predicate.cargo fmt --check && cargo nextest run -E 'binary(init_project) | binary(add_formal_slice_facts) | binary(check_project) | binary(verify_project) | binary(mcp_verify)' --no-tests=failnix develop:lake env lean model/lean/RepairDesk.lean,quint typecheck model/quint/RepairDesk.qnt, andquint verify --invariant modelDataFlowTransformationsAreModeled model/quint/RepairDesk.qntpassed for a modeledprojectiondata flow.nix develop: corrupting the data flow tocopied without normalizationmade both Lean and Quint fail the new transformation obligation.cargo fmt --check && cargo build --quiet && git diff --checkThis PR introduces formal classification of data-flow transformations into categories like identity, projection, and transformation, integrating these into Lean and Quint verification processes. The changes appear well-structured and include updates to tests and documentation. Ensure that all new invariants and classifications are correctly integrated and tested.
Walkthrough
docs/event-model/formal-modeling-rules.md
src/core/layout.rs
RequireCanonicalDeclarationformodelDataFlowHasModeledTransformationSemanticsandmodelDataFlowTransformationsAreModeled.src/core/project.rs
modelDataFlowTransformationsAreModeledto the list of invariants in project configuration.src/core/verify.rs
modelDataFlowTransformationsAreModeledinto the verification process.tests/connect_workflow.rs
tests/init_project.rs
tests/mcp_verify.rs and tests/verify_project.rs
LLM usage and cost
Estimated total USD: $0.113413 via https://api.openai.com and https://api.openai.com
🟡 Warning: Lines 6–14: Ensure that the logic for checking transformation semantics is consistent across both Lean and Quint implementations, as discrepancies could lead to verification issues.
Addressed the transformation-consistency warning with the current implementation and verification evidence:
identity,projection,derivation,default,absence, andtransformation.tests/init_project.rsasserts both generated predicates and their root theorem/invariant are present in the generated artifacts.projectiondata flow passedlake env lean,quint typecheck, andquint verify --invariant modelDataFlowTransformationsAreModeled; changing the same data flow tocopied without normalizationmade both Lean and Quint fail the transformation obligation.I did not add a Rust semantic validator for these categories because the PR intentionally leaves acceptance to the Lean/Quint artifacts.