Extremal Elements

Greatest (Max)

Greatestā€…ā€ŠAā€…ā€ŠRā€…ā€ŠYā€…ā€Šx\textbf{Greatest} \; A \; R \; Y \; x

Preorderā€…ā€ŠAā€…ā€ŠR\textbf{Preorder} \; A \; R

Includesā€…ā€ŠAā€…ā€ŠY\textbf{Includes} \; A \; Y

xāˆˆYx \in Y

Aboveā€…ā€ŠAā€…ā€ŠRā€…ā€ŠAā€…ā€Šx\textbf{Above} \; A \; R \; A \; x


Notation.

  1. Greatestā€…ā€ŠAā€…ā€ŠRā€…ā€ŠYā€…ā€Šx\textbf{Greatest} \; A \; R \; Y \; x can be written Greatestā€…ā€ŠYā€…ā€Šx\textbf{Greatest} \; Y \; x when AA and RR are clear from the context.

  2. Greatestā€…ā€ŠYā€…ā€Šx\textbf{Greatest} \; Y \; x can be written x=maxā€…ā€ŠYx = \textbf{max} \; Y.

pred Greatest(A: set univ, R: univ->univ, Y: set univ, x: univ) {
  Preorder[A,R]
  Includes[A,Y]
  x in Y
  Above[A,R,A,x]
}
Greatestā€…ā€ŠAā€…ā€ŠRā€…ā€ŠY:={ā€…ā€Šx:Greatestā€…ā€ŠAā€…ā€ŠRā€…ā€ŠYā€…ā€Šxā€…ā€Š}\textbf{Greatest} \; A \; R \; Y := \{\; x : \textbf{Greatest} \; A \; R \; Y \; x\;\}

Notation.

  1. Greatestā€…ā€ŠAā€…ā€ŠRā€…ā€ŠY\textbf{Greatest} \; A \; R \; Y can be written Greatestā€…ā€ŠY\textbf{Greatest} \; Y when AA and RR are clear from the context.

  2. Greatestā€…ā€ŠY\textbf{Greatest} \; Y can be written maxā€…ā€ŠY\textbf{max} \; Y.


fun Greatest(A: set univ, R: univ->univ, Y: set univ) : set univ {
  { x: Y | Greatest[A,R,Y,x] }
}

Join (Supremum)

Joinā€…ā€ŠAā€…ā€ŠRā€…ā€ŠSā€…ā€Šx\textbf{Join} \; A \; R \; S \; x

Aboveā€…ā€ŠAā€…ā€ŠRā€…ā€ŠSā€…ā€Šx\textbf{Above} \; A \; R \; S \; x

āˆ€(y:Aboveā€…ā€ŠAā€…ā€ŠRā€…ā€ŠSā€…ā€Šy:R.x.y)\forall(y : \textbf{Above} \; A \; R \; S \; y : R.x.y)


pred Join(A: set univ, R: univ->univ, S: set univ, x: univ) {
  Above[A,R,S,x]
  all y: univ | Above[A,R,S,y] implies x->y in R
}
Joinā€…ā€ŠAā€…ā€ŠRā€…ā€ŠS\textbf{Join} \; A \; R \; S

{ā€…ā€Šx:Joinā€…ā€ŠAā€…ā€ŠRā€…ā€ŠSā€…ā€Šxā€…ā€Š}\{ \; x : \textbf{Join} \; A \; R \; S \; x \; \}


fun Join(A: set univ, R: univ->univ, S: set univ) : set univ {
  { x: univ | Join[A,R,S,x] }
}

Extended Join

JoinExtā€…ā€ŠAā€…ā€ŠRā€…ā€ŠZā€…ā€ŠYā€…ā€Šx\textbf{JoinExt} \; A \; R \; Z \; Y \; x

Includesā€…ā€ŠZā€…ā€ŠA\textbf{Includes} \; Z \; A

Includesā€…ā€ŠYā€…ā€ŠZ\textbf{Includes} \; Y \; Z

xāˆˆZx \in Z

āˆ€(zāˆˆZ::Belowā€…ā€ŠAā€…ā€ŠRā€…ā€ŠYā€…ā€Šzā‰”R.z.x)\forall(z \in Z :: \textbf{Below} \; A \; R \; Y \; z \equiv R.z.x)


