AGV 3.4 -- Closure Properties of the Büchi-recognizable languages (Concatenations)

Previous chapter: Closure Properties of the Büchi-recognizable languages (Intersection and Union)

This is a learning note of a course in CISPA, UdS. Taught by Bernd Finkbeiner

In this section, we continue the proof of the closure properties of the Büchi-recognizable languages.

Concatenation of regular Langauge and Büchi-recognizable Language

Construction 3.3. Let A1=(Σ,Q1,I1,T1,F1) be an automaton over finite words thatrecognizes the languge L1, and let A2=(Σ,Q2,I2,T2,BÜCHI(F2)) be a Büchi automatonover the same alphabet that recognizes L2. We construct a Büchi autotmaton A=(Σ,Q,I,T,BÜCHI(F2)) with L(A)=L1L2 as follows:
Q=Q1Q2(w.l.o.g we assume Q1Q2=)I={I1 if I1F1=I1I2 otherwiseT=T1T2{(q,σ,q)(q,σ,f)T1,fF1,qI2}

Notation Explaination
Q Same as Union, we include both automata for concatenation
I We normaly start the the automaton from I1 If I1 is non-empty, otherwise we start at I2
T For any states that can reach the accepting states of T1 with one transition, we create a new transitions that reach the initial states of T2 (I2)

The correctness of this construction is proven by the following theorem.

Theorem 3.4. If L1 is a regular language and L2 is Büchi-recognizable, then L1L2 is Büchi-recognizable.

Explained in Human language

If I1 is non-empty, then we can have a run that starts from I1 to r(n), that is one transition before A1’s accepting states of f. Then for next transition we either move to f, or we move on to A2 starting from r(n+1).

Read more

AGV 3.3 -- Closure Properties of the Büchi-recognizable languages (Intersection and Union)

Previous chapter: ω-regular language

This is a learning note of a course in CISPA, UdS. Taught by Bernd Finkbeiner

In the following we refer the languages recognized by Büchi automata simply as Büchi-recognizable languages. Büchi’s characterization theorem states that the ω-regular languages are exactly Büchi-recognizable languages. To prepare for the proof of Büchi’s theorem, we establish several closure properties of the Büchi-recognizable languages.

Closure Properties of Language Union

Construction 3.1. Let L1 and L2 be ω-languages recognized by the Büchi automataA1=(Σ,Q1,I1,T1,BÜCHI(F1)) and A2=(Σ,Q2,I2,T2,BÜCHI(F2)), respectively.We constructA=(Σ,Q,I,T,BÜCHI(F)) with L(A)=L1L2 as follows:
 Q=Q1Q2(w.l.o.g we assume Q1Q2=) I=I1I2  T=T1T2  F=F1F2

The correctness of this construction is proven by the following theorem.

Theorem 3.2. If L1 and L2 are Büchi-recognizable, then so is L1L2.

Formal Proof

We prove that the Büchi automaton A built by A1 and A2 indeed recognizes the union of the languages of the two automata.

L(A)L(A1)L(A2):

Read more

AGV 3.2 -- ω-regular language

Previous chapter: Kleene’s Theorem

This is a learning note of a course in CISPA, UdS. Taught by Bernd Finkbeiner

Introduction

ω-regular expression denotes languages over infinite words.
In addition to language union on languages over infinite words, we have 2 operations that convert languages over finite words into languages over infinite words.

ω-regular expression

The collection of ω-regular languages over an alphabet Σω is L(W), where W is a ω-regular expression.
ω-regular expression can be defined as W:=EωEWW1+W2, where:

  • infinite concatenation of a non-empty regular language Eω,
  • union of ω-regular languages, W1+W2, and
  • concatenation of regular languages and ω-regular language EW

Definition 3.3. ω-Regular expressions are defined as follows:
 If E is a regular expression where εL(E), then Eω is an ω-regular expression.  L(Eω)=L(E)ω  where Lω={ω0ω1ωiL,|ωi|>0} for LΣ If E is a regular expression and W is an ω-regular expression,  then EW is an ω-regular expression:  L(EW)=L(E)L(W)  where L1L2={ωαωL1,αL2} for L1Σ,L2Σω If W1 and W2 are ω-regular expressions, then W1+W2 is an ω-regular expression:  L(W1+W2)=L(W1)L(W2).

A language over infinite words is ω-regular if it is definable by a ω-regular expression.


Read more

AGV 3.1 -- Kleene's Theorem

Previous chapter: The Büchi Acceptance Condition

This is a learning note of a course in CISPA, UdS. Taught by Bernd Finkbeiner

Introduction

Kleene’s theorem states that the set of languages over finite words that can be defined by regular expressions is exactly the set of languages that can be recognized by automata over finite words.

Based on this, we define ω-regular expressions, and finally prove the corresponding theorem for ω-regular languages: Büchi’s characterization theorem.

Regular Expression

Regular expression consist of constants that denote languages of finite words, and
consist of operator symbols that denote operations over these languages.

The collection of regular languages over an alphabet Σ is L(E), where E is a regular expression.
Regular expression can be defined as E:=εaΣE+FEFE, where:

  • empty language: ε,
  • empty string language: ,
  • singleton language: (single letter from alphabet) aΣ,
  • union of regular languages: E+F,
  • concatenation of regular languages: EF, and
  • language with kleene star: E.

Definition 3.1. Regular expressions are defined as follows:
 The constants ε and  are regular expressions.  L(ε)={ε},L()=. If aΣ is a symbol, then a is a regular expressions.  L(a)={a}. If E and F are regular expressions, then E+F is a regular expression:  L(E+F)=L(E)L(F). If E and F are regular expressions, then EF is a regular expression:  L(EF)={uvuL(E),vL(F)}. If E is a regular expression, then E is a regular expression.  L(E)={u1u2unnN,uiL(E) for all 0in}.

Read more

AGV 2.3 -- The Büchi Acceptance Condition

Previous chapter: Automata over Infinite Words

This is a learning note of a course in CISPA, UdS. Taught by Bernd Finkbeiner

2.3 The Büchi Acceptance Condition

The Büchi Acceptance Condition is given as a set of accepting states F.
A run of a Büchi automaton is accepting if some state from this set occurs infinitely often.

Infinite word

For an infinite word α over Σ, an Infinity Set of α is denoted as:
Inf(α)={σΣmN.nN.nm and α(n)=σ}

Meaning that Inf(α) is a set of all letters σ from the alphabet Σ, so that
for all m, you can always find σ as the n-th letter of α when there exists an n where nm.

This denotes the set of all letters of Σ that occur infinitely often in α.

Büchi Condition

Read more

AGV 2.2 -- Automata over Infinite Words

Previous chapter: Büchi automata (Preliminaries)

This is a learning note of a course in CISPA, UdS. Taught by Bernd Finkbeiner

2.2 Automata over Infinite Words

The operational behavior of an automaton over infinite words is very similar to automaton over finite words:

  1. Start with an initial state
  2. Automaton constructs a run by reading one letter of the input alphabet at a time, and
    transitioning to a successor state permitted by its transitions.

The major difference between automata over finite and infinite words is the acceptance condition.

Definition 2.1.  An automaton over infinite words is a tuple A=(Σ,Q,I,T,Acc), where
 Σ is a finite alphabet Q is a finite set of states IQ is a subset of initial states TQ×Σ×Q is a set of transitions, and AccQω is the accepting condition

In the following, we refer an automaton over infinite words simply as an automaton.

Runs of Büchi automata

A run in a Büchi automaton has to transition infinitely many times, and starts with the initial state.

Read more

AGV 2.1 -- Büchi automata (Preliminaries)

Previous chapter: The Logic-Automata Connection

This is a learning note of a course in CISPA, UdS. Taught by Bernd Finkbeiner

2.1 Preliminaries

Basic math notations Example
Natural numbers N={0,1,2,3}
Positive Natural numbers N+={1,2,3}
Numbers from n to m [n,m]={n,n+1,,m} For n,mN with nm
Numbers from 0 to m [m]={0,1,,m}

Alphabet and Letter Example
Alphabet a nonempty, finite set of symbols, usually denoted by Σ
Letter elements of an alphabets, denoted by σ

Finite and Infinite Word Example
Finite Words concatenation w=w(0)w(1)w(n1) of
finitely many letters of Σ
Infinite Words α (will be explained in chapter 2.3
n-th letter of word w w(n) for each n[|w|1]
Length of words w |w|
set of all finite words \Sigma^*$
Infinite Words α (will be explained in chapter 2.3
set of all non-empty finite words Σ+=Σ{ϵ}
set of all infinite words Σω

Language Example
language over finite words (ω-language) each subset of Σ
language over infinite words (ω-language) each subset of Σω
Read more

AGV 1.3 -- The Logic-Automata Connection

Previous chapter: Synthesis

This is a learning note of a course in CISPA, UdS. Taught by Bernd Finkbeiner

Verification or Synthesis

In applications like verification and synthesis, the automata- and game-theoretic machinery is usually “hidden” behind a logical formulation of the problem.

Logics with corresponding Automata

S1S‘s expressiveness exceeds that of LTL, and
S2S‘s expressiveness exceeds that of CTL* (on binary trees)

Logic Usage Example
Linear-time temporal logic (LTL) sets of infinite words 1
Computation-tree logic (CTL / CTL*) sets of infinite trees EF1EFm1
Monadic second-order logic with one successor (S1S) logic over infinite words x.xPS(x)P
Monadic second-order logic with two successors (S2S) logic over infinite binary trees x.xPS1(x)PS2(x)P

Explaination

  • 1
    P0 is infinitely often at location 1.
  • EF1EFm1
    There exists a computation path in which P0 reaches location 1, and
    there is a (possibly different) computation path in which P1 reaches location m1.
  • x.xPS(x)P
    A (given) set of natural numbers P is either empty, or
    consists of all positions starting from some position of the word.
  • x.xPS1(x)PS2(x)P
    A (given) set of nodes P contains from each node nP an entire path starting in n.
Read more

AGV 1.2 -- Synthesis

Previous chapter: Model Checking

This is a learning note of a course in CISPA, UdS. Taught by Bernd Finkbeiner

Synthesis

In synthesis, we check automatically if there exists a program that satisfies a given specification.

If the answer is yes, we construct such a program.

We solve it by determine the winner of a two-player game between a system player and an environment player.

Task Goal
System player choose the outputs of the system meet the specification
Environment player choose the inputs of the system falsify the specification

Therefore, the specification is satisfied if the System player wins.
Such winning strategy can be translated into a program that is guaranteed to satisfy the specification.

Example: coffee machine

In this example, we assume there’s a machine that “outputs coffee” whenever users press a button.

Read more

AGV 1.1 -- Model Checking

This is a learning note of a course in CISPA, UdS. Taught by Bernd Finkbeiner

Model Checking

Given a system model, we try to check whether it meets its specification automatically and exhaustively.
To describe/represent the system and specification, we use Automata over infinite objects.

Verification Problem

The verification problem can be solved by:

Constructing the intersection of system, with an automaton for the negation of the specification,
then checking whether the language of the resulting automaton is empty.

Example 1.1. Consider the concurrent program TURN:
local t: boolean where initially t = falseP0::[loop forever do[0:await ¬t;1:critical;2:t:=true;]]∣∣P1::[loop forever do[m0:await t;m1:critical;m2:t:=false;]]

The example above is a simple solution to the mutual exclusion problem:
it ensures that at any given point of time, at most one process is in the critical region.

From Program to automaton

To represent the above program using automaton, we need to define an alphabet Σ.

Read more
Your browser is out-of-date!

Update your browser to view this website correctly.&npsb;Update my browser now

×