In fact, there are two questions. First, for example,
{a,b,c,d}::Indices(vector).
tr{#}::Trace.
A::ImplicitIndex(A_{a b}).
B::ImplicitIndex(B_{a b}).
ex:=tr(c A B) tr(A B);
untrace(_);
explicit_indices(_);
A,B  are not ImplicitIndex, is it a bug? Second, I rewrite the above code using 
{a,b,c,d}::Indices(vector).
tr{#}::Trace.
{A,B}::ImplicitIndex.
ex:=tr(c A B) tr(A B);
untrace(_);
A::ImplicitIndex(A_{a b}).
B::ImplicitIndex(B_{a b}).
explicit_indices(_);
but it doesn't work. The error report is 
{RuntimeError: Double index pair a inside a single factor found.
At:
  <string>(9): <module>
Is this another bug?