Notation.

  1. JoinExtā€…ā€ŠZā€…ā€ŠYā€…ā€Šx\textbf{JoinExt} \; Z \; Y \; x abbreviates JoinExtā€…ā€ŠAā€…ā€ŠRā€…ā€ŠZā€…ā€ŠYā€…ā€Šx\textbf{JoinExt} \; A \; R \; Z \; Y \; x when AA and RR are clear from the context.

  2. JoinExtā€…ā€ŠZā€…ā€ŠYā€…ā€Šx\textbf{JoinExt} \; Z \; Y \; x is denoted by x=āŠ”ZYx = \sqcup_Z Y.


pred JoinExt(A: set univ, R: univ->univ, Z,Y: set univ, x: univ) {
  Includes[Z,A]
  Includes[Y,Z]
  x in Z
  all z: Z | Above[A,R,Y,z] iff x->z in R
}
JoinExtā€…ā€ŠAā€…ā€ŠRā€…ā€ŠZā€…ā€ŠY:={ā€…ā€Šx:JoinExtā€…ā€ŠAā€…ā€ŠRā€…ā€ŠZā€…ā€ŠYā€…ā€Šxā€…ā€Š}\textbf{JoinExt} \; A \; R \; Z \; Y := \{\; x : \textbf{JoinExt} \; A \; R \; Z \; Y \; x\;\}

Notation.

  1. JoinExtā€…ā€ŠZā€…ā€ŠY\textbf{JoinExt} \; Z \; Y abbreviates JoinExtā€…ā€ŠAā€…ā€ŠRā€…ā€ŠZā€…ā€ŠY\textbf{JoinExt} \; A \; R \; Z \; Y when AA and RR are clear from the context.

  2. JoinExtā€…ā€ŠZā€…ā€ŠY\textbf{JoinExt} \; Z \; Y is denoted by āŠ”ZY\sqcup_Z Y.


fun JoinExt(A: set univ, R: univ->univ, Z,Y: set univ) : set univ {
  { x: Z | JoinExt[A,R,Z,Y,x] }
}

Least (Min)

Leastā€…ā€ŠAā€…ā€ŠRā€…ā€ŠYā€…ā€Šx\textbf{Least} \; A \; R \; Y \; x

Preorderā€…ā€ŠAā€…ā€ŠR\textbf{Preorder} \; A \; R

Includesā€…ā€ŠYā€…ā€ŠA\textbf{Includes} \; Y \; A

xāˆˆYx \in Y

Belowā€…ā€ŠAā€…ā€ŠRā€…ā€ŠAā€…ā€Šx\textbf{Below} \; A \; R \; A \; x


Notation

  1. Leastā€…ā€ŠAā€…ā€ŠRā€…ā€ŠYā€…ā€Šx\textbf{Least} \; A \; R \; Y \; x can be abbreviated by Leastā€…ā€ŠYā€…ā€Šx\textbf{Least} \; Y \; x when AA and RR are clear from the context.

  2. Leastā€…ā€ŠYā€…ā€Šx\textbf{Least} \; Y \; x can be written x=minā€…ā€ŠYx = \textbf{min} \; Y.


pred Least(A: set univ, R: univ->univ, Y: set univ, x: univ) {
  Preorder[A,R]
  Includes[Y,A]
  x in Y
  Below[A,R,A,x]
}
Leastā€…ā€ŠAā€…ā€ŠRā€…ā€ŠY:={ā€…ā€Šx:Leastā€…ā€ŠAā€…ā€ŠRā€…ā€ŠYā€…ā€Šxā€…ā€Š}\textbf{Least} \; A \; R \; Y := \{ \; x : \textbf{Least} \; A \; R \; Y \; x \; \}

Notation.

  1. Leastā€…ā€ŠAā€…ā€ŠRā€…ā€ŠY\textbf{Least} \; A \; R \; Y can be written Leastā€…ā€ŠY\textbf{Least} \; Ywhen AA and RR are clear from the context.

  2. Leastā€…ā€ŠY\textbf{Least} \; Y can be written minā€…ā€ŠY\textbf{min} \; Y.


fun Least(A: set univ, R: univ->univ, Y: set univ) : set univ {
  { x: Y | Least[A,R,Y,x] }
}

Meet (Infimum)

Meetā€…ā€ŠAā€…ā€ŠRā€…ā€ŠSā€…ā€Šx\textbf{Meet} \; A \; R \; S \; x

Belowā€…ā€ŠAā€…ā€ŠRā€…ā€ŠSā€…ā€Šx\textbf{Below} \;A \; R \; S \; x

āˆ€(y:Belowā€…ā€ŠAā€…ā€ŠRā€…ā€ŠSā€…ā€Šy:R.y.x)\forall(y : \textbf{Below} \;A \; R \; S \; y : R.y.x)


Notation.

  1. Meetā€…ā€ŠSā€…ā€Šx\textbf{Meet} \; S \; x abbreviates Meetā€…ā€ŠAā€…ā€ŠRā€…ā€ŠSā€…ā€Šx\textbf{Meet} \; A \; R \; S \; x when AA and RRā€‹ are clear from the context.

  2. Meetā€…ā€ŠSā€…ā€Šx\textbf{Meet} \; S \; x is abbreviated by x=āŠ“ā€…ā€ŠSx = \sqcap \; S


pred Meet(A: set univ, R: univ->univ, S: set univ, x: univ) {
  Below[A,R,S,x]
  all y: univ | Below[A,R,S,y] implies y->x in R
}
Meetā€…ā€ŠAā€…ā€ŠRā€…ā€ŠS:={ā€…ā€Šx:Meetā€…ā€ŠAā€…ā€ŠRā€…ā€ŠSā€…ā€Šxā€…ā€Š}\textbf{Meet} \; A \; R \; S := \{ \; x : \textbf{Meet} \; A \; R \; S \; x \; \}

Notation.

  1. Meetā€…ā€ŠS\textbf{Meet} \; S abbreviates Meetā€…ā€ŠAā€…ā€ŠRā€…ā€ŠS\textbf{Meet} \; A \; R \; S when AA and RRā€‹ are clear from the context.

  2. Meetā€…ā€ŠS\textbf{Meet} \; S is abbreviated by āŠ“ā€…ā€ŠS\sqcap \; S


fun Meet(A: set univ, R: univ->univ, S: set univ) : set univ {
  { x : univ | Meet[A,R,S,x] }
}

Extended Meet

MeetExtā€…ā€ŠAā€…ā€ŠRā€…ā€ŠZā€…ā€ŠYā€…ā€Šx\textbf{MeetExt} \; A \; R \; Z \; Y \; x

Includesā€…ā€ŠZā€…ā€ŠA\textbf{Includes} \; Z \; A

Includesā€…ā€ŠYā€…ā€ŠZ\textbf{Includes} \; Y \; Z

xāˆˆZx \in Z

āˆ€(zāˆˆZ::Belowā€…ā€ŠAā€…ā€ŠRā€…ā€ŠYā€…ā€Šzā‰”R.z.x)\forall(z \in Z :: \textbf{Below} \; A \; R \; Y \; z \equiv R.z.x)


Notation.

  1. MeetExtā€…ā€ŠZā€…ā€ŠYā€…ā€Šx\textbf{MeetExt} \; Z \; Y \; x abbreviates MeetExtā€…ā€ŠAā€…ā€ŠRā€…ā€ŠZā€…ā€ŠYā€…ā€Šx\textbf{MeetExt} \; A \; R \; Z \; Y \; x when AA and RR are clear from the context.

  2. MeetExtā€…ā€ŠZā€…ā€ŠYā€…ā€Šx\textbf{MeetExt} \; Z \; Y \; x is denoted by x=āŠ“ZYx = \sqcap_Z Y.


pred MeetExt(A: set univ, R: univ->univ, Z,Y: set univ, x: univ) {
  Includes[Z,A]
  Includes[Y,Z]
  x in Z
  all z: Z | Below[A,R,Y,z] iff z->x in R
}
MeetExtā€…ā€ŠAā€…ā€ŠRā€…ā€ŠZā€…ā€ŠY:={ā€…ā€Šx:MeetExtā€…ā€ŠAā€…ā€ŠRā€…ā€ŠZā€…ā€ŠYā€…ā€Šxā€…ā€Š}\textbf{MeetExt} \; A \; R \; Z \; Y := \{\; x : \textbf{MeetExt} \; A \; R \; Z \; Y \; x\;\}

Notation.

  1. MeetExtā€…ā€ŠZā€…ā€ŠY\textbf{MeetExt} \; Z \; Y abbreviates MeetExtā€…ā€ŠAā€…ā€ŠRā€…ā€ŠZā€…ā€ŠY\textbf{MeetExt} \; A \; R \; Z \; Y when AA and RR are clear from the context.

  2. MeetExtā€…ā€ŠZā€…ā€ŠY\textbf{MeetExt} \; Z \; Y is denoted by āŠ“ZY\sqcap_Z Y.


fun MeetExt(A: set univ, R: univ->univ, Z,Y: set univ) : set univ {
  { x: univ | MeetExt[A,R,Z,Y,x] }
}

Last updated