Documentation

Studies.CobrerosEtAl2012

Cobreros, Égré, Ripley and van Rooij 2012: Tolerant, classical, strict #

A T-model is a classical model whose predicates each carry an indifference relation ∼_P, reflexive and symmetric but possibly non-transitive (Definition 4), the vague predicate's "looks the same with respect to P". Besides classical truth a T-model supports two further notions defined by simultaneous induction (Definition 9): Pa is strictly true when every ∼_P-neighbour of a is classically P and tolerantly true when some neighbour is, negation swapping the two, so that the strict extension sharpens and the tolerant extension coarsens the classical one (Lemma 1) and the tolerance principle Pa ∧ a I_P b → Pb is tolerantly valid (Fact 2) up to two similarity steps (Fact 3). Borderline cases are the tolerantly-but-not-strictly P individuals (Definition 10), the ones tolerantly both P and ¬P. On the similarity-free vocabulary tolerant validity is classical validity while nothing is strictly valid (Theorems 1 and 2), so strict validity is not Fine's supervaluationist validity, which is classical; and tolerant and strict consequence are Priest's LP and Kleene's strong K3 (Theorem 3), via the model correspondences of Lemmas 4 and 5. Mixing the three notions gives nine consequence relations ⊨ᵐⁿ (Definition 17), ordered by Lemma 7, dualised by Lemma 6, collapsing to four on the restricted vocabulary (Lemmas 8 and 9) but distinct once similarity statements are expressible (§3.4), where the deduction theorem singles out the self-dual st, cc and ts (Lemma 10). A relation is reflexive iff its premise standard is at most its conclusion standard, and closed under cut when it is at least (§3.3.2); ct, sc and st fail even simple transitivity (§3.4.1). The paper's choice is st, strict premises to tolerant conclusions: it validates tolerance and modus ponens and is non-transitive, so it validates every step of a sorites while invalidating the chain (§3.6, Version 1), and it makes the tolerance-premise sorites valid but unsound, its tolerance premise not being strictly true (Version 2). The five-men model of §4.2.3 gives the paper's account of Alxatib and Pelletier's data: the median man is borderline however he is classified.

Main definitions #

Main results #

Implementation notes #

The language is the paper's propositional fragment over a set of constants C: negation and conjunction over predications Pa and similarity statements a I_P b, with disjunction and the conditional defined classically. The universally quantified principles appear as their instances, which the paper notes changes nothing (§3.6). Identity, which the paper adds in §2.3.1, is not represented. Consequence quantifies over T-models of every domain in the universe of C (TModels), as the paper's does; the atomic strict and tolerant clauses are ModalLogic.Box and ModalLogic.Diamond along ∼_P, so Lemma 1's atomic case is the T axiom.

References #

T-models #

structure CobrerosEtAl2012.TModel (Pred : Type u_1) (C : Type u_2) (D : Type u_3) :
Type (max (max u_1 u_2) u_3)

A T-model (Definition 4) is a classical model of the constants C and predicates Pred over the domain D, with for each predicate a reflexive and symmetric, possibly non-transitive, indifference relation ∼_P.

  • const : C → D

    The interpretation of the constants.

  • interp : Pred → D → Prop

    The classical extension of each predicate.

  • sim : Pred → SetRel D D

    The indifference relation ∼_P of each predicate.

  • sim_ktb (P : Pred) : ModalLogic.IsKTBFrame (self.sim P)
