Open johnynek opened 8 years ago
https://en.wikipedia.org/wiki/Kleene_algebra
This is always fun. We could have a method to get the BoundedSemilattice from the + operation.
+
I guess this extends Rig. So something like:
Rig
trait KleeneAlgebra[A] extends Rig[A] { def star(a: A): A def additiveSemilattice: BoundedSemilattice[A] }
There are actually two structures: star rigs and kleene algebras. They have the same structure but different laws.
For example: http://r6.ca/blog/20110808T035622Z.html
https://en.wikipedia.org/wiki/Kleene_algebra
This is always fun. We could have a method to get the BoundedSemilattice from the
+
operation.I guess this extends
Rig
. So something like: