我能否提示如何证明任何正则表达式A和B
A(BA)* =(AB)* A
我试图通过归纳法做到这一点,但是在基本情况下我被困住了,
它与感应效果很好。
基本情况是*
为零重复:
A (BA)^0 = A = (AB)^0 A
要进行一次重复,请注意,您可以将AB
分解为A
,然后将BA
重复零次,然后再进行B
:
A (BA)^1 = A B (AB)^0 A = ABA = AB A = (AB)^1 A
这可以一概而论:您始终可以从任何A
中剥离第一个B
和最后一个(AB)^n
并在其中找到(BA)^(n-1)
:AB AB AB
是与A BA BA B
相同。
A (BA)^n = A B (AB)^(n-1) A = (AB)^1 (AB)^(n-1) A = (AB)^n A