To get a correct proof (first due to Zachos) we need to use Arthur
Merlin games. Consider a Σ2 language L as an
∃∀ expression. Since NP is in BPP, we can replace the
∀ with a probabilistic test. This gives us what is known as MA
or a Merlin-Arthur game where the powerful Merlin sends a message that
Arthur can probabilistically verify. A now classic result shows that
MA is contained in AM, where Arthur provides a random string to Merlin
who must then provide a proof based on that string. Once again we
apply the NP in BPP assumption to allow Arthur to simulate Merlin
probabilistically and now we have a BPP algorithm for L.