The study of a single operation "group" (·)
Closure: S · S => S
Associativity: (a · b) · c = a · (b · c)
Identity: a · 1 = 1 · a = a
Inverse: a · a-1 = e
Also called a Commutative Group
Commutativity: a · b = b · a
The study of two Magmas represented by (·) (+)
An additional axiom is defined for how the operations distribute:
Distributivity:
a · (b + c) = (a · b) + (a · c)
(a + b) · c = (a · c) + (b · c)
(+): Magma
(·): Magma
(+): SemiGroup
(·): SemiGroup
(+): Group
(·): SemiGroup
(+): Group
(·): Monoid
(+): Group
(·): Group
(+): AbelianGroup
(·): AbelianGroup
∘
https://antimatroid.wordpress.com/2012/04/01/abstract-algebra-in-c/ https://en.wikipedia.org/wiki/Quasigroup https://www.johndcook.com/blog/2018/07/08/weak-groups/ https://twitter.com/johncarlosbaez/status/1243560612757565441
https://en.wikipedia.org/wiki/Group_theory
Module Theory
https://en.wikipedia.org/wiki/Quotient_group
What is the relationship between associativity and ordering?
(a,(b,c)) [a b c]
((a,b),c)
Types vs Algebras vs Sets vs Categories vs Logic
- Boolean Algebra vs Boolean Logic
""" Bags are lists quotiented by permutation. By looking at Taylor series, the bag type constructor corresponds to the exponential function. Unsurprisingly, then, it is the type of its own one-hole contexts. """ -- James Wood (@laMudri)
Referencing: "The Derivative of a Regular Type is its Type of One-Hole Contexts" -- Conor McBride http://strictlypositive.org/diff.pdf
CoAlgebra == CoMonoid?
Vector Space?
http://learnyouahaskell.com/functors-applicative-functors-and-monoids
https://en.wikipedia.org/wiki/Kleene_algebra
Testing the Equivalence of Regular Languages https://arxiv.org/abs/0907.5058
http://www.haskellforall.com/2013/02/you-could-have-invented-comonads.html
Notes from Bart Jacobs: "Object and Classes, Coalgebraically", 1991
Algebra has a set of constructors a constructor is an operation that terminates in the algebra A constructor introduces a new type an algebra is a Monoid?
CoAlgebra has a set of destructors a destructor is an operation that terminates in a different algebra a destructor eliminates a type a destructor "observes" a "behavior" a CoAlgebra is a CoMonoid?