more complete prover