DistribLattice
typeclass L: DistribLattice extends Lattice {
meet_join_distrib_left(a: L, b: L, c: L) {
a.meet(b.join(c)) = a.meet(b).join(a.meet(c))
}
join_meet_distrib_left(a: L, b: L, c: L) {
a.join(b.meet(c)) = a.join(b).meet(a.join(c))
}
}
A lattice where meets distribute over joins and joins distribute over meets.
antisymmetric
Inherited from PartialOrder.
gt
Inherited from PartialOrder.
gte
Inherited from PartialOrder.
join
Inherited from Join.
join_lte_of_bounds
Inherited from JoinSemilattice.
join_meet_distrib_left
join_meet_distrib_left(a: L, b: L, c: L) {
a.join(b.meet(c)) = a.join(b).meet(a.join(c))
}
Join distributes over meet on the left.
lt
Inherited from PartialOrder.
lte
Inherited from LTE.
lte_join_left
Inherited from JoinSemilattice.
lte_join_right
Inherited from JoinSemilattice.
lte_meet_of_bounds
Inherited from MeetSemilattice.
meet
Inherited from Meet.
meet_join_distrib_left
meet_join_distrib_left(a: L, b: L, c: L) {
a.meet(b.join(c)) = a.meet(b).join(a.meet(c))
}
Meet distributes over join on the left.
meet_lte_left
Inherited from MeetSemilattice.
meet_lte_right
Inherited from MeetSemilattice.
reflexive
Inherited from PartialOrder.
transitive
Inherited from PartialOrder.