Transparent Query Rewriting
SQL queries are automatically rewritten to track provenance circuits, across joins, aggregation, set operations, CTEs, and recursive queries (WITH RECURSIVE). No changes to your schema or application code required.
Semiring Provenance
A unified semiring API for Boolean, counting, why-, how-, and which-provenance, symbolic formulas, tropical, Viterbi, Łukasiewicz, and min-max / max-min evaluations – all through one compiled-evaluation path.
Probabilistic Databases
Compute tuple-independent probabilities of query answers via independent-circuit evaluation, tree decomposition, d-DNNF knowledge compilation, Monte Carlo, or weighted model counting. Inspect every intermediate artifact (CNF, compiled d-DNNF, tree decomposition) or benchmark all methods at once. An opt-in planner-side rewrite recognises hierarchical conjunctive queries (and a family of FD-aware extensions) and routes them through the linear-time independent evaluator; the inversion-free class of queries compiles directly to a linear-size d-DNNF.
Continuous Distributions
First-class random-variable columns. Build queries with Normal, Uniform, Exponential, Erlang, Mixture, and Categorical distributions; evaluate expectations and moments analytically or by Monte Carlo; condition on filter predicates inline.
Shapley & Banzhaf Values
Quantify each input tuple’s contribution to a query answer through Shapley and Banzhaf values, computed in a single circuit traversal.
ProvSQL Studio
A web UI for provenance inspection: render the circuit DAG behind any result token, evaluate any compiled semiring on a pinned subnode, and hover output cells to highlight the source rows that produced them. Available on PyPI as provsql-studio.
C/C++ API
Internal C/C++ API for extending ProvSQL with new semirings and gate types.