Magma

Magma  A  \textbf{Magma} \; A \; \otimes

Function  (A×A)  A  \textbf{Function} \; (A \times A) \; A \; \otimes


pred Magma(A: set univ, op: univ->univ->univ) {
  op in (A->A)-> one A
}
AutoInverse  A  f  I\textbf{AutoInverse} \; A \; f \; I

Unital  A  f  I\textbf{Unital} \; A \; f\; I

(xA::f(x,x)=I)\forall(x \in A ::f(x,x) = I)


pred AutoInverse(A: set univ, f: univ->univ->univ, I: univ) {
  Unital[A,f,I]
  all x: A | f[x,x] = I
}
Idempotent  A  \textbf{Idempotent} \; A \; \otimes

Magma  A  \textbf{Magma} \; A \; \otimes

(aA::aa=a)\forall(a \in A :: a \otimes a = a)


pred Idempotent(A: set univ, op: univ->univ->univ) {
  Magma[A,op]
  all a: A | op[a,a] = a
}
Inverse  A  f  I  y  x\textbf{Inverse} \; A \; f \; I \; y \; x

LeftInverse  A  f  I  y  x\textbf{LeftInverse} \; A \; f \; I \; y \; x

RightInverse  A  f  I  y  x\textbf{RightInverse} \; A \; f \; I \; y \; x


pred Inverse(A: set univ, f: univ->univ->univ, I,y,x: univ) {
  LeftInverse[A,f,I,y,x]
  RightInverse[A,f,I,y,x]
}
LeftInverse  A  f  I  y  x\textbf{LeftInverse} \; A \; f \; I \; y \; x

Unital  A  f  I\textbf{Unital} \; A \; f \; I

f(L,x)=If(L,x) = I


pred LeftInverse(A: set univ, f: univ->univ->univ, I,L,x: univ) {
  Unital[A,f,I]
  f[L,x] = I
}
LeftUnit  A    I\textbf{LeftUnit} \; A \; \otimes \; I

Magma  A  \textbf{Magma} \; A \; \otimes

IAI \in A

(xA::Ix=x)\forall(x \in A :: I \otimes x = x )


pred LeftUnit(A: set univ, op: univ->univ->univ, I: univ) {
  Magma[A,op]
  I in A
  all x: A | op[I,x] = x
}
LeftZero  A  f  Z\textbf{LeftZero} \; A \; f \; Z

Magma  A  \textbf{Magma} \; A \; \otimes

IAI \in A

(xA::f(Z,x)=Z)\forall(x \in A :: f(Z,x) = Z)


pred LeftZero(A: set univ, f: univ->univ->univ, Z: univ) {
  Magma[A,f]
  Z in A
  all x: A | f[Z,x] = Z
}
RightInverse  A  f  I  y  x\textbf{RightInverse} \; A \; f \; I \; y \; x

Unital  A  f  I\textbf{Unital} \; A \; f \; I

f(x,R)=If(x,R) = I


pred RightInverse(A: set univ, f: univ->univ->univ, I,R,x: univ) {
  Unital[A,f,I]
  f[x,R] = I
}
RightUnit  A    I\textbf{RightUnit} \; A \; \otimes \; I

Magma  A  \textbf{Magma} \; A \; \otimes

IAI \in A

(xA::x=xI)\forall(x \in A :: x = x \otimes I )


pred RightUnit(A: set univ, op: univ->univ->univ, I: univ) {
  Magma[A,op]
  I in A
  all x: A | x = op[x,I]
}
RightZero  A  f  Z\textbf{RightZero} \; A \; f \; Z

Magma  A  \textbf{Magma} \; A \; \otimes

IAI \in A

(xA::f(x,Z)=Z)\forall(x \in A :: f(x,Z) = Z)


pred RightZero(A: set univ, f: univ->univ->univ, Z: univ) {
  Magma[A,f]
  Z in A
  all x: A | f[x,Z] = Z
}
Symmetric  A  \textbf{Symmetric} \; A \; \otimes

Magma  A  \textbf{Magma} \; A \; \otimes

(x,yA::xy=yx)\forall(x,y \in A :: x \otimes y = y \otimes x)


pred Symmetric(A: set univ, op: univ->univ->univ) {
  Magma[A,op]
  all x,y: A | op[x,y] = op[y,x]
}
Unital  A    I\textbf{Unital} \; A \; \otimes \; I

LeftUnit  A    I\textbf{LeftUnit} \; A \; \otimes \; I

RightUnit  A    I\textbf{RightUnit} \; A \; \otimes \; I


pred Unital(A: set univ, op: univ->univ->univ, I: univ) {
  LeftUnit[A,op,I]
  RightUnit[A,op,I]
}
Zero  A  f  Z\textbf{Zero} \; A \; f \; Z

LeftZero  A  f  Z\textbf{LeftZero} \; A \; f \; Z

RightZero  A  f  Z\textbf{RightZero} \; A \; f \; Z


pred Zero(A: set univ, f: univ->univ->univ, Z: univ) {
  LeftZero[A,f,Z]
  RightZero[A,f,Z]
}

Last updated