Hi,
I think the problem is, that in the "LOWER SECTION" you assign either e_0 to pr_state or (for no reset condition) permanently e_1. The output "v" is based on pr_state and while assigning different values to nx_state in the Upper Section, this change of "nx_State" has no effect on pr_State. Therefore the compiler optimizes an may reduce your state machine to some "simple registered logic"...
In short words: I think the failure is located in the lower section, the assignment for the "non reset" path should write
ELSIF(clock'EVENT AND clock='1') THEN
pr_state<=nx_state;
Give it a try...
Carlhermann