A tree or a rule-based representation lets us represent the structures qualitatively [1]}, [2]}, [3]}. That is why, probabilistic logic programming (PLP) has received much attention. Over the past three decades, many PLP languages have been proposed: PHA [4]}, Prism [5]}, LPADs [6]}, ProbLog [7]}, ICL [8]}, CP-Logic [9]}. However, only a few of them support both discrete and continuous RVs: HProbLog [10]}, DC [11]}, [12]}, Extended-Prism [13]}, Hybrid-cplint [14]}, [15]}. Nonetheless, the hybrid PLPs that have been studied in the past do not support combining rules, which is a core component of PLPs. BLPs do support combining rules, but then they do not qualitatively represent the structures. The syntax of DC# is the same as the syntax of DC introduced by [12]}, but the semantics is different as DC# supports combining rules. The semantics of DC# is based on BLPs, so one can view DC# programs as BLPs qualitatively representing structures. Furthermore, a huge fragment of Problog programs, one of the most popular PLPs, is expressible as DC# programs. Annotated disjunctions and directed cycles are not supported in DC# currently.
