Zulip Chat Archive

Stream: Is there code for X?

Topic: abelian group decomposition


Winston Yin (Jun 11 2021 at 08:07):

Is there a "fundamental theorem of finitely generated abelian groups" in mathlib?

Johan Commelin (Jun 11 2021 at 08:22):

@Winston Yin Not the full theorem. But several parts are there. For example: submodule of free module over a PID is free.

Johan Commelin (Jun 11 2021 at 08:22):

The classification of torsion modules is missing.

Johan Commelin (Jun 11 2021 at 08:23):

What exactly is the statement that you need?

Winston Yin (Jun 11 2021 at 08:23):

I see. I don't need the theorem itself. I'm just trying to find something to model the definition of a representation decomposition after...

Winston Yin (Jun 11 2021 at 08:25):

I'm stuck at a problem where my definition of "isomorphic to a direct sum of modules" is not properly finding the type class instance for the direct sum module

Winston Yin (Jun 11 2021 at 08:26):

I'm trying to write a mwe to debug the problem

Eric Wieser (Jun 11 2021 at 08:38):

This problem happens a lot, there are various threads about typeclass issues for direct_sum and dfinsupp

Eric Wieser (Jun 11 2021 at 08:41):

You might want docs#direct_sum.submodule_is_internal for "isomorphic to a direct sum of (sub)modules"

Winston Yin (Jun 11 2021 at 09:00):

I'll take a look. I have some isomorphism that extends linear_equiv as well as a function symm that returns the opposite isomorphism, but when I actually try to use symm on an isomorphism between some V and some direct_sum ι V', it fails to synthesise the module instance for the direct_sum.

Eric Wieser (Jun 11 2021 at 09:27):

Adding an explicit type on your isomorphism with (the_iso : X ≃ₗ [R] Y).symm is sometimes enough to sort lean out.


Last updated: Dec 20 2023 at 11:08 UTC