Testing against either CooperateBot or DivergeBot is risky. Some opponents could cooperate with CooperateBot for meta reasons, while others may fail to halt when faced with a DivergeBot.
The safest case would to see what the opponent does against a DefectBot (most opponents that defect at all would defect against it) except IncrediblyInnocentBot can’t generate a DefectBot on its own, either.
EBot (which always returns ‘E rather than ‘C or ‘D) might be a safer version of DivergeBot to use, but it isn’t completely fool-proof either. Then again, IncrediblyInnocentBot can check if the opponent returns ‘E against EBot—in that case, it should probably cooperate rather than “do the other thing that’s not ’C, whatever it is”, to avoid a (0,0) payoff when faced with MimicBot.
Testing against either CooperateBot or DivergeBot is risky. Some opponents could cooperate with CooperateBot for meta reasons, while others may fail to halt when faced with a DivergeBot.
The safest case would to see what the opponent does against a DefectBot (most opponents that defect at all would defect against it) except IncrediblyInnocentBot can’t generate a DefectBot on its own, either.
EBot (which always returns ‘E rather than ‘C or ‘D) might be a safer version of DivergeBot to use, but it isn’t completely fool-proof either. Then again, IncrediblyInnocentBot can check if the opponent returns ‘E against EBot—in that case, it should probably cooperate rather than “do the other thing that’s not ’C, whatever it is”, to avoid a (0,0) payoff when faced with MimicBot.