Module docstring
{"# Kleene Algebras
This file defines idempotent semirings and Kleene algebras, which are used extensively in the theory of computation.
An idempotent semiring is a semiring whose addition is idempotent. An idempotent semiring is
naturally a semilattice by setting a ≤ b if a + b = b.
A Kleene algebra is an idempotent semiring equipped with an additional unary operator ∗, the
Kleene star.
Main declarations
IdemSemiring: Idempotent semiringIdemCommSemiring: Idempotent commutative semiringKleeneAlgebra: Kleene algebra
Notation
a∗ is notation for kstar a in locale Computability.
References
- [D. Kozen, A completeness theorem for Kleene algebras and the algebra of regular events] [kozen1994]
 - https://planetmath.org/idempotentsemiring
 - https://encyclopediaofmath.org/wiki/Idempotent_semi-ring
 - https://planetmath.org/kleene_algebra
 
TODO
Instances for AddOpposite, MulOpposite, ULift, Subsemiring, Subring, Subalgebra.
Tags
kleene algebra, idempotent semiring "}