computer-science - 证明可判定语言类在以下操作下是封闭的:互补、连接和交集
问题描述
我知道问题是要求为指定的图灵机提供证明。我的问题源于无法理解此问题提出的结构类型,如下所示:
我们说一个语言类C在操作 ⊕<strong>(L 1 ,L 2 ,...,L k )下是封闭的,如果对于任何L 1 ,L 2 ,...,L k ∈C,语言 ⊕<strong >(L 1 ,L 2 ,…,L k ) 在C中。
有人可以向我解释这是什么意思吗?
解决方案
假设它C
是具有某种属性(例如,作为可判定语言的属性)的所有对象的类。还假设您有一个操作·
,它采用其中两个对象并返回另一个对象(第二个只是一个示例)。我们说在 when:C
下是封闭的·
:给定两个对象x
和y
in C
,将运算符应用于它们会给出一个对象,该对象也在C
:中x · y \in C
。(这只是您的问题中给出的定义)。
例如,B
具有“它是一个布尔值”属性的对象集{ true, false }
在互补下是封闭的。b
对于来自的任何值B
,补码! b
具有“它是布尔值”的属性,因此它也在B
. 所以B
所有布尔值的集合在互补下是封闭的。在这种情况下,证明可以是一个表格,列出操作的每个输入组合,并在每种情况下验证输出。
另一个例子:S
具有属性“它是来自AZ的一个或多个字母的字符串”的所有对象的集合在连接下是封闭的:给定任意两个字符串x
和y
in S
,连接x + y
也是一个字符串,所以它必须包含在S
具有“它是一个或多个字母 AZ 的字符串”属性的对象集。在这种情况下,证明可能是一个参数,表明输出满足基于字符串连接操作定义的属性。
标题中的问题要求你展示(证明)可判定语言类在补运算、串联运算和交集运算下是封闭的。即:表明两种可判定语言的连接是一种可判定语言,两种可判定语言的交集是一种可判定语言,等等。
推荐阅读
- angular - 单元测试角案例开关formControl
- elasticsearch - Elasticsearch 根据属性数量查找匹配文档
- css - css组件动画正在移动父组件
- mitmproxy - 在 Firefox 89.0 上设置代理
- azure - Azure Function Timer Trigger & API management - 手动执行返回 404
- python - 环境文件中 pip 安装的依赖项的 AzureML SDK 问题
- javascript - 如何将javascript添加到车把模板文件?
- python - 使用 map 函数从 dict 中弹出
- duration - solar2d中发射器的持续时间
- python - 使用分页在 Python 中返回所有 Azure AD 用户信息