Finish Proof class

Continues #4793 (completing the set of PRs #3839 #4422 #4446 #4457 #4457 #4603 #4377 #4506 #4793).