Commit 2022-01-06 19:34 0b966303
View on Github →feat(algebra/{monoid_algebra/basic,free_non_unital_non_assoc_algebra,lie/free}): generalize typeclasses (#11283) This fixes a number of missing or problematic typeclasses:
- The smul typeclasses on
monoid_algebra
had overly strong assumptions add_comm_group (monoid_algebra k G)
was missing.monoid_algebra
had diamonds in its int-module structures, which were different between the one inferred fromring
andadd_group
.monoid_algebra
was missing an instance of the newnon_unital_non_assoc_ring
.free_non_unital_non_assoc_algebra
was missing a lot of smul typeclasses and transitive module structures that it should inherit frommonoid_algebra
. Since every instance should just be inherited, we changefree_non_unital_non_assoc_algebra
to an abbreviation.free_lie_algebra
had diamonds in its int-module and nat-module structures.free_lie_algebra
was missing transitive module structures. This also golfs some proofs aboutfree_non_unital_non_assoc_algebra
, and removes theirreducible
attributes since these just make some obvious proofs more awkward.