Skip to main content

JoinSemilattice

typeclass S: JoinSemilattice extends PartialOrder, Join {
lte_join_left(a: S, b: S) {
a <= a.join(b)
}
lte_join_right(a: S, b: S) {
b <= a.join(b)
}
join_lte_of_bounds(a: S, b: S, c: S) {
a <= c and b <= c implies a.join(b) <= c
}
}

A partially ordered type with binary least upper bounds.

GitHub


antisymmetric​

Inherited from PartialOrder.

gt​

Inherited from PartialOrder.

gte​

Inherited from PartialOrder.

join​

Inherited from Join.

join_lte_of_bounds​

join_lte_of_bounds(a: S, b: S, c: S) {
a <= c and b <= c implies a.join(b) <= c
}

A join is below any common upper bound.

lt​

Inherited from PartialOrder.

lte​

Inherited from LTE.

lte_join_left​

lte_join_left(a: S, b: S) {
a <= a.join(b)
}

A join is above its left argument.

lte_join_right​

lte_join_right(a: S, b: S) {
b <= a.join(b)
}

A join is above its right argument.

reflexive​

Inherited from PartialOrder.

transitive​

Inherited from PartialOrder.