B¨ uchi Automata and their Application to Software Verification Finite Automata Theory and Formal Languages Wolfgang Ahrendt 22nd April 2013 B¨ uchi Automata: TMV027/DIT321 / GU 130423 1 / 25
Motivating Temporal Logic? But How to Express Properties Involving State Changes? In any run of a program P ◮ n will become greater than 0 eventually? ◮ n changes its value infinitely often etc. B¨ uchi Automata: TMV027/DIT321 / GU 130423 2 / 25
Motivating Temporal Logic? But How to Express Properties Involving State Changes? In any run of a program P ◮ n will become greater than 0 eventually? ◮ n changes its value infinitely often etc. Linear Temporal Logic: talks about (infinite) traces of states B¨ uchi Automata: TMV027/DIT321 / GU 130423 2 / 25
Semantics of Propositional Logic Interpretation I Assigns a truth value to each propositional variable I : P → { T , F } B¨ uchi Automata: TMV027/DIT321 / GU 130423 3 / 25
Semantics of Propositional Logic Interpretation I Assigns a truth value to each propositional variable I : P → { T , F } Example Let P = { p , q } p q I F F I ′ F T I ′′ T F I ′′′ T T B¨ uchi Automata: TMV027/DIT321 / GU 130423 3 / 25
Transition systems (aka Kripke Structures) p = T ; p = T ; q = p ; p = F ; s 0 s 1 s 2 s 3 x F F T F T T F T q = F ; Notation update name x interp. B¨ uchi Automata: TMV027/DIT321 / GU 130423 4 / 25
Transition systems (aka Kripke Structures) p = T ; p = T ; q = p ; p = F ; s 0 s 1 s 2 s 3 x F F T F T T F T q = F ; ◮ Each state s i has its own propositional interpretation I i ◮ Convention: list values of variables in ascending lexicographic order ◮ Computations, or runs, are infinite paths through states ◮ Intuitively ‘finite’ runs modelled by looping on final states ◮ In general, infinitely many different runs possible ◮ How to express (for example) that p changes its value infinitely often in each run? B¨ uchi Automata: TMV027/DIT321 / GU 130423 4 / 25
(Linear) Temporal Logic An extension of propositional logic that allows to specify properties of all runs B¨ uchi Automata: TMV027/DIT321 / GU 130423 5 / 25
(Linear) Temporal Logic—Syntax An extension of propositional logic that allows to specify properties of all runs Syntax Based on propositional signature and syntax Extension with three connectives: Always If φ is a formula then so is � φ Eventually If φ is a formula then so is ♦ φ Concrete Syntax text book Spin Always [ ] � Eventually ♦ <> B¨ uchi Automata: TMV027/DIT321 / GU 130423 5 / 25
Temporal Logic—Semantics A run σ is an infinite chain of states s 0 s 1 s 2 s 3 s 4 · · · I 0 I 1 I 2 I 3 I 4 I j propositional interpretation of variables in j -th state Write more compactly s 0 s 1 s 2 s 3 . . . B¨ uchi Automata: TMV027/DIT321 / GU 130423 6 / 25
Temporal Logic—Semantics A run σ is an infinite chain of states s 0 s 1 s 2 s 3 s 4 · · · I 0 I 1 I 2 I 3 I 4 I j propositional interpretation of variables in j -th state Write more compactly s 0 s 1 s 2 s 3 . . . If σ = s 0 s 1 · · · , then σ | i denotes the suffix s i s i +1 · · · of σ . B¨ uchi Automata: TMV027/DIT321 / GU 130423 6 / 25
Temporal Logic—Semantics (Cont’d) Valuation of temporal formula relative to run: infinite sequence of states B¨ uchi Automata: TMV027/DIT321 / GU 130423 7 / 25
Temporal Logic—Semantics (Cont’d) Valuation of temporal formula relative to run: infinite sequence of states Definition (Validity Relation) Validity of temporal formula depends on runs σ = s 0 s 1 . . . σ | = p iff I 0 ( p ) = T , for p ∈ P . B¨ uchi Automata: TMV027/DIT321 / GU 130423 7 / 25
Temporal Logic—Semantics (Cont’d) Valuation of temporal formula relative to run: infinite sequence of states Definition (Validity Relation) Validity of temporal formula depends on runs σ = s 0 s 1 . . . σ | = p iff I 0 ( p ) = T , for p ∈ P . σ | = ¬ φ iff not σ | = φ (write σ �| = φ ) σ | = φ ∧ ψ iff σ | = φ and σ | = ψ σ | = φ ∨ ψ iff σ | = φ or σ | = ψ σ | = φ → ψ σ �| = φ or σ | iff = ψ B¨ uchi Automata: TMV027/DIT321 / GU 130423 7 / 25
Temporal Logic—Semantics (Cont’d) Valuation of temporal formula relative to run: infinite sequence of states Definition (Validity Relation) Validity of temporal formula depends on runs σ = s 0 s 1 . . . σ | = p iff I 0 ( p ) = T , for p ∈ P . σ | = ¬ φ iff not σ | = φ (write σ �| = φ ) σ | = φ ∧ ψ iff σ | = φ and σ | = ψ σ | = φ ∨ ψ iff σ | = φ or σ | = ψ σ | = φ → ψ σ �| = φ or σ | iff = ψ Temporal connectives? B¨ uchi Automata: TMV027/DIT321 / GU 130423 7 / 25
Temporal Logic—Semantics (Cont’d) Run σ s 0 s 1 · · · s k − 1 s k · · · Definition (Validity Relation for Temporal Connectives) Given a run σ = s 0 s 1 · · · B¨ uchi Automata: TMV027/DIT321 / GU 130423 8 / 25
Temporal Logic—Semantics (Cont’d) Run σ s 0 s 1 · · · s k − 1 s k · · · · · · · · · φ φ φ φ Definition (Validity Relation for Temporal Connectives) Given a run σ = s 0 s 1 · · · σ | = � φ iff σ | k | = φ for all k ≥ 0 B¨ uchi Automata: TMV027/DIT321 / GU 130423 8 / 25
Temporal Logic—Semantics (Cont’d) Run σ s 0 s 1 · · · s k − 1 s k · · · φ Definition (Validity Relation for Temporal Connectives) Given a run σ = s 0 s 1 · · · σ | = � φ iff σ | k | = φ for all k ≥ 0 σ | = ♦ φ iff σ | k | = φ for some k ≥ 0 B¨ uchi Automata: TMV027/DIT321 / GU 130423 8 / 25
Temporal Logic—Semantics (Cont’d) Run σ s 0 s 1 · · · s k − 1 s k · · · · · · φ φ φ ψ Definition (Validity Relation for Temporal Connectives) Given a run σ = s 0 s 1 · · · σ | = � φ iff σ | k | = φ for all k ≥ 0 σ | = ♦ φ iff σ | k | = φ for some k ≥ 0 B¨ uchi Automata: TMV027/DIT321 / GU 130423 8 / 25
Transition Systems: Formal Definition Definition (Transition System) A transition system T = ( S , Ini , δ, I ) is composed of a set of states S , a set ∅ � = Ini ⊆ S of initial states, a transition relation δ ⊆ S × S , and a labeling I of each state s ∈ S with a propositional interpretation I s . Definition (Run of Transition System) A run of T is a sequence of states σ = s 0 s 1 · · · such that s 0 ∈ Ini and for all i is s i ∈ S as well as ( s i , s i +1 ) ∈ δ . B¨ uchi Automata: TMV027/DIT321 / GU 130423 9 / 25
ω -Languages Given a finite alphabet (vocabulary) Σ A word w ∈ Σ ∗ is a finite sequence w = a o · · · a n with a i ∈ Σ , i ∈ { 0 , . . . , n } L ⊆ Σ ∗ is called a language B¨ uchi Automata: TMV027/DIT321 / GU 130423 10 / 25
ω -Languages Given a finite alphabet (vocabulary) Σ An ω -word w ∈ Σ ω is an infinite sequence w = a o · · · a k · · · with a i ∈ Σ , i ∈ N L ω ⊆ Σ ω is called an ω -language B¨ uchi Automata: TMV027/DIT321 / GU 130423 10 / 25
B¨ uchi Automaton Definition (B¨ uchi Automaton) A (non-deterministic) B¨ uchi automaton over an alphabet Σ consists of a ◮ finite, non-empty set of locations Q ◮ a non-empty set of initial/start locations I ⊆ Q ◮ a set of accepting locations F = { F 1 , . . . , F n } ⊆ Q ◮ a transition relation δ ⊆ Q × Σ × Q Example Σ = { a , b } , Q = { q 1 , q 2 , q 3 } , I = { q 1 } , F = { q 2 } a , b b a q 1 q 2 q 3 start a B¨ uchi Automata: TMV027/DIT321 / GU 130423 11 / 25
B¨ uchi Automaton—Executions and Accepted Words Definition (Execution) Let B = ( Q , I , F , δ ) be a B¨ uchi automaton over alphabet Σ. An execution of B is a pair ( w , v ), with ◮ w = a o · · · a k · · · ∈ Σ ω ◮ v = q o · · · q k · · · ∈ Q ω where q 0 ∈ I , and ( q i , a i , q i +1 ) ∈ δ , for all i ∈ N B¨ uchi Automata: TMV027/DIT321 / GU 130423 12 / 25
B¨ uchi Automaton—Executions and Accepted Words Definition (Execution) Let B = ( Q , I , F , δ ) be a B¨ uchi automaton over alphabet Σ. An execution of B is a pair ( w , v ), with ◮ w = a o · · · a k · · · ∈ Σ ω ◮ v = q o · · · q k · · · ∈ Q ω where q 0 ∈ I , and ( q i , a i , q i +1 ) ∈ δ , for all i ∈ N Definition (Accepted Word) uchi automaton B accepts a word w ∈ Σ ω , if there exists an A B¨ execution ( w , v ) of B where some accepting location f ∈ F appears infinitely often in v B¨ uchi Automata: TMV027/DIT321 / GU 130423 12 / 25
B¨ uchi Automaton—Language Let B = ( Q , I , F , δ ) be a B¨ uchi automaton, then L ω ( B ) = { w ∈ Σ ω | w ∈ Σ ω is an accepted word of B} denotes the ω -language recognised by B . B¨ uchi Automata: TMV027/DIT321 / GU 130423 13 / 25
B¨ uchi Automaton—Language Let B = ( Q , I , F , δ ) be a B¨ uchi automaton, then L ω ( B ) = { w ∈ Σ ω | w ∈ Σ ω is an accepted word of B} denotes the ω -language recognised by B . An ω -language for which an accepting B¨ uchi automaton exists is called ω -regular language. B¨ uchi Automata: TMV027/DIT321 / GU 130423 13 / 25
Example, ω -Regular Expression Which language is accepted by the following B¨ uchi automaton? a , b b a q 1 q 2 q 3 start a B¨ uchi Automata: TMV027/DIT321 / GU 130423 14 / 25
Recommend
More recommend