Information Technology Reference
In-Depth Information
1 : proc BasicBisimReduction ( A )
2 : /* Init: ∀q ∈ Q. C 1 ( q ):=1,and ∀q ∈ F. C 0 ( q ):=1 , ∀q ∈ Q \ F. C 0 ( q ):=2.*/
3 : i := 0;
4 : while |C i ( Q ) | = |C i− 1 ( Q ) | do
5 : i := i +1
6 : foreach q ∈ Q do
7 : C i ( q ):= C i− 1 ( q ) , ∪ ( q,a,q ) ∈ʴ { ( C i− 1 ( q ) ,a ) }
8 : od
9 : Rename colour set C n ( Q ), with { 1 ,...,|C i ( Q ) |} , using lexicogr. ordering.
10 : od
11 : C := C i ; return A := Q := C ( Q ) ,q I := C ( q I ) ,F := C ( F ) ;
12 : /* ʴ defined so that ( C ( q 1 ) ,a,C ( q 2 )) ∈ ʴ iff ( q 1 ,a,q 2 ) ∈ ʴ for q 1 ,q 2 ∈ Q */
Fig. 1. Basic Bisimulation Reduction Algorithm [3]
Our formalisation has revealed that there is a mistake in the initialisation of the
algorithm, which we have corrected in our implementation.
The second optimisation is ʱ-balls reduction , which collapses strongly con-
nected components (SCCs) that only containonesingleletterasedgelabel.
The rest of the paper is organised as follows: Section 2 gives some preliminar-
ies. Section 3 recalls the two optimisations of [3] in turn. Section 4 presents our
Isabelle formalisations of those algorithms, and Sec. 5 concludes.
2 Preliminaries
We recall the basic notions of automata as used by [3]; for more details see [10].
Usually, Buchi (or finite) automata have transitions labelled with characters
from an alphabet ʣ . In [3], a generalisation of such labellings is considered, but
for our purposes, this is not necessary and so we assume simple characters. We
assume that a Buchi automaton A is given by Q,ʴ,q I ,F .Here Q is a set of
states, ʴ
( Q
×
ʣ
×
Q ) is the transition relation, q I
Q is the initial state, and
F
Q is the set of final states. The language L ( A ) is defined as the set of those
ˉ -words which have an accepting run in A ,wherea run on word w = a 1 a 2 ... is
a sequence q 0 q 1 q 2 ... such that q 0 = q I and ( q i ,a i +1 ,q i +1 )
ʴ for all i
0, and
it is accepting if q i
F for infinitely many i .
Isabelle/HOL [7] is an interactive theorem prover based on Higher-Order Logic
(HOL). You can think of HOL as a combination of a functional programming
language with logic. Isabelle/HOL aims at being readable by humans and thus
follows the usual mathematical notation, but still the syntax needs some expla-
nations which we provide when we come to the examples. In our presentation of
Isabelle code we have stayed faithful to the sources.
3 The Original Algorithms
3.1 The Bisimulation Reduction Algorithm
Fig. 1 shows the basic bisimulation reduction algorithm in pseudo-code. The let-
ter C with a superscript refers to the iterations of the computation of a colouring.
 
Search WWH ::




Custom Search