Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

free abelian groups #2020

Merged
merged 2 commits into from
Jul 11, 2024
Merged

free abelian groups #2020

merged 2 commits into from
Jul 11, 2024

Conversation

Alizter
Copy link
Collaborator

@Alizter Alizter commented Jul 8, 2024

In this PR we:

  • Characterise the universal property of the free abelian group on a type S.
  • Show that an abelianization of a free group produces a free abelian group.
  • As a special case, construct the free abelian group on a type S as the abelianization of the free group on the set.

This construction will be important in the theory of modules as we will be taking quotients of free abelian groups to produce constructions such as tensor products of abelian groups.

I had a bit of trouble managing funext. I tried to see if it was possible to stay funext free but I didn't see a way.

Classically, the free abelian group is defined as a fucntion from the generating set into Z together with a finite support. This definition is very appealing for us but would also require a lot of funext in order to equate terms. It is also not clear how to constructively reason about finite supports as their definition contains an awkward negation that means basic lemmas require decidablility or LEM in general.

Signed-off-by: Ali Caglayan <[email protected]>

<!-- ps-id: 12288780-47db-4924-a830-f1ece95f8878 -->
@Alizter Alizter requested a review from jdchristensen July 8, 2024 13:56
@Alizter Alizter mentioned this pull request Jul 9, 2024
6 tasks
@Alizter
Copy link
Collaborator Author

Alizter commented Jul 10, 2024

I've noticed that in FreeGroup.v there are comments saying we should remove funext from the universal property. We should probably do this before this PR so that we can introduce a fuent free version of the universal property of the free abelian group here.

Comment on lines +26 to +40
Definition isequiv_group_precomp_isabelianization `{Funext}
{G : Group} {G_ab : AbGroup} (eta : GroupHomomorphism G G_ab)
`{!IsAbelianization G_ab eta} (A : AbGroup)
: IsEquiv (group_precomp A eta).
Proof.
snrapply isequiv_adjointify.
- intros g.
rapply (surjinj_inv (group_precomp A eta) g).
- intros f.
snrapply equiv_path_grouphomomorphism.
exact (eisretr0gpd_inv (group_precomp A eta) f).
- intros f.
snrapply equiv_path_grouphomomorphism.
exact (eissect0gpd_inv (group_precomp A eta) f).
Defined.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The proof of this looks like it can be abstracted out as a general lemma. Maybe it would say something like: If A is a wild category with MorExt and f : Hom a b -> Hom c d is a map of zero groupoids that satisfies IsSurjInj, then it is an equivalence on the underlying types?

But really it should be a bit more general. We could say that a zero groupoid is "extensional" if the 1-cells are equivalent to the paths in the underlying type. Then the lemma would say that if G and H are extensional zero groupoids and f : G -> H is a map of zero groupoids that satisfies IsSurjInj, then it is an equivalence on the underlying types. And we'd have a typeclass instance that says that if A is a wild category that satisfies MorExt, then its Hom zero groupoids are extensional.

(I'm not sure if "extensional" is the right word. It's vague.)

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Alternatively, we wouldn't need this at all if we removed funext from the free group universal property. I haven't had a look at that in detail yet.

@jdchristensen
Copy link
Collaborator

This PR is fairly short and sweet (and I just pushed a commit making it a bit shorter), so I'm ok with merging it and leaving the cleanup of Funext for a future PR. My comment above could also be left as a TODO item in the file, or could be handled. I'm fine either way.

@Alizter Alizter merged commit 73bc1aa into HoTT:master Jul 11, 2024
22 checks passed
@Alizter Alizter deleted the ps/rr/free_abelian_groups branch July 11, 2024 06:15
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants