题目:

令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*)*

编译原理课后习题答案令A,B和C是任意正规式,证明以下关系成立(A|B)*=(A*B*)*=(A*|B*)*的更多相关文章

  1. C++面向程序设计(第二版)课后习题答案解析

    最近没什么心情整理零散的知识点,就整理一下第四章的课后习题答案. 1.定义一个复数类Complex,重载运算符“+”,使之能用于复数的加法运算.将运算符函数重载为非成员函数,非友元的普通函数.编程序, ...

  2. 《编译原理》画 DAG 图与求优化后的 4 元式代码- 例题解析

    <编译原理>画 DAG 图与求优化后的 4 元式代码- 例题解析 DAG 图(Directed Acylic Graph)无环路有向图 (一)基本块 基本块是指程序中一顺序执行的语句序列, ...

  3. 实验七 《FBG》—-小学生课后习题答案原型设计

    一.实验目的与要求 1.掌握软件原型开发技术 2.学习使用软件原型开发工具 二.实验内容与步骤 1.开发工具: 使用的工具:墨刀(APP端开发原型) 工具简介: 墨刀(MockingBot)是一款简单 ...

  4. 大数据基础--R语言(刘鹏《大数据》课后习题答案)

    1.R语言是解释性语言还是编译性语言?   解释性语言 2.简述R语言的基本功能.   R语言是一套完整的数据处理.计算和制图软件系统,主要包括以下功能: (1)数据存储和处理功能,丰富的数据读取与存 ...

  5. Java语言程序设计(第三版)第二章课后习题答案(仅供参考)

    2.1   注意不同类型转换 import java.util.Scanner; public class Ch02 { public static void main(String[] args) ...

  6. C语言程序设计:现代方法(第2版)第二章全部习题答案

    前言 本人在通过<C语言程序设计:现代方法(第2版)>自学C语言时,发现国内并没有该书完整的课后习题答案,所以就想把自己在学习过程中所做出的答案分享出来,以供大家参考.这些答案是本人自己解 ...

  7. C++Primer第五版——习题答案目录

    目前正在刷<C++Primer>这本书,会在博客上记录课后习题答案,答案仅供参考. 因为水平有限,如有有误之处,希望大家不吝指教,谢谢! 目录地址 使用的系统为:win 10,编译器:VS ...

  8. C语言程序设计:现代方法(第2版)第三章全部习题答案

    前言 本人在通过<C语言程序设计:现代方法(第2版)>自学C语言时,发现国内并没有该书完整的课后习题答案,所以就想把自己在学习过程中所做出的答案分享出来,以供大家参考.这些答案是本人自己解 ...

  9. Thinking in Java 4th(Java编程思想第四版)文档、源码、习题答案

    Thinking in Java 4th 中.英文两版pdf文档,书中源码及课后习题答案.链接:https://pan.baidu.com/s/1BKJdtgJ3s-_rN1OB4rpLTQ 密码:2 ...

随机推荐

  1. 微信小程序1 - 扩展app.js

    常规的开发过程中, 每个Page的逻辑中,要使用 util.js   WapRequest.js, 需要在每个页面中书写 require('/utils/WapRequest'); 略繁琐 在app. ...

  2. Easyui控制combotree只能选择叶子节点

    $(function() { $('#tt').combotree({ url: 'getTree.do', onBeforeSelect: function(node) { if (!$(this) ...

  3. java 搭建web项目

    从git到maven都是莫名其妙的装上了.... 然后看了下报错,是数据的事,把链接字符串一改,数据库一建,ok,跑起来了 基本上没任何问题,唯一的问题就是我的网速太慢,maven了一夜的样子....

  4. CVPR(IEEE Conference on Computer Vision and Pattern Recognition)

    论文提交时间:11月份中旬左右会议时间:7月份左右 CVPR 2017: 网址:http://cvpr2017.thecvf.com/ 接受论文数:782

  5. Python 数据库连接池

    python编程中可以使用pymysql进行数据库连接及增删改查操作,但每次连接mysql请求时,都是独立的去请求访问,比较浪费资源,而且访问数量达到一定数量时,对mysql的性能会产生较大的影响.因 ...

  6. 第二百零七节,jQuery EasyUI,MenuButton(菜单按钮)组件

    jQuery EasyUI,MenuButton(菜单按钮)组件 学习要点: 1.加载方式 2.属性列表 3.方法列表 本节课重点了解 EasyUI 中 MenuButton(菜单按钮)组件的使用方法 ...

  7. Struts2包含哪些标签?

    Struts2包含哪些标签? 解答: A: <s:a href=”"></s:a>—–超链接,类似于html里的<a></a> <s:a ...

  8. @classmethod装饰器

    当一个类中有多条用例,我们在执行的时候每执行一条用例就要重新打开一次浏览器操作,例如下: start test1 quit start test2 start 若我们使用@classmethod装饰器 ...

  9. CNBlog客户端--项目介绍以及技术选型

    项目背景 由于现在开始在博客园写博客,再加上我是android程序员!所以呢,就自然而然的想到自己开发一个自己认为"美"的客户端!!其实还有个原因就是最近我比较闲!!纯属自己给自己 ...

  10. JAVA基础面试(五5)

    41.a.hashCode() 有什么用?与 a.equals(b) 有什么关系?        hashCode() 方法对应对象整型的 hash 值.它常用于基于 hash 的集合类,如 Hash ...