refine theorem prover