问题:有一列由“(”和“)”组成的符号列,若从左到右对“(”和“)”计数,“(”的个数总是大于或者等于“)”的个数,且最终“(”和“)”个数相等,,证明符号列可以分解成若干包含或者平行的括号对,且有唯一的结构。
证明:分解。
从左到右分别对“(”和“)”计数,直到某一位置“(”和“)”个数相等。
若此位置为符号列尾部,则符号列的首位一定是“(”,末位一定是“)”,此时这两个括号对组成符号列的最外层,包含了其内部的符号列,显然,其内部符号列也满足题设。
若此位置为符号列中部,则在此截断符号列,形成两个平行的符号列,这两个符号列显然也满足题设要求。
按照上面两种情况不断地操作符号列。若是第一种情况,首尾两个符号形成一个括号对,中间的部分形成一个新的符号列,显然新符号列包含于这个括号对且新符号列比原符号列长度小2;若是第二种情况,截断原符号列生成若干子符号列,显然每个子符号列至少也比原符号列长度小2。因为原符号列长度有限,一直进行下去,最终产生长度为2的符号列,这个符号列也满足题设,即“()”形式的符号列,这个括号对是符号列的最内层。