Documentation

Cslib.Logics.Modal.Denotation

Denotational semantics for Modal Logic #

A denotational semantics for modal logic, inspired by the one for Hennessy-Milner Logic (Cslib.Logic.HML).

theorem Cslib.Logic.Modal.satisfies_mem_denotation {World : Type u_1} {Atom : Type u_2} {w : World} {m : Model World Atom} {φ : Proposition Atom} :
w Proposition.denotation m φ { m := m, w := w, φ := φ }

Characterisation theorem for the denotational semantics.

theorem Cslib.Logic.Modal.not_denotation {World : Type u_1} {Atom : Type u_2} {w : World} {m : Model World Atom} (φ : Proposition Atom) :

A world is in the denotation of a proposition iff it is not in the denotation of the negation of the proposition.

theorem Cslib.Logic.Modal.theoryEq_denotation_eq {World : Type u_1} {Atom : Type u_2} {m : Model World Atom} {w₁ w₂ : World} :
TheoryEq m w₁ w₂ ∀ (φ : Proposition Atom), w₁ Proposition.denotation m φ w₂ Proposition.denotation m φ

Two worlds are theory-equivalent iff they are denotationally equivalent.

theorem Cslib.Logic.Modal.Proposition.equiv_iff_denotation_eq {World✝ : Type u_1} {Atom✝ : Type u_2} {m : Model World✝ Atom✝} {φ₁ φ₂ : Proposition Atom✝} :
Congruence.r (Equiv m) φ₁ φ₂ denotation m φ₁ = denotation m φ₂

Logically equivalent propositions under a model have the same denotation.

theorem Cslib.Logic.Modal.Proposition.denotation_eq_of_equiv {World✝ : Type u_1} {Atom✝ : Type u_2} {m : Model World✝ Atom✝} {φ₁ φ₂ : Proposition Atom✝} (h : Congruence.r (Equiv m) φ₁ φ₂) :
denotation m φ₁ = denotation m φ₂

grind-friendly first part of Proposition.equiv_iff_denotation_eq.