Documentation

GL.Logic.Semantics

Semantics of GL #

Here we supply the semantics of GL.

structure Model (α : Type) :

Kripke models for GL (note: we add the transitivity and con_wf conditions directly into our definition of a model, i.e. this is not a general definition of a Krike model!)

Instances For
    instance instModelIsIrref {α : Type} (M : Model α) :

    GL Models are irreflexive.

    def evaluate {α : Type} :
    Model α × αFormulaProp

    Standard semantics for Kripke models.

    Equations
    Instances For
      theorem evaluate_neg {α : Type} (M : Model α) (u : α) (φ : Formula) :
      @[simp]
      theorem evaluate_and {α : Type} (M : Model α) (u : α) (φ ψ : Formula) :
      evaluate (M, u) (φ&ψ) evaluate (M, u) φ evaluate (M, u) ψ
      @[simp]
      theorem evaluate_imp {α : Type} (M : Model α) (u : α) (φ ψ : Formula) :
      evaluate (M, u) (~φ v ψ) evaluate (M, u) φevaluate (M, u) ψ
      def evaluateSeq {α : Type} :
      Model α × αSequentProp

      note: sequent are read disjunctively!

      Equations
      Instances For
        def evaluateSSeq {α : Type} :
        Model α × αSplitSequentProp

        note: ignores the left/right annotation.

        Equations
        Instances For

          A formula is valid if it holds at every world in every GL model.

          Equations
          Instances For

            A sequent is valid if some formula in it holds at every world in every GL model.

            Equations
            Instances For

              A split sequent is valid if some formula in it holds at every world in every GL model.

              Equations
              Instances For

                Two formulas are semantically equivalent if their biconditional is valid.

                Equations
                Instances For
                  def modelSubstitution {α : Type} (M : Model α) (n : ) (φ : Formula) :

                  Model construction for substitution lemma.

                  Equations
                  Instances For
                    theorem substitution_lemma {α : Type} (M : Model α) (u : α) (n : ) (ψ φ : Formula) :

                    Substitution Lemma for modal logic!

                    theorem single_preserves_validity (n : ) (φ ψ : Formula) :
                    φsingle n ψ φ

                    Corollary of substitution lemma: If φ valid, then φ[ψ/n] is valid.

                    theorem single_preserves_sem_equiv (n : ) (χ φ ψ : Formula) (φ_equiv_ψ : ((~φ v ψ)&~ψ v φ)) :
                    ((~single n χ φ v single n χ ψ)&~single n χ ψ v single n χ φ)

                    Corollary of substitution lemma: If φ ⟷ ψ valid, then φ[χ/n] ⟷ ψ[χ/n] is valid.