Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
refactor(tactic/linarith): big refactor and docs (#3113)
This PR: * Splits `linarith` into multiple files for organizational purposes * Uses the general `zify` and `cancel_denom` tactics instead of weaker custom versions * Refactors many components of `linarith`, in particular, * Modularizes `linarith` preprocessing, so that users can insert custom steps * Implements `nlinarith` preprocessing as such a custom step, so it happens at the correct point of the preprocessing stage * Better encapsulates the FM elimination module, to make it easier to plug in alternate oracles if/when they exist * Docs, docs, docs The change to zification means that some goals which involved multiplication of natural numbers will no longer be solved. However, others are now in scope. `nlinarith` is a possible drop-in replacement; otherwise, generalize the product of naturals to a single natural, and `linarith` should still succeed. Co-authored-by: Rob Lewis <rob.y.lewis@gmail.com>
- Loading branch information
1 parent
194edc1
commit dd9b5c6
Showing
17 changed files
with
1,831 additions
and
1,293 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
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.