What about the following generalized cliquing approach?
Let E be the set of computable equivalence predicates between programs which are each a sufficient condition for functional equivalence (for instance, textual equivalence is in E).
For all e in E define the program clique_e(other): if e(self, other) then double down else take winnings
On the first round, if you can prove that there exists e in E such that Quirrell’s program is functionally equivalent to clique_e then double down, else take winnings.
This guarantees that you’ll never self-destruct and you will get the maximum possible payoff as long as Quirrell remains cooperative.
What about the following generalized cliquing approach?
Let E be the set of computable equivalence predicates between programs which are each a sufficient condition for functional equivalence (for instance, textual equivalence is in E).
For all e in E define the program
clique_e(other):
if e(self, other) then double down
else take winnings
On the first round, if you can prove that there exists e in E such that Quirrell’s program is functionally equivalent to clique_e then double down, else take winnings.
This guarantees that you’ll never self-destruct and you will get the maximum possible payoff as long as Quirrell remains cooperative.