Theorem. if (d_1, d_2, ..., d_(k^n+n-1)) is a sequence on k alphabets S = {s_1, s_2, ..., s_k}, and it satisfies: (d_1, d_2, ..., d_n), (d_2, d_3, ..., d_(n+1)), ..., (d_k^n, d_(k^n+1), ..., d_(k^n+n-1)) are all the k^n different length-n strings on S, then d_t = d_(k^n+t), t = 1, 2, ..., n-1, so we have (d_1, d_2, ..., d_k^n) is a de Bruijn sequence. Proof: If n = 1, the result is trivial. Now suppose n >= 2. Let G be the (n-1)-dimensional de Bruijn graph of k alphabets S = {s_1, s_2, ..., s_k}, that is, the set of vertices {V} = S^(n-1) consists of all the k^(n-1) different length-(n-1) strings on S, and the set of directed edges is {E} = {((u_1, u_2, ..., u_(n-1)), (u_2, u_3, ..., u_n)): u_1, u_2, ..., u_n are in S} (here (V, V') denotes an direct edge from V to V'). Obviously, each vertex has in-degree and out-degree k, and the total number of directed edges is |{E}| = k^n. Let V_i = (d_i, d_(i+1), ..., d_(i+n-2)), 1 <= i <= k^n+1. Consider the path V_1 -> V_2 -> ... -> V_(k^n+1). This is a path of length k^n, so it must be Eulerian (otherwise there must exists 1 <= i < i' <= k^n such that E: (V_i, V_(i+1)) and E': (V_i, V_(i'+1)) are the same edge, so (d_i, d_(i+1), ..., d_(i+n-1)) = (d_i', d_(i'+1), ..., d_(i'+n-1)), a contradiction). If V_1 and V_(k^n+1) are not the same vertex, then the out-degree of V_1 minus the in-degree of V_1 is 1, which is a contradiction! So V_1 = V_(k^n+1), that is, d_t = d_(k^n+t), t = 1, 2, ..., n-1.