lean2/library/algebra
Leonardo de Moura 54f2c0f254 feat(library/blast/forward): inst_simp should use the left-hand-side as a pattern (if none is provided by the user)
The motivation is to reduce the number of instances generated by ematching.

For example, given

   inv_inv:  forall a, (a⁻¹)⁻¹ = a

the new heuristic uses ((a⁻¹)⁻¹) as the pattern.
This matches the intuition that inv_inv should be used a simplification
rule.

The default pattern inference procedure would use (a⁻¹). This is bad
because it generates an infinite chain of instances whenever there is a
term (a⁻¹) in the proof state.
By using (a⁻¹), we get
   (a⁻¹)⁻¹ = a
Now that we have (a⁻¹)⁻¹, we can match again and generate
   ((a⁻¹)⁻¹)⁻¹ = a⁻¹
and so on
2015-12-31 20:20:39 -08:00
..
category feat(hott/algebra): port abstract structures 2015-12-09 12:34:06 -08:00
algebra.md feat(library/data/nat/bigops): sums and products over intervals of natural numbers 2015-12-31 15:16:57 -08:00
binary.lean feat(*): new numeral encoding 2015-11-08 14:04:55 -08:00
bundled.lean refactor(library): remove algebra namespace 2015-12-05 23:50:01 -08:00
complete_lattice.lean refactor(library): remove algebra namespace 2015-12-05 23:50:01 -08:00
field.lean feat(library/blast/forward): inst_simp should use the left-hand-side as a pattern (if none is provided by the user) 2015-12-31 20:20:39 -08:00
group.lean feat(library/blast/forward): inst_simp should use the left-hand-side as a pattern (if none is provided by the user) 2015-12-31 20:20:39 -08:00
group_bigops.lean feat(library/data/set/*,library/algebra/group_bigops): better finiteness lemmas, reindexing for big operations 2015-12-31 15:16:57 -08:00
group_power.lean refactor(library): remove algebra namespace 2015-12-05 23:50:01 -08:00
interval.lean feat(library/data/nat/bigops): sums and products over intervals of natural numbers 2015-12-31 15:16:57 -08:00
lattice.lean refactor(library): remove algebra namespace 2015-12-05 23:50:01 -08:00
module.lean feat(library/theories/analysis/normed_space): start theory of normed spaces for analysis 2015-12-22 16:39:13 -05:00
order.lean feat(hott): port nat and int from the standard library 2015-12-09 12:36:11 -08:00
ordered_field.lean refactor(library): remove algebra namespace 2015-12-05 23:50:01 -08:00
ordered_group.lean refactor(library): use anonymous instance implicit arguments 2015-12-13 11:46:48 -08:00
ordered_ring.lean chore(library/algebra/ordered_ring): use 'note' 2015-12-15 09:33:57 -08:00
priority.lean refactor(library): remove algebra namespace 2015-12-05 23:50:01 -08:00
relation.lean feaf(library): make sure basic standard library can be compiled with option "--to_axiom" 2015-07-29 16:11:23 -07:00
ring.lean refactor(library/algebra/ring): minor cleanup 2015-12-29 11:16:18 -08:00
ring_bigops.lean feat(library/algebra/ring_bigops): make start on file with more properties of sums and products 2015-12-22 16:39:13 -05:00
ring_power.lean feat(library/algebra/ring_bigops): make start on file with more properties of sums and products 2015-12-22 16:39:13 -05:00