# Abstract Algebra

- Elementary
- Monoids
- Groups
- Semirings
- Rings
- Fields
- Lattices
- Boolean Algebra
- Heyting Algebra
- Kleene
- Algebra over a field
- Matroids
- Tropical Algebra
- Universal Algebra
- Homomorphisms

See also:

- discrete math
- category theory
- linear algebra
- nonlinear algebra

# Elementary

An informal term, but you know. High school stuff and less. Quadratic Equation Manipulating both sides

# Monoids

```
class Monoid (A : Type) where
prod : A -> A -> A
e : A
assoc : forall x y z, prod (prod x y) z = prod x (prod y z)
def main : IO Unit := return ()
```

# Groups

I don’t know why, but this is still the one that makes me the most comfortable

- Representatations
- Permutations
- Symettries
- Lie Groups

https://en.wikipedia.org/wiki/Computational_group_theory GAP Magma

# Semirings

Fun with semirings: a functional pearl on the abuse of linear algebra

Semiring provenance in datalog

# Rings

- See nonlinear algebra

## Modules

# Fields

finite fields/galois field. It’s kind of remarkable finite fields even exist. A well behaving notion of number that includes division but is nevertheless finite

## Vector Spaces

- See linear algebra

# Lattices

Galois connections Fixed point theorems

# Boolean Algebra

# Heyting Algebra

# Kleene

- See automata

# Algebra over a field

https://en.wikipedia.org/wiki/Algebra_over_a_field

Geometrical Algebra clifford algebra exterior algebra

# Matroids

# Tropical Algebra

# Universal Algebra

# Homomorphisms

https://en.wikipedia.org/wiki/Homomorphism

At a certain point of sophistication, this becomes all you care about it seems. Exactness