Documentation

Linglib.Core.Logic.ThreeValuedLogic

Three-Valued Logics: LP and K3 #

@cite{kleene-1952}

LP (Logic of Paradox) and K3 (Strong Kleene logic) are dual three-valued logics built on the same truth tables but with different designated values:

Both use Strong Kleene connectives (already in Core/Logic/Truth3.lean). The only difference is what counts as "satisfied": K3 requires value 1 (like classical truth), while LP accepts value ½ as well (overlap of truth and falsity, as in paraconsistent logic).

Key Results #

Connection to TCS #

@cite{cobreros-etal-2012} Theorem 3: in the restricted vocabulary, t-consequence = LP-consequence and s-consequence = K3-consequence. The correspondence is proved in Theories/Semantics/Supervaluation/TCS.lean.

LP-designated: value is non-false (true or indeterminate). In LP, ½ is in the overlap of truth and falsity — both P and ¬P can hold. This makes LP paraconsistent: contradictions don't entail everything.

Equations
Instances For

    K3-designated: value is true (= 1). The only designated value. This makes K3 paracomplete: some formulas (borderline cases) are neither true nor false.

    Equations
    Instances For

      LP/K3 duality via negation. LP-designation of the negation is equivalent to K3-non-designation of the original. This is the semantic core of duality between LP and K3.

      K3-designation of the negation ↔ LP-non-designation.

      LP-designation distributes over Strong Kleene conjunction.

      K3-designation distributes over Strong Kleene conjunction.

      K3-designation implies LP-designation.

      Propositional formulas over an atom type. Structurally identical to TCSFormula but parameterized by a single type.

      Instances For
        @[reducible, inline]

        A many-valued model: assigns a three-valued truth value to each atom.

        Equations
        Instances For

          Three-valued formula evaluation using Strong Kleene connectives. This is the semantic core shared by LP and K3 — the only difference is which values count as designated.

          Equations
          Instances For
            def Core.Logic.ThreeValuedLogic.lpSat {Atom : Type u_1} (M : MVModel Atom) (φ : PropFormula Atom) :

            LP-satisfaction: a formula is LP-satisfied iff its three-valued evaluation is designated (non-false).

            Equations
            Instances For
              def Core.Logic.ThreeValuedLogic.k3Sat {Atom : Type u_1} (M : MVModel Atom) (φ : PropFormula Atom) :

              K3-satisfaction: a formula is K3-satisfied iff its three-valued evaluation is true.

              Equations
              Instances For
                theorem Core.Logic.ThreeValuedLogic.lpSat_neg_iff {Atom : Type u_1} (M : MVModel Atom) (φ : PropFormula Atom) :
                lpSat M φ.neg ¬k3Sat M φ

                LP/K3 duality lifts to formulas: LP-sat(¬φ) ↔ ¬K3-sat(φ).

                theorem Core.Logic.ThreeValuedLogic.k3Sat_neg_iff {Atom : Type u_1} (M : MVModel Atom) (φ : PropFormula Atom) :
                k3Sat M φ.neg ¬lpSat M φ

                K3-sat(¬φ) ↔ ¬LP-sat(φ).

                theorem Core.Logic.ThreeValuedLogic.lpSat_conj {Atom : Type u_1} (M : MVModel Atom) (φ ψ : PropFormula Atom) :
                lpSat M (φ.conj ψ) lpSat M φ lpSat M ψ

                LP-sat distributes over conjunction.

                theorem Core.Logic.ThreeValuedLogic.k3Sat_conj {Atom : Type u_1} (M : MVModel Atom) (φ ψ : PropFormula Atom) :
                k3Sat M (φ.conj ψ) k3Sat M φ k3Sat M ψ

                K3-sat distributes over conjunction.

                LP-consequence: preservation of LP-designation (nonzero value) from premises to conclusion.

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

                  K3-consequence: preservation of value 1 from premises to conclusion.

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

                    No K3 tautologies. In the all-indeterminate model, every formula evaluates to indet, so no formula is K3-valid.

                    Theorem 2 of @cite{cobreros-etal-2012}: no formula in the restricted vocabulary is s-valid.

                    theorem Core.Logic.ThreeValuedLogic.k3_no_tautologies {Atom : Type u_1} [Nonempty Atom] (φ : PropFormula Atom) :
                    ¬∀ (M : MVModel Atom), k3Sat M φ
                    theorem Core.Logic.ThreeValuedLogic.lp_all_satisfiable {Atom : Type u_1} (φ : PropFormula Atom) :
                    lpSat (fun (x : Atom) => Duality.Truth3.indet) φ

                    Every formula is LP-satisfiable. The all-indeterminate model LP-satisfies everything (since indet ≠ false).

                    Theorem 2 of @cite{cobreros-etal-2012}: every formula in the restricted vocabulary is t-satisfiable.

                    Explosion fails in LP. There exist atoms a, b such that {a ∧ ¬a} ⊭^LP b. Countermodel: M(a) = ½, M(b) = 0.