
4. RBDD using Shannon expansion
In the last section we demonstrated that a RBDD comprises much less number of nodes compared to its equivalent BDT. However, the construction started from a BDT and was finally transformed to a RBDD. As already discussed, time taken to generate a BDT is prohibitive for even a function with reasonable complexity. To obtain RBDD, it is not necessary to start with BDT at the first place. The discussion in the last section was only to illustrate that RBDD is a BDT without any redundancy and there are lots of redundant nodes in a BDT. Now we discuss how RBDD can be generated directly without use of a BDT.
RBDD is based on Shannon Expansion, according to which Boolean function can be represented by the sum of two sub-functions of the original. In particular, a function f(x) can be written as:

The basic or primitive BDDs to represent Boolean function are given below.
B0: represents the Boolean constant 0.
B1: represents the Boolean constant 1.
Bx: represents the Boolean variable x .
These primitive BDDs are shown in Figure 11.

Figure 11. Primitive BDDs