lean2/library/algebra
Leonardo de Moura 42fbc63bb6 fix(library/tc_multigraph): avoid name collisions
@avigad, @fpvandoorn, @rlewis1988, @dselsam

I changed how transitive instances are named.
The motivation is to avoid a naming collision problem found by Daniel.
Before this commit, we were getting an error on the following file
tests/lean/run/collision_bug.lean.

Now, transitive instances contain the prefix "_trans_".
It makes it clear this is an internal definition and it should not be used
by users.

This change also demonstrates (again) how the `rewrite` tactic is
fragile. The problem is that the matching procedure used by it has
very little support for solving matching constraints that involving type
class instances. Eventually, we will need to reimplement `rewrite`
using the new unification procedure used in blast.

In the meantime, the workaround is to use `krewrite` (as usual).
2016-02-04 13:15:42 -08:00
..
category feat(hott/algebra): port abstract structures 2015-12-09 12:34:06 -08:00
algebra.md feat(library/algebra/order_bigops): add min and max over finsets and finite sets 2016-01-24 16:26: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): cleanup proofs 2016-02-03 19:52:23 -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
galois_connection.lean refactor(library/algebra): fix theorem names 2016-01-06 10:57:55 -08:00
group.lean feat(library/algebra): add missing theorems to group and ordered ring 2016-01-04 14:45:39 -05:00
group_bigops.lean feat(library/algebra/group_bigops): add Prod_semigroup, for cases without a unit 2016-01-24 16:26:57 -08:00
group_power.lean fix(library/tc_multigraph): avoid name collisions 2016-02-04 13:15:42 -08:00
interval.lean fix(library/algebra/interval): rename namespace, and move a theorem 2016-01-03 18:52:25 -08:00
lattice.lean refactor(library/algebra): explicit parameters also for fun instances 2016-01-06 10:58:14 -08:00
module.lean refactor(library): cleanup proofs 2016-02-03 19:52:23 -08:00
order.lean refactor(library/algebra): explicit parameters also for fun instances 2016-01-06 10:58:14 -08:00
order_bigops.lean feat(library/algebra/order_bigops): add min and max over finsets and finite sets 2016-01-24 16:26:57 -08:00
ordered_field.lean fix(algebra/ordered_field, analysis/real_limit): generalize theorem to ordered fields 2016-02-04 11:03:28 -08:00
ordered_group.lean refactor(library/algebra/ordered_group,ordered_ring): add versions of classes with decidable linear order, for min and max 2016-01-24 16:26:57 -08:00
ordered_ring.lean refactor(library/algebra/ordered_group,ordered_ring): add versions of classes with decidable linear order, for min and max 2016-01-24 16:26: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): cleanup 2016-02-03 20:07:12 -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 fix(library/tc_multigraph): avoid name collisions 2016-02-04 13:15:42 -08:00