Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cocoa/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/asp.net-mvc-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Computer science 上下文无关语言的一个子集是上下文无关的吗?_Computer Science_Context Free Grammar - Fatal编程技术网

Computer science 上下文无关语言的一个子集是上下文无关的吗?

Computer science 上下文无关语言的一个子集是上下文无关的吗?,computer-science,context-free-grammar,Computer Science,Context Free Grammar,我一直在解决这个问题,我不知道从哪里开始: A语言B是上下文无关的;语言C是B的子集:C是上下文无关的吗?证明或反驳 我尝试使用闭包属性: C=B-((A*-C)∩ B)[A*是字母表A上所有单词的集合] 考虑到CF语言在互补和交集下是不封闭的,我想说C语言不是被迫成为CF语言的,但我不确定这是一个很好的证明 有人能帮忙吗?这里有个提示。正规语言的子集不一定是正规的:A*b*是正规的,但是A^nb^n是A*b*的子集,是不正规的。你能为上下文无关的语言想出一个类似的例子吗?如果你认为这不是真的,

我一直在解决这个问题,我不知道从哪里开始:

A语言B是上下文无关的;语言C是B的子集:C是上下文无关的吗?证明或反驳

我尝试使用闭包属性:

C=B-((A*-C)∩ B)[A*是字母表A上所有单词的集合]

考虑到CF语言在互补和交集下是不封闭的,我想说C语言不是被迫成为CF语言的,但我不确定这是一个很好的证明


有人能帮忙吗?

这里有个提示。正规语言的子集不一定是正规的:
A*b*
是正规的,但是
A^nb^n
A*b*
的子集,是不正规的。你能为上下文无关的语言想出一个类似的例子吗?

如果你认为这不是真的,你有没有试过找到一个反例?是的,我试过,但我能找到nooneSo,例如:B={a^n B^m C^n | n,m>0};A={A^nb^mc^n | n=m}。A是B的子集,但它不是CF。