Abstract Algebra Types


Concrete Implementation: klefki.types.algebra.abstract.Group

A set \(\mathbb{G}={a, b, c, ...}\) is called a group, if tehere exists a group addition \((+)\) connecting the elements in \((\mathbb{G}, +)\) in the following way:

  1. \(a, b \in \mathbb{G}:\ c=a+b \in \mathbb{G}\) (closure)

  2. \(a, b, c \in \mathbb{G}: (a+b)c=a(b+c)\) (associativity)

  3. \(\exists e \in \mathbb{G}: a+e=e, \forall a \in \mathbb{G}\) (identity / neutral element)

  4. \(\forall a \in \mathbb{G}, \exists b \in \mathbb{G}: a+b=e, i.e., b\equiv -a\) (inverse)

if a group obey axiom (1,2), it is a SemiGroup;

if a group obey axiom (1,2,3), it is a monadid;

if a group obey axiom (1,2,3,4) and the axiom of commutatativity(\(a+b=b+a\)), it is a Abelian Group


Concrete Implementation: klefki.types.algebra.abstract.Field

A field is any set of elements that satisfies the field axioms for both addition and multiplication and is a commutative division algebra.

Field Axioms:nbsphinx-math:cite{FieldAxioms} are generally written in additive and multiplication pairs:

  1. \((a+b)+c=a+(b+c)\); \((a b) c = a(b c)\) (associativity)

  2. \(a + b = b + a\); $ a b = b a$ (Commutativity)

  3. \(a(b+c) = ab + ac\); \((a+b)c=ac+bc\) (distributivity)

  4. \(a + 0=a=0+1\); \((a.1=a=1.a)\) (identity)

  5. \(a+(-a)=0=(-a)+a\); \(aa^{-1}=1=a^{-1}a if a \neq 0\) (inverses)

The Finite Field

Concrete Implementation: klefki.types.algebra.fields.FiniteField

A finite field is, A set with a finite number of elements. An example of inite field is the set of integers modulo \(p\), where \(p\) is a prime number, which can be generally note as \(\mathbb{Z}/p\), \(GF(p)\) or \(\mathbb{F}_p\).