Commit 2020-06-24 10:22 dd9b5c68
View on Github →refactor(tactic/linarith): big refactor and docs (#3113) This PR:
- Splits
linarithinto multiple files for organizational purposes - Uses the general
zifyandcancel_denomtactics instead of weaker custom versions - Refactors many components of
linarith, in particular, - Modularizes
linarithpreprocessing, so that users can insert custom steps - Implements
nlinarithpreprocessing 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.
nlinarithis a possible drop-in replacement; otherwise, generalize the product of naturals to a single natural, andlinarithshould still succeed.