Documentation

LeanPool.LeanModelChecking.LTLNBWStatement

Linear Temporal Logic and Büchi automata #

We define the syntax and language of Linear Temporal Logic (LTL) formulas and of nondeterministic Büchi automata (NBW), and state the theorem that every LTL formula has an equivalent finite-state NBW.

inductive LeanModelChecking.LTL (AP : Type) :

A Linear Temporal Logic formula.

Instances For
    @[reducible, inline]

    A letter is a set of atomic propositions.

    Equations
    Instances For
      def LeanModelChecking.LTL.language {AP : Type} (f : LTL AP) (w : Letter AP) :

      The language of a Linear Temporal Logic formula, defined as a predicate over a word.

      Equations
      Instances For
        structure LeanModelChecking.NBW (S : Type) :

        A Büchi automaton, on some letter type S.

        • Q : Type

          The type of states.

        • q₀ : Set self.Q

          The set of starting states.

        • δ : self.QSself.QProp

          The transition relation.

        • F : Set self.Q

          The set of accepting states. A run is accepting if it visits states in F infinitely often.

        Instances For
          def LeanModelChecking.NBW.run {S : Type} (A : NBW S) (p : A.Q) (w : S) :

          Whether the sequence of states p is a run on the word w on the Büchi automaton A.

          Equations
          Instances For
            def LeanModelChecking.NBW.language {S : Type} (A : NBW S) (w : S) :

            The language of a Büchi automaton, defined as a predicate over a word.

            Equations
            Instances For

              The statement that every Linear Temporal Logic formula has an equivalent finite-state nondeterministic Büchi automaton, packaged as a proposition so it can be reused. Without the Finite A.Q conjunct the statement would be much weaker, since an automaton with infinitely many states can encode arbitrary languages.

              Equations
              • One or more equations did not get rendered due to their size.
              Instances For