Automatic theorem prover