Images of a set under a relation

Direct Image

chevron-rightR(A):={β€…β€Šy∈B:βˆƒ(x∈A::(x,y)∈R)β€…β€Š}R(A) := \{\; y \in B : \exists(x \in A :: (x,y) \in R) \; \}hashtag

Relationβ€…β€ŠXβ€…β€ŠYβ€…β€ŠR\textbf{Relation} \; X \; Y \; R

Includesβ€…β€ŠAβ€…β€ŠX\textbf{Includes} \; A \; X


Alloy provides syntax for the direct image. R(A)R(A) is written in Alloy as A.R

Images according to De Baets and Kerre

Typing

All images have the same basic type requirements, the details of which I will place in a predicate called BKType\textbf{BKType}.

chevron-rightBKTypeβ€…β€ŠXβ€…β€ŠYβ€…β€ŠRβ€…β€ŠAβ€…β€Šy\textbf{BKType} \; X \; Y \; R \; A \; yhashtag

Relationβ€…β€ŠXβ€…β€ŠYβ€…β€ŠR\textbf{Relation} \; X \; Y \; R

AβŠ†XA \subseteq X

y∈Yy \in Y


pred BKType(X,Y: set univ, R: univ->univ, A: set univ, y: univ) {
  R in X->Y
  A in X
  y in Y
}

Furthermore, I have chosen to extract the range of each set comprehension to its own (characteristic) predicate.

Sub-direct Image

chevron-rightSubDIβ€…β€ŠXβ€…β€ŠYβ€…β€ŠRβ€…β€ŠA:={β€…β€Šy∈Y:βˆ…βŠ‚AβŠ†Ryβ€…β€Š}\textbf{SubDI} \; X \; Y \; R \; A := \{\; y \in Y : \empty \subset A \subseteq Ry \; \}hashtag

Notation.

  1. SubDIβ€…β€ŠXβ€…β€ŠYβ€…β€ŠRβ€…β€ŠA\textbf{SubDI} \; X \; Y \; R \; A can be written SubDIβ€…β€ŠRβ€…β€ŠA\textbf{SubDI} \; R \; A when XX and YY are clear from the context.

  2. SubDIβ€…β€ŠRβ€…β€ŠA\textbf{SubDI} \; R \; A is written in symbols as R⊲(A)R^{\vartriangleleft}(A)


fun SubDI(X,Y: set univ, R: univ->univ, A: set univ) : set univ {
  { y: Y | SubDI[X,Y,R,A,y] }
}

pred SubDI(X,Y: set univ, R: univ->univ, A: set univ, y: univ) {
  BKType[X,Y,R,A,y]

  some A
  A in R.y
}

Super-direct Image

chevron-rightSupDIβ€…β€ŠXβ€…β€ŠYβ€…β€ŠRβ€…β€ŠA={β€…β€Šy∈Y:βˆ…βŠ‚RyβŠ†Aβ€…β€Š}\textbf{SupDI} \; X \; Y \; R \; A = \{\; y \in Y : \empty \subset Ry \subseteq A \; \}hashtag

Notation.

  1. SupDIβ€…β€ŠXβ€…β€ŠYβ€…β€ŠRβ€…β€ŠA\textbf{SupDI} \; X \; Y \; R \; A can be written SupDIβ€…β€ŠRβ€…β€ŠA\textbf{SupDI} \; R \; A when XX and YY are clear from the context.

  2. SupDIβ€…β€ŠRβ€…β€ŠA\textbf{SupDI} \; R \; A is written in symbols as R⊳(A)R^{\vartriangleright}(A)


Square Image

chevron-rightSqrIβ€…β€ŠXβ€…β€ŠYβ€…β€ŠRβ€…β€ŠA={β€…β€Šy∈Y:βˆ…βŠ‚A=Ryβ€…β€Š}\textbf{SqrI} \; X \; Y \; R \; A = \{\; y \in Y : \empty \subset A = Ry \; \}hashtag

Notation.

  1. SqrIβ€…β€ŠXβ€…β€ŠYβ€…β€ŠRβ€…β€ŠA\textbf{SqrI} \; X \; Y \; R \; A can be written SqrIβ€…β€ŠRβ€…β€ŠA\textbf{SqrI} \; R \; A when XX and YY are clear from the context.

  2. SqrIβ€…β€ŠRβ€…β€ŠA\textbf{SqrI} \; R \; A is written in symbols as Rβ‹„(A)R^{\diamond}(A)


Images according to Bandler and Kohout

Sub-direct Image

chevron-rightSubDIβ€…β€ŠXβ€…β€ŠYβ€…β€ŠRβ€…β€ŠA:={β€…β€Šy∈Y:AβŠ†Ryβ€…β€Š}\textbf{SubDI} \; X \; Y \; R \; A := \{\; y \in Y : A \subseteq Ry \; \}hashtag

Notation.

  1. SubDIβ€…β€ŠXβ€…β€ŠYβ€…β€ŠRβ€…β€ŠA\textbf{SubDI} \; X \; Y \; R \; A can be written SubDIβ€…β€ŠRβ€…β€ŠA\textbf{SubDI} \; R \; A when XX and YY are clear from the context.

  2. SubDIβ€…β€ŠRβ€…β€ŠA\textbf{SubDI} \; R \; A is written in symbols as R⊲(A)R^{\vartriangleleft}(A)


Super-direct Image

chevron-rightSupDIβ€…β€ŠXβ€…β€ŠYβ€…β€ŠRβ€…β€ŠA={β€…β€Šy∈Y:AβŠ‡Ryβ€…β€Š}\textbf{SupDI} \; X \; Y \; R \; A = \{\; y \in Y : A \supseteq Ry \; \}hashtag

Notation.

  1. SupDIβ€…β€ŠXβ€…β€ŠYβ€…β€ŠRβ€…β€ŠA\textbf{SupDI} \; X \; Y \; R \; A can be written SupDIβ€…β€ŠRβ€…β€ŠA\textbf{SupDI} \; R \; A when XX and YY are clear from the context.

  2. SupDIβ€…β€ŠRβ€…β€ŠA\textbf{SupDI} \; R \; A is written in symbols as R⊳(A)R^{\vartriangleright}(A)


Square Image

chevron-rightSqrIβ€…β€ŠXβ€…β€ŠYβ€…β€ŠRβ€…β€ŠA={β€…β€Šy∈Y:A=Ryβ€…β€Š}\textbf{SqrI} \; X \; Y \; R \; A = \{\; y \in Y : A = Ry \; \}hashtag

Notation.

  1. SqrIβ€…β€ŠXβ€…β€ŠYβ€…β€ŠRβ€…β€ŠA\textbf{SqrI} \; X \; Y \; R \; A can be written SqrIβ€…β€ŠRβ€…β€ŠA\textbf{SqrI} \; R \; A when XX and YY are clear from the context.

  2. SqrIβ€…β€ŠRβ€…β€ŠA\textbf{SqrI} \; R \; A is written in symbols as Rβ‹„(A)R^{\diamond}(A)


Last updated