Guided Correctness Proofs of Logic Programs