Documentation

Provenance.Semirings.Lukasiewicz

Łukasiewicz m-semiring #

This file defines the Łukasiewicz (fuzzy logic) semiring over rationals [0,1]. Addition is max, multiplication is the Łukasiewicz t-norm max(a + b - 1, 0), zero is 0, and one is 1.

The Łukasiewicz semiring is absorptive and idempotent, and satisfies left-distributivity of multiplication over monus.

This semiring is discussed as a provenance semiring in Grädel & Tannen, Provenance Analysis and Semiring Semantics for First-Order Logic.

References #

@[reducible, inline]

The Łukasiewicz semiring: rationals in [0,1] with max as addition and the Łukasiewicz t-norm max(a + b - 1, 0) as multiplication.

Equations
Instances For
    @[implicit_reducible]
    Equations
    @[implicit_reducible]
    Equations
    @[implicit_reducible]
    Equations
    theorem Lukasiewicz.sub_def (a b : Lukasiewicz) :
    a - b = if a b then 0, else a
    @[implicit_reducible]
    Equations
    • One or more equations did not get rendered due to their size.
    @[implicit_reducible]
    Equations
    • One or more equations did not get rendered due to their size.

    Lukasiewicz has characteristic 0 in the CharP sense: it is idempotent and nontrivial, so every positive natural-number cast equals 1.

    @[implicit_reducible]

    Lukasiewicz is a commutative m-semiring. The natural order is the usual rational order, and the monus is a if a > b, 0 if a ≤ b. The δ operator matches ProvSQL's Lukasiewicz::delta: the support indicator.

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

    Łukasiewicz multiplication is not idempotent: (1/2) * (1/2) = max(0, 0) = 0 ≠ 1/2.

    There is no semiring homomorphism from BoolFunc Y to the Łukasiewicz semiring sending the variables to arbitrary values: Łukasiewicz multiplication is not idempotent ((1/2) ⊗ (1/2) = 0 ≠ 1/2), contradicting var i * var i = var i in BoolFunc Y.