** Solving Boolean equation systems.**

**Proposition 6.1 ([[ E ]])(X 1 ) = true i there exists a successful**

**6.4 Gau elimination.**

**6.4.3 Complexity for subclasses.**

In this section we consider classes of Boolean equation systems for
which Gau elimination has complexity O(n2_{). These are the disjunc-}

tive and the conjunctive class and a combination of them. The frag- ments of the modal -calculus that gives rise to these classes are L1

and L2. In [EJS93] the fragment L2 was shown being equi-expressive

to ECTL[VW83], an extension of CTL.

A Boolean equation is called disjunctive, if its right-hand side is a disjunction or it is a 2-ary conjunction where at least one conjunct is a constant. A Boolean equation system in standard form is disjunctive, if all its equations are. Expressions created during an application of Gau elimination to disjunctive systems are always disjunctions. The size of an disjunction is bound by the number of dierent variables that are involved, which is at most the number of equations in the system.

### Proposition 6.5

A disjunctive Boolean equation system of size n can be solved in time and space O(n2_{) with the global version of the}

Gau elimination algorithm. Applying the local version of the Gau
elimination algorithm needs time O(n3_{) and space O(n}2_{).}

Proof: The global version of the Gau elimination algorithm takes
at most n2 _{elimination and substitution steps. Each right-hand side}

of an equation can be represented as a set. Substitution corresponds
then to a removing one element of a set and union of two sets. These
operations can be performed in constant time. There exist always not
more than n dierent expressions, or sets resp., each of size less than
n. The local algorithm needs less than n3_{elimination and substitution}

steps.

The conjunctive class is dened analogously: a Boolean equation sys- tem in standard form isconjunctive, if it contains only equations with conjunctions on their right hand sides, or disjunctions, where one of the disjuncts is a constant. The dual argument holds here.

### Proposition 6.6

A conjunctive Boolean equation system of size n can be solved in time and space O(n2_{) with the the local version of}

6.4. Gau elimination. 93

the Gau elimination algorithm. Applying the local version of the
Gau elimination algorithm needs time O(n3_{) and space O(n}2_{).}

Proof: Analogously to the previous proof of proposition 6.5 .

Disjunctive and conjunctive classes may be combined in a restricted way. Intuitively, the requirement is, that when applying the Gau elim- ination algorithmnever a disjunction (containing more than a constant or a single variable) is substituted into a conjunction or vice versa. The formal denition of thecombined class is given below. Recall that a subsystemE

0of

E is closed with respect toE, i free(E 0)

free(E). each disjunctive system is contained in the combined class; each conjunctive system is contained in the combined class; if a Boolean equation system E of the combined class containes a

disjunctive equation dXd=fdand a conjunctive equation cXc=

fc, then there is a variable X in either fd or fc, such that

X = fX is the least (w.r.t. E) equation of a subsystem E 0

closed with respect toE, E

0is contained in the combined class, (dXd=fd)C(X =fX),

(cXc=fc)C(X =fX).

### Proposition 6.7

For a Boolean equation system in the combined class the global version of the Gau elimination algorithm solves the system in space and time O(n2_{).}

Proof: The observation here is that the Gau elimination algorithm evaluates the least variable of a closed subsystem to a constant. The rest is analogous to the disjunctive and conjunctice case.

Note, that X =fXhas not to be necessarily the least equation of the

subsystem; it may be one equation of a closed subsystem. In this case the Gau elimination algorithm has to be modied in the way, that after each evaluation step equations with a constant right-hand side are eliminated from the equation system according to lemma3.20, followed by a further evaluation step, and so on. In this case each variable of a closed subsystem is evaluated to a constant.

