Generating and using examples in the proving process