Modal Logic #
Modal logic is a logic for reasoning about relational structures, studying statements about
necessity (□φ) and possibility ◇φ.
References #
- P. Blackburn, M. de Rijke, Y. Venema, Modal Logic
- The definitions of theory equivalence and the denotational semantics of worlds are inspired by
the development of
Cslib.Logic.HML.
Propositions.
- atom
{Atom : Type u}
(p : Atom)
: Proposition Atom
Atomic proposition.
- neg
{Atom : Type u}
(φ : Proposition Atom)
: Proposition Atom
Negation.
- and
{Atom : Type u}
(φ₁ φ₂ : Proposition Atom)
: Proposition Atom
Conjunction.
- diamond
{Atom : Type u}
(φ : Proposition Atom)
: Proposition Atom
Possibility.
Instances For
Negation.
Equations
- Cslib.Logic.Modal.«term¬_» = Lean.ParserDescr.node `Cslib.Logic.Modal.«term¬_» 40 (Lean.ParserDescr.binary `andthen (Lean.ParserDescr.symbol "¬") (Lean.ParserDescr.cat `term 40))
Instances For
Conjunction.
Equations
- Cslib.Logic.Modal.«term_∧_» = Lean.ParserDescr.trailingNode `Cslib.Logic.Modal.«term_∧_» 36 37 (Lean.ParserDescr.binary `andthen (Lean.ParserDescr.symbol " ∧ ") (Lean.ParserDescr.cat `term 37))
Instances For
Possibility.
Equations
- Cslib.Logic.Modal.«term◇_» = Lean.ParserDescr.node `Cslib.Logic.Modal.«term◇_» 40 (Lean.ParserDescr.binary `andthen (Lean.ParserDescr.symbol "◇") (Lean.ParserDescr.cat `term 40))
Instances For
Disjunction.
Instances For
Disjunction.
Equations
- Cslib.Logic.Modal.«term_∨_» = Lean.ParserDescr.trailingNode `Cslib.Logic.Modal.«term_∨_» 35 36 (Lean.ParserDescr.binary `andthen (Lean.ParserDescr.symbol " ∨ ") (Lean.ParserDescr.cat `term 36))
Instances For
Implication.
Instances For
Implication.
Equations
- Cslib.Logic.Modal.«term_→_» = Lean.ParserDescr.trailingNode `Cslib.Logic.Modal.«term_→_» 30 31 (Lean.ParserDescr.binary `andthen (Lean.ParserDescr.symbol " → ") (Lean.ParserDescr.cat `term 31))
Instances For
Bi-implication.
Instances For
Bi-implication.
Equations
- Cslib.Logic.Modal.«term_↔_» = Lean.ParserDescr.trailingNode `Cslib.Logic.Modal.«term_↔_» 30 31 (Lean.ParserDescr.binary `andthen (Lean.ParserDescr.symbol " ↔ ") (Lean.ParserDescr.cat `term 31))
Instances For
Necessity.
Instances For
Necessity.
Equations
- Cslib.Logic.Modal.«term□_» = Lean.ParserDescr.node `Cslib.Logic.Modal.«term□_» 40 (Lean.ParserDescr.binary `andthen (Lean.ParserDescr.symbol "□") (Lean.ParserDescr.cat `term 40))
Instances For
Satisfaction relation. Satisfies m w φ means that, in the model m, the world w satisfies
the proposition φ.
Equations
- Cslib.Logic.Modal.Satisfies m w (Cslib.Logic.Modal.Proposition.atom p) = m.v w p
- Cslib.Logic.Modal.Satisfies m w φ.neg = ¬Cslib.Logic.Modal.Satisfies m w φ
- Cslib.Logic.Modal.Satisfies m w (φ₁.and φ₂) = (Cslib.Logic.Modal.Satisfies m w φ₁ ∧ Cslib.Logic.Modal.Satisfies m w φ₂)
- Cslib.Logic.Modal.Satisfies m w φ.diamond = ∃ (w' : World), m.r w w' ∧ Cslib.Logic.Modal.Satisfies m w' φ
Instances For
Judgement, representing the conclusions one reaches in modal logic.
- m : Model World Atom
Model.
- w : World
The world satisfying the proposition
φ. - φ : Proposition Atom
The proposition satisfied by the world
w.
Instances For
Constructs a judgement.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Satisfaction for judgements. This just refers to the unbundled Satisfies.
Equations
Instances For
Equations
A world satisfies a proposition iff it does not satisfy the negation of the proposition.
Characterisation of the ∨ connective.
Disjunction is defined in terms of the more primitive connectives given in Proposition.
This result proves that the definition is correct.
Characterisation of the → connective.
Implication is defined in terms of the more primitive connectives given in Proposition.
This result proves that the definition is correct.
Characterisation of the □ modality.
Necessity is defined in terms of the more primitive connectives given in Proposition.
This result proves that the definition is correct.
The theory of a world in a model is the set of all propositions that it satifies.
Equations
- Cslib.Logic.Modal.theory m w = {φ : Cslib.Logic.Modal.Proposition Atom | Cslib.Logic.InferenceSystem.derivation Cslib.Logic.InferenceSystem.Default { m := m, w := w, φ := φ }}
Instances For
Two worlds are theory-equivalent under a model if they have the same theory.
Equations
- Cslib.Logic.Modal.TheoryEq m w₁ w₂ = (Cslib.Logic.Modal.theory m w₁ = Cslib.Logic.Modal.theory m w₂)
Instances For
Any proposition satisfied by a world is in the theory of that world.
If two worlds are not theory equivalent, there exists a distinguishing proposition.
If two worlds are theory equivalent and the former satisfies a proposition, the latter does as well.
The K axiom, valid for all models.
The dual axiom, valid for all models.
The T axiom, valid for all reflexive models.
Any model that admits the axiom T is reflexive.
The B axiom, valid for all symmetric models.
Any model that admits the axiom B is symmetric.
The 4 axiom, valid for all transitive models.
Any model that admits 4 is transitive.
The 5 axiom, valid for all Euclidean models.
Any model that admits 5 is Euclidean.
The D axiom, valid for all serial models.
Any model that admits D is serial.
A proposition is valid in a class of models S (modelled as a set) if it is satisfied under
all models in S for all worlds.
Equations
- Cslib.Logic.Modal.Proposition.valid S φ = ∀ m ∈ S, ∀ (w : World), Cslib.Logic.InferenceSystem.derivation Cslib.Logic.InferenceSystem.Default { m := m, w := w, φ := φ }
Instances For
The modal logic of a class of models S is the set of all propositions valid in S.