Also note, that the local version of the Gau elimination algorithm applied to Boolean equation systems of the combined class possibly substitutes disjunctions into conjunctions and vice versa. The reason is that a subsystem of a Boolean equation system in the combined class is not necessarily contained in the combined class. In order to get a local algorithm for the combined class there is a modication necessary: before application of the global algorithm equations have to be created until the actual subsystem is in the combined class. It is easy to see that Boolean equation systems derived from -calculus formulae of the fragment L1are disjunctive, and Boolean equation sys-

tems derived from -calculus formulae of fragment L2 are contained

in the combined class. (See denitions for L1 and L2 in chapter 4).

Emerson, Jutla and Sistla [EJS93] presented a model checking algo- rithm for L1and L2which is of complexity O(jj2jTj). Transformation

to Boolean equation systems gives also an O(jEj2) algorithm.

Bhat and Cleaveland [BC96] developed a model checking algorithm for the fragment L1. It operates on the dependency graph where nodes are

additionallylabelled by_or^. A formula of linear time temporal logic

expresses that there exists a -cycle (or constanttrue) reachable from

the node representing the -calculus formula and initial state, which implies that the formula saties the transition system. The linear time formula is proved by a tableau system. The time complexity of their algorithmis O(ad() jj jTj),giving an O(ad(E)jEj) algorithmfor the

case of Boolean equation systems. For the extension of the algorithm to the fragment L2 they claim, that the resulting algorithm may be

shown also to have time complexity O(ad()jjjTj).

### 6.5 Complexity.

We give a proof that the problem of solving Boolean equation system is contained in NP\Co-NP.

For the model checking problem this is a known result. Most of the proofs (e.g. [EJS93, BVW94]) reduce the model checking problem to non-emptiness problems of tree automata, which are in NP. Then the

6.5. Complexity. 95

model checking problem is also contained in in Co-NP, just because a property holds for some model if its negation does not and vice versa. We claim that the proof in the framework of Boolean equation systems is quite simple. Roughly the argumentation works as follows.

An arbitrary Boolean equation system in standard form can be re- duced to a disjunctive system by choosing one variable out of every conjunction and throwing the other one away. In general the reduced Boolean equation system has a solution pointwise greater than the so- lution of the original one. However, in proposition 3.36 it was shown that there must be one reduction to a disjunctive system having the same solution. According to proposition 6.5 we can solve the reduced system in time O(jEj2).

Dually a Boolean equation system in standard form can be reduced to a conjunctive system. In general it will have a pointwise lower solution than the original one, but there must exist one reduction giving the same solution. Again a disjunctive Boolean equation system can be solved in quadratic time according to proposition 6.6.

Given a Boolean equation system in standard form we can guess two reductions (out of exponentially many), one to a disjunctive system, the other one to a conjunctive one. Both can be solved in quadratic time. We know that the solution of the original system lies between the solutions of the conjunctive and the disjunctive one. Hence, if we guessed \correctly" and both systems have the same solution, this must also be the solution of the original system.

### Theorem 6.8

Solving a Boolean equation system E is containedin NP\Co-NP.

Proof: We guess a conjunctive systemE

0: in each equation of E with

a disjunction on the right hand side we reduce the right hand side to one of the disjuncts. The equations with a conjunction on the right hand side remain unchanged. By construction and denition 3.15 follows thatE

0

E. There are exponentially many possibilities to

choose such a conjunctive system. Analogously we guess a disjunctive systemE

00

guess. In general the solution ofE

0 is pointwise lower or equal to the

solution ofE(proposition 3.16). Proposition 3.36 says that there exists

a conjunctive system E

0 having the same solution as

E. The solution

of E

00 is pointwise greater or equal to the solution of

E (proposition

3.16). And again there exists a disjunctive systemE

00having the same

solution asE. E

0 and E

00 can be solved in quadratic time (propositions 6.5, 6.6). If

they have the same solution then it must be the solution ofE.

In lemma 3.35 it was proved that the solvingE is the complementary

problem to solvingE, i.e. ([[E]])(X) =falsei ([[E]])(X) =true. From

the argumentation above follows that solvingEis also contained in NP