Semiring-based constraint logic programming: syntax and semantics