mathlib3
A `ring_exp` tactic for dealing with exponents in rings
#1715
Merged

A `ring_exp` tactic for dealing with exponents in rings #1715

Vierkantor
fpvandoorn
fpvandoorn fpvandoorn added awaiting-review
robertylewis
robertylewis commented on 2019-11-19
robertylewis
digama0
robertylewis
Vierkantor Vierkantor force pushed from a52bc65f to cee9e734 6 years ago
robertylewis
robertylewis commented on 2019-11-20
robertylewis
robertylewis
robertylewis commented on 2019-11-21
Vierkantor
robertylewis
sgouezel sgouezel assigned digama0 digama0 6 years ago
robertylewis
Vierkantor Test for ring_exp
b6bf70cf
Vierkantor Implement -a/b * -a/b = a/b * a/b
203073d1
Vierkantor Hide extra information in the `ex` type in `ex_info`
e55954b5
Vierkantor Some attempts to make the proof returned by ring_exp shorter
e8c0ba71
Vierkantor Fix that ring_exp wouldn't handle pow that isn't monomial.has_pow
28dd76b1
Vierkantor Some optimizations in ring_exp
aa10b727
Vierkantor Make all proofs explicit, halving execution time more or less
f9ff2ac9
Vierkantor Cache `has_add` and `has_mul` instances for another 2x speedup
117d47e9
Vierkantor ring_exp can replace ring to compile mathlib
e1f360ce
Vierkantor Revert `ring` to non-test version
5bcdb4ef
Vierkantor Code cleanup and documentation
afb2679b
Vierkantor Revert the test changes to `linarith`
c701de5a
Vierkantor Undo the test changes to `ring2`
6f11d5f5
Vierkantor Whitespace cleanup
46985518
Vierkantor Fix overzealous error handling
804e25e8
Vierkantor Fix the TODO's
238b1c64
Vierkantor Example use of ring_exp in data.polynomial
13c2d877
Vierkantor Check that `ring_exp` deals well with natural number subtraction
141435db
Vierkantor Fix incorrect docstring
1fa8b8a7
Vierkantor Improve documentation
b076112d
Vierkantor Small stylistic fixes
ce97e7ac
Vierkantor Fix slow behaviour on large exponents
3a30e268
Vierkantor Add `ring_exp` to the default tactics
b9c5b40a
Vierkantor Use applicative notation where appropriate
aec9b6a3
Vierkantor The `ring_exp` tactic also does normalization
c4802c29
Vierkantor Move `normalize` from `tactic.interactive` to `ring_exp` namespace
fded7ec5
Vierkantor Fix name collision between `equiv` in data.equiv.basic and `equiv` in…
c3da4532
Vierkantor Fixes for the linter
3ef04cfc
Vierkantor Fix the usage of type classes for `sub_pf` and `div_pf`
97749c20
Vierkantor Fix an additional linting error
5dba765e
Vierkantor Optimization: we don't need norm_num to determine `x * 1 = x`
a56b1a37
Vierkantor Improve documentation of `test/ring_exp.lean`
0231adfb
Vierkantor Rename `resolve_atoms` to `resolve_atom_aux` for clarity
61e25494
Vierkantor Small stylistic fixes
65e6367d
Vierkantor Remove unneccessary hidden fields to `ex`
74d448ba
Vierkantor Control how much unfolding `ring_exp` does by putting a `!` after it
6f99d017
Vierkantor Reword comment for `ex_type`
c18a237a
Vierkantor Use `ring_exp!` to deal with `(n : â„•) + 1 - 1 = n`
d3367ee2
Vierkantor Document the `!` flag for `ring`, `ring_exp` and `ring_exp_eq`
026a2261
Vierkantor Get rid of searching for another cached instance
33d947cc
Vierkantor Fix `ring_exp` failing on terms on the form `0^succ (succ ...)`
6452f3ed
Vierkantor Vierkantor force pushed from d9a48659 to 6452f3ed 6 years ago
Vierkantor
digama0
robertylewis
digama0
digama0 approved these changes on 2019-12-09
sgouezel sgouezel removed awaiting-review
sgouezel sgouezel added ready-to-merge
mergify mergify merged 5c093726 into master 6 years ago

Login to write a write a comment.

Login via GitHub

Reviewers
Assignees
Labels
Milestone