8 lines
1.6 KiB
Org Mode
8 lines
1.6 KiB
Org Mode
|
|
#+title: GroupTheory
|
||
|
|
|
||
|
|
Like [[https://forgejo.ballcloud.cc/Category-Theory][my category theory]] formalization, this is a formalization of basic group theory in Agda for learning purposes. My primary goal with this project was to get a better understanding of Agda by formalizing a topic I am very familiar with, rather one that I am actively learning. In particular, I wanted more practice working with different notions of equality, as this is something that comes up in formalizing category theory (you want to abstract over an arbitrary equivalence relation on hom-sets, rather than working with propositional equality, which can be very limiting, e.g. when working with functions as morphisms). As such, my goal, which I accomplished, was to formalize and prove the first isomorphism theorem, as that requires working with multiple groups, subgroups, and quotient groups, all of which require careful understanding of the equivalence relations involved and comfort in working with them.
|
||
|
|
|
||
|
|
I have since learned more about how instance arguments work, which would have simplified the notation when working with multiple groups, though the current level of clarity isn't necessarily bad. I may come back and clean that up, as I learned a ton from this project, but regardless of the cleanliness of this library, it is a success in my books.
|
||
|
|
|
||
|
|
Unlike my category theory formalization, this was done off the top of my head, rather than being inspired by a particular book, as I am already very familiar with basic algebra. Despite that, Agda's extreme rigor makes sure I haven't made any mathematical mistakes, at least.
|