It’s not clear to me what the difference is between the TDT algorithm in your post and the method I’ve described.
If you make sure to include a sanity check, then your description should do the same thing as the TDT algorithm in the post (at least on simple games; there may be a difference in bargaining situations.)
Sure, but does it have a short name? ProofBot?
I understand why you might feel it’s circular to name that row TDT, but nothing simpler (unless you count ADT/UDT as simpler) does as it does. It’s a layer more complicated than Newcomblike agents (which should also be included in your table); in order to get mutual cooperation with self and also defection against CooperateBot, it deduces whether a DefectBot or a MimicBot (C if it deduces Y=C, D otherwise) has a better outcome against Y, runs a sanity check, and if that goes through it does what the preferred strategy does.
If you make sure to include a sanity check, then your description should do the same thing as the TDT algorithm in the post (at least on simple games; there may be a difference in bargaining situations.)
I understand why you might feel it’s circular to name that row TDT, but nothing simpler (unless you count ADT/UDT as simpler) does as it does. It’s a layer more complicated than Newcomblike agents (which should also be included in your table); in order to get mutual cooperation with self and also defection against CooperateBot, it deduces whether a DefectBot or a MimicBot (C if it deduces Y=C, D otherwise) has a better outcome against Y, runs a sanity check, and if that goes through it does what the preferred strategy does.