Documentation

Provenance.Semirings.Why

structure Why (α : Type) :
Instances For
    theorem Why.ext_iff {α : Type} {x y : Why α} :
    theorem Why.ext {α : Type} {x y : Why α} (carrier : x.carrier = y.carrier) :
    x = y
    instance instCoeWhySet {α : Type} :
    Coe (Why α) (Set (Set α))
    Equations
    instance instZeroWhy {α : Type} :
    Zero (Why α)
    Equations
    instance instAddWhy {α : Type} :
    Add (Why α)
    Equations
    def why_mul {α : Type} (a b : Why α) :
    Why α
    Equations
    Instances For
      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.
      theorem Why.not_absorptive {α : Type} (hNotEmpty : ∃ (x : α), ) :

      In Why[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.