Trivalent propositional logic #
Propositional syntax (Trivalent.Formula) evaluated into Trivalent by the strong Kleene
tables (Formula.eval), with realization at a Trivalent.Designation threshold
(Formula.Realize, notation M ⊨[d] φ) and consequence instantiating
Core.Logic.Consequence.MixedConsequence. The k3 diagonal is strong Kleene logic and
the lp diagonal Priest's Logic of Paradox — same tables, different designated values
([CERvR12]).
The API mirrors Mathlib.ModelTheory (Realize, per-constructor @[simp] lemmas, ⊨
notation); consequence follows linglib's list-based MixedConsequence rather than
Set-based theories, matching the [CERvR12] framework its consumers use.
Main results #
Formula.realize_neg— the K3/LP duality: negation swaps the standards.k3_no_tautologies,lp_all_satisfiable— the all-indetmodel gives K3 no tautologies and LP no unsatisfiable formulas ([CERvR12], Theorem 2).lp_no_explosion— LP is paraconsistent:{φ ∧ ¬φ} ⊭ ψ.
References #
A trivalent model: a truth value for each atom.
Equations
- Trivalent.Model Atom = (Atom → Trivalent)
Instances For
Evaluation by the strong Kleene tables — the semantic core shared by K3 and LP, which differ only in designation.
Equations
- Trivalent.Formula.eval M (Trivalent.Formula.atom a) = M a
- Trivalent.Formula.eval M φ.neg = (Trivalent.Formula.eval M φ).neg
- Trivalent.Formula.eval M (φ.conj ψ) = min (Trivalent.Formula.eval M φ) (Trivalent.Formula.eval M ψ)
Instances For
Realization at a designation standard: the evaluation clears the threshold.
Realize M .k3 is strong Kleene satisfaction, Realize M .lp Priest's LP.
Equations
- Trivalent.Formula.Realize M d φ = Trivalent.designated d (Trivalent.Formula.eval M φ)
Instances For
The K3/LP duality at formula level: negation swaps the standards.
Realization distributes over conjunction at either standard.
Mixed consequence over designation standards: premises at m, conclusion at n.
Equations
Instances For
Meta-theorems #
In the all-indeterminate model every formula evaluates to indet.
K3 has no tautologies: nothing is designated in the all-indeterminate model ([CERvR12], Theorem 2).
Every formula is LP-satisfiable: the all-indeterminate model designates everything ([CERvR12], Theorem 2).
Explosion fails in LP: {a ∧ ¬a} ⊭ b, with countermodel M a = indet,
M b = false.