Fitting (2021): The strict/tolerant idea and bilattices #
This file formalizes Fitting's generalization of the strict/tolerant logic ST of Cobreros,
Égré, Ripley and van Rooij from three values to any logical bilattice: an interlaced bilattice
with negation and conflation together with a prime bifilter of designated values, after Arieli
and Avron. Over its exact values −a = a and anticonsistent values −a ≤ₖ a live
two logics (Definition 8.7.1): ST⟨B, F⟩ reads premises strictly and conclusions tolerantly
over anticonsistent valuations, C⟨B, F⟩ reads both strictly over exact valuations. They
validate the same sequents (Proposition 8.7.2, stValid_iff_cValid), yet cut is locally valid
only in the second (Proposition 8.7.3, cut_not_local_stValid).
The examples come from products L ⊙ L of De Morgan algebras: the exact values of L ⊙ L are
L (Proposition 8.8.3, exactIso), D × L is a prime bifilter for every prime filter D
(Lemma 8.9.2, PrimeFilter.prod), and C⟨L ⊙ L, D × L⟩ is the logic ⟨L, D⟩ itself
(Proposition 8.9.3, cValid_prod_iff). Hence every logical De Morgan algebra has a
strict/tolerant counterpart with the same consequence relation (Proposition 8.10.1,
stValid_prod_iff): classical logic from Bool, K3 and LP from SignType, and FDE
from FOUR (Examples 8.10.2–8.10.5).
Implementation notes #
- Formulas have conjunction, disjunction and negation only (Definition 8.6.1); prime bifilters and prime filters carry the nonemptiness and properness that §8.2 requires of designated sets.
- Sequent satisfaction is
Consequence.Satisfies, with strict and tolerant designation as the premise and conclusion standards, so local cut inC⟨B, F⟩isConsequence.Satisfies.cut.STValidandCValidareConsequence.MixedConsequenceover the anticonsistent and exact valuations andLValidover all valuations intoL, so Propositions 8.7.2 and 8.9.3 are pairs of model correspondences (Consequence.MixedConsequence.comap). - Lemma 8.8.2, the general interlaced-bilattice route to Proposition 8.8.3, is not formalized; the proposition is proved in coordinates for the product.
- Locators use the chapter's numbering,
8.nfor the preprint's§n.
References #
Formulas and valuations (§8.6) #
The extension of a valuation to formulas ([Fit21] Def 8.6.2).
Equations
- Fitting2021.Fml.eval v (Fitting2021.Fml.atom p) = v p
- Fitting2021.Fml.eval v (φ.and ψ) = Fitting2021.Fml.eval v φ ⊓ Fitting2021.Fml.eval v ψ
- Fitting2021.Fml.eval v (φ.or ψ) = Fitting2021.Fml.eval v φ ⊔ Fitting2021.Fml.eval v ψ
- Fitting2021.Fml.eval v φ.not = (Fitting2021.Fml.eval v φ)ᶜ
Instances For
Exact valuations evaluate to exact values ([Fit21] Prop 8.6.3).
Anticonsistent valuations evaluate to anticonsistent values ([Fit21] Prop 8.6.3).
Evaluation is knowledge-monotone in the valuation ([Fit21] Prop 8.6.4).
A prime bifilter is a proper nonempty subset that is a prime filter for both the truth and the
knowledge lattice operations ([Fit21] Def 8.6.5). It generalizes the designated values
{t, ⊤} of FOUR ([AA96], [AA98]).
- carrier : Set B
The designated values.
- nonempty : self.carrier.Nonempty
- ne_univ : self.carrier ≠ Set.univ
- kInf_mem_iff {a b : B} : Bilattice.kInf a b ∈ self.carrier ↔ a ∈ self.carrier ∧ b ∈ self.carrier
- kSup_mem_iff {a b : B} : Bilattice.kSup a b ∈ self.carrier ↔ a ∈ self.carrier ∨ b ∈ self.carrier
Instances For
Equations
- Fitting2021.instMembershipPrimeBifilter = { mem := fun (F : Fitting2021.PrimeBifilter B) (a : B) => a ∈ F.carrier }
Prime bifilters are upward closed in the knowledge order ([Fit21] Prop 8.6.6).
Prime bifilters are upward closed in the truth order ([Fit21] Prop 8.6.6).
The strict/tolerant and classical logics of a logical bilattice (§8.7) #
A value is strictly designated when it is designated and exact ([Fit21] Def 8.7.1).
Equations
- Fitting2021.StrictlyDesignated F a = (a ∈ F ∧ Bilattice.IsExact a)
Instances For
A value is tolerantly designated when it is designated and anticonsistent ([Fit21] Def 8.7.1).
Equations
- Fitting2021.TolerantlyDesignated F a = (a ∈ F ∧ Bilattice.IsAnticonsistent a)
Instances For
A valuation satisfies a sequent strict-to-tolerantly when some conclusion is tolerantly designated whenever every premise is strictly designated.
Equations
- One or more equations did not get rendered due to their size.
Instances For
A valuation satisfies a sequent strictly on both sides.
Equations
- One or more equations did not get rendered due to their size.
Instances For
ST⟨B, F⟩ validity is the mixed consequence of strict premises and tolerant conclusions over
the valuations into the anticonsistent values ([Fit21] Def 8.7.1).
Equations
- One or more equations did not get rendered due to their size.
Instances For
C⟨B, F⟩ validity is the consequence of strict premises and strict conclusions over the
valuations into the exact values ([Fit21] Def 8.7.1).
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- Fitting2021.instDecidableStrictlyDesignatedOfMemPrimeBifilterOfDecidablePredIsExact a = { decide := decide (a ∈ F) && decide (Bilattice.IsExact a), reflects_decide := ⋯ }
Equations
- Fitting2021.instDecidableTolerantlyDesignatedOfMemPrimeBifilterOfDecidablePredIsAnticonsistent a = { decide := decide (a ∈ F) && decide (Bilattice.IsAnticonsistent a), reflects_decide := ⋯ }
The strict/tolerant and classical logics of a logical bilattice validate exactly the same
sequents ([Fit21] Prop 8.7.2). Both directions are model correspondences
(Consequence.MixedConsequence.comap). Every exact valuation is anticonsistent, and below every
anticonsistent valuation lies an exact one on which strict premises agree, whose strict
conclusions lift along knowledge-monotonicity and bifilter closure. This replaces the chapter's
contraposition.
Cut is locally valid in C⟨B, F⟩, so a valuation satisfying both premises of a cut instance
satisfies its conclusion ([Fit21] Prop 8.7.3).
The cut scheme fails locally in ST⟨B, F⟩ when the knowledge order is nontrivial, the ST
half of [Fit21] Prop 8.7.3. The countermodel sends a letter to the knowledge top — designated
and anticonsistent but not exact — so both cut premises hold while the empty conclusion fails.
Products of De Morgan algebras (§§8.8–8.9) #
The exact members of L ⊙ L are the pairs ⟨a, aᶜ⟩, and under the truth order they are L
([Fit21] Prop 8.8.3).
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- Fitting2021.instMembershipPrimeFilter = { mem := fun (D : Fitting2021.PrimeFilter L) (a : L) => a ∈ D.carrier }
D × L is a prime bifilter of L ⊙ L ([Fit21] Lemma 8.9.2).
Equations
- D.prod = { carrier := {x : Bilattice.Product L L | x.pro ∈ D}, nonempty := ⋯, ne_univ := ⋯, inf_mem_iff := ⋯, kInf_mem_iff := ⋯, sup_mem_iff := ⋯, kSup_mem_iff := ⋯ }
Instances For
In D × L the strictly designated values are the exact pairs ⟨a, aᶜ⟩ with a ∈ D.
In D × L the tolerantly designated values are the anticonsistent pairs with a ∈ D.
The logic ⟨L, D⟩ evaluates formulas in L by meet, join and the De Morgan complement.
Equations
- Fitting2021.Fml.evalL v (Fitting2021.Fml.atom p) = v p
- Fitting2021.Fml.evalL v (φ.and ψ) = Fitting2021.Fml.evalL v φ ⊓ Fitting2021.Fml.evalL v ψ
- Fitting2021.Fml.evalL v (φ.or ψ) = Fitting2021.Fml.evalL v φ ⊔ Fitting2021.Fml.evalL v ψ
- Fitting2021.Fml.evalL v φ.not = (Fitting2021.Fml.evalL v φ)ᶜ
Instances For
A sequent is valid in the logic ⟨L, D⟩ when designated premises entail a designated
conclusion (§8.2).
Equations
- One or more equations did not get rendered due to their size.
Instances For
The exact valuation of L ⊙ L a valuation in L determines, p ↦ ⟨v p, (v p)ᶜ⟩.
Equations
- Fitting2021.exactVal v p = Bilattice.Product.mk (v p) (v p)ᶜ
Instances For
Exact valuations are exactly the exactVals.
Evaluation in L ⊙ L along an exact valuation is evaluation in L.
C⟨L ⊙ L, D × L⟩ is the logic ⟨L, D⟩ ([Fit21] Prop 8.9.3). The two validate the
same sequents, the exact values of the product corresponding to L and (D × L) ∩ E to D.
Generating strict/tolerant examples (§8.10) #
The strict/tolerant counterpart ST⟨L ⊙ L, D × L⟩ of a logical De Morgan algebra ⟨L, D⟩
has the same consequence relation ([Fit21] Prop 8.10.1).
The strict/tolerant counterpart differs at the metaconsequence level, since cut fails locally in it ([Fit21] Prop 8.10.1).
Examples 8.10.2–8.10.5: classical logic, K3, LP and FDE #
Classical logic is the logical De Morgan algebra Bool with {true} designated.
Equations
- One or more equations did not get rendered due to their size.
Instances For
FOUR's exact values are the classical {F, T} ([Fit21] Example 8.7.4).
FOUR's anticonsistent values are {F, T, I}, the value space of LP
([Fit21] Example 8.7.4).
ST and classical logic validate the same sequents, the original collapse of
[CERvR12] (via [Fit21] Example 8.7.4).
And cut fails locally in ST over FOUR.
K3, Kleene's strong three-valued logic, is SignType with {1} designated
([Fit21] Example 8.10.3).
Equations
- Fitting2021.k3Filter = { carrier := {a : SignType | a = 1}, nonempty := Fitting2021.k3Filter._proof_4, ne_univ := Fitting2021.k3Filter._proof_5, inf_mem_iff := ⋯, sup_mem_iff := ⋯ }
Instances For
LP, the logic of paradox of [Pri79], is SignType with {0, 1} (Fitting's {½, 1})
designated ([Fit21] Example 8.10.4).
Equations
- Fitting2021.lpFilter = { carrier := {a : SignType | a ≠ -1}, nonempty := Fitting2021.lpFilter._proof_5, ne_univ := Fitting2021.lpFilter._proof_6, inf_mem_iff := ⋯, sup_mem_iff := ⋯ }
Instances For
Equations
- Fitting2021.instDecidablePredSignTypeMemPrimeFilterLpFilter a = { decide := !decide (a = -1), reflects_decide := ⋯ }
The bilattice NINE = SignType ⊙ SignType of Figure 4 ([Fit21] Example 8.10.3).
Equations
- Fitting2021.NINE = Bilattice.Product SignType SignType
Instances For
NINE's consistent values are the exact ones with {df, ⊥, dt} ([Fit21] §8.5).
NINE's anticonsistent values are the exact ones with {of, ⊤, ot}
([Fit21] §8.5).
The two prime bifilters of NINE are {t, ot, ⊤} from K3 and the six-element
{dt, t, d⊤, ot, of, ⊤} from LP ([Fit21] Examples 8.7.5 and 8.10.4).
With K3 the strictly designated values reduce to {t}, so C⟨NINE, {1} × K3⟩ is K3
([Fit21] Example 8.7.5).
With LP the strictly designated values are {d⊤, t} and the tolerantly designated ones
{t, d⊤, ot, of, ⊤} ([Fit21] Example 8.10.4).
FDE is the logical De Morgan algebra FOUR under the truth order with {t, ⊤} designated
([Fit21] Example 8.10.5).
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- Fitting2021.instDecidablePredFOURMemPrimeFilterFdeFilter x = { decide := decide (x = Bilattice.FOUR.T) || decide (x = Bilattice.FOUR.I), reflects_decide := ⋯ }
Not every value is exact, consistent or anticonsistent, since ⟨⊥, ⊤⟩ and ⟨⊤, ⊥⟩ of
SIXTEEN are neither consistent nor anticonsistent ([Fit21] §8.5, Example 8.10.5).