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} (m : Model World Atom) (φ₁ φ₂ : Proposition Atom) :

The modal propositions φ₁ and φ₂ are equivalent in the model m.

Equations
Instances For
    @[instance_reducible]
    instance Cslib.Logic.Modal.instCongruencePropositionEquiv {World✝ : Type u_1} {Atom✝ : Type u_2} {m : Model World✝ Atom✝} :
    Equations
    theorem Cslib.Logic.Modal.Proposition.equiv_def {World : Type u_1} {Atom : Type u_2} (m : Model World Atom) (φ₁ φ₂ : Proposition Atom) :
    Equiv m φ₁ φ₂ Congruence.r (Equiv m) φ₁ φ₂
    theorem Cslib.Logic.Modal.Proposition.equiv_iff_forall_der {World : Type u_1} {Atom : Type u_2} (m : Model World Atom) (φ₁ φ₂ : Proposition Atom) :
    Congruence.r (Equiv m) φ₁ φ₂ ∀ (w : World), { m := m, w := w, φ := HasIff.iff φ₁ φ₂ }
    theorem Cslib.Logic.Modal.Proposition.equiv_iff_forall_iff {World : Type u_1} {Atom : Type u_2} {m : Model World Atom} {φ₁ φ₂ : Proposition Atom} :
    Congruence.r (Equiv m) φ₁ φ₂ ∀ (w : World), { m := m, w := w, φ := φ₁ } { m := m, w := w, φ := φ₂ }
    @[reducible, inline]
    abbrev Cslib.Logic.Modal.ModelClass (World : Type u_1) (Atom : Type u_2) :
    Type (max u_2 u_1)

    A class of models, defined as a set.

    Equations
    Instances For
      def Cslib.Logic.Modal.Proposition.EquivWithin {World : Type u_1} {Atom : Type u_2} (S : ModelClass World Atom) (φ₁ φ₂ : Proposition Atom) :

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

      Equations
      Instances For
        theorem Cslib.Logic.Modal.Proposition.equivWithin_def {World : Type u_1} {Atom : Type u_2} (S : ModelClass World Atom) (φ₁ φ₂ : Proposition Atom) :
        EquivWithin S φ₁ φ₂ Congruence.r (EquivWithin S) φ₁ φ₂
        theorem Cslib.Logic.Modal.Proposition.equiv_of_EquivWithin {World : Type u_1} {Atom : Type u_2} {φ₁ φ₂ : Proposition Atom} {S : ModelClass World Atom} (h : Congruence.r (EquivWithin S) φ₁ φ₂) (m : Model World Atom) (hm : m S) :
        Congruence.r (Equiv m) φ₁ φ₂
        theorem Cslib.Logic.Modal.Proposition.equivWithin_valid {World : Type u_1} {Atom : Type u_2} (S : ModelClass World Atom) (φ₁ φ₂ : Proposition Atom) (h : Congruence.r (EquivWithin 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} (m : Model World Atom) :

            Logical equivalence is an equivalence relation.

            Logical equivalence within a class is an equivalence relation.

            Logical equivalence is a congruence.

            Logical equivalence within a class 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
                theorem Cslib.Logic.Modal.Proposition.axiom_iff_forall_equiv {α : Type u_1} {Atom : Type u_2} (r : ααProp) (φ₁ φ₂ : Proposition Atom) :
                InferenceSystem.derivation (Axiom r) (HasIff.iff φ₁ φ₂) ∀ (v : αAtomProp), Congruence.r (Equiv { r := r, v := v }) φ₁ φ₂

                Correspondence of equivalence and axiom validity.

                theorem Cslib.Logic.Modal.Proposition.diamond_and_equiv_of_preserves {World : Type u_1} {Atom : Type u_2} {m : Model World Atom} [IsTrans World m.r] {φ₁ φ₂ : Proposition Atom} (hd : Relation.Diamond m.r) (h₁ : Relation.Preserves m.r fun (x : World) => { m := m, w := x, φ := φ₁ }) (h₂ : Relation.Preserves m.r fun (x : World) => { m := m, w := x, φ := φ₂ }) :

                In a transitive diamond model, possibility distributes over conjunction for propositions whose satisfaction is preserved along accessibility.

                In a reflexive and transitive model, diamond absorbs itself (idempotency).