Instances For
    instance CobrerosEtAl2012.instIsKTBFrameSim {Pred : Type u_1} {C : Type u} {D : Type u_2} (M : TModel Pred C D) (P : Pred) :

    The three notions of truth, ordered by strength as strict < classical < tolerant.

    Instances For
      @[instance_reducible]
      Equations
      inductive CobrerosEtAl2012.Atom (Pred : Type u_3) (C : Type u_4) :
      Type (max u_3 u_4)

      The atomic sentences are predications Pa and similarity statements a I_P b (Definition 8).

      • pred {Pred : Type u_3} {C : Type u_4} : Pred → C → Atom Pred C
      • sim {Pred : Type u_3} {C : Type u_4} : Pred → C → C → Atom Pred C
      Instances For
        @[reducible, inline]
        abbrev CobrerosEtAl2012.Formula (Pred : Type u_3) (C : Type u_4) :
        Type (max u_4 u_3)

        The propositional fragment of the language (Definition 2).

        Equations
        Instances For
          def CobrerosEtAl2012.tolerance {Pred : Type u_1} {C : Type u} (P : Pred) (a b : C) :
          Formula Pred C

          The instance Pa ∧ a I_P b → Pb of the tolerance principle (1).

          Equations
          • One or more equations did not get rendered due to their size.
          Instances For
            def CobrerosEtAl2012.TModel.Realize {Pred : Type u_1} {C : Type u} {D : Type u_2} (M : TModel Pred C D) :
            Mode → Formula Pred C → Prop

            Truth in a mode (Definition 9, with Definition 5 for the classical mode). A predication is strictly true when P holds throughout the ∼_P-neighbourhood of the individual, □, and tolerantly true when it holds somewhere in it, ◇; negation swaps to the dual mode; and similarity statements are classical in every mode (Remark 2).

            Equations
            Instances For
              @[simp]
              theorem CobrerosEtAl2012.TModel.realize_sim {Pred : Type u_1} {C : Type u} {D : Type u_2} (M : TModel Pred C D) (m : Mode) (P : Pred) (a b : C) :
              M.Realize m (Trivalent.Formula.atom (Atom.sim P a b)) ↔ (M.const a, M.const b) ∈ M.sim P
              @[simp]
              theorem CobrerosEtAl2012.TModel.realize_classical_pred {Pred : Type u_1} {C : Type u} {D : Type u_2} (M : TModel Pred C D) (P : Pred) (a : C) :
              @[simp]
              theorem CobrerosEtAl2012.TModel.realize_strict_pred {Pred : Type u_1} {C : Type u} {D : Type u_2} (M : TModel Pred C D) (P : Pred) (a : C) :
              @[simp]
              theorem CobrerosEtAl2012.TModel.realize_tolerant_pred {Pred : Type u_1} {C : Type u} {D : Type u_2} (M : TModel Pred C D) (P : Pred) (a : C) :
              @[simp]
              theorem CobrerosEtAl2012.TModel.realize_neg {Pred : Type u_1} {C : Type u} {D : Type u_2} (M : TModel Pred C D) (m : Mode) (φ : Formula Pred C) :
              @[simp]
              theorem CobrerosEtAl2012.TModel.realize_conj {Pred : Type u_1} {C : Type u} {D : Type u_2} (M : TModel Pred C D) (m : Mode) (φ ψ : Formula Pred C) :
              M.Realize m (Trivalent.Formula.conj φ ψ) ↔ M.Realize m φ ∧ M.Realize m ψ
              @[simp]
              theorem CobrerosEtAl2012.TModel.realize_disj {Pred : Type u_1} {C : Type u} {D : Type u_2} (M : TModel Pred C D) (m : Mode) (φ ψ : Formula Pred C) :
              M.Realize m (Trivalent.Formula.disj φ ψ) ↔ M.Realize m φ ∨ M.Realize m ψ
              @[simp]
              theorem CobrerosEtAl2012.TModel.realize_cond {Pred : Type u_1} {C : Type u} {D : Type u_2} (M : TModel Pred C D) (m : Mode) (φ ψ : Formula Pred C) :
              M.Realize m (Trivalent.Formula.cond φ ψ) ↔ M.Realize m.dual φ → M.Realize m ψ

              M ⊨ᵐ φ → ψ iff M ⊨ⁿ ψ whenever M ⊨^{d(m)} φ (the proof of Fact 3).

              @[simp]
              theorem CobrerosEtAl2012.TModel.realize_foldr_conj {Pred : Type u_1} {C : Type u} {D : Type u_2} (M : TModel Pred C D) (m : Mode) (φ : Formula Pred C) (Γ : List (Formula Pred C)) :
              M.Realize m (List.foldr Trivalent.Formula.conj φ Γ) ↔ (∀ γ ∈ Γ, M.Realize m γ) ∧ M.Realize m φ

              The conjunction ⋀(φ, Γ) of a nonempty list.

              @[simp]
              theorem CobrerosEtAl2012.TModel.realize_foldr_disj {Pred : Type u_1} {C : Type u} {D : Type u_2} (M : TModel Pred C D) (m : Mode) (φ : Formula Pred C) (Δ : List (Formula Pred C)) :
              M.Realize m (List.foldr Trivalent.Formula.disj φ Δ) ↔ (∃ δ ∈ Δ, M.Realize m δ) ∨ M.Realize m φ

              The disjunction ⋁(φ, Δ) of a nonempty list.

              @[instance_reducible]
              instance CobrerosEtAl2012.TModel.decidableRealize {Pred : Type u_1} {C : Type u} {D : Type u_2} (M : TModel Pred C D) [Fintype D] [(P : Pred) → (x y : D) → Decidable ((x, y) ∈ M.sim P)] [(P : Pred) → DecidablePred (M.interp P)] (m : Mode) (φ : Formula Pred C) :
              Decidable (M.Realize m φ)
              Equations
              theorem CobrerosEtAl2012.TModel.realize_mono {Pred : Type u_1} {C : Type u} {D : Type u_2} (M : TModel Pred C D) (φ : Formula Pred C) :
              Monotone fun (x : Mode) => M.Realize x φ

              Strict truth implies classical truth, which implies tolerant truth (Lemma 1).

              theorem CobrerosEtAl2012.TModel.eq_tolerant_of_realize_conj_neg {Pred : Type u_1} {C : Type u} {D : Type u_2} (M : TModel Pred C D) {m : Mode} {φ : Formula Pred C} (h : M.Realize m (Trivalent.Formula.conj φ (Trivalent.Formula.neg φ))) :

              A contradiction is true only tolerantly (§4.1).

              theorem CobrerosEtAl2012.TModel.realize_disj_neg {Pred : Type u_1} {C : Type u} {D : Type u_2} (M : TModel Pred C D) {m : Mode} (hm : m ≠ Mode.strict) (φ : Formula Pred C) :

              Excluded middle fails only strictly (§2.4).

              Borderline cases #

              def CobrerosEtAl2012.TModel.Borderline {Pred : Type u_1} {C : Type u} {D : Type u_2} (M : TModel Pred C D) (P : Pred) (d : D) :

              d is a borderline case of P iff it is tolerantly but not strictly P (Definition 10).

              Equations
              Instances For
                @[instance_reducible]
                instance CobrerosEtAl2012.TModel.instDecidableBorderlineOfFintypeOfMemProdSetRelSimMkOfDecidablePredInterp {Pred : Type u_1} {C : Type u} {D : Type u_2} (M : TModel Pred C D) [Fintype D] [(P : Pred) → (x y : D) → Decidable ((x, y) ∈ M.sim P)] [(P : Pred) → DecidablePred (M.interp P)] (P : Pred) (d : D) :
                Decidable (M.Borderline P d)
                Equations
                • One or more equations did not get rendered due to their size.
                theorem CobrerosEtAl2012.TModel.borderline_iff {Pred : Type u_1} {C : Type u} {D : Type u_2} (M : TModel Pred C D) (P : Pred) (d : D) :
                M.Borderline P d ↔ (∃ (e : D), (d, e) ∈ M.sim P ∧ M.interp P e) ∧ ∃ (e : D), (d, e) ∈ M.sim P ∧ ¬M.interp P e

                A borderline case is one indifferent both from a P and from a non-P individual (p. 365).

                theorem CobrerosEtAl2012.TModel.borderline_iff_realize_conj_neg {Pred : Type u_1} {C : Type u} {D : Type u_2} (M : TModel Pred C D) (P : Pred) (a : C) :

                A borderline case is tolerantly both P and ¬P (Definition 10).

                theorem CobrerosEtAl2012.TModel.borderline_iff_not_realize_strict {Pred : Type u_1} {C : Type u} {D : Type u_2} (M : TModel Pred C D) (P : Pred) (a : C) :

                A borderline case is neither strictly P nor strictly ¬P (Definition 10).

                theorem CobrerosEtAl2012.TModel.Borderline.not_realize_strict_disj {Pred : Type u_1} {C : Type u} {D : Type u_2} (M : TModel Pred C D) {P : Pred} {a : C} (h : M.Borderline P (M.const a)) :

                Excluded middle fails strictly at a borderline case (§2.4).

                theorem CobrerosEtAl2012.TModel.Borderline.exists_ne {Pred : Type u_1} {C : Type u} {D : Type u_2} (M : TModel Pred C D) {P : Pred} {d : D} (h : M.Borderline P d) :
                ∃ (e : D), e ≠ d ∧ M.Borderline P e

                By symmetry, a model with a borderline case has at least two (footnote 4).

                Consequence #

                @[reducible, inline]
                abbrev CobrerosEtAl2012.TModels (Pred : Type u_3) (C : Type u) :
                Type (max (u + 1) u u_3)

                The T-models of the language over every domain, which validity and consequence quantify over (Definitions 11 and 17).

                Equations
                Instances For
                  @[reducible, inline]
                  abbrev CobrerosEtAl2012.TModels.Realize {Pred : Type u_1} {C : Type u} (M : TModels Pred C) :
                  Mode → Formula Pred C → Prop

                  Truth in a bundled model.

                  Equations
                  Instances For
                    theorem CobrerosEtAl2012.TModels.realize_monotone {Pred : Type u_1} {C : Type u} :
                    Monotone fun (m : Mode) (M : TModels Pred C) => M.Realize m

                    Satisfaction is monotone in the mode, strict ≤ classical ≤ tolerant (Lemma 1).

                    @[reducible, inline]
                    abbrev CobrerosEtAl2012.Valid {Pred : Type u_1} {C : Type u} (n : Mode) (φ : Formula Pred C) :

                    φ is n-valid iff every T-model n-satisfies it (Definition 11).

                    Equations
                    Instances For
                      @[reducible, inline]
                      abbrev CobrerosEtAl2012.Unsat {Pred : Type u_1} {C : Type u} (n : Mode) (φ : Formula Pred C) :

                      φ is n-unsatisfiable iff no T-model n-satisfies it (Definition 12).

                      Equations
                      Instances For
                        @[reducible, inline]
                        abbrev CobrerosEtAl2012.Consequence {Pred : Type u_1} {C : Type u} (m n : Mode) (Γ Δ : List (Formula Pred C)) :

                        Γ ⊨ᵐⁿ Δ iff every T-model that m-satisfies all of Γ n-satisfies some member of Δ (Definition 17).

                        Equations
                        Instances For
                          theorem CobrerosEtAl2012.consequence_nil_singleton {Pred : Type u_1} {C : Type u} {m n : Mode} {φ : Formula Pred C} :
                          Consequence m n [] [φ] ↔ Valid n φ

                          mn-validity is n-validity (Definition 18).

                          theorem CobrerosEtAl2012.consequence_singleton_nil {Pred : Type u_1} {C : Type u} {m n : Mode} {φ : Formula Pred C} :
                          Consequence m n [φ] [] ↔ Unsat m φ

                          mn-unsatisfiability is m-unsatisfiability (Definition 18).

                          theorem CobrerosEtAl2012.unsat_iff_valid_neg {Pred : Type u_1} {C : Type u} (n : Mode) (φ : Formula Pred C) :

                          φ is n-unsatisfiable iff ¬φ is d(n)-valid (Remark 1, for unsatisfiability).

                          theorem CobrerosEtAl2012.Consequence.mono {Pred : Type u_1} {C : Type u} {m n : Mode} {Γ Δ : List (Formula Pred C)} {m' n' : Mode} (hm : m' ≤ m) (hn : n ≤ n') (h : Consequence m n Γ Δ) :
                          Consequence m' n' Γ Δ

                          Consequence grows as premises are held to a stronger standard and conclusions to a weaker one (Lemma 7).

                          theorem CobrerosEtAl2012.isDual {Pred : Type u_1} {C : Type u} (m : Mode) :
                          Consequence.IsDual Trivalent.Formula.neg (fun (M : TModels Pred C) => M.Realize m.dual) fun (x : TModels Pred C) => x.Realize m

                          Negation swaps tolerant and strict truth and fixes classical truth, so each notion of truth is dual to its image under d (Remark 1, Definition 20).

                          theorem CobrerosEtAl2012.consequence_iff_dual {Pred : Type u_1} {C : Type u} {m n : Mode} {Γ Δ : List (Formula Pred C)} :
                          Consequence m n Γ Δ ↔ Consequence n.dual m.dual (List.map Trivalent.Formula.neg Δ) (List.map Trivalent.Formula.neg Γ)

                          ⊨ᵐⁿ is the dual of ⊨^{d(n)d(m)}, so Γ ⊨ᵐⁿ Δ iff ¬Δ ⊨^{d(n)d(m)} ¬Γ (Lemma 6).

                          theorem CobrerosEtAl2012.consequence_iff_dual_self {Pred : Type u_1} {C : Type u} {m n : Mode} {Γ Δ : List (Formula Pred C)} (h : m = n.dual) :
                          Consequence m n Γ Δ ↔ Consequence m n (List.map Trivalent.Formula.neg Δ) (List.map Trivalent.Formula.neg Γ)

                          st, cc and ts, the relations with m = d(n), are self-dual (§3.1).

                          theorem CobrerosEtAl2012.Consequence.cons_cons_iff {Pred : Type u_1} {C : Type u} {m n : Mode} {Γ Δ : List (Formula Pred C)} {φ ψ : Formula Pred C} (h : m = n.dual) :
                          Consequence m n (φ :: Γ) (ψ :: Δ) ↔ Consequence m n Γ (Trivalent.Formula.cond φ ψ :: Δ)

                          In sequent form, the deduction theorem for self-dual relations moves a premise into the antecedent of a conclusion when m = d(n).

                          theorem CobrerosEtAl2012.consequence_cons_cons_iff_foldr {Pred : Type u_1} {C : Type u} {m n : Mode} {Γ Δ : List (Formula Pred C)} {φ ψ : Formula Pred C} :
                          Consequence m n (φ :: Γ) (ψ :: Δ) ↔ Consequence m n [List.foldr Trivalent.Formula.conj φ Γ] [List.foldr Trivalent.Formula.disj ψ Δ]

                          Premises are read conjunctively and conclusions disjunctively, so φ, Γ ⊨ᵐⁿ ψ, Δ iff ⋀(φ, Γ) ⊨ᵐⁿ ⋁(ψ, Δ).

                          theorem CobrerosEtAl2012.Consequence.iff_valid_imp {Pred : Type u_1} {C : Type u} {m n : Mode} {Γ Δ : List (Formula Pred C)} {φ ψ : Formula Pred C} (h : m = n.dual) :
                          Consequence m n (φ :: Γ) (ψ :: Δ) ↔ Valid n (Trivalent.Formula.cond (List.foldr Trivalent.Formula.conj φ Γ) (List.foldr Trivalent.Formula.disj ψ Δ))

                          When m = d(n), Γ ⊨ᵐⁿ Δ iff ⊨ᵐⁿ ⋀Γ → ⋁Δ, for the nonempty finite sides the language can conjoin and disjoin (Lemma 10, right to left; footnote 13).

                          theorem CobrerosEtAl2012.Consequence.cut {Pred : Type u_1} {C : Type u} {m n : Mode} {Γ Δ : List (Formula Pred C)} {φ : Formula Pred C} (h : n ≤ m) (h₁ : Consequence m n (φ :: Γ) Δ) (h₂ : Consequence m n Γ (φ :: Δ)) :
                          Consequence m n Γ Δ

                          Cut holds when the premise standard is at least the conclusion standard, so tc and cs are transitive (§3.3.2, footnote 11).

                          theorem CobrerosEtAl2012.isTrans_consequence {Pred : Type u_1} {C : Type u} {m n : Mode} (h : n ≤ m) :
                          IsTrans (Formula Pred C) fun (φ ψ : Formula Pred C) => Consequence m n [φ] [ψ]

                          Transitivity in the simple form of footnote 14, when n ≤ m (§3.3.2).

                          Tolerance #

                          theorem CobrerosEtAl2012.tolerance_valid {Pred : Type u_1} {C : Type u} (P : Pred) (a b : C) :

                          The tolerance principle is tolerantly valid (Fact 2).

                          {Pa, a I_P b} ⊨ˢᶜ Pb (§3.4).

                          {Pa, a I_P b} ⊨ᶜᵗ Pb (§3.4).

                          Each step of a sorites is st-valid (§3.6).

                          Tolerance holds up to two similarity steps (Fact 3).

                          The restricted vocabulary #

                          def CobrerosEtAl2012.TModel.identity {Pred : Type u_1} {C : Type u} {D : Type u_2} (M : TModel Pred C D) :
                          TModel Pred C D

                          The T-model of Lemma 2 is M with identity as every indifference relation.

                          Equations
                          • M.identity = { const := M.const, interp := M.interp, sim := fun (x : Pred) => SetRel.id, sim_ktb := ⋯ }
                          Instances For
                            theorem CobrerosEtAl2012.TModel.identity_realize {Pred : Type u_1} {C : Type u} {D : Type u_2} (M : TModel Pred C D) (m : Mode) (φ : Formula Pred C) :

                            In an identity model every mode agrees with classical truth (Lemma 2).

                            theorem CobrerosEtAl2012.TModel.identity_realize_classical {Pred : Type u_1} {C : Type u} {D : Type u_2} (M : TModel Pred C D) {φ : Formula Pred C} (hφ : IsRestricted φ) :

                            The identity model agrees classically with M on the restricted vocabulary.

                            theorem CobrerosEtAl2012.valid_tolerant_iff {Pred : Type u_1} {C : Type u} {φ : Formula Pred C} (hφ : IsRestricted φ) :

                            On the restricted vocabulary, tolerant validity is classical validity (Theorem 1).

                            theorem CobrerosEtAl2012.unsat_strict_iff {Pred : Type u_1} {C : Type u} {φ : Formula Pred C} (hφ : IsRestricted φ) :

                            On the restricted vocabulary, strict unsatisfiability is classical unsatisfiability (Theorem 1).

                            def CobrerosEtAl2012.allBorderline (Pred : Type u_3) (C : Type u_4) :
                            TModel Pred C (Option C)

                            The model of Lemma 3 has an individual for each constant plus one more, all indifferent, the extra one alone falling outside every predicate, so that every predication is borderline.

                            Equations
                            • CobrerosEtAl2012.allBorderline Pred C = { const := some, interp := fun (x : Pred) (d : Option C) => d.isSome = true, sim := fun (x : Pred) => Set.univ, sim_ktb := ⋯ }
                            Instances For
                              theorem CobrerosEtAl2012.allBorderline_realize {Pred : Type u_1} {C : Type u} {φ : Formula Pred C} (hφ : IsRestricted φ) :

                              In allBorderline nothing restricted is strictly true and everything restricted is tolerantly true (Lemma 3).

                              theorem CobrerosEtAl2012.not_valid_strict {Pred : Type u_1} {C : Type u} {φ : Formula Pred C} (hφ : IsRestricted φ) :

                              No restricted formula is strictly valid (Theorem 2).

                              theorem CobrerosEtAl2012.exists_realize_tolerant {Pred : Type u_1} {C : Type u} {φ : Formula Pred C} (hφ : IsRestricted φ) :
                              ∃ (M : TModels Pred C), M.Realize Mode.tolerant φ

                              Every restricted formula is tolerantly satisfiable (Theorem 2).

                              theorem CobrerosEtAl2012.Consequence.classical_of_st {Pred : Type u_1} {C : Type u} {Γ Δ : List (Formula Pred C)} (hΓ : ∀ γ ∈ Γ, IsRestricted γ) (hΔ : ∀ δ ∈ Δ, IsRestricted δ) (h : Consequence Mode.strict Mode.tolerant Γ Δ) :

                              On the restricted vocabulary st-consequence is classical consequence, the identity model of each classical countermodel being an st-countermodel (Lemma 8).

                              theorem CobrerosEtAl2012.Consequence.restricted_iff {Pred : Type u_1} {C : Type u} {m n : Mode} {Γ Δ : List (Formula Pred C)} (hΓ : ∀ γ ∈ Γ, IsRestricted γ) (hΔ : ∀ δ ∈ Δ, IsRestricted δ) (hm : m ≤ Mode.classical) (hn : Mode.classical ≤ n) :

                              On the restricted vocabulary cc, sc, ct and st coincide (Lemma 8).

                              theorem CobrerosEtAl2012.not_consequence_tolerant_strict {Pred : Type u_1} {C : Type u} {Γ Δ : List (Formula Pred C)} (hΓ : ∀ γ ∈ Γ, IsRestricted γ) (hΔ : ∀ δ ∈ Δ, IsRestricted δ) :

                              On the restricted vocabulary ts-consequence is empty (Lemma 9).

                              LP and K3 #

                              noncomputable def CobrerosEtAl2012.toMV {Pred : Type u_1} {C : Type u} {D : Type u_2} (M : TModel Pred C D) :

                              In the MV-model of Lemma 4, a predication is 1 when strictly true, -1 when not tolerantly true and 0 when borderline, and similarity statements are two-valued.

                              Equations
                              Instances For

                                Tolerant truth is LP-truth and strict truth K3-truth in toMV M (Lemma 4).

                                def CobrerosEtAl2012.ofMV {Pred : Type u_1} {C : Type u} (v : Trivalent.Model (Atom Pred C)) :
                                TModel Pred C (C × Bool)

                                The T-model of Lemma 5 lives on the doubled domain, where (a, false) is a and (a, true) its double a', indifferent from each other and from nothing else; a is P when v makes Pa true and a' when v makes it non-false.

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

                                  On the restricted vocabulary, LP-truth in v is tolerant truth and K3-truth strict truth in ofMV v (Lemma 5).

                                  On the restricted vocabulary, tolerant consequence is LP-consequence, by the model correspondences of Lemmas 4 and 5 (Theorem 3).

                                  On the restricted vocabulary, strict consequence is K3-consequence (Theorem 3).

                                  The deduction theorem #

                                  def CobrerosEtAl2012.cutAt {Pred : Type u_1} {C : Type u} (a : C) :
                                  TModel Pred C C

                                  In this model on the constants, a alone is P and everything is indifferent, so tolerance from a to another constant fails classically.

                                  Equations
                                  • CobrerosEtAl2012.cutAt a = { const := id, interp := fun (x : Pred) (d : C) => d = a, sim := fun (x : Pred) => Set.univ, sim_ktb := ⋯ }
                                  Instances For
                                    theorem CobrerosEtAl2012.deductionTheorem_iff {Pred : Type u_1} {C : Type u} {m n : Mode} [Nonempty Pred] [Nontrivial C] :
                                    (∀ (φ ψ : Formula Pred C) (Γ : List (Formula Pred C)) (Δ : List (Formula Pred C)), Consequence m n (φ :: Γ) (ψ :: Δ) ↔ Valid n (Trivalent.Formula.cond (List.foldr Trivalent.Formula.conj φ Γ) (List.foldr Trivalent.Formula.disj ψ Δ))) ↔ m = n.dual

                                    The deduction theorem holds for ⊨ᵐⁿ iff m = d(n), so for st, cc and ts only (Lemma 10). Validity depends only on n, so the theorem makes ⊨ᵐⁿ and ⊨^{d(n)n} agree; against the conclusion ¬ a I_P a, which nothing satisfies, they are m- and d(n)-unsatisfiability, which a contradiction and the negated tolerance principle separate.

                                    theorem CobrerosEtAl2012.Consequence.iff_valid_imp_of_restricted {Pred : Type u_1} {C : Type u} {m n : Mode} {Γ Δ : List (Formula Pred C)} {φ ψ : Formula Pred C} (hΓ : ∀ γ ∈ φ :: Γ, IsRestricted γ) (hΔ : ∀ δ ∈ ψ :: Δ, IsRestricted δ) (hm : m ≤ Mode.classical) (hn : Mode.classical ≤ n) :
                                    Consequence m n (φ :: Γ) (ψ :: Δ) ↔ Valid n (Trivalent.Formula.cond (List.foldr Trivalent.Formula.conj φ Γ) (List.foldr Trivalent.Formula.disj ψ Δ))

                                    On the restricted vocabulary the deduction theorem also holds for sc and ct, which there coincide with cc and st (§3.4).

                                    Sorites series #

                                    def CobrerosEtAl2012.series (n i : ℕ) :
                                    TModel Unit (Fin n) (Fin n)

                                    The sorites series of §3.4.1 and §3.6 has n individuals in a line, each indifferent from its neighbours, the first i classically P. series 4 2 is the four-element model of p. 354, a, b, c, d being 0, 1, 2, 3 and the classical extension {a, b}.

                                    Equations
                                    • CobrerosEtAl2012.series n i = { const := id, interp := fun (x : Unit) (x_1 : Fin n) => ↑x_1 < i, sim := fun (x : Unit) => {p : Fin n × Fin n | ↑p.1 ≤ ↑p.2 + 1 ∧ ↑p.2 ≤ ↑p.1 + 1}, sim_ktb := ⋯ }
                                    Instances For
                                      @[instance_reducible]
                                      instance CobrerosEtAl2012.instDecidableMemProdFinSetRelSimUnitSeriesMk (n i : ℕ) (P : Unit) (x y : Fin n) :
                                      Decidable ((x, y) ∈ (series n i).sim P)
                                      Equations
                                      @[instance_reducible]
                                      instance CobrerosEtAl2012.instDecidablePredFinInterpUnitSeries (n i : ℕ) (P : Unit) :
                                      DecidablePred ((series n i).interp P)
                                      Equations
                                      theorem CobrerosEtAl2012.series_realize_tolerant {n i : ℕ} (hi : 0 < i) (x : Fin n) :
                                      theorem CobrerosEtAl2012.series_realize_strict {n i : ℕ} (hin : i < n) (x : Fin n) :
                                      theorem CobrerosEtAl2012.series_borderline {n i : ℕ} (hi : 0 < i) (hin : i < n) (x : Fin n) :
                                      (series n i).Borderline () x ↔ ↑x + 1 = i ∨ ↑x = i

                                      In a series with a cut the borderline cases are the two individuals either side of it.

                                      theorem CobrerosEtAl2012.series_four_two (x : Fin 4) :
                                      ((series 4 2).Realize Mode.strict (Trivalent.Formula.atom (Atom.pred () x)) ↔ x = 0) ∧ ((series 4 2).Realize Mode.classical (Trivalent.Formula.atom (Atom.pred () x)) ↔ x = 0 ∨ x = 1) ∧ ((series 4 2).Realize Mode.tolerant (Trivalent.Formula.atom (Atom.pred () x)) ↔ x ≠ 3) ∧ ((series 4 2).Borderline () x ↔ x = 1 ∨ x = 2)

                                      In the four-element model of p. 354 the strict, classical and tolerant extensions of P are {a}, {a, b} and {a, b, c}, so b and c are borderline.

                                      b is tolerantly both P and ¬P in the four-element model (p. 356).

                                      {Pa, a I_P b} ⊨ Pb is not cc-valid (§3.4), as b, c of the four-element model show.

                                      Tolerance is not classically valid, hence neither cc- nor sc-valid (§3.4).

                                      {Pa, a I_P b, b I_P c} ⊨ Pc is not sc-valid (§3.4), as a, b, c of the four-element model show.

                                      {Pa, a I_P b, b I_P c} ⊨ Pc is not ct-valid (§3.4), as b, c, d of the four-element model show.

                                      theorem CobrerosEtAl2012.exists_realize_pred_not_realize {Pred : Type u_1} {C : Type u} {m n : Mode} (P : Pred) (a : C) (h : n < m) :

                                      When n < m, some T-model makes Pa m-true but not n-true, so the three notions of truth come apart on every predication (§3.3.2).

                                      theorem CobrerosEtAl2012.stdRefl_consequence_iff {Pred : Type u_1} {C : Type u} {m n : Mode} [Nonempty Pred] [Nonempty C] :
                                      (Std.Refl fun (φ ψ : Formula Pred C) => Consequence m n [φ] [ψ]) ↔ m ≤ n

                                      ⊨ᵐⁿ is reflexive iff m ≤ n (§3.3.2), so φ ⊨ᵗᵗ φ and φ ⊨ˢˢ φ but Pa ⊭ᵗᶜ Pa and Pa ⊭ᶜˢ Pa.

                                      theorem CobrerosEtAl2012.not_isTrans_ct :
                                      ¬IsTrans (Formula Unit (Fin 4)) fun (φ ψ : Formula Unit (Fin 4)) => Consequence Mode.classical Mode.tolerant [φ] [ψ]

                                      ct is not transitive (§3.4.1), since along b, c, d of the four-element model, Pb ∧ b I_P c ∧ c I_P d ⊨ᶜᵗ Pc ∧ c I_P d and Pc ∧ c I_P d ⊨ᶜᵗ Pd but Pb ∧ b I_P c ∧ c I_P d ⊭ᶜᵗ Pd.

                                      theorem CobrerosEtAl2012.not_isTrans_sc :
                                      ¬IsTrans (Formula Unit (Fin 4)) fun (φ ψ : Formula Unit (Fin 4)) => Consequence Mode.strict Mode.classical [φ] [ψ]

                                      sc is not transitive (§3.4.1), since along a, b, c of the four-element model, Pa ∧ a I_P b ∧ b I_P c ⊨ˢᶜ Pb ∧ b I_P c and Pb ∧ b I_P c ⊨ˢᶜ Pc but Pa ∧ a I_P b ∧ b I_P c ⊭ˢᶜ Pc.

                                      theorem CobrerosEtAl2012.not_isTrans_st :
                                      ¬IsTrans (Formula Unit (Fin 4)) fun (φ ψ : Formula Unit (Fin 4)) => Consequence Mode.strict Mode.tolerant [φ] [ψ]

                                      st is not transitive (§3.4.1). By Fact 3 a counterexample takes three similarity steps, along the whole four-element model, where Pa ∧ a I_P b ∧ b I_P c ∧ c I_P d ⊨ˢᵗ Pb ∧ b I_P c ∧ c I_P d and Pb ∧ b I_P c ∧ c I_P d ⊨ˢᵗ Pd but Pa ∧ a I_P b ∧ b I_P c ∧ c I_P d ⊭ˢᵗ Pd.

                                      theorem CobrerosEtAl2012.isTrans_consequence_iff {m n : Mode} :
                                      (IsTrans (Formula Unit (Fin 4)) fun (φ ψ : Formula Unit (Fin 4)) => Consequence m n [φ] [ψ]) ↔ n ≤ m

                                      On the sorites language the transitive relations among the nine are exactly those whose conclusion standard is at most their premise standard, namely tc, cs and ts besides the unmixed three (§3.3.2), but not ct, sc or st (§3.4.1).

                                      def CobrerosEtAl2012.steps (n : ℕ) :
                                      List (Formula Unit (Fin (n + 1)))

                                      The similarity premises a₁ I_P a₂, …, aₙ I_P aₙ₊₁ of the sorites (§3.6).

                                      Equations
                                      Instances For
                                        def CobrerosEtAl2012.tolerances (n : ℕ) :
                                        List (Formula Unit (Fin (n + 1)))

                                        The tolerance premises Pa₁ ∧ a₁ I_P a₂ → Pa₂, … of the sorites, Version 2 (§3.6).

                                        Equations
                                        Instances For

                                          Version 1 of the sorites is st-invalid for every series of at least four members, the four-element model being a countermodel, although each of its steps is st-valid (st_one_step). Below four members it is valid by Facts 2 and 3.

                                          Version 2 of the sorites, with tolerance as a premise, is st-valid, since it is classically valid and st extends classical consequence.

                                          theorem CobrerosEtAl2012.not_series_realize_strict_tolerance {n i : ℕ} (hi : 0 < i) (hin : i < n) :
                                          ¬(series n i).Realize Mode.strict (tolerance () ⟨i - 1, ⋯⟩ ⟨i, hin⟩)

                                          Version 2 is unsound, since across the cut of any series the tolerance premise is not strictly true (§3.6).

                                          theorem CobrerosEtAl2012.alxatibPelletier_median_borderline {i : ℕ} (hi : i = 2 ∨ i = 3) :
                                          (series 5 i).Borderline () 2

                                          [AP11]'s five men are ranked by height (§4.2.3), #1 < #4 < #2 < #5 < #3 as ranks 0 to 4, with #1 and #4 tall and #5 and #3 not. Whichever way the median man #2, rank 2, is classified, series 5 2 or series 5 3, he is borderline, tolerantly tall and tolerantly not tall.