Documentation

Linglib.Studies.Fitting2021

Fitting (2021): The strict/tolerant idea and bilattices #

This file formalizes [fitting-2021]'s generalization of the strict/tolerant logic ST of [cobreros-etal-2012] from three values to any logical bilattice: an interlaced bilattice with negation and conflation together with a prime bifilter of designated values ([arieli-avron-1996]). 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 Trivalent, and FDE from FOUR (Examples 8.10.2–8.10.5).

Implementation notes #

References #

Formulas and valuations (§8.6) #

inductive Fitting2021.Fml (α : Type u_3) :
Type u_3

Formulas over propositional letters ([fitting-2021] Def 8.6.1): conjunction, disjunction, negation, no implication.

Instances For
    def Fitting2021.Fml.eval {B : Type u_1} {α : Type u_2} [Lattice B] [Lattice (Bilattice.Know B)] [Bilattice.Negation B] (v : αB) :
    Fml αB

    The extension of a valuation to formulas ([fitting-2021] Def 8.6.2).

    Equations
    Instances For
      theorem Fitting2021.eval_isExact {B : Type u_1} {α : Type u_2} [Lattice B] [Lattice (Bilattice.Know B)] [Bilattice.Negation B] [Bilattice.Conflation B] [Bilattice.NegConfComm B] {v : αB} (hv : ∀ (p : α), Bilattice.IsExact (v p)) (φ : Fml α) :

      Exact valuations evaluate to exact values ([fitting-2021] Prop 8.6.3).

      theorem Fitting2021.eval_isAnticonsistent {B : Type u_1} {α : Type u_2} [Lattice B] [Lattice (Bilattice.Know B)] [Bilattice.Negation B] [Bilattice.Conflation B] [Bilattice.NegConfComm B] [Bilattice.Interlaced B] {v : αB} (hv : ∀ (p : α), Bilattice.IsAnticonsistent (v p)) (φ : Fml α) :

      Anticonsistent valuations evaluate to anticonsistent values ([fitting-2021] Prop 8.6.3).

      theorem Fitting2021.eval_kLE_eval {B : Type u_1} {α : Type u_2} [Lattice B] [Lattice (Bilattice.Know B)] [Bilattice.Negation B] [Bilattice.Interlaced B] {v w : αB} (h : ∀ (p : α), Bilattice.kLE (v p) (w p)) (φ : Fml α) :

      Evaluation is knowledge-monotone in the valuation ([fitting-2021] Prop 8.6.4).

      Prime bifilters ([fitting-2021] Def 8.6.5, after [arieli-avron-1998]) #

      structure Fitting2021.PrimeBifilter (B : Type u_3) [Lattice B] [Lattice (Bilattice.Know B)] :
      Type u_3

      A prime bifilter: a proper nonempty subset that is a prime filter for both the truth and the knowledge lattice operations ([fitting-2021] Def 8.6.5), generalizing the designated values {t, ⊤} of FOUR ([arieli-avron-1996], [arieli-avron-1998]).

      Instances For
        @[instance_reducible]
        instance Fitting2021.instMembershipPrimeBifilter {B : Type u_1} [Lattice B] [Lattice (Bilattice.Know B)] :
        Membership B (PrimeBifilter B)
        Equations
        theorem Fitting2021.PrimeBifilter.mem_of_kLE {B : Type u_1} [Lattice B] [Lattice (Bilattice.Know B)] (F : PrimeBifilter B) {a b : B} (ha : a F) (h : Bilattice.kLE a b) :
        b F

        Prime bifilters are upward closed in the knowledge order ([fitting-2021] Prop 8.6.6).

        theorem Fitting2021.PrimeBifilter.mem_of_le {B : Type u_1} [Lattice B] [Lattice (Bilattice.Know B)] (F : PrimeBifilter B) {a b : B} (ha : a F) (h : a b) :
        b F

        Prime bifilters are upward closed in the truth order ([fitting-2021] Prop 8.6.6).

        The strict/tolerant and classical logics of a logical bilattice (§8.7) #

        def Fitting2021.StrictlyDesignated {B : Type u_1} [Lattice B] [Lattice (Bilattice.Know B)] [Bilattice.Conflation B] (F : PrimeBifilter B) (a : B) :

        Strictly designated: designated and exact ([fitting-2021] Def 8.7.1).

        Equations
        Instances For
          def Fitting2021.TolerantlyDesignated {B : Type u_1} [Lattice B] [Lattice (Bilattice.Know B)] [Bilattice.Conflation B] (F : PrimeBifilter B) (a : B) :

          Tolerantly designated: designated and anticonsistent ([fitting-2021] Def 8.7.1).

          Equations
          Instances For
            def Fitting2021.STSatisfies {B : Type u_1} {α : Type u_2} [Lattice B] [Lattice (Bilattice.Know B)] [Bilattice.Negation B] [Bilattice.Conflation B] (F : PrimeBifilter B) (v : αB) (Γ Δ : List (Fml α)) :

            A valuation satisfies a sequent strict-to-tolerantly: if every premise is strictly designated, some conclusion is tolerantly designated.

            Equations
            Instances For
              def Fitting2021.CSatisfies {B : Type u_1} {α : Type u_2} [Lattice B] [Lattice (Bilattice.Know B)] [Bilattice.Negation B] [Bilattice.Conflation B] (F : PrimeBifilter B) (v : αB) (Γ Δ : List (Fml α)) :

              A valuation satisfies a sequent strictly on both sides.

              Equations
              Instances For
                def Fitting2021.STValid {B : Type u_1} {α : Type u_2} [Lattice B] [Lattice (Bilattice.Know B)] [Bilattice.Negation B] [Bilattice.Conflation B] (F : PrimeBifilter B) (Γ Δ : List (Fml α)) :

                ST⟨B, F⟩ validity ([fitting-2021] Def 8.7.1): over valuations into the anticonsistent values, strict premises entail a tolerant conclusion.

                Equations
                Instances For
                  def Fitting2021.CValid {B : Type u_1} {α : Type u_2} [Lattice B] [Lattice (Bilattice.Know B)] [Bilattice.Negation B] [Bilattice.Conflation B] (F : PrimeBifilter B) (Γ Δ : List (Fml α)) :

                  C⟨B, F⟩ validity ([fitting-2021] Def 8.7.1): over valuations into the exact values, strict premises entail a strict conclusion.

                  Equations
                  Instances For
                    @[instance_reducible]
                    instance Fitting2021.instDecidableTolerantlyDesignatedOfMemPrimeBifilterOfDecidablePredIsAnticonsistent {B : Type u_1} [Lattice B] [Lattice (Bilattice.Know B)] [Bilattice.Conflation B] {F : PrimeBifilter B} [DecidablePred fun (x : B) => x F] [DecidablePred Bilattice.IsAnticonsistent] (a : B) :
                    Decidable (TolerantlyDesignated F a)
                    Equations
                    • One or more equations did not get rendered due to their size.
                    theorem Fitting2021.stValid_iff_cValid {B : Type u_1} {α : Type u_2} [Lattice B] [Lattice (Bilattice.Know B)] [Bilattice.Negation B] [Bilattice.Conflation B] [Bilattice.Interlaced B] [Bilattice.NegConfComm B] (F : PrimeBifilter B) (Γ Δ : List (Fml α)) :
                    STValid F Γ Δ CValid F Γ Δ

                    [fitting-2021] 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, win there classically, and transport the witness up along knowledge-monotonicity and bifilter closure.

                    theorem Fitting2021.cut_cSatisfies {B : Type u_1} {α : Type u_2} [Lattice B] [Lattice (Bilattice.Know B)] [Bilattice.Negation B] [Bilattice.Conflation B] (F : PrimeBifilter B) {Γ Δ : List (Fml α)} {A : Fml α} {v : αB} (h₁ : CSatisfies F v (A :: Γ) Δ) (h₂ : CSatisfies F v Γ (A :: Δ)) :
                    CSatisfies F v Γ Δ

                    Cut is locally valid in C⟨B, F⟩ ([fitting-2021] Prop 8.7.3): a valuation satisfying both premises of a cut instance satisfies its conclusion.

                    theorem Fitting2021.cut_not_local_stValid {B : Type u_1} {α : Type u_2} [Lattice B] [Lattice (Bilattice.Know B)] [Bilattice.Negation B] [Bilattice.Conflation B] [BoundedOrder (Bilattice.Know B)] (F : PrimeBifilter B) (p : α) (hbt : ) :
                    ¬∀ (v : αB), (∀ (q : α), Bilattice.IsAnticonsistent (v q))STSatisfies F v [Fml.atom p] []STSatisfies F v [] [Fml.atom p]STSatisfies F v [] []

                    [fitting-2021] Prop 8.7.3, the ST half: the cut scheme fails locally in ST⟨B, F⟩ when the knowledge order is nontrivial. 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) #

                    [fitting-2021] Prop 8.8.3: the exact members of L ⊙ L are the pairs ⟨a, aᶜ⟩, and under the truth order they are L.

                    Equations
                    • One or more equations did not get rendered due to their size.
                    Instances For
                      structure Fitting2021.PrimeFilter (L : Type u_4) [Lattice L] :
                      Type u_4

                      A prime filter of L ([fitting-2021] Def 8.9.1): the designated values of a logical De Morgan algebra ⟨L, D⟩, nonempty and proper as §8.2 requires.

                      • carrier : Set L

                        The designated values.

                      • nonempty : self.carrier.Nonempty
                      • ne_univ : self.carrier Set.univ
                      • inf_mem_iff {a b : L} : ab self.carrier a self.carrier b self.carrier
                      • sup_mem_iff {a b : L} : ab self.carrier a self.carrier b self.carrier
                      Instances For
                        @[instance_reducible]
                        Equations

                        [fitting-2021] Lemma 8.9.2: D × L is a prime bifilter of L ⊙ L.

                        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.

                          def Fitting2021.Fml.evalL {α : Type u_2} {L : Type u_3} [LatticeWithInvolution L] (v : αL) :
                          Fml αL

                          The logic ⟨L, D⟩: formulas evaluated in L by meet, join and the De Morgan complement.

                          Equations
                          Instances For
                            def Fitting2021.LValid {α : Type u_2} {L : Type u_3} [LatticeWithInvolution L] (D : PrimeFilter L) (Γ Δ : List (Fml α)) :

                            Validity in the logic ⟨L, D⟩ (§8.2): designated premises entail a designated conclusion.

                            Equations
                            Instances For
                              def Fitting2021.exactVal {α : Type u_2} {L : Type u_3} [LatticeWithInvolution L] (v : αL) (p : α) :

                              The exact valuation of L ⊙ L a valuation in L determines, p ↦ ⟨v p, (v p)ᶜ⟩.

                              Equations
                              Instances For
                                theorem Fitting2021.exactVal_isExact {α : Type u_2} {L : Type u_3} [LatticeWithInvolution L] (v : αL) (p : α) :
                                theorem Fitting2021.eq_exactVal_of_isExact {α : Type u_2} {L : Type u_3} [LatticeWithInvolution L] {v : αBilattice.Product L L} (hv : ∀ (p : α), Bilattice.IsExact (v p)) :
                                v = exactVal fun (p : α) => (v p).pro

                                Exact valuations are exactly the exactVals.

                                theorem Fitting2021.eval_exactVal {α : Type u_2} {L : Type u_3} [LatticeWithInvolution L] (v : αL) (φ : Fml α) :

                                Evaluation in L ⊙ L along an exact valuation is evaluation in L.

                                theorem Fitting2021.cValid_prod_iff {α : Type u_2} {L : Type u_3} [LatticeWithInvolution L] (D : PrimeFilter L) (Γ Δ : List (Fml α)) :
                                CValid D.prod Γ Δ LValid D Γ Δ

                                [fitting-2021] Prop 8.9.3: C⟨L ⊙ L, D × L⟩ is the logic ⟨L, D⟩ — 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) #

                                theorem Fitting2021.stValid_prod_iff {α : Type u_2} {L : Type u_3} [LatticeWithInvolution L] (D : PrimeFilter L) (Γ Δ : List (Fml α)) :
                                STValid D.prod Γ Δ LValid D Γ Δ

                                [fitting-2021] Prop 8.10.1: the strict/tolerant counterpart ST⟨L ⊙ L, D × L⟩ of a logical De Morgan algebra ⟨L, D⟩ has the same consequence relation.

                                theorem Fitting2021.cut_not_local_prod {α : Type u_2} {L : Type u_3} [LatticeWithInvolution L] [Nontrivial L] (D : PrimeFilter L) (p : α) :
                                ¬∀ (v : αBilattice.Product L L), (∀ (q : α), Bilattice.IsAnticonsistent (v q))STSatisfies D.prod v [Fml.atom p] []STSatisfies D.prod v [] [Fml.atom p]STSatisfies D.prod v [] []

                                [fitting-2021] Prop 8.10.1: and it differs at the metaconsequence level — cut fails locally in the counterpart.

                                Examples 8.10.2–8.10.5: classical logic, K3, LP and FDE #

                                Classical logic as a logical De Morgan algebra: Bool with {true} designated.

                                Equations
                                • One or more equations did not get rendered due to their size.
                                Instances For
                                  @[reducible, inline]

                                  The designated values {t, ⊤} of FOUR ([fitting-2021] Example 8.7.4) are {true} × Bool ([fitting-2021] Example 8.10.2).

                                  Equations
                                  Instances For

                                    FOUR's exact values are the classical {F, T} ([fitting-2021] Example 8.7.4).

                                    FOUR's anticonsistent values are {F, T, I}, the value space of LP ([fitting-2021] Example 8.7.4).

                                    theorem Fitting2021.four_stValid_iff_cValid {α : Type u_3} (Γ Δ : List (Fml α)) :

                                    The original collapse ([cobreros-etal-2012], via [fitting-2021] Example 8.7.4): ST and classical logic validate the same sequents.

                                    theorem Fitting2021.four_cut_not_local {α : Type u_3} (p : α) :
                                    ¬∀ (v : αBilattice.FOUR), (∀ (q : α), Bilattice.IsAnticonsistent (v q))STSatisfies fourBifilter v [Fml.atom p] []STSatisfies fourBifilter v [] [Fml.atom p]STSatisfies fourBifilter v [] []

                                    And cut fails locally in ST over FOUR.

                                    K3, Kleene's strong three-valued logic: Trivalent with {true} designated ([fitting-2021] Example 8.10.3).

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

                                      LP, Priest's logic of paradox ([priest-1979]): the same values with {½, 1} designated ([fitting-2021] Example 8.10.4).

                                      Equations
                                      • One or more equations did not get rendered due to their size.
                                      Instances For
                                        @[reducible, inline]

                                        The bilattice NINE = TrivalentTrivalent of Figure 4 ([fitting-2021] Example 8.10.3).

                                        Equations
                                        Instances For

                                          With K3 the strictly designated values reduce to {t}, so C⟨NINE, {1} × K3⟩ is K3 ([fitting-2021] Example 8.7.5).

                                          P, ¬P ⇒ Q fails in strict/tolerant LP as in LP: v(P) = d⊤, v(Q) = f ([fitting-2021] Example 8.10.4).

                                          FDE as a logical De Morgan algebra: FOUR under the truth order with {t, ⊤} designated ([fitting-2021] Example 8.10.5).

                                          Equations
                                          • One or more equations did not get rendered due to their size.
                                          Instances For
                                            @[reducible, inline]

                                            The bilattice SIXTEEN = FOUR ⊙ FOUR of Figure 6 ([fitting-2021] Example 8.10.5).

                                            Equations
                                            Instances For
                                              theorem Fitting2021.fde_stValid_iff {α : Type u_3} (Γ Δ : List (Fml α)) :

                                              FDE's strict/tolerant counterpart validates exactly the sequents of FDE ([fitting-2021] Example 8.10.5).