Documentation

Cslib.Logics.Modal.LogicalEquivalence

Logical Equivalence in Modal Logic #

This module defines logical equivalence for modal propositions. The definitions are parametric on the class of models under consideration.

We also instantiate LogicalEquivalence for Modal Logic K, i.e., equivalence for the class of all models.

def Cslib.Logic.Modal.Proposition.Equiv {World : Type u_1} {Atom : Type u_2} (S : Set (Model World Atom)) (φ₁ φ₂ : Proposition Atom) :

The modal propositions φ₁ and φ₂ are equivalent in the class of models S.

Equations
Instances For
    @[instance_reducible]
    instance Cslib.Logic.Modal.instCongruencePropositionEquiv {World✝ : Type u_1} {Atom✝ : Type u_2} {S : Set (Model World✝ Atom✝)} :
    Equations
    theorem Cslib.Logic.Modal.Proposition.equiv_def {World : Type u_1} {Atom : Type u_2} (S : Set (Model World Atom)) (φ₁ φ₂ : Proposition Atom) :
    Equiv S φ₁ φ₂ Congruence.r (Equiv S) φ₁ φ₂
    theorem Cslib.Logic.Modal.Proposition.equiv_forall_der {World : Type u_1} {Atom : Type u_2} (S : Set (Model World Atom)) (φ₁ φ₂ : Proposition Atom) (h : Congruence.r (Equiv S) φ₁ φ₂) (m : Model World Atom) :
    m S∀ (w : World), { m := m, w := w, φ := HasIff.iff φ₁ φ₂ }
    theorem Cslib.Logic.Modal.Proposition.forall_der_equiv {World : Type u_1} {Atom : Type u_2} (S : Set (Model World Atom)) (φ₁ φ₂ : Proposition Atom) (h : mS, ∀ (w : World), { m := m, w := w, φ := HasIff.iff φ₁ φ₂ }) :
    Congruence.r (Equiv S) φ₁ φ₂
    theorem Cslib.Logic.Modal.Proposition.equiv_iff {World : Type u_1} {Atom : Type u_2} (S : Set (Model World Atom)) (φ₁ φ₂ : Proposition Atom) (h : Congruence.r (Equiv S) φ₁ φ₂) (m : Model World Atom) (hm : m S) (w : World) :
    { m := m, w := w, φ := φ₁ } { m := m, w := w, φ := φ₂ }
    theorem Cslib.Logic.Modal.Proposition.equiv_valid {World : Type u_1} {Atom : Type u_2} (S : Set (Model World Atom)) (φ₁ φ₂ : Proposition Atom) (h : Congruence.r (Equiv S) φ₁ φ₂) :
    valid S φ₁ valid S φ₂

    Logical equivalence preserves validity.

    Propositional contexts.

    Instances For
      def Cslib.Logic.Modal.Proposition.Context.fill {Atom : Type u_1} (c : Context Atom) (φ : Proposition Atom) :

      Replaces a hole in a propositional context with a proposition.

      Equations
      Instances For
        instance Cslib.Logic.Modal.instIsEquivPropositionEquiv {World : Type u_1} {Atom : Type u_2} (S : Set (Model World Atom)) :

        Logical equivalence is an equivalence relation.

        Logical equivalence is a congruence.

        structure Cslib.Logic.Modal.Satisfies.Context (World : Type u_1) (Atom : Type u_2) :
        Type (max u_1 u_2)

        Judgemental contexts.

        • m : Model World Atom

          The model to consider.

        • w : World

          The world to check propositions against.

        Instances For
          def Cslib.Logic.Modal.Satisfies.Context.fill {World : Type u_1} {Atom : Type u_2} (c : Context World Atom) (φ : Proposition Atom) :
          Judgement World Atom

          Fills a judgemental context with a proposition.

          Equations
          Instances For
            theorem Cslib.Logic.Modal.Satisfies.Context.fill_def {World : Type u_1} {Atom : Type u_2} {φ : Proposition Atom} {c : Context World Atom} :
            { m := c.m, w := c.w, φ := φ } = c<[φ]
            @[instance_reducible]

            Logical equivalence for Modal Logic K. That is, no assumptions on models are made.

            Equations