Documentation

Provenance.Semirings.How

Equations
  • One or more equations did not get rendered due to their size.
Equations
  • One or more equations did not get rendered due to their size.

Marked as noncomputable only because the proof that MvPolynomial is a CommutativeSemiring is done in a non-computable way in Mathlib. We could redefine MvPolynomial to provide computable proofs.

Equations
  • One or more equations did not get rendered due to their size.
theorem How.universal {X : Type} [DecidableEq X] (K : Type) [CommSemiring K] (ν : XK) :
∃ (h : MvPolynomial X →+* K), ∀ (i : X), h (MvPolynomial.X i) = ν i

The How[X] semiring is universal among commutative semirings. This was observed in Green, Karnouvarakis, Tannen, Provenance Semirings, Proposition 4.2.

theorem How.not_universal_m {X : Type} [DecidableEq X] [Inhabited X] :
∃ (ν : X), ¬∃ (h : SemiringWithMonusHom (MvPolynomial X ) ), ∀ (i : X), (fun (x : MvPolynomial X ) => h.toRingHom x) (MvPolynomial.X i) = ν i

The How[X] semiring is not universal among commutative m-semirings, as long as there is at least one variable in X (if there is none, the notion of universality is trivial). This was shown in Geerts & Poggi, On database query languages for K-relations, Example 10.

In How[X], as long as X is non-empty, times is not distributive over monus. Note that this contradicts Amsterdamer, Deutch & Tannen, On the limitations of provenance for queries with differences, table page 4, which claims this semiring satisfies axiom A13.