関数 eq(X,Y) は、引数 X と Y の値が等しければ 1 を返し、異なれば 0 を返す。整数 A、B、C について、eq(eq(A,B),eq(B,C)) を呼び出したとき、1 が返ってくるための必要十分条件はどれか。
ア | (A = B かつ B = C) 又は (A ≠ B かつ B ≠ C) |
イ | (A = B かつ B = C) 又は (A ≠ B 又は B ≠ C) |
ウ | (A = B かつ B = C) 又は (A ≠ B かつ B ≠ C) |
エ | (A = B 又は B = C) 又は A = C |
eq(eq(A,B),eq(B,C))が1を返すのは、①eq(A,B)とeq(B,C)がどちらも1を返す場合または②eq(A,B)とeq(B,C)がどちらも0を返す場合です。
①になるための条件はA=BかつB=C,②こなるための条件はA≠BかつB≠Cなので,全体の必要条件は「①または②である。
正解はアである。