c-semiring
From Wikipedia, the free encyclopedia
In abstract algebra, a c-semiring (that is, a constraint-based semiring) is a tuple <A,+,X,0,1> such that:
- A is a set and 0, 1 are elements of A.
- + is the additive operation and is a commutative (i.e., +(a,b) = +(b,a)) and associative (i.e., +(a,+(b,c)) = +(+(a,b),c)) operation such that +(a,0) = a = +(0,a) (i.e., 0 is its unit element).
- + is defined over (possibly infinite) sets of elements of A as follows:
- for all a which are elements of A, +({a}) = a;
- +(empty set) = 0 and +(A) = 1;
- +(UAi, i element of S) = +({+(Ai), i element of S}) for all sets of indices of S (flattening property).
- X is called the multiplicative operation, is a binary, associative and commutative operation such that 1 is its unit element and a X 0 = 0 = 0 X a (i.e., 0 is its absorbing element);
- X distributes over +.