Fitting 2021: strict/tolerant logics from logical bilattices #
[Fit21] generalizes the strict/tolerant phenomenon of
[CERvR12] — ST has exactly classical logic's
consequence relation yet differs at the metaconsequence level — from three
truth values to any logical bilattice: an interlaced bilattice with negation
and conflation together with a prime bifilter F of designated values (the
designated-value theory of [AA96], [AA98]). From
such a pair, two logics arise ([Fit21] Def 8.7.1): ST⟨B,F⟩ runs
valuations over the anticonsistent values with strict (exact designated)
premises and tolerant (anticonsistent designated) conclusions; C⟨B,F⟩ — the
classical-like logic — runs valuations over the exact values.
The chapter's central results, formalized here over the
Core.Logic.Bilattice substrate:
stValid_iff_cValid([Fit21] Prop 8.7.2):ST⟨B,F⟩andC⟨B,F⟩validate exactly the same sequents. (Both directions are proved directly: right-to-left builds an exact valuation knowledge-below the given anticonsistent one by the interpolation lemma and transports along knowledge-monotonicity, rather than contraposing as in the chapter.)cut_cSatisfies/cut_not_local_stValid([Fit21] Prop 8.7.3): the cut scheme is locally valid inC⟨B,F⟩but fails inST⟨B,F⟩— the two logics differ at the metaconsequence level. The countermodel sends a letter to the knowledge top: designated and anticonsistent but not exact.- the
FOURinstance ([Fit21] Example 8.7.4):FOUR's exact values are{F, T}, its anticonsistent values{F, T, I}, and{T, I}is a prime bifilter; the resulting pair is the original [CERvR12]STalongside classical logic, so the collapse and the cut failure specialize to the classic case.
The §8.8–8.10 extension — every non-distributive logical De Morgan algebra
generates a strict/tolerant counterpart via the product L ⊙ L — remains
TODO; its bilattice ingredients (Product, the diagonal Negation instance,
factor recovery) are already in the substrate.
Valuation extension ([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 = Bilattice.neg (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: a proper nonempty subset that is a prime filter for both
the truth and the knowledge lattice operations ([Fit21] Def 8.6.5,
generalizing the designated values {t, ⊤} of FOUR per
[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 #
Strictly designated: designated and exact ([Fit21] Def 8.7.1).
Equations
- Fitting2021.StrictlyDesignated F a = (a ∈ F ∧ Bilattice.IsExact a)
Instances For
Tolerantly designated: 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: if every premise is strictly designated, some conclusion is tolerantly designated.
Equations
- Fitting2021.STSatisfies F v Γ Δ = ((∀ φ ∈ Γ, Fitting2021.StrictlyDesignated F (Fitting2021.Fml.eval v φ)) → ∃ ψ ∈ Δ, Fitting2021.TolerantlyDesignated F (Fitting2021.Fml.eval v ψ))
Instances For
A valuation satisfies a sequent strictly on both sides.
Equations
- Fitting2021.CSatisfies F v Γ Δ = ((∀ φ ∈ Γ, Fitting2021.StrictlyDesignated F (Fitting2021.Fml.eval v φ)) → ∃ ψ ∈ Δ, Fitting2021.StrictlyDesignated F (Fitting2021.Fml.eval v ψ))
Instances For
ST⟨B,F⟩ validity ([Fit21] Def 8.7.1): over valuations into the
anticonsistent values, strict premises entail a tolerant conclusion.
Equations
- Fitting2021.STValid F Γ Δ = ∀ (v : α → B), (∀ (p : α), Bilattice.IsAnticonsistent (v p)) → Fitting2021.STSatisfies F v Γ Δ
Instances For
C⟨B,F⟩ validity ([Fit21] Def 8.7.1): over valuations into the
exact values, strict premises entail a strict conclusion.
Equations
- Fitting2021.CValid F Γ Δ = ∀ (v : α → B), (∀ (p : α), Bilattice.IsExact (v p)) → Fitting2021.CSatisfies F v Γ Δ
Instances For
[Fit21] Prop 8.7.2: the strict/tolerant and classical logics of a logical bilattice validate exactly the same sequents. Right-to-left replaces the chapter's contraposition: given an anticonsistent valuation, choose an exact valuation knowledge-below it (interpolation), win there classically, and transport the witness up along knowledge-monotonicity and bifilter closure.
Cut is locally valid in C⟨B,F⟩ ([Fit21] Prop 8.7.3): any
valuation satisfying both premises of a cut instance satisfies its
conclusion.
[Fit21] Prop 8.7.3, ST half: the cut scheme fails locally in
ST⟨B,F⟩ (for a nontrivial knowledge order). 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.
The FOUR instance ([Fit21] Example 8.7.4) #
Belnap's FOUR with the designated values {t, ⊤} is the paradigm logical
bilattice: its exact values are the classical {F, T}, its anticonsistent
values {F, T, I} (Priest's LP space), and the resulting logic pair is the
original strict/tolerant logic of [CERvR12] alongside classical
logic.
Boolean-complement conflation makes FOUR a bilattice with conflation.
Equations
- Fitting2021.instConflationFOUR = { conf := Bilattice.FOUR.conf, conf_conf := Fitting2021.four_conf_conf✝, conf_le_conf := ⋯, conf_kLE_conf := ⋯ }
Negation and conflation commute on FOUR.
FOUR's exact values are the classical {F, T}
([Fit21] Example 8.7.4).
FOUR's anticonsistent values are {F, T, I} — Priest's LP value space
([Fit21] Example 8.7.4).
The original strict/tolerant collapse ([CERvR12], via
[Fit21] Example 8.7.4): over FOUR with designated {t, ⊤}, ST and
classical logic validate exactly the same sequents.
And the pair separates at the metaconsequence level: cut fails locally in
ST over FOUR.