
$$p_{o_{i}}\quad\rangle.$$

In words, if the effect condition is entailed, then the activated positive or negative effect as well as the fact that the rule has been tried is recorded.

Since there is at most one effect literal for each conditional effect, a conditional effect is
"blocked" if the negation of the effect condition is entailed by the state specification. For all
"blocked conditional effects" we introduce the following operators:

```
                           o
                            
                            :;i;j
                                
                            i hfpoi 'i;j ; xi;j gi:
   In order to check that all conditional effects have been tried (activating the corresponding effect
or not activating it because the conditional effect is blocked), the following operator is used:

```

$$\left(\begin{array}{c c c}{{p_{o_{i}}}}&{{}}&{{\varphi_{i,j}}}\end{array},\begin{array}{c c c}{{x_{i,j}}}\end{array}\right).$$
$$x_{i,j}\quad\Upsilon\quad\varphi_{i,j}\Rightarrow l_{i,j}\quad\quad p o s t\ o_{i}\quad,\quad c$$
$$\left\langle\begin{array}{l}{p_{o_{i}}}\end{array}\right.$$

o

e

i hfpoi xi;j  'i;j ) li;j *post* oi ; c f:poi gi:
This operator enables copying of the activated effects to the state specification, which is achieved with the following set of operators for each atom p :

```
                       o
                        
                        p
                         
                        + hfc; p+; p; p# ; p; p#gi;
                       o
                        
                        p
                         
                         hfc; p+; p; p# ; f:p; p#gi;
                       o
                        
                        p
                         
                        ? hfc; p+; p; p# ; ?i:
Finally, we need an operator that checks that all possible effects have been copied. This operator
also starts the "execution cycle" again by enabling the execution of another "precondition operator:"

```

$$\left(\begin{array}{l}{c}\\ {\end{array}\right)$$
$\frac{14}{27}$! 

o

c

hfc #; f:cgi:
Using these definitions, we can now specify the set of compiled operators:

O o

pre i ; oe i oi O o);i;j oi O; 'i;j ) l i;j post oi o:;i;j oi O; 'i;j ) l i;j post oi o p +; o p ; o p ? p oc :
$$\mathbf{}$$
Based on that, we specify a compilation scheme f hf ; fi; fg ; ti; tg i as follows:

f () h ; O i fi() +  # O  f:c ; fg () O f:c ; ti(; I I; tg (; G G:
The scheme f obviously satisfies conditions (2) and (3) for compilation schemes and all the functions can be computed in polynomial time. Further, F () is a SBI -instance if is a SBIC -instance.

Let now S be a legal SBIC state specification and let S R S; oi for some operator oi O. From the above discussion, it is clear that if S 6j , then there exists a sequence of operators from O consisting of o pre i
, followed by operators of the form o
);i;j i and o
:;i;j i followed by the operator o e i

, followed in turn by operators o p x, followed finally by the operator o c
, such that

$$R e s\;\;S\;\;\;\;\;f_{i}$$
S Res S fi(); :