|
|
@ -202,6 +202,7 @@ similar function for our signs. We call this function "[least upper bound](https
|
|
|
|
since it is the "least (most specific)
|
|
|
|
since it is the "least (most specific)
|
|
|
|
element that's greater (less specific) than either `s1` or `s2`". Conventionally,
|
|
|
|
element that's greater (less specific) than either `s1` or `s2`". Conventionally,
|
|
|
|
this function is written as \(a \sqcup b\) (or in our case, \(s_1 \sqcup s_2\)).
|
|
|
|
this function is written as \(a \sqcup b\) (or in our case, \(s_1 \sqcup s_2\)).
|
|
|
|
|
|
|
|
The \((\sqcup)\) symbol is also called the _join_ of \(a\) and \(b\).
|
|
|
|
We can define it for our signs so far using the following [Cayley table](https://en.wikipedia.org/wiki/Cayley_table).
|
|
|
|
We can define it for our signs so far using the following [Cayley table](https://en.wikipedia.org/wiki/Cayley_table).
|
|
|
|
|
|
|
|
|
|
|
|
{{< latex >}}
|
|
|
|
{{< latex >}}
|
|
|
@ -264,7 +265,8 @@ and the "least upper bound" function can be constructed from one another.
|
|
|
|
As it turns out, the `min` function has very similar properties to `max`:
|
|
|
|
As it turns out, the `min` function has very similar properties to `max`:
|
|
|
|
it's idempotent, commutative, and associative. For a partial order like
|
|
|
|
it's idempotent, commutative, and associative. For a partial order like
|
|
|
|
ours, the analog to `min` is "greatest lower bound", or "the largest value
|
|
|
|
ours, the analog to `min` is "greatest lower bound", or "the largest value
|
|
|
|
that's smaller than both inputs". Such a function is denoted as \(a\sqcap b\).
|
|
|
|
that's smaller than both inputs". Such a function is denoted as \(a\sqcap b\),
|
|
|
|
|
|
|
|
and often called the "meet" of \(a\) and \(b\).
|
|
|
|
As for what it means, where \(s_1 \sqcup s_2\) means "combine two signs where
|
|
|
|
As for what it means, where \(s_1 \sqcup s_2\) means "combine two signs where
|
|
|
|
you don't know which one will be used" (like in an `if`/`else`),
|
|
|
|
you don't know which one will be used" (like in an `if`/`else`),
|
|
|
|
\(s_1 \sqcap s_2\) means "combine two signs where you know
|
|
|
|
\(s_1 \sqcap s_2\) means "combine two signs where you know
|
|
|
|