  Extending programming languages with stochastic behaviour such as
probabilistic choices or random sampling has a long tradition in computer
science. A recent development in this direction is a declarative probabilistic
programming language, proposed by Barany et al. in 2017, which operates on
standard relational databases. In particular, Barany et al. proposed generative
Datalog, a probabilistic extension of Datalog that allows sampling from
discrete probability distributions. Intuitively, the output of a generative
Datalog program P on an input database D is a probability space over the
minimal models of D and P, the so-called possible outcomes. This is a natural
generalization of the (deterministic) semantics of Datalog, where the output of
a program on a database is their unique minimal model. A natural question to
ask is how generative Datalog can be enriched with the useful feature of
negation, which in turn leads to a strictly more expressive declarative
probabilistic programming language. In particular, the challenging question is
how the probabilistic semantics of generative Datalog with negation can be
robustly defined. Our goal is to provide an answer to this question by
interpreting negation according to the stable model semantics.
