Monoidal Preorder

MonoidalPreorder  X  R    I\textbf{MonoidalPreorder} \; X \; R \; \otimes \; I

Preorder  X  R\textbf{Preorder} \; X \; R

Monoid  X    I\textbf{Monoid} \; X \; \otimes \; I

(x1,x2,y1,y2X:x1x2y1y2:x1x2y1y2)\forall (x_1, x_2, y_1, y_2 \in X : x_1 \leq x_2 \wedge y_1 \leq y_2 : x_1 \otimes x_2 \leq y_1 \otimes y_2)


pred MonoidalPreorder(X: set univ, R: univ->univ, op: univ->univ->univ, I: univ) {
  Preorder[X,R]
  Monoid[X,op,I]
  all x1,x2,y1,y2 | x1->x2 in R and y1->y2 in R implies op[x1,x2] -> op[y1,y2] in R
}

Last updated