Documentation

LeanPool.Lean4GlCoalgebras.Logic.Semantics

Semantics of GL #

Here we supply the semantics of GL.

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!)

  • V : αProp

    Auxiliary declaration used in the GL coalgebra development.

  • R : ααProp

    Auxiliary declaration used in the GL coalgebra development.

  • trans {a b c : α} : self.R a bself.R b cself.R a c
  • con_wf : WellFounded (Function.swap self.R)
Instances For

    GL Models are irreflexive.

    theorem Lean4GlCoalgebras.evaluate_neg {α : Type} (M : Model α) (u : α) (φ : Formula) :
    @[simp]
    theorem Lean4GlCoalgebras.evaluate_and {α : Type} (M : Model α) (u : α) (φ ψ : Formula) :
    evaluate (M, u) (φ&ψ) evaluate (M, u) φ evaluate (M, u) ψ
    theorem Lean4GlCoalgebras.evaluate_imp {α : Type} (M : Model α) (u : α) (φ ψ : Formula) :
    evaluate (M, u) (~φ v ψ) evaluate (M, u) φevaluate (M, u) ψ

    note: sequent are read disjunctively!

    Equations
    Instances For

      note: ignores the left/right annotation.

      Equations
      Instances For
        @[simp]
        theorem Lean4GlCoalgebras.not_evaluateSSeq {α : Type} {M_u : Model α × α} {Γ : SplitSequent} :
        ¬evaluateSSeq M_u Γ (∀ (φ : Formula), Sum.inl φ Γ¬evaluate M_u φ) ∀ (φ : Formula), Sum.inr φ Γ¬evaluate M_u φ

        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

              Auxiliary declaration used in the GL coalgebra development.

              Equations
              Instances For

                Auxiliary declaration used in the GL coalgebra development.

                Equations
                Instances For

                  Auxiliary declaration used in the GL coalgebra development.

                  Equations
                  Instances For

                    Two formulas are semantically equivalent if their biconditional is valid.

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

                      Model construction for substitution lemma.

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

                        Substitution Lemma for modal logic!

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

                        theorem Lean4GlCoalgebras.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.