Is $\mathsf{MA}$ equal to $\mathsf{NP}^\mathsf{RP}$? I haven't been able to find a statement relating $\mathsf{MA}$ and $\mathsf{NP}^\mathsf{RP}$ in the literature; pointers would be appreciated.

I believe they are equal:


$\mathsf{MA} \subseteq \mathsf{NP}^\mathsf{RP}$:
The $\mathsf{NP}$ machine guesses Merlin's string, and the $\mathsf{RP}$ oracle verifies the string as Arthur would.
$\mathsf{NP}^\mathsf{RP} \subseteq \mathsf{MA}$:
Merlin guesses the accepting computation of the $\mathsf{NP}$ machine, including all calls, as well as the outcomes of these calls, to the $\mathsf{RP}$ oracle. Arthur then verifies that the computation is valid and that all the guessed outcomes of calls to the $\mathsf{RP}$ oracle were correct. He uses amplification and union bounds to bound the overall total probability of error.


Is this correct?
In the first bullet, we would need the oracle to answer


YES, if Arthur’s check succeeds with probability $1$ (assuming the MA protocol has perfect completeness),
NO, if Arthur’s check succeeds with probability $\le 1/2$.


This sounds like a coRP algorithm, but the catch is that there is no guarantee that one of these two conditions applies for every possible input to the oracle. Thus, the oracle does not compute a coRP language, but a coRP promise problem, and the whole argument only shows that $\mathrm{MA}\subseteq\mathrm{NP}^{\mathrm{promiseRP}}$.