Semiring
The Semiring
class describes the behavior of algebraic semirings, as used by our framework.
A semiring is the 5-tuple (R, (+), (*), 0, 1) where:
- R represents the definition set (type) of the semiring
- (+) represents an associative, commutative, idempotent operator, to choose a value among many, also called choose/conjunction
- (*) represents an associative, commutative operator to combine values. Also called combine/disjunction
- 0 represents a constant identity element for (+)
- 1 represents a constant identity element for (*)
- (*) distributes over (+)
- an operator defining a complete lattice exists
- TODO: add properties that must hold for semirings
Author
loreti