Third option:
foreach proof in <some search algorithm over possible proofs> { switch examine(proof) { case PROOF_OF_DEFECTION: Defect case PROOF_OF_COOPERATION: Cooperate: default: continue }}
(Kindly ignore the terrible pseudocode.)
Third option:
(Kindly ignore the terrible pseudocode.)