Verification theory