Contrastive Discovery: Open-Ended Scientific Discovery over Competing Explanations