Writing a Truth Oracle in Lisp
This post assumes some familiarity with typed functional programming, Lisp, and formal logic. Today we will attempt to write a truth oracle in Lisp. By "truth oracle," I mean a program that can determine whether arbitrary mathematical statements are true or false. This might sound impossible, due to first-order logic being undecidable, but let's try anyway. Before that, though, we need to go over some required concepts. Extracting information from proofs First, sometimes, we can extract info