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.KProof
andKTProof
: 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 n
is a propositional variable indexed byn
.Falsum
is the constant ⊥.Imp α β
is implication(α → β)
.Nec α
is the necessity operator□α
.
- Atom : ℕ → Formula
Atom n
is a propositional variable indexed byn
. - Falsum : Formula
Falsum
is 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))