Learning Randomized Reductions and Program Properties