-
Notifications
You must be signed in to change notification settings - Fork 18
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
refactor: incorporate an AxEffects field in SymContext, introduce `Sy…
…mM` monad for `SymContext` state (#180) ### Description: This turned into a rather big tech-debt removal PR. The primary focus is the removal of the duplication we had between `SymContext` tracking names of hypotheses, and `AxEffects` tracking `Expr`s for those same hypotheses. - Added an `effects : AxEffects` field to `SymContext`, which stores the `AxEffects` for a single (non-aggregated!) step - To make live easier, we introduce a `SymM` monad, so that we don't have to project out to the effect field every single every time (credits/blame go to @bollu for showing me the `MonadStateOf` trick). - This allowed us to remove a bunch of fields of `SymContext` which had duplicates in `AxEffects` - Also, it allowed us to move reflection of the PC out of `explodeSteps` and into `prepareForNextStep` (which was previously called `SymContext.next`), - Finally, we extract `ensureAtMostRunSteps` and `assertStepTheoremsGenerated` functions out of the main body of `sym_n` ### Testing: What tests have been run? Did `make all` succeed for your changes? Was conformance testing successful on an Aarch64 machine? yes ### License: By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license. --------- Co-authored-by: Shilpi Goel <[email protected]>
- Loading branch information
1 parent
27a2f3b
commit 26b5da0
Showing
4 changed files
with
385 additions
and
232 deletions.
There are no files selected for viewing
This file contains 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
This file contains 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
Oops, something went wrong.