Semiring Programming: A Declarative Framework for Generalized Sum
  Product Problems
  To solve hard problems, AI relies on a variety of disciplines such as logic,
probabilistic reasoning, machine learning and mathematical programming.
Although it is widely accepted that solving real-world problems requires an
integration amongst these, contemporary representation methodologies offer
little support for this.
  In an attempt to alleviate this situation, we introduce a new declarative
programming framework that provides abstractions of well-known problems such as
SAT, Bayesian inference, generative models, and convex optimization. The
semantics of programs is defined in terms of first-order structures with
semiring labels, which allows us to freely combine and integrate problems from
different AI disciplines.
