
Figure 7. Final OBDD after reduction.
2.2 Restriction on ROBDD
The Boolean formula obtained by replacing all occurrences of x in f by 0 is denoted by f [0/ x ]. The formula f [1/ x ] is defined similarly. The expressions f [0/x] and f [1/ x ] are called restriction of f . Given an OBDD Bf for the function f , to get OBDD for restriction representing f [0/ x ] or f [1/ x ], using the same variable ordering as B f, we need the algorithm restrict . Algorithm restrict is discussed below.
restrict (0/1, x, Bf )
if f [0/ x ] (i.e., restrict(0, x, B f ))
For each node n corresponding to x , remove n from OBDD and redirect incoming edges to lo(n)
if f [1/ x ] (i.e., restrict(1, x, Bf ))
For each node n corresponding to x , remove n from OBDD and redirect incoming edges to hi(n)
Applying Reduce operation on the OBDD thus obtained to generate the ROBDD for the restrict function.
We will explain restrict algorithm for the Boolean function f = x1.y1 + x2.y3 + x3.y3 . After applying restrict(0, x3 , Bf ), f becomes, f[0/x3] = x1.y1 + x2.y3. Figure 8 illustrates the ROBDD for f. Figure 9 illustrates Step1 of restrict on ROBDD of Figure 8. Final ROBDD after restrict(0, x3 , Bf) is shown in Figure 10.

Figure 8. ROBDD for f = x1.y1 + x2.y3 + x3.y3

Figure 9. Illustration of Step1 of restrict