Representation of distributive bilattices #
Constructive direction (Core.Logic.TwistProduct): the twist product L ⊙ R is
an interlaced bilattice. This file proves the converse / representation theorem
for the distributive case (Ginsberg–Fitting; [Avr96] Thm 4.3 generalizes it
to all interlaced bilattices).
Presented knowledge-first: a distributive bilattice is a bounded distributive
lattice B — the knowledge lattice (≤_k, ⊗ = ⊓, ⊕ = ⊔, ⊥, ⊤) — together
with the two truth bounds t, f, which are complementary (IsCompl t f:
t ⊗ f = ⊥, t ⊕ f = ⊤). The truth order is recovered from the decomposition.
The representation: B decomposes as the twist product (Iic t) ⊙ (Iic f) of
the two principal ideals, via x ↦ (x ⊗ t, x ⊗ f) with inverse (a, b) ↦ a ⊕ b
([Avr96] Cor 3.8(1), Thm 4.3). The factors Iic t = {x | ⊥ ≤_t x} and
Iic f = {x | x ≤_t ⊥} are [Avr96]'s L_B, R_B.
Main results #
Bilattice.decompose— the knowledge-order isomorphismB ≃o Iic t × Iic fBilattice.tLE/tLE_iff_decompose— the recovered truth order is the twist order on the factors (first factor up, second factor down): the bilattice representation (cf.Core.Logic.TwistProduct.tLE)
The knowledge-order decomposition of a distributive bilattice: x ↦ (x ⊓ t, x ⊓ f) is an order isomorphism B ≃o Iic t × Iic f ([Avr96] Thm 4.3,
distributive case), with inverse (a, b) ↦ a ⊔ b.
Equations
- Bilattice.decompose h = { toFun := fun (x : B) => (⟨x ⊓ t, ⋯⟩, ⟨x ⊓ f, ⋯⟩), invFun := fun (p : ↑(Set.Iic t) × ↑(Set.Iic f)) => ↑p.1 ⊔ ↑p.2, left_inv := ⋯, right_inv := ⋯, map_rel_iff' := ⋯ }
Instances For
The recovered truth order on a distributive bilattice: x ≤_t y iff x
has less evidence-for-truth (⊓ t) and more evidence-for-falsity (⊓ f)
([Avr96] Def 2.4(ii)).
Equations
- Bilattice.tLE t f x y = (x ⊓ t ≤ y ⊓ t ∧ y ⊓ f ≤ x ⊓ f)
Instances For
The recovered truth order is the twist order on the decomposition factors
(Iic t up, Iic f down): this exhibits B as the twist product
(Iic t) ⊙ (Iic f), i.e. the bilattice representation.