>>231 補足

1.(>>217に書いた)「同値類に時間依存性はない」って話も、理解できていなかったんだろうな(^^
2.>>48にあるように、関数f 〜 g の同値類で、有限個の値のみ異なる同値類分類をすることを考える。

3.”in step 3, Bob reveals {(x0, f(x0)) | x0 ≠ x }, you know what equivalence class f is in, because you know its values at all but one point. ”
  一つのやり方は、事前に全ての関数を類別して、代表を決めておくこと。これ、正攻法でパズルも同じ記載だ。
  このやり方の問題点は、必要なのは、一つの関数fの同値類にすぎないのに、無駄な多数の同値類分類をすることだ。
  もう一つのやり方は、事後的に”Bob reveals”の後に、問題の関数fの同値類のみを扱うこと。
  こうすれば、無駄な作業はない。

4.さて、同値類分類の目的は、>>48にあるように、
  ”Let g be the representative of that equivalence class that you picked ahead of time. Now, in step 4, guess that f(x) is equal to g(x).”
  とするための代表gを得ること。
  しかも、代表gはなんでも可で、特別の制約なし。
  さすれば、究極の手抜きは、”Bob reveals”の後に、fを得て、fの有限個の数値を適当に異なるようにして、チョコチョコとgを作る。
  (関数fの同値類分類を完成させる必要さえない!!)
  このgを、さも事前に全ての関数の同値類を分類し、全ての代表を選んでおいた顔をして、「これが代表だよ、Bob!」と、gを出せば、Bobがびっくりするという仕掛けだ(^^

5.いかにも、正攻法でやれば、大変な作業をして関数の数当てをしているように見えるが、
  その実、数学的には、”Bob reveals”の後に、ちょこちょことfをいじって、代表gを作るに等価!(^^
6.これが、>>48の”The strategy”の数学的パズルの種明かし。
  まあ、大学1年の同値類をようやく学んだころの初心者が、こんな目くらましのようなトリックに引っかかり易いのだろうと思う、今日この頃(^^

以上