Boxdot Conjecture #
This file defines the syntax and proof systems for modal logic, along with the Boxdot translation and the Boxdot Conjecture. We introduce:
Formula: the inductive type for propositional modal formulas.t: the recursive Boxdot translation function.KProofandKTProof: axiomatizations of the basic K system and K plus T.NormalModalLogic: a structure capturing any normal modal logic.KT: the specific normal modal logic corresponding to K plus T.BoxdotConjecture: states that if a logic agrees with KT on all boxdot-translations, then it cannot be strictly larger than KT.
The Boxdot Conjecture was originally formulated by French and Humberstone and has been studied in several works. In particular, see:
References:
- Cluster Expansion and the Boxdot Conjecture, Emil Jeřábek, arXiv:1308.0994.
- The Boxdot Conjecture and the Generalized McKinsey Axiom, Christopher Steinsvold, Australasian Journal of Logic (AJL).
Jeřábek's proof of the Boxdot Conjecture has been formalised in Lean: https://github.com/FormalizedFormalLogic/Foundation. Note however that the statement's formalisation in that repository is different to the one presented in the current file.
Formula is the inductive type of propositional modal formulas:
Atom nis a propositional variable indexed byn.Falsumis the constant ⊥.Imp α βis implication(α → β).Nec αis the necessity operator□α.
- Atom : ℕ → Formula
Atom nis a propositional variable indexed byn. - Falsum : Formula
Falsumis the constant ⊥. - Imp : Formula → Formula → Formula
Imp α βis implication(α → β). - Nec : Formula → Formula
Nec αis the necessity operator□α.
Instances For
Falsum is the constant ⊥.
Equations
- Arxiv.«1308.0994».«term⊥» = Lean.ParserDescr.node `Arxiv.«1308.0994».«term⊥» 1024 (Lean.ParserDescr.symbol "⊥")
Instances For
Imp α β is implication (α → β).
Equations
- One or more equations did not get rendered due to their size.
Instances For
~ α is the negation of α. ~ α is also equivalent to α ~> ⊥.
Equations
- Arxiv.«1308.0994».«term~_» = Lean.ParserDescr.node `Arxiv.«1308.0994».«term~_» 1024 (Lean.ParserDescr.binary `andthen (Lean.ParserDescr.symbol " ~ ") (Lean.ParserDescr.cat `term 0))
Instances For
Nec α is the necessity operator □α.
Equations
- Arxiv.«1308.0994».«term□_» = Lean.ParserDescr.node `Arxiv.«1308.0994».«term□_» 95 (Lean.ParserDescr.binary `andthen (Lean.ParserDescr.symbol "□") (Lean.ParserDescr.cat `term 95))
Instances For
Conj α β is the conjunction α ∧ β. We define α & β as ~(α ~> ~β) for simplicity.
Equations
Instances For
Conj α β is the conjunction α ∧ β. We define α & β as ~(α ~> ~β) for simplicity.
Equations
- Arxiv.«1308.0994».«term_&_» = Lean.ParserDescr.trailingNode `Arxiv.«1308.0994».«term_&_» 85 86 (Lean.ParserDescr.binary `andthen (Lean.ParserDescr.symbol " & ") (Lean.ParserDescr.cat `term 85))
Instances For
t φ is the Boxdot translation of a formula φ. Roughly, t is the mapping φ ↦ t φ
from the language of monomodal logic into itself that preserves variables and the logical constant ⊥,
commutes with the standard truth-functional operators, and is such that t □a = □t a & t a.
This implementation follows the definition in Steinsvold (AJL).
Equations
Instances For
t φ is the Boxdot translation of a formula φ. Roughly, t is the mapping φ ↦ t φ
from the language of monomodal logic into itself that preserves variables and the logical constant ⊥,
commutes with the standard truth-functional operators, and is such that t □a = □t a & t a.
This implementation follows the definition in Steinsvold (AJL).
Equations
- Arxiv.«1308.0994».«term■_» = Lean.ParserDescr.node `Arxiv.«1308.0994».«term■_» 95 (Lean.ParserDescr.binary `andthen (Lean.ParserDescr.symbol "■") (Lean.ParserDescr.cat `term 95))
Instances For
KProof Γ φ is the usual Hilbert‐style proof relation for the minimal normal modal logic K,
with assumptions drawn from Γ.
- ax
{Γ : Set Formula}
{α : Formula}
(h : α ∈ Γ)
: KProof Γ α
Assumption rule: if
α ∈ Γthenαis provable fromΓ. - ax1
{Γ : Set Formula}
{α β : Formula}
: KProof Γ (α ~> β ~> α)
Ax1: every instance of the schema
α → (β → α)is a theorem. - ax2
{Γ : Set Formula}
{α β γ : Formula}
: KProof Γ ((α ~> β ~> γ) ~> (α ~> β) ~> α ~> γ)
Ax2: every instance of the schema
(α ~> β ~> γ) ~> (α ~> β) ~> (α ~> γ)is a theorem. - ax3
{Γ : Set Formula}
{α β : Formula}
: KProof Γ (((α ~> Formula.Falsum) ~> β ~> Formula.Falsum) ~> β ~> α)
Ax3 (contraposition): every instance of the schema
(~α ~> ~β) ~> (β ~> α)is a theorem. - mp
{Γ : Set Formula}
{α β : Formula}
: KProof Γ (α ~> β) → KProof Γ α → KProof Γ β
Modus Ponens: if
Γ ⊢ α ~> βandΓ ⊢ α, thenΓ ⊢ β. - nec
{Γ : Set Formula}
{α : Formula}
: KProof ∅ α → KProof Γ α.Nec
Necessitation: if
⊢ αthen⊢ □α. - distr
{Γ : Set Formula}
{α β : Formula}
: KProof Γ ((α ~> β).Nec ~> α.Nec ~> β.Nec)
Distribution: every instance of the schema
□(α ~> β) ~> (□α ~> □β)is a theorem.
Instances For
KTProof Γ φ denotes that φ is provable from the premises Γ in the normal modal logic KT
(also called T). KT extends system K by adding the instances of the T-axiom schema □φ ~> φ to K’s
usual axioms and rules of inference.
- lift_K
{Γ : Set Formula}
{α : Formula}
(h : KProof Γ α)
: KTProof Γ α
Embedding of K proofs into KT.
- axT
{Γ : Set Formula}
{α : Formula}
: KTProof Γ (α.Nec ~> α)
T-axiom schema: every instance of
□α ~> αis a theorem. - mp
{Γ : Set Formula}
{α β : Formula}
: KTProof Γ (α ~> β) → KTProof Γ α → KTProof Γ β
Modus Ponens: if
Γ ⊢ α ~> βandΓ ⊢ α, thenΓ ⊢ β. - nec
{Γ : Set Formula}
{α : Formula}
: KTProof ∅ α → KTProof Γ α.Nec
Necessitation: if
⊢ αthen⊢ □α.
Instances For
Equations
- Arxiv.«1308.0994».proves L φ = (φ ∈ L.thms)
Instances For
Equations
- Arxiv.«1308.0994».«term_⊢_» = Lean.ParserDescr.trailingNode `Arxiv.«1308.0994».«term_⊢_» 85 86 (Lean.ParserDescr.binary `andthen (Lean.ParserDescr.symbol " ⊢ ") (Lean.ParserDescr.cat `term 85))
Instances For
Equations
- Arxiv.«1308.0994».«term_⊆_» = Lean.ParserDescr.trailingNode `Arxiv.«1308.0994».«term_⊆_» 1022 0 (Lean.ParserDescr.binary `andthen (Lean.ParserDescr.symbol " ⊆ ") (Lean.ParserDescr.cat `term 0))