4 Testing, Examples, and Program Checking