为什么这套正式命题可以枚举?

时间:2014-02-01 15:09:50

标签: algorithm computer-science discrete-mathematics

这个问题来自我的Discrete Math Homework:

如果一个程序可以编写一个程序,一旦程序启动,它将打印一个S元素列表,并且对于所有元素s∈S,程序将最终打印出该元素,所以集合S是递归可枚举的。 s。

以下哪一项是递归枚举集?

一个。 N(其中N表示自然数)

B中。 N×N(其中N表示自然数)

℃。 N的子集的幂集P(N)。

d。一套正式的命题。

电子。有理数的集合Q。

答案是“A,B,D,E”

我对选择“D.一套正式命题”感到困惑

非常感谢!

PS:“正式命题”是指“由特定符号而非英语单词组成的命题”(例如,ョx∈N,x <5)

2 个答案:

答案 0 :(得分:0)

正式命题只有在我们假设我们只对“可写”词(对于某些有限/可枚举词汇符号的有限长度>感兴趣时才能递归枚举) )。

在这种情况下,我们可以编写程序,给定对(A,B)写入长度为B的第A个命题,然后使用我们的程序写下NxN将其写下来。第一个程序的存在是基于以下假设:我们使用一些有限的符号集来将它们写下来(或者至少可以枚举);我们的命题在长度方面是有限的(我们的程序必须能够打印出来)。

答案 1 :(得分:-1)

因为你可以编写一个程序来打印出象征主义所表达的所有形式命题。考虑一组正式命题的递归定义:

  1. 原始符号的字母;每个都是一个正式的主张
  2. 使用各种算子的正式命题的组合asre formal propositions
  3. 没有别的东西是正式的命题
  4. 所以你先说,{a,b,c},然后是{(a + b),(a / b)......},然后{((a + b)+ c)......等等。

    现在,该程序永远不会终止 - 你总是可以创建一个新的f.p.通过添加另一个术语 - 但你得到所有的f.p.按某种顺序,所以你可以打印它们

    1. FP1
    2. FP2
    3. 等等。所以,你可以枚举它们:递归枚举。