-
Notifications
You must be signed in to change notification settings - Fork 271
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Apply simplification to Imp and Iff connectives (#4533)
Boogie applies simplification to `Bpl.And` and `Bpl.Or`, but [not to](https://github.com/boogie-org/boogie/blob/f088818450b0e9928a674e832435617a70c37ea7/Source/Core/AST/AbsyExpr.cs#L338-L352) `Bpl.Imp` and `Bpl.Iff`. Dafny provides [wrapper methods](https://github.com/dafny-lang/dafny/blob/37e00f70c3007002c4470a2d0129d66724473850/Source/DafnyCore/Verifier/Translator.BoogieFactory.cs#L772-L798) to apply these connectives which also apply simplification to `Imp` and `Iff`; however they do not seem to be used consistently and are missing some cases. This PR replaces all direct usages of the Boogie methods `Bpl.And`, `Bpl.Or`, `Bpl.Imp` and `Bpl.Iff` with wrappers from Dafny, and adds code to avoid adding `true` axioms in cases where I noticed this happens. (A better solution might be to provide a single point for adding axioms where this check could be added.) By submitting this pull request, I confirm that my contribution is made under the terms of the MIT license. --------- Co-authored-by: Aaron Tomb <aarotomb@amazon.com>
- Loading branch information
1 parent
c931468
commit 2cc052c
Showing
30 changed files
with
703 additions
and
646 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
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.