編譯原理課后習題答案令A,B和C是任意正規式,證明以下關系成立(A|B)*=(A*B*)*=(A*|B*)*


題目:

令A、B和C是任意正規式,證明以下關系成立:

    A∣A=A

    (A*)*= A*

        A*=ε∣A A*

       (AB)*A=A(BA)*

       (A∣B)*=(A*B*)*=(A*∣B*)*

    A=b∣aA當且僅當A=a*b

解答:

(1)、A∣A=A

        L(A∣A)=L(A)∪L(A)=L(A),所以有A∣A=A。

(2)、(A*)*= A*

       

(3)、A*=ε∣A A*

        通過證明兩個正規式所表示的語言相同來證明兩個正規式相等。

        L(ε∣A A*)=L(ε)∪L(A)L(A*)= L(ε)∪L(A)(L(A) )*

        =L(ε)∪L(A)((L(A))0∪(L(A))1∪(L(A))2∪(L(A))3∪…)

        =L(ε)∪(L(A))1∪(L(A))2∪(L(A))3∪(L(A))4∪…

        =(L(A))*=L(A*)

        即:L(ε∣A A*)=L(A*),所以有:A*=ε∣A A*

(4)、(AB)*A=A(BA)*

        利用正規式的分配率和結合律直接推導。

        (AB)*A=((AB)0∣(AB)1∣(AB)2∣(AB)3∣…)A

        =εA∣(AB)1A∣(AB)2A∣(AB)3A∣…

        =Aε∣A (BA)1∣A (BA)2∣A (BA)3∣…

        =A(ε∣(BA)1∣(BA)2∣(BA)3∣…)

        =A(BA)*

        即:(AB)*A=A(BA)*

(5)、(A∣B)*=(A*B*)*=(A*∣B*)*

證明:先證(A∣B)*=(A*B*)*

因為L(A)L(A) *L(B) *,L(B)  L(A) *L(B) *

故:L(A) ∪L(B) L(A) *L(B) *

於是由本題第二小題結論可知(L(A)∪L(B)) *(L(A) *L(B)*)*      ①

又L(A)L(A)∪L(B),  L(B) L(A)∪L(B)

故:L(A)*(L(A)∪L(B))*

   L(B)*(L(A)∪L(B))*

因此有:L(A)*L(B)* (L(A)∪L(B))* (L(A)∪L(B))*=( (L(A)∪L(B))*) 2

故(L(A)*L(B)*)*((L(A)∪L(B))*)*

由本題第二小題得: ((L(A)∪L(B))*)*= (L(A)∪L(B)) *

故得: (L(A)*L(B)*)*(L(A)∪L(B)) *             ②

則由①②得: (L(A)∪L(B)) *=(L(A)*L(B)*)*

由於L((A*B*))*=(L(A*B*))*=(L(A*)L(B*))*=(L(A)*L(B)*)*

即有(L(A)∪L(B))*=L((A*B*))*               ③

而(A|B)*對應的語言為(L(A)∪L(B))*,且(A*B*)*對應的語言為L((A*B*))*

則根據③得(A|B)*=(A*B*)*

再證:(A*|B*)*=(A*B*)*

因為:A,B是任意正規式,由以上結論得: (A*|B*)*=((A*)*(B*)*)*

又由本題第二小題目的結論可得:(A*)*=A*,(B*)*=B*

因此,(A*|B*)*=(A*B*)*

綜合上述兩種結論,最后得:(A∣B)*=(A*B*)*=(A*∣B*)*


 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM