An evaluation based theorem prover