1/14 Unit-5: ω-regular properties B. Srivathsan Chennai Mathematical Institute NPTEL-course July - November 2015
2/14 Module 2: ω-regular expressions
3/14 Languages over finite words Σ : finite alphabet Σ = set of all words over Σ Language: A set of finite words { ab, abab, ababab,...} finite words starting with an a finite words starting with a b { ε, b, bb, bbb,...} { ε, ab, abab, ababab,...} { ε, bbb, bbbbbb, (bbb) 3,...} words starting and ending with an a { ε, ab, aabb, aaabbb,a 4 b 4...}
4/14 Regular expressions Σ : finite alphabet Σ = set of all words over Σ Language: A set of finite words ab(ab) { ab, abab, ababab,...} aσ bσ finite words starting with an a finite words starting with a b b (ab) (bbb) { ε, b, bb, bbb,...} { ε, ab, abab, ababab,...} { ε, bbb, bbbbbb, (bbb) 3,...} aσ a words starting and ending with an a { ε, ab, aabb, aaabbb,a 4 b 4...}
5/14 Alphabet Σ = { a, b } Σ Σ = { a, b } { a, b } = { aa, ab, ba, bb } aba ε ε bbb w ε ε w = aba = bbb = w = w Σ 0 = { ε } (empty word, with length 0) Σ 1 = words of length 1 Σ 2 = words of length 2 Σ 3 = words of length 3. Σ k = words of length k. Σ = i 0 Σi = set of all finite length words
Regular expressions 6/14
6/14 Regular expressions ε
6/14 Regular expressions ε a b
6/14 Regular expressions ε a b r 1 r 2
6/14 Regular expressions ε a b r 1 r 2 r 1 + r 2
6/14 Regular expressions ε a b r 1 r 2 r 1 + r 2 r
6/14 Regular expressions ε a b r 1 r 2 r 1 + r 2 r where r 1,r 2,r are regular expressions themselves
6/14 Regular expressions ε a b r 1 r 2 r 1 + r 2 r where r 1,r 2,r are regular expressions themselves a + b ab + bb + baa (a + b) ab(ba + bb) (ab + bb).
7/14 Theorem 1. Every regular expression can be converted to an NFA accepting the language of the expression 2. Every NFA can be converted to a regular expression describing the language of the NFA
Coming next: Languages over infinite words 8/14
Σ = { a, b } 9/14
9/14 Σ = { a, b } Example 1: Infinite word consisting only of a { aaaaaaaaaaaaaaaa... }
9/14 Σ = { a, b } Example 1: Infinite word consisting only of a { aaaaaaaaaaaaaaaa... } Example 2: Infinite words containing only a or only b { aaaaaaaaaaaaaaa..., bbbbbbbbbbbb... }
9/14 Σ = { a, b } Example 1: Infinite word consisting only of a { aaaaaaaaaaaaaaaa... } Example 2: Infinite words containing only a or only b { aaaaaaaaaaaaaaa..., bbbbbbbbbbbb... } Example 3: a word in aaσ aa followed by only b-s { aaaabbbbbbb..., aababaabbbbbb..., aabbbbaabbbbbbb...,... }
9/14 Σ = { a, b } Example 1: Infinite word consisting only of a { aaaaaaaaaaaaaaaa... } Example 2: Infinite words containing only a or only b { aaaaaaaaaaaaaaa..., bbbbbbbbbbbb... } Example 3: a word in aaσ aa followed by only b-s { aaaabbbbbbb..., aababaabbbbbb..., aabbbbaabbbbbbb...,... } Example 4: Infinite words where b occurs only finitely often { aaaaaaaaaaaaaaaa..., baaaaaaaaaa..., babbaaaaaaaaaaaa...,... }
9/14 Σ = { a, b } Example 1: Infinite word consisting only of a { aaaaaaaaaaaaaaaa... } Example 2: Infinite words containing only a or only b { aaaaaaaaaaaaaaa..., bbbbbbbbbbbb... } Example 3: a word in aaσ aa followed by only b-s { aaaabbbbbbb..., aababaabbbbbb..., aabbbbaabbbbbbb...,... } Example 4: Infinite words where b occurs only finitely often { aaaaaaaaaaaaaaaa..., baaaaaaaaaa..., babbaaaaaaaaaaaa...,... } Example 5: Infinite words where b occurs infinitely often { abababababab..., bbbabbbabbbabbba..., bbbbbbbbbbbbb...,... }
9/14 Σ = { a, b } Example 1: Infinite word consisting only of a { aaaaaaaaaaaaaaaa... } a ω Example 2: Infinite words containing only a or only b { aaaaaaaaaaaaaaa..., bbbbbbbbbbbb... } Example 3: a word in aaσ aa followed by only b-s { aaaabbbbbbb..., aababaabbbbbb..., aabbbbaabbbbbbb...,... } Example 4: Infinite words where b occurs only finitely often { aaaaaaaaaaaaaaaa..., baaaaaaaaaa..., babbaaaaaaaaaaaa...,... } Example 5: Infinite words where b occurs infinitely often { abababababab..., bbbabbbabbbabbba..., bbbbbbbbbbbbb...,... }
9/14 Σ = { a, b } Example 1: Infinite word consisting only of a { aaaaaaaaaaaaaaaa... } a ω Example 2: Example 3: Infinite words containing only a or only b { aaaaaaaaaaaaaaa..., bbbbbbbbbbbb... } a word in aaσ aa followed by only b-s a ω + b ω { aaaabbbbbbb..., aababaabbbbbb..., aabbbbaabbbbbbb...,... } Example 4: Infinite words where b occurs only finitely often { aaaaaaaaaaaaaaaa..., baaaaaaaaaa..., babbaaaaaaaaaaaa...,... } Example 5: Infinite words where b occurs infinitely often { abababababab..., bbbabbbabbbabbba..., bbbbbbbbbbbbb...,... }
9/14 Σ = { a, b } Example 1: Infinite word consisting only of a { aaaaaaaaaaaaaaaa... } a ω Example 2: Infinite words containing only a or only b { aaaaaaaaaaaaaaa..., bbbbbbbbbbbb... } a ω + b ω Example 3: a word in aaσ aa followed by only b-s aaσ aa b ω { aaaabbbbbbb..., aababaabbbbbb..., aabbbbaabbbbbbb...,... } Example 4: Infinite words where b occurs only finitely often { aaaaaaaaaaaaaaaa..., baaaaaaaaaa..., babbaaaaaaaaaaaa...,... } Example 5: Infinite words where b occurs infinitely often { abababababab..., bbbabbbabbbabbba..., bbbbbbbbbbbbb...,... }
9/14 Σ = { a, b } Example 1: Infinite word consisting only of a { aaaaaaaaaaaaaaaa... } a ω Example 2: Infinite words containing only a or only b { aaaaaaaaaaaaaaa..., bbbbbbbbbbbb... } a ω + b ω Example 3: a word in aaσ aa followed by only b-s aaσ aa b ω { aaaabbbbbbb..., aababaabbbbbb..., aabbbbaabbbbbbb...,... } Example 4: Infinite words where b occurs only finitely often(a + b) b ω { aaaaaaaaaaaaaaaa..., baaaaaaaaaa..., babbaaaaaaaaaaaa...,... } Example 5: Infinite words where b occurs infinitely often { abababababab..., bbbabbbabbbabbba..., bbbbbbbbbbbbb...,... }
9/14 Σ = { a, b } Example 1: Infinite word consisting only of a { aaaaaaaaaaaaaaaa... } a ω Example 2: Infinite words containing only a or only b { aaaaaaaaaaaaaaa..., bbbbbbbbbbbb... } a ω + b ω Example 3: a word in aaσ aa followed by only b-s aaσ aa b ω { aaaabbbbbbb..., aababaabbbbbb..., aabbbbaabbbbbbb...,... } Example 4: Infinite words where b occurs only finitely often(a + b) b ω { aaaaaaaaaaaaaaaa..., baaaaaaaaaa..., babbaaaaaaaaaaaa...,... } Example 5: Infinite words where b occurs infinitely often (a b) ω { abababababab..., bbbabbbabbbabbba..., bbbbbbbbbbbbb...,... }
10/14 ω-regular expressions G = E 1 F ω 1 + E 2 F ω 2 + + E n F ω n E 1,...,E n, F 1,...,F n are regular expressions and ε / L(F i ) for all 1 i n
10/14 ω-regular expressions G = E 1 F ω 1 + E 2 F ω 2 + + E n F ω n E 1,...,E n, F 1,...,F n are regular expressions and ε / L(F i ) for all 1 i n L(F ω ) = { w 1 w 2 w 3... each w i L(F)}
More examples 11/14
11/14 More examples (a + b) ω set of all infinite words
11/14 More examples (a + b) ω set of all infinite words a(a + b) ω infinite words starting with an a
11/14 More examples (a + b) ω set of all infinite words a(a + b) ω infinite words starting with an a (a + bc + c) ω words where every b is immediately followed by c
11/14 More examples (a + b) ω set of all infinite words a(a + b) ω infinite words starting with an a (a + bc + c) ω words where every b is immediately followed by c (a + b) c(a + b) ω words with a single occurrence of c
11/14 More examples (a + b) ω set of all infinite words a(a + b) ω infinite words starting with an a (a + bc + c) ω words where every b is immediately followed by c (a + b) c(a + b) ω words with a single occurrence of c ((a + b) c) ω words where c occurs infinitely often
12/14 AP = { p 1,p 2,...,p k } Σ = PowerSet(AP) = { { }, {p 1 },..., {p k }, { p 1,p 2 }, { p 1,p 3 },..., { p k 1,p k },... { p 1,p 2,..., p k } } A property is a language of infinite words over alphabet Σ
12/14 AP = { p 1,p 2,...,p k } Σ = PowerSet(AP) = { { }, {p 1 },..., {p k }, { p 1,p 2 }, { p 1,p 3 },..., { p k 1,p k },... { p 1,p 2,..., p k } } A property is a language of infinite words over alphabet Σ The property is ω-regular if it can be described by an ω-regular expression
13/14 AP = { wait, crit } Σ = PowerSet(AP) = { { }, {wait}, {crit}, {wait, crit} }
13/14 AP = { wait, crit } Σ = PowerSet(AP) = { { }, {wait}, {crit}, {wait, crit} } Property: Process enters critical section infinitely often
13/14 AP = { wait, crit } Σ = PowerSet(AP) = { { }, {wait}, {crit}, {wait, crit} } Property: Process enters critical section infinitely often ( ({ } + {wait}) ({crit} + {wait, crit}) ) ω
14/14 ω-regular properties ω-regular expressions Next goal: Find algorithms to model-check ω-regular properties