Learning recursive theories with the separate-and-parallel-conquer strategy