数列、a1,a2,a3, ... ,an が与えられたとき、全体の積がゼロになるかどうか判定する問題を考えます。

入力アルファベット Σ は数記号Σ1, 区切り記号 Σ2 , 終端記号 Σ3 からなり、
 Σ=Σ1∪Σ2∪Σ3 , Φ=Σ1∩Σ2∩Σ3 ,
Σ1 ={0,1,2,3,4,5,6,7,8,9} , Σ2 ={#} , Σ3 ={$} とします。
入力xはn個の数値 αk∈Σ1Σ1* , (0<k<n)を # で区切り、文末に $ を加えたものとします。
したがって、x=a1#a2#a3# ... #an$ と表記できます。
2個のアルゴリズムを考えて見ます。
(アルゴリズム1)a=a1×a2×a3× ... ×an を計算する。
         a=0? の判定をする。
0ならば yes, 0でないならば no と答える。
(アルゴリズム2)入力数列中に ak=0 をみたす k があるかどうか判定する。
 あれば yes , なければ no と答える。
ところで、アルゴリズム1と2では計算結果を得るまでに必要なステップ数はかなり違います。
アルゴリズム1では乗算が終了するまで解が得られませんが、アルゴリズム2は乗算を回避しています。

集合A ={x|x=a1#a2#a3# ... #an$ と表現でき a1×a2×a3× ... ×an=0を満たす。}
集合B ={x|アルゴリズム1を実現するTM M1にxを与えたとき、M1が yes と答える。}
集合C ={x|アルゴリズム2を実現するTM M2にxを与えたとき、M2が yes と答える。}

このとき集合A、B、Cの計算量は違うということでしょうかどうでしょうか?
山口の理論によると、集合BとCで計算量が異なると主張しているかに見えますが。
山口先生の支持者はどうお考えですか?