Documentation

Cslib.Logics.HML.LogicalEquivalence

Logical Equivalence in HML #

This module defines logical equivalence for HML propositions and instantiates LogicalEquivalence.

def Cslib.Logic.HML.Proposition.Equiv {State : Type u} {Label : Type v} (a b : Proposition Label) :

Logical equivalence for HML propositions.

Equations
Instances For
    theorem Cslib.Logic.HML.Proposition.equiv_def {State : Type u} {Label : Type v} (a b : Proposition Label) :
    a.Equiv b ∀ (lts : LTS State Label), a.denotation lts = b.denotation lts

    Propositional contexts.

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

      Replaces a hole in a propositional context with a proposition.

      Equations
      Instances For
        structure Cslib.Logic.HML.Satisfies.Judgement (State : Type u) (Label : Type v) :
        Type (max u v)

        Bundled version of a judgement for Satisfy.

        • lts : LTS State Label

          The state transition system to consider.

        • state : State

          The state to check the proposition against.

        • φ : Proposition Label

          The proposition to check.

        Instances For
          def Cslib.Logic.HML.Satisfies.Bundled {State : Type u_1} {Label : Type u_2} (j : Judgement State Label) :

          Satisfies variant using bundled judgements.

          Equations
          Instances For
            theorem Cslib.Logic.HML.Satisfies.bundled_char {State✝ : Type u_1} {Label✝ : Type u_2} {j : Judgement State✝ Label✝} :
            structure Cslib.Logic.HML.Satisfies.Context (State : Type u) (Label : Type v) :
            Type (max u v)

            Judgemental contexts.

            • lts : LTS State Label

              The state transition system to consider.

            • state : State

              The state to check propositions against.

            Instances For
              def Cslib.Logic.HML.Satisfies.Context.fill {State : Type u_1} {Label : Type u_2} (c : Context State Label) (φ : Proposition Label) :
              Judgement State Label

              Fills a judgemental context with a proposition.

              Equations
              Instances For
                @[implicit_reducible]
                instance Cslib.Logic.HML.judgementalContext {State : Type u_1} {Label : Type u_2} :
                Equations