I needed a clarification regards solution for constraint algorithm.
For the function call Constrain(β3, Φ3), I think that the result should be Constrain(β5, Φ3). However in the solution sheet I see it is solved as "b-> Constrain(1,Φ3)| Constrain(β5,Φ3 ) " .
β3 has only one Leaf node and β5 is not a leaf node. hence the condition Constrain( β_0,Φ) must be invoked which is Constrain( β_5,Φ_3). If this is solved in this manner, in the final solution "b" will never exist. However if we solve as per it is solved in solution sheet "b" exists in the final answer.