Formally define design safety, and prove it for 1-step and 2-step induction #59
No reviewers
Labels
No labels
No milestone
No project
No assignees
2 participants
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference: libre-chip/fayalite#59
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "cesar/fayalite:rocq_hdl"
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?
Continuing from the simple earlier designs, I remove a limitation in that I proved the base and inductive cases for those designs, but didn't actually proved them to be safe (or even defined in Rocq what it meant to be safe). It also opens an opportunity to prove safety in other possible ways maybe. As an example, I prove soundness of the algorithm, which is used in Symbiyosys, for the particular cases of 1-step and 2-step induction.
It'd be nice to add running Rocq to CI, but that can be left for a future PR
so I'm clear, I approved this PR which I intend to mean that, if you think the current changes are good, feel free to merge them by clicking the "fast-forward" button.