-
Notifications
You must be signed in to change notification settings - Fork 3
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Refactor congruence proof rules (cvc5#11501)
This refactors the congruence rules of CPC. The motivation is: 1. We should not export "Kind" nodes to the API as these are not useful to a user. 2. We no longer have to disambiguate operators when applying congruence. This includes parameterized operators like bvadd, binary vs unary minus, as well as uninterpreted functions with overloaded symbols (the latter is currently broken in cpc output since it is not possible to tell from cvc5's internals whether a UF was overloaded). 3. Efficiency, as the proofs contain one fewer argument and the resulting proof checkers should be more efficient. One question is whether we should further introduce a `BINDER_CONG` for congruence over binders. These are currently a special case of `CONG`. This PR enables the cpc tester for 13 regressions that could not be checked due to congruence on overloaded UF. --------- Co-authored-by: Haniel Barbosa <[email protected]>
- Loading branch information
Showing
27 changed files
with
150 additions
and
248 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
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.