Commit 2019-12-09 20:49 5c093726
View on Github →A ring_exp tactic for dealing with exponents in rings (#1715)
- Test for ring_exp
- Implement -a/b * -a/b = a/b * a/b
- Hide extra information in the extype inex_info
- Some attempts to make the proof returned by ring_exp shorter
- Fix that ring_exp wouldn't handle pow that isn't monomial.has_pow
- Some optimizations in ring_exp
- Make all proofs explicit, halving execution time more or less
- Cache has_addandhas_mulinstances for another 2x speedup
- ring_exp can replace ring to compile mathlib
- Revert ringto non-test version
- Code cleanup and documentation
- Revert the test changes to linarith
- Undo the test changes to ring2
- Whitespace cleanup
- Fix overzealous error handling
Instead of catching any failin eval, we just catch the operations that can safelyfail(i.e.invertandnegate). This should make internal errors visible again.
- Fix the TODO's
- Example use of ring_exp in data.polynomial
- Check that ring_expdeals well with natural number subtraction
- Fix incorrect docstring
- Improve documentation
- Small stylistic fixes
- Fix slow behaviour on large exponents
- Add ring_expto the default tactics
- Use applicative notation where appropriate
- The ring_exptactic also does normalization Co-Authored-By: Rob Lewis Rob.y.lewis@gmail.com
- Move normalizefromtactic.interactivetoring_expnamespace
- Fix name collision between equivin data.equiv.basic andequivintest/tactics.leanI just renamed the definition intest/tactics.leantomy_equivand the operator tomy≅.
- Fixes for the linter
- Fix the usage of type classes for sub_pfanddiv_pf
- Fix an additional linting error
- Optimization: we don't need norm_num to determine x * 1 = x
- Improve documentation of test/ring_exp.lean
- Rename resolve_atomstoresolve_atom_auxfor clarity
- Small stylistic fixes
- Remove unneccessary hidden fields to ex
- Control how much unfolding ring_expdoes by putting a!after it
- Reword comment for ex_type
- Use ring_exp!to deal with(n : ℕ) + 1 - 1 = n
- Document the !flag forring,ring_expandring_exp_eq
- Get rid of searching for another cached instance
- Fix ring_expfailing on terms on the form0^succ (succ ...)