ProvSQL C/C++ API
Adding support for provenance and uncertainty management to PostgreSQL databases
Loading...
Searching...
No Matches
semiring Namespace Reference

Classes

class  Boolean
 The Boolean semiring over bool. More...
class  BoolExpr
 Provenance-as-Boolean-circuit semiring. More...
class  Counting
 The counting semiring over unsigned. More...
class  Formula
 Symbolic provenance representation over std::string. More...
class  How
 How-provenance m-semiring over \(\mathbb{N}[X]\). More...
class  IntervalUnion
 Interval-union m-semiring with Datum carrier, parameterised by a multirange type OID. More...
class  Lukasiewicz
 The Ɓukasiewicz fuzzy m-semiring over double. More...
class  MinMax
 Min-max / max-min m-semiring with Datum carrier over a PostgreSQL enum type. More...
class  SemiringException
 Exception thrown when a semiring operation is not supported. More...
class  Semiring
 Abstract base class for (m-)semirings. More...
class  Tropical
 Tropical (min-plus) m-semiring over double. More...
class  Viterbi
 The Viterbi (max-times) m-semiring over double. More...
class  Which
 Which-provenance (lineage) semiring. More...
class  Why
 Why-provenance semiring. More...

Typedefs

using how_label_t = std::string
 A single label identifying a base tuple.
using how_monomial_t = std::map<how_label_t, unsigned>
 A monomial: each variable mapped to its (positive) exponent.
using how_provenance_t = std::map<how_monomial_t, unsigned>
 How-provenance value: each monomial mapped to its (positive) coefficient.
using which_provenance_t = std::optional<std::set<std::string> >
 Which-provenance value: a set of labels, or \(\bot\) (empty optional).
using label_t = std::string
 A single label identifying a base tuple.
using label_set = std::set<label_t>
 A witness: a set of labels that collectively justify one derivation.
using why_provenance_t = std::set<label_set>
 Why-provenance value: the full set of all witnesses.

Typedef Documentation

◆ how_label_t

using semiring::how_label_t = std::string

A single label identifying a base tuple.

Definition at line 58 of file How.h.

◆ how_monomial_t

using semiring::how_monomial_t = std::map<how_label_t, unsigned>

A monomial: each variable mapped to its (positive) exponent.

Definition at line 60 of file How.h.

◆ how_provenance_t

using semiring::how_provenance_t = std::map<how_monomial_t, unsigned>

How-provenance value: each monomial mapped to its (positive) coefficient.

Definition at line 62 of file How.h.

◆ label_set

using semiring::label_set = std::set<label_t>

A witness: a set of labels that collectively justify one derivation.

Definition at line 47 of file Why.h.

◆ label_t

using semiring::label_t = std::string

A single label identifying a base tuple.

Definition at line 45 of file Why.h.

◆ which_provenance_t

using semiring::which_provenance_t = std::optional<std::set<std::string> >

Which-provenance value: a set of labels, or \(\bot\) (empty optional).

Definition at line 50 of file Which.h.

◆ why_provenance_t

Why-provenance value: the full set of all witnesses.

Definition at line 49 of file Why.h.