x*****p 发帖数: 1707 | 1 我们假设不知道什么叫素数,我们对正整数集合进行如下的定义来定义素数。(这是从
链接上取下来的,也是I63的定义)
(1) 1不是素数 (base case)
(2) a是素数当且仅当a不能被任何小于它的素数整除。
我曾经多次指出,这个定义在用素数定义素数,是不正确的。但看到很多的反驳如下。
1不是素数, 我们考察2,发现小于2的素数集合为空集,于是2为素数。以此再往下递归
,得出所有素数的定义。我想昨天深入讨论此内容的人,都不会反对我的总结吧。关于
"小于2的素数集合为空集"推出"2为素数",因我的不慎,还做出过郑重道歉。
好,我们仿造这种递归定义,来定义偶数。
我们假设不知道什么叫偶数,我们对非负整数集合进行如下的定义来定义偶数。
(1) 0不是偶数 (base case)
(2) a是偶数当且仅当a与任何小于它的偶数之差为2的倍数。
我从base case开始。0不是偶数。我们考察下一个数1,发现小于1的偶数集合为空集,
于是1为偶数。以此递归,我们得出的偶数是1, 3, 5, 7, ...。实际上,这与我们传统
定义的偶数完全不一样。
大家发现问题在那里么? |
f*******i 发帖数: 1049 | |
x*****p 发帖数: 1707 | |
x*****p 发帖数: 1707 | 4 那1为什么不是素数?
【在 f*******i 的大作中提到】 : 0怎么不是偶数
|
x*****p 发帖数: 1707 | 5 我开此贴的目的,是为了证明,对一个概念的定义,是不能用递归方法来进行的,这也
是I63开的高楼的错误所在。因为递归定义的base case的判断,就是来源于一个概念的
原始定义。 |
x*****p 发帖数: 1707 | |
f*******i 发帖数: 1049 | |
x*****p 发帖数: 1707 | 8 我看过,凭我学数学的直觉,这些递归定义都是建立在对原始定义认可的基础之上的。
所以说,纯粹的递归定义本身是用概念定义概念,本身就是矛盾的。
举这个链接的一例来说,定义自然数。先申明1是自然数,然后递归说如果N是自然数,
那N+1也是自然数。但这个定义忽略了一条,就是为什么这么肯定1是自然数?这是因为
自然数本身的定义,就证明了1是自然数。离开了自然数的本身定义,这个递归定义没有
任何的意义。 |
|
x*****p 发帖数: 1707 | 9 昨天我的很多回帖,许多人看不懂。我质疑在递归定义中1为什么不是素数,许多人觉
得这是再明显不过的事情,可是在离开素数原始定义的前提下,这却很不明显。所以我
今天开贴举一反例,证明递归定义的错误所在。 |
f*******i 发帖数: 1049 | 10 说说你怎么严密定义自然数吧
皮亚诺公理体系里,自然数就是递归定义的
(当然,1这个base是要先人为定死的)
没有
【在 x*****p 的大作中提到】 : 我看过,凭我学数学的直觉,这些递归定义都是建立在对原始定义认可的基础之上的。 : 所以说,纯粹的递归定义本身是用概念定义概念,本身就是矛盾的。 : 举这个链接的一例来说,定义自然数。先申明1是自然数,然后递归说如果N是自然数, : 那N+1也是自然数。但这个定义忽略了一条,就是为什么这么肯定1是自然数?这是因为 : 自然数本身的定义,就证明了1是自然数。离开了自然数的本身定义,这个递归定义没有 : 任何的意义。
|
|
|
x*****p 发帖数: 1707 | 11 好,我就说说如何定义自然数。我们要从数学基础的集合论公理做起。先定义空集,而
这个空集对应于数字0。然后定义包括空集的集合,这个集合对应数字1。然后进行集合
的运算,定义加法,得到一个加法半群,就成为自然数集体。再扩展成加法群,就成了
整数集合。再在这个集合上定义乘法,成为环,再将乘法演变为乘法群,最终成为有理
数域。在这个有理数域的基础上用极限的概念求闭集,成为实数域。 |
m**x 发帖数: 8454 | 12 不带像lz这样煽自己耳光的好不好
发信人: xiongyp (dreamrain), 信区: WaterWorld
标 题: Re: 关于使用反证法证明 "素数有无穷多个"
发信站: BBS 未名空间站 (Thu May 23 17:23:27 2013, 美东)
我承认,但这个等价不明显,需要有完备性的证明。我同样给出的另一个类似的递归定
义,就不完备。对于一个不明显的递归定义,有必要进行说明或者证明。楼主在这个问
题上一笔跳过,是不严谨的。
发信人: xiongyp (dreamrain), 信区: WaterWorld
标 题: Re: 有人认为反证法的证明过程中不能用某些定理,某些等价定义,我问
发信站: BBS 未名空间站 (Fri May 24 09:02:54 2013, 美东)
等价定义可以,但I63对素数的递归定义,与素数本身的定义不等价。
,. |
s**e 发帖数: 1498 | 13 气死康托尔
【在 x*****p 的大作中提到】 : 好,我就说说如何定义自然数。我们要从数学基础的集合论公理做起。先定义空集,而 : 这个空集对应于数字0。然后定义包括空集的集合,这个集合对应数字1。然后进行集合 : 的运算,定义加法,得到一个加法半群,就成为自然数集体。再扩展成加法群,就成了 : 整数集合。再在这个集合上定义乘法,成为环,再将乘法演变为乘法群,最终成为有理 : 数域。在这个有理数域的基础上用极限的概念求闭集,成为实数域。
|
x*****p 发帖数: 1707 | 14 昨天我也被绕晕了,所以后来说洗睡了。想明白这个递归定义的问题,今天再来发贴。 |
x*****p 发帖数: 1707 | 15 你们也不用顾左右而言他,先说说我1楼的贴子,说的对不对? |
x*****p 发帖数: 1707 | 16 再说我多次强调2是素数的这个结论不明显。当时被绕晕了,只是直觉不明显。今天才
找到问题所在。 |
m**x 发帖数: 8454 | 17 你的定义的定义出来的偶数是我们所说的奇数。但定义仍然是well-defined,只不过
和公认定义不等价罢了。
【在 x*****p 的大作中提到】 : 昨天我也被绕晕了,所以后来说洗睡了。想明白这个递归定义的问题,今天再来发贴。
|
s**e 发帖数: 1498 | 18 看到你认为皮亚诺公理是错的,我就没兴趣看了。
【在 x*****p 的大作中提到】 : 你们也不用顾左右而言他,先说说我1楼的贴子,说的对不对?
|
m**x 发帖数: 8454 | 19 因为你给的定义,奇数偶数都满足,如果不考虑basecase的话 |
m**x 发帖数: 8454 | |
|
|
f*******i 发帖数: 1049 | 21 生活中的自然数2,3,4,5,6... 就是递归定义的(从小时候数数开始),自是一般人没有意
识都这点而已.
当然, 1(base case)这个概念的生成,是哲学性的 |
x*****p 发帖数: 1707 | 22 我没否认过皮亚诺公理,这个公理先定义了1为自然数。我只是从集合论的公理,来定
义1为自然数罢了,没什么矛盾的。集合论的公理体系与皮亚诺公理不矛盾。
【在 s**e 的大作中提到】 : 看到你认为皮亚诺公理是错的,我就没兴趣看了。
|
x*****p 发帖数: 1707 | 23 这就如同我问,为什么1不是素数?
【在 m**x 的大作中提到】 : 最关键的一点,为什么0不是偶数?
|
x*****p 发帖数: 1707 | |
s**e 发帖数: 1498 | 25 我没说矛盾,我是说你认为"皮亚诺公理第一条:1是自然数"需要证明。这是不对的。
【在 x*****p 的大作中提到】 : 我没否认过皮亚诺公理,这个公理先定义了1为自然数。我只是从集合论的公理,来定 : 义1为自然数罢了,没什么矛盾的。集合论的公理体系与皮亚诺公理不矛盾。
|
m**x 发帖数: 8454 | 26 我的意思是,正因为你说0不是偶数,所以造成了和公认偶数定义的不同。你可理解?
你定义出来的偶数实际上是奇数。还有什么问题?
【在 x*****p 的大作中提到】 : 这就如同我问,为什么1不是素数?
|
f*******i 发帖数: 1049 | 27 a是素数 <=> a是大于1的自然数, 且a不被任何小于a的素数整除
已经"硬性"规定了1不是素数
你认为这个跟一般的定义不等价?
【在 x*****p 的大作中提到】 : 这就如同我问,为什么1不是素数?
|
m**x 发帖数: 8454 | 28 lz第一没有说明递归定义为什么就一定不严谨,第二没有说明为什么l63的素数定义和
公认素数定义不等价。 |
x*****p 发帖数: 1707 | 29 这正是我要你明白的东西。也就是说,在递归定义中的base case,必须符合这个概念
的原始定义。
如果一个概念没有原始的定义,任何纯粹的递归定义都站不住脚。
我们有了素数的原始定义,才发现1不是素数,结果才衍生出了递归定义。也就是说,
原始的素数定义,能衍生出素数的递归定义,其实应该算推论。但在我们还不知道什么
叫素数的前提下,这个递归定义不成立。
同样,你认为0不是偶数的判断是错误的,这就是来源于你对偶数有个原始定义(2的倍
数)的判断。你在判断0是否是偶数的问题上,是不依赖于我后面的递归定义的。
我说这些,不知你看没看懂?
【在 m**x 的大作中提到】 : 我的意思是,正因为你说0不是偶数,所以造成了和公认偶数定义的不同。你可理解? : 你定义出来的偶数实际上是奇数。还有什么问题?
|
x*****p 发帖数: 1707 | 30 这个1不是素数,并不是硬性规定的,而是根据素数本身的原始定义得到的。
【在 f*******i 的大作中提到】 : a是素数 <=> a是大于1的自然数, 且a不被任何小于a的素数整除 : 已经"硬性"规定了1不是素数 : 你认为这个跟一般的定义不等价?
|
|
|
m**x 发帖数: 8454 | 31 我只知道l63定义的素数等价于公认的素数,你定义的偶数等价于公认的非负奇数。仅
此而已。不能因为你定义的偶数不是偶数就说递归定义不对。
【在 x*****p 的大作中提到】 : 这正是我要你明白的东西。也就是说,在递归定义中的base case,必须符合这个概念 : 的原始定义。 : 如果一个概念没有原始的定义,任何纯粹的递归定义都站不住脚。 : 我们有了素数的原始定义,才发现1不是素数,结果才衍生出了递归定义。也就是说, : 原始的素数定义,能衍生出素数的递归定义,其实应该算推论。但在我们还不知道什么 : 叫素数的前提下,这个递归定义不成立。 : 同样,你认为0不是偶数的判断是错误的,这就是来源于你对偶数有个原始定义(2的倍 : 数)的判断。你在判断0是否是偶数的问题上,是不依赖于我后面的递归定义的。 : 我说这些,不知你看没看懂?
|
m**x 发帖数: 8454 | 32 当然是硬性规定。1难道不符合素数只能被1和自身整除的定义?
【在 x*****p 的大作中提到】 : 这个1不是素数,并不是硬性规定的,而是根据素数本身的原始定义得到的。
|
f*******i 发帖数: 1049 | 33 是的,等价定义好了,正确了,就可以抛开原定义直接没有任何犹豫地使用了,有什么问题吗
【在 x*****p 的大作中提到】 : 这正是我要你明白的东西。也就是说,在递归定义中的base case,必须符合这个概念 : 的原始定义。 : 如果一个概念没有原始的定义,任何纯粹的递归定义都站不住脚。 : 我们有了素数的原始定义,才发现1不是素数,结果才衍生出了递归定义。也就是说, : 原始的素数定义,能衍生出素数的递归定义,其实应该算推论。但在我们还不知道什么 : 叫素数的前提下,这个递归定义不成立。 : 同样,你认为0不是偶数的判断是错误的,这就是来源于你对偶数有个原始定义(2的倍 : 数)的判断。你在判断0是否是偶数的问题上,是不依赖于我后面的递归定义的。 : 我说这些,不知你看没看懂?
|
f*******i 发帖数: 1049 | 34 Dedekind domain,
http://en.wikipedia.org/wiki/Dedekind_domain#Alternative_defini
数学中,像这样有很多等价定义(你也可以说是命题)的概念非常多,
once proved their equivalence, you can use either of them without any
hesitation or doubt in any circumstance. |
m**x 发帖数: 8454 | 35 你就说为什么lz的递归定义不对吧,别尽beat around the bush。你说不等价,你必须
证明,而不是说空话。我可以证明其等价:即A=>B & B=>A
【在 x*****p 的大作中提到】 : 这正是我要你明白的东西。也就是说,在递归定义中的base case,必须符合这个概念 : 的原始定义。 : 如果一个概念没有原始的定义,任何纯粹的递归定义都站不住脚。 : 我们有了素数的原始定义,才发现1不是素数,结果才衍生出了递归定义。也就是说, : 原始的素数定义,能衍生出素数的递归定义,其实应该算推论。但在我们还不知道什么 : 叫素数的前提下,这个递归定义不成立。 : 同样,你认为0不是偶数的判断是错误的,这就是来源于你对偶数有个原始定义(2的倍 : 数)的判断。你在判断0是否是偶数的问题上,是不依赖于我后面的递归定义的。 : 我说这些,不知你看没看懂?
|
x*****p 发帖数: 1707 | 36 什么叫等价定义?在你用递归方法定义素数的时候,并不知道什么样的数叫素数。但却
硬性规定了1不是素数。对于这种base case的由来,如果所有的递归定义都仅仅是”硬
性“来规定的,那就会出问题。比如我1楼给的偶数的定义,我们在完全不知道何为偶
数的情况下,表面上的定义是没问题的。却定义出一堆奇数。
当然,这种base case如果是符合这个概念的原始定义的,由递归推导出来的定义就没
有问题。
所以,我讲半天,一会说素数定义等价,一会又说不等价,其实就是在质疑用递归方法
定义中的逻辑错误。你所说的证明两个等价,是在明白什么叫素数,在素数有了原始定
义基础之上发生出来的等价关系。
最后问一句吧。我们在完全不知道一个概念的情况下,用递归来定义这个概念,你是如
何判断这个base case的?
【在 m**x 的大作中提到】 : 你就说为什么lz的递归定义不对吧,别尽beat around the bush。你说不等价,你必须 : 证明,而不是说空话。我可以证明其等价:即A=>B & B=>A
|
x*****p 发帖数: 1707 | 37 当然,有一种情况,base case的定义没有疑问,就是这个base case来自于一个公理。
比如用皮亚诺公理递归定义自然数。在base case中定义1为自然数。 |
m**x 发帖数: 8454 | 38 等价就是A=>B且B=>A,哪来那么多废话。用l63定义可以证明2为素数,我也证明了。你
还不知道什么是素数?
【在 x*****p 的大作中提到】 : 什么叫等价定义?在你用递归方法定义素数的时候,并不知道什么样的数叫素数。但却 : 硬性规定了1不是素数。对于这种base case的由来,如果所有的递归定义都仅仅是”硬 : 性“来规定的,那就会出问题。比如我1楼给的偶数的定义,我们在完全不知道何为偶 : 数的情况下,表面上的定义是没问题的。却定义出一堆奇数。 : 当然,这种base case如果是符合这个概念的原始定义的,由递归推导出来的定义就没 : 有问题。 : 所以,我讲半天,一会说素数定义等价,一会又说不等价,其实就是在质疑用递归方法 : 定义中的逻辑错误。你所说的证明两个等价,是在明白什么叫素数,在素数有了原始定 : 义基础之上发生出来的等价关系。 : 最后问一句吧。我们在完全不知道一个概念的情况下,用递归来定义这个概念,你是如
|
m**x 发帖数: 8454 | 39 对我32楼视而不见么?
【在 x*****p 的大作中提到】 : 什么叫等价定义?在你用递归方法定义素数的时候,并不知道什么样的数叫素数。但却 : 硬性规定了1不是素数。对于这种base case的由来,如果所有的递归定义都仅仅是”硬 : 性“来规定的,那就会出问题。比如我1楼给的偶数的定义,我们在完全不知道何为偶 : 数的情况下,表面上的定义是没问题的。却定义出一堆奇数。 : 当然,这种base case如果是符合这个概念的原始定义的,由递归推导出来的定义就没 : 有问题。 : 所以,我讲半天,一会说素数定义等价,一会又说不等价,其实就是在质疑用递归方法 : 定义中的逻辑错误。你所说的证明两个等价,是在明白什么叫素数,在素数有了原始定 : 义基础之上发生出来的等价关系。 : 最后问一句吧。我们在完全不知道一个概念的情况下,用递归来定义这个概念,你是如
|
x*****p 发帖数: 1707 | 40 你还是没明白。你在看我的定义的时候,脑子里已然有了奇偶数的概念。这样才会问我
为什么0不是偶数。同样,当你已有了素数的概念的时候,我问你为什么说1不是素数,
你觉得这个问题很可笑。
【在 m**x 的大作中提到】 : 因为你给的定义,奇数偶数都满足,如果不考虑basecase的话
|
|
|
x*****p 发帖数: 1707 | 41 说了半天很多人还是不明白。请回答一个问题吧。当你完全不知道什么叫素数的时候,
如何判断1不是素数? |
m**x 发帖数: 8454 | 42 对我32楼视而不见么?
【在 x*****p 的大作中提到】 : 说了半天很多人还是不明白。请回答一个问题吧。当你完全不知道什么叫素数的时候, : 如何判断1不是素数?
|
j****q 发帖数: 204 | 43 大哥。。你的递归定义没有问题啊,只是你说的偶数其实是公认的奇数而已,原因就在
于你的base case和本该定义偶数的base case不一样。
那么你是不是认为把你的base case改为0是偶数,你的递归定义仍然是错的?因为你不
知道什么偶数?
【在 x*****p 的大作中提到】 : 说了半天很多人还是不明白。请回答一个问题吧。当你完全不知道什么叫素数的时候, : 如何判断1不是素数?
|
C**********r 发帖数: 8189 | 44 这个id…好眼熟
【在 j****q 的大作中提到】 : 大哥。。你的递归定义没有问题啊,只是你说的偶数其实是公认的奇数而已,原因就在 : 于你的base case和本该定义偶数的base case不一样。 : 那么你是不是认为把你的base case改为0是偶数,你的递归定义仍然是错的?因为你不 : 知道什么偶数?
|
d******k 发帖数: 4295 | 45 为什么自然数不从0开始呢?
为什么平面几何里任意一点到另外任意一点可以画直线?
为什么概率是从0到1呢?
【在 x*****p 的大作中提到】 : 说了半天很多人还是不明白。请回答一个问题吧。当你完全不知道什么叫素数的时候, : 如何判断1不是素数?
|
x*****p 发帖数: 1707 | 46 就象我完全不知道什么叫偶数的情况下如何判断0是不是偶数。其实就一句话,硬性规
定。
这个硬性规定,如果来自公理系统,比如说皮亚诺公理,我无话可说。但集体论公理却
给了另外一种解释罢了。
如果这个硬性规定,不是来自于什么公理,那么由此推出来的某个概念,可能就不同于
我们已认知的那个概念。比如我举的例子,进行了不同于我们认知的硬性规定,结果把
偶数的定义变成了一堆奇数。
【在 x*****p 的大作中提到】 : 说了半天很多人还是不明白。请回答一个问题吧。当你完全不知道什么叫素数的时候, : 如何判断1不是素数?
|
j****q 发帖数: 204 | 47 您的id更眼熟了~~以前搀和过zl帖子,不过参与者实在太无聊,就没follow up了,这
个帖子有意思多了。。。。
不过我真诚的劝您一句,别搀和这个了,zl那事您可能是对的,但这事。。您错了。。
。多多google有益身心健康
【在 C**********r 的大作中提到】 : 这个id…好眼熟
|
x*****p 发帖数: 1707 | 48 我开贴给了素数无穷的另一证明。
【在 j****q 的大作中提到】 : 您的id更眼熟了~~以前搀和过zl帖子,不过参与者实在太无聊,就没follow up了,这 : 个帖子有意思多了。。。。 : 不过我真诚的劝您一句,别搀和这个了,zl那事您可能是对的,但这事。。您错了。。 : 。多多google有益身心健康
|
x*****p 发帖数: 1707 | 49 试图用很多方法,总是让人不明白。我希望我下面的说法,能让大家明白问题所在。
我如果要用递归定义素数,为了不与素数的原始定义冲突,让大家对”素数“这个概念
产生歧义,我在下面的全程不提素数两字。
我们定义正整数集体的一个子集X,满足下面的条件
(1) 1不属于X
(2) x属于X,当且仅当x不能被任何X中小于x的数整除
通过这个递归定义,我们得到了集合,通过比较我们传统定义的素数集合,发现二者是
完全一样的。于是我们称由此递归定义出来的集合中的元素,为素数。
我一直坚持的就是,在完全不知道素数定义的前提下,递归定义中也不应该有”素数“
这个词。
在1楼举的偶数的例子,也如同上面用集合办法定义,得出来的集合,发现和我们认知
的奇数集合是完全一样的,所以得出来的,就不能称为偶数,而称为奇数。只要我的递
归定义中不出现”偶数“这样的字眼,就没问题了。
如果还看不懂,我就无语了,也不用回贴了。 |
l*3 发帖数: 2279 | 50 我来了~
我先这么问你吧, 一步一步来.
在主流数学公理,定义 (包括素数的定义),逻辑体系下, 你说说以下这个陈述对不对:
"a是素数 <=> a是大于1的自然数, 且a不被任何小于a的素数整除"
注意, 我只要求你把这句话当做一个普通的命题来看, 并不是问你这句话能不能定义出
素数. 假设我先不关心这句话能否给出素数的定义 (素数本身是有主流定义的, 这一点
你承认吧?), 我只问你这个命题的正确性.
所以你只需回答 "正确" 或者 "错误".
谢谢!
【在 x*****p 的大作中提到】 : 我们假设不知道什么叫素数,我们对正整数集合进行如下的定义来定义素数。(这是从 : 链接上取下来的,也是I63的定义) : (1) 1不是素数 (base case) : (2) a是素数当且仅当a不能被任何小于它的素数整除。 : 我曾经多次指出,这个定义在用素数定义素数,是不正确的。但看到很多的反驳如下。 : 1不是素数, 我们考察2,发现小于2的素数集合为空集,于是2为素数。以此再往下递归 : ,得出所有素数的定义。我想昨天深入讨论此内容的人,都不会反对我的总结吧。关于 : "小于2的素数集合为空集"推出"2为素数",因我的不慎,还做出过郑重道歉。 : 好,我们仿造这种递归定义,来定义偶数。 : 我们假设不知道什么叫偶数,我们对非负整数集合进行如下的定义来定义偶数。
|
|
|
x*****p 发帖数: 1707 | 51 我一直承认这个命题是对的。
【在 l*3 的大作中提到】 : 我来了~ : 我先这么问你吧, 一步一步来. : 在主流数学公理,定义 (包括素数的定义),逻辑体系下, 你说说以下这个陈述对不对: : "a是素数 <=> a是大于1的自然数, 且a不被任何小于a的素数整除" : 注意, 我只要求你把这句话当做一个普通的命题来看, 并不是问你这句话能不能定义出 : 素数. 假设我先不关心这句话能否给出素数的定义 (素数本身是有主流定义的, 这一点 : 你承认吧?), 我只问你这个命题的正确性. : 所以你只需回答 "正确" 或者 "错误". : 谢谢!
|
C**********r 发帖数: 8189 | 52 哈哈。强大。拍个照。
【在 j****q 的大作中提到】 : 您的id更眼熟了~~以前搀和过zl帖子,不过参与者实在太无聊,就没follow up了,这 : 个帖子有意思多了。。。。 : 不过我真诚的劝您一句,别搀和这个了,zl那事您可能是对的,但这事。。您错了。。 : 。多多google有益身心健康
|
T*******s 发帖数: 44 | 53 问你个问题,零的零次方是多少?还有零的factorial是多少?
出来争论,要先搞清楚什么是定义,什么是逻辑推理。
【在 x*****p 的大作中提到】 : 那1为什么不是素数?
|
m**x 发帖数: 8454 | 54 我很早就看懂你的意思了,只是我不同意你这个观点罢了。而且我也不认为你举的所有
例子可以证明你这个观点。
【在 x*****p 的大作中提到】 : 试图用很多方法,总是让人不明白。我希望我下面的说法,能让大家明白问题所在。 : 我如果要用递归定义素数,为了不与素数的原始定义冲突,让大家对”素数“这个概念 : 产生歧义,我在下面的全程不提素数两字。 : 我们定义正整数集体的一个子集X,满足下面的条件 : (1) 1不属于X : (2) x属于X,当且仅当x不能被任何X中小于x的数整除 : 通过这个递归定义,我们得到了集合,通过比较我们传统定义的素数集合,发现二者是 : 完全一样的。于是我们称由此递归定义出来的集合中的元素,为素数。 : 我一直坚持的就是,在完全不知道素数定义的前提下,递归定义中也不应该有”素数“ : 这个词。
|
x*****p 发帖数: 1707 | 55 如果这样的定义也可以成立,我们可以简单的如下定义素数
a是素数当且仅当a是素数集合的一个元素。
那你认为我上面的命题对不对? |
l*3 发帖数: 2279 | 56 好, 那么抛开 "这个陈述到底能不能作为定义" 这个问题不谈, 如果你认为这个命题是
对的, 那么我原帖 http://www.mitbbs.com/article_t1/WaterWorld/2025181_0_1.html 中的证明 (刨去其中用了 "素数的定义" 这种说法), 应该是对的?
-----
你可以放心回答, 我不会等你答完这个问题就跑的. 我只是想一步一步来, 这样比较清
楚.
【在 x*****p 的大作中提到】 : 我一直承认这个命题是对的。
|
m**x 发帖数: 8454 | 57 这个是not well defined
再说一遍。你举一个例子说明这个“循环”定义不对,并不能说明所有“循环”定义都
不对。我说的对指: well-defined
【在 x*****p 的大作中提到】 : 如果这样的定义也可以成立,我们可以简单的如下定义素数 : a是素数当且仅当a是素数集合的一个元素。 : 那你认为我上面的命题对不对?
|
m**x 发帖数: 8454 | 58 这个我证明,xiongyp很早就同意如果把“定义”改为“推论”,证明没有问题。现在
他纠结的只是“循环”定义能不能成为定义的问题。
【在 l*3 的大作中提到】 : 好, 那么抛开 "这个陈述到底能不能作为定义" 这个问题不谈, 如果你认为这个命题是 : 对的, 那么我原帖 http://www.mitbbs.com/article_t1/WaterWorld/2025181_0_1.html 中的证明 (刨去其中用了 "素数的定义" 这种说法), 应该是对的? : ----- : 你可以放心回答, 我不会等你答完这个问题就跑的. 我只是想一步一步来, 这样比较清 : 楚.
|
x*****p 发帖数: 1707 | 59 这就要回到集合论,甚至是形而上学的东西了。
一个概念,我们有了一个清楚的原始定义,形成关于这个概念的集合。这个定义可以派
生出很多等价定义。我对等价定义的理解,就是用另外与这个概念无关的另一种描述,
也生成一个集合,而这个集与这个概念的集合完全相同。于是关于另一种描述,也成为
这个概念的一种等价描述。
【在 m**x 的大作中提到】 : 这个是not well defined : 再说一遍。你举一个例子说明这个“循环”定义不对,并不能说明所有“循环”定义都 : 不对。我说的对指: well-defined
|
x*****p 发帖数: 1707 | 60 确实如此。我从没反对I63整体的逻辑证明,这与那些民科回贴不一样。我只是不认同
这个递归的定义罢了。
【在 m**x 的大作中提到】 : 这个我证明,xiongyp很早就同意如果把“定义”改为“推论”,证明没有问题。现在 : 他纠结的只是“循环”定义能不能成为定义的问题。
|
|
|
m**x 发帖数: 8454 | 61 这个现在成为语文问题了。好吧,我说i63的定义是implicit definition,可不可以。
你理解的定义就是必须是explicit才是定义。我的理解,只要两个命题等价,他就是一
回事儿。等价即A=>B且B=>A
【在 x*****p 的大作中提到】 : 这就要回到集合论,甚至是形而上学的东西了。 : 一个概念,我们有了一个清楚的原始定义,形成关于这个概念的集合。这个定义可以派 : 生出很多等价定义。我对等价定义的理解,就是用另外与这个概念无关的另一种描述, : 也生成一个集合,而这个集与这个概念的集合完全相同。于是关于另一种描述,也成为 : 这个概念的一种等价描述。
|
f*******i 发帖数: 1049 | 62 你这个是真命题,但不是定义(或者说是循环定义)
别人的是递归定义,注意区别
【在 x*****p 的大作中提到】 : 如果这样的定义也可以成立,我们可以简单的如下定义素数 : a是素数当且仅当a是素数集合的一个元素。 : 那你认为我上面的命题对不对?
|
w***n 发帖数: 1084 | 63 你这个递归定义没有问题. 你这个递归定义和数学归纳法是一样的.
递归和循环是两码事情. 递归是有起点的, 循环是没有起点的
【在 x*****p 的大作中提到】 : 我们假设不知道什么叫素数,我们对正整数集合进行如下的定义来定义素数。(这是从 : 链接上取下来的,也是I63的定义) : (1) 1不是素数 (base case) : (2) a是素数当且仅当a不能被任何小于它的素数整除。 : 我曾经多次指出,这个定义在用素数定义素数,是不正确的。但看到很多的反驳如下。 : 1不是素数, 我们考察2,发现小于2的素数集合为空集,于是2为素数。以此再往下递归 : ,得出所有素数的定义。我想昨天深入讨论此内容的人,都不会反对我的总结吧。关于 : "小于2的素数集合为空集"推出"2为素数",因我的不慎,还做出过郑重道歉。 : 好,我们仿造这种递归定义,来定义偶数。 : 我们假设不知道什么叫偶数,我们对非负整数集合进行如下的定义来定义偶数。
|
x*****p 发帖数: 1707 | 64 原贴中的下面这句有歧义
[由素数的定义:
a是素数 <=> a是大于1的自然数, 且a不被任何小于a的素数整除]
我理解为素数的定义就是上面这个式子。这个不是素数的原始定义。如果说"由素数的
定义,有以下的结论",那这个证明没有任何的问题。
【在 m**x 的大作中提到】 : 这个我证明,xiongyp很早就同意如果把“定义”改为“推论”,证明没有问题。现在 : 他纠结的只是“循环”定义能不能成为定义的问题。
|
l*3 发帖数: 2279 | 65 哦......
"从没反对" 这种话还是别说了.. 我那帖子里有你的发言记录的...
所以你现在的意思是, 我的证明没错, 只是我那个定义到底能不能 work out, 我没有
加以说明.
对不对?
另外, 麻烦你对56楼的问题做一个清楚明确的回答, 谢谢!
【在 x*****p 的大作中提到】 : 确实如此。我从没反对I63整体的逻辑证明,这与那些民科回贴不一样。我只是不认同 : 这个递归的定义罢了。
|
l*3 发帖数: 2279 | 66 那我也尽量表述清楚一些吧:
你的意思是, 你之前说我的证明 "有误", 并不是证明本身有错误, 而是指其中 "由素
数的定义" 这个表述不够恰当, 没有说明其合理性, 对吧? 至于证明本身, 是正确的?
【在 x*****p 的大作中提到】 : 原贴中的下面这句有歧义 : [由素数的定义: : a是素数 <=> a是大于1的自然数, 且a不被任何小于a的素数整除] : 我理解为素数的定义就是上面这个式子。这个不是素数的原始定义。如果说"由素数的 : 定义,有以下的结论",那这个证明没有任何的问题。
|
m**x 发帖数: 8454 | 67 <=> 的意思其实是说<=>右边的命题和素数原始定义等价。结论只是=> , 等价则是<=>
【在 x*****p 的大作中提到】 : 原贴中的下面这句有歧义 : [由素数的定义: : a是素数 <=> a是大于1的自然数, 且a不被任何小于a的素数整除] : 我理解为素数的定义就是上面这个式子。这个不是素数的原始定义。如果说"由素数的 : 定义,有以下的结论",那这个证明没有任何的问题。
|
m**x 发帖数: 8454 | 68 我再打个比方来说明我的implicit definition.我现在定义x, x满足 x+2=4。 你认为
这是不是个定义?
【在 x*****p 的大作中提到】 : 原贴中的下面这句有歧义 : [由素数的定义: : a是素数 <=> a是大于1的自然数, 且a不被任何小于a的素数整除] : 我理解为素数的定义就是上面这个式子。这个不是素数的原始定义。如果说"由素数的 : 定义,有以下的结论",那这个证明没有任何的问题。
|
l*3 发帖数: 2279 | |
j****q 发帖数: 204 | 70 额~~拍照为啥。。。
难道又要扯我到lzsw那事上??。。。我惹不起还躲不起么。。。
【在 C**********r 的大作中提到】 : 哈哈。强大。拍个照。
|
|
|
m**x 发帖数: 8454 | 71 你也有说着说着不见的时候啊。耐心吧。
【在 l*3 的大作中提到】 : 怎么楼主说着说着就不见了? 坑不挖了吗?
|
l*3 发帖数: 2279 | 72 嗯, 谢谢!
【在 m**x 的大作中提到】 : 你也有说着说着不见的时候啊。耐心吧。
|
t*******d 发帖数: 12895 | 73 作为有数理逻辑训练的人,你的zlsw处女贴是真弱,
比海狸在反证法里的表现,弱多了去, hehe
【在 j****q 的大作中提到】 : 额~~拍照为啥。。。 : 难道又要扯我到lzsw那事上??。。。我惹不起还躲不起么。。。
|
j****q 发帖数: 204 | 74 是啊。。您有数理逻辑训练行了么,sw就是凶手行了么?
和你们这群人真是纠缠不清啊。。。
数学问题是一定有对错的,对就是对了 错就是错了。
尼玛真是躲都躲不掉啊。。。。
另外我原贴完全就是在讨论,然后看到底下有人骂街 那还有啥讨论的意义呢?既然没
有讨论,又如何体现逻辑呢?就算我说sw不是凶手(我原贴没说他不是),你能证明我
这个结论有逻辑上的错误?你学过逻辑么?你学过数学么?你上过大学么?你上过高中
么。。。
swzl案件起码目前无法有足够证据证明凶手是谁吧?这两者可以比较么?
要是硬比,海狸在这个素数问题上就是错了,而我在swzl上,起码有十万分之一的可能
性是对的。。。
你自己说你有逻辑么?
拉帮站队这种事真心没意思,别再这学术帖子里扯swzl好么
【在 t*******d 的大作中提到】 : 作为有数理逻辑训练的人,你的zlsw处女贴是真弱, : 比海狸在反证法里的表现,弱多了去, hehe
|
C**********r 发帖数: 8189 | 75 结案结案。大妈我小时候是数学爱好者,后来发现自己太笨就不学了。你看我连超越都
不知道。
【在 j****q 的大作中提到】 : 是啊。。您有数理逻辑训练行了么,sw就是凶手行了么? : 和你们这群人真是纠缠不清啊。。。 : 数学问题是一定有对错的,对就是对了 错就是错了。 : 尼玛真是躲都躲不掉啊。。。。 : 另外我原贴完全就是在讨论,然后看到底下有人骂街 那还有啥讨论的意义呢?既然没 : 有讨论,又如何体现逻辑呢?就算我说sw不是凶手(我原贴没说他不是),你能证明我 : 这个结论有逻辑上的错误?你学过逻辑么?你学过数学么?你上过大学么?你上过高中 : 么。。。 : swzl案件起码目前无法有足够证据证明凶手是谁吧?这两者可以比较么? : 要是硬比,海狸在这个素数问题上就是错了,而我在swzl上,起码有十万分之一的可能
|
i***q 发帖数: 1095 | 76 人要多空虚,才能在一道小学竞赛题上争论好几天啊……
【在 x*****p 的大作中提到】 : 我们假设不知道什么叫素数,我们对正整数集合进行如下的定义来定义素数。(这是从 : 链接上取下来的,也是I63的定义) : (1) 1不是素数 (base case) : (2) a是素数当且仅当a不能被任何小于它的素数整除。 : 我曾经多次指出,这个定义在用素数定义素数,是不正确的。但看到很多的反驳如下。 : 1不是素数, 我们考察2,发现小于2的素数集合为空集,于是2为素数。以此再往下递归 : ,得出所有素数的定义。我想昨天深入讨论此内容的人,都不会反对我的总结吧。关于 : "小于2的素数集合为空集"推出"2为素数",因我的不慎,还做出过郑重道歉。 : 好,我们仿造这种递归定义,来定义偶数。 : 我们假设不知道什么叫偶数,我们对非负整数集合进行如下的定义来定义偶数。
|
d**********x 发帖数: 4083 | 77 re
【在 i***q 的大作中提到】 : 人要多空虚,才能在一道小学竞赛题上争论好几天啊……
|
j****q 发帖数: 204 | 78 我就是属于空虚类型的。。。惭愧。。。
不过我觉得163。。。是真心要普及知识的那种或者是偏执狂。。。。。。
【在 i***q 的大作中提到】 : 人要多空虚,才能在一道小学竞赛题上争论好几天啊……
|
t*******d 发帖数: 12895 | 79 你看,我调侃一句你倒跳脚了,你那处女贴我都没有参和,那种贴我一般
觉得有50%可能是智商逻辑问题,现在看来不是,鄙视你
【在 j****q 的大作中提到】 : 是啊。。您有数理逻辑训练行了么,sw就是凶手行了么? : 和你们这群人真是纠缠不清啊。。。 : 数学问题是一定有对错的,对就是对了 错就是错了。 : 尼玛真是躲都躲不掉啊。。。。 : 另外我原贴完全就是在讨论,然后看到底下有人骂街 那还有啥讨论的意义呢?既然没 : 有讨论,又如何体现逻辑呢?就算我说sw不是凶手(我原贴没说他不是),你能证明我 : 这个结论有逻辑上的错误?你学过逻辑么?你学过数学么?你上过大学么?你上过高中 : 么。。。 : swzl案件起码目前无法有足够证据证明凶手是谁吧?这两者可以比较么? : 要是硬比,海狸在这个素数问题上就是错了,而我在swzl上,起码有十万分之一的可能
|
l*3 发帖数: 2279 | 80 事实貌似是, 楼主在这一段时间, 回复了其他好几个帖子. 就是不回复他自己的这个帖
子.
他似乎不愿意面对我的问题.
这种每次到最后就跑掉的行为, 我也没有办法.
【在 m**x 的大作中提到】 : 你也有说着说着不见的时候啊。耐心吧。
|
|
|
c****p 发帖数: 6474 | 81 这样递归地定义素数如何:
1. 1不是素数
2. 2是素数
3. 对于大于2的整数a,a是素数当且仅当a不能被任何小于它的素数整除。
【在 x*****p 的大作中提到】 : 我们假设不知道什么叫素数,我们对正整数集合进行如下的定义来定义素数。(这是从 : 链接上取下来的,也是I63的定义) : (1) 1不是素数 (base case) : (2) a是素数当且仅当a不能被任何小于它的素数整除。 : 我曾经多次指出,这个定义在用素数定义素数,是不正确的。但看到很多的反驳如下。 : 1不是素数, 我们考察2,发现小于2的素数集合为空集,于是2为素数。以此再往下递归 : ,得出所有素数的定义。我想昨天深入讨论此内容的人,都不会反对我的总结吧。关于 : "小于2的素数集合为空集"推出"2为素数",因我的不慎,还做出过郑重道歉。 : 好,我们仿造这种递归定义,来定义偶数。 : 我们假设不知道什么叫偶数,我们对非负整数集合进行如下的定义来定义偶数。
|
l*3 发帖数: 2279 | 82 与传统的偶数定义不一样, 那是因为你没有证明他和传统定义的偶数一样.
我已经证明了如下命题:
"a是素数 <=> a是小于1的自然数, 且a不能被任何小于a的素数整除"
这个命题不管能不能作为素数的定义, 都是正确的.
至于他能不能作为定义, 那是和定义的 "可判定性" 与 "良定义性" 有关的, 和 "通常
意义下的素数" 无关.
【在 x*****p 的大作中提到】 : 我们假设不知道什么叫素数,我们对正整数集合进行如下的定义来定义素数。(这是从 : 链接上取下来的,也是I63的定义) : (1) 1不是素数 (base case) : (2) a是素数当且仅当a不能被任何小于它的素数整除。 : 我曾经多次指出,这个定义在用素数定义素数,是不正确的。但看到很多的反驳如下。 : 1不是素数, 我们考察2,发现小于2的素数集合为空集,于是2为素数。以此再往下递归 : ,得出所有素数的定义。我想昨天深入讨论此内容的人,都不会反对我的总结吧。关于 : "小于2的素数集合为空集"推出"2为素数",因我的不慎,还做出过郑重道歉。 : 好,我们仿造这种递归定义,来定义偶数。 : 我们假设不知道什么叫偶数,我们对非负整数集合进行如下的定义来定义偶数。
|
l*3 发帖数: 2279 | 83 你之前明明说的是 "这个定义不能推出2为素数".
现在又改口了, 真无耻.
【在 x*****p 的大作中提到】 : 我们假设不知道什么叫素数,我们对正整数集合进行如下的定义来定义素数。(这是从 : 链接上取下来的,也是I63的定义) : (1) 1不是素数 (base case) : (2) a是素数当且仅当a不能被任何小于它的素数整除。 : 我曾经多次指出,这个定义在用素数定义素数,是不正确的。但看到很多的反驳如下。 : 1不是素数, 我们考察2,发现小于2的素数集合为空集,于是2为素数。以此再往下递归 : ,得出所有素数的定义。我想昨天深入讨论此内容的人,都不会反对我的总结吧。关于 : "小于2的素数集合为空集"推出"2为素数",因我的不慎,还做出过郑重道歉。 : 好,我们仿造这种递归定义,来定义偶数。 : 我们假设不知道什么叫偶数,我们对非负整数集合进行如下的定义来定义偶数。
|
l*3 发帖数: 2279 | 84 我这么问你, 你不要逃避话题:
我们定义一种数, 叫做 "高智商数"
定义如下:
a被称为高智商数, 当且仅当 "a是大于1的自然数, 并且a不能被任何小于a的高智商数
整除"
请问, 这个定义是否具有 "可判定性" 和 "良定义性" ?
我根据这个定义, 能不能判断出一个对象a是不是 "高智商数" ?
【在 x*****p 的大作中提到】 : 我们假设不知道什么叫素数,我们对正整数集合进行如下的定义来定义素数。(这是从 : 链接上取下来的,也是I63的定义) : (1) 1不是素数 (base case) : (2) a是素数当且仅当a不能被任何小于它的素数整除。 : 我曾经多次指出,这个定义在用素数定义素数,是不正确的。但看到很多的反驳如下。 : 1不是素数, 我们考察2,发现小于2的素数集合为空集,于是2为素数。以此再往下递归 : ,得出所有素数的定义。我想昨天深入讨论此内容的人,都不会反对我的总结吧。关于 : "小于2的素数集合为空集"推出"2为素数",因我的不慎,还做出过郑重道歉。 : 好,我们仿造这种递归定义,来定义偶数。 : 我们假设不知道什么叫偶数,我们对非负整数集合进行如下的定义来定义偶数。
|
t*******r 发帖数: 22634 | 85 不用争论啦,看我在另一楼里面用 yacc/c伪码 写的正则语法(formal language)
的素数递归定义,这下就可以对罗素笑而不语啦。。。
link 在下面:
http://www.mitbbs.com/article/WaterWorld/2034385_0.html
我把全文 copy & paste 过来:
=============================================
// yacc 段落 (大致):
list_of_primes : list_of_primes one_natural_number
{ if (! if_and_only_if_divisor($2, $1))
弹出语法错误 ; }
| "2"
{ printf("Reduce 成功!"); }
| "1"
{ 弹出语法错误 ; }
;
// 上面这个 list_of_primes 实际意思是从 2 开始的 N 个连续质数序列,
// 按升序排列,不过正则语法里 token 的名字其实无所谓。
// C 段落(大致):
bool if_and_only_if_divisor(this_number, list_of_numbers)
{
// 判断 能整除
if (this_number 能被某一个数整除_in list_of_numbers)
return false;
// 判断 最大
if (this_number <=_任何一个数_in list_of_numbers)
return false;
// 判断 仅能 (only if)
// 实际上是 check 从素数序列里最大的到这个数
// 之间有没有其他不能被整除的数
// 素数序列内依赖 yacc 本身 recurs down 保证
for (a_number = max(list_of_numbers) + 1;
a_number < this_number;
a_number++) {
if (a_number 不能被所有的数整除_in list_of_numbers)
return false;
}
}
return true;
}
============================================================
比如一个输入 (2, 3, 5)
input:(2, 3, 5)
reduce: 5 if_an_only_if_divisor (2, 3)
reduce: (2, 3)
reduce: 3 if_an_only_if_divisor (2)
reduce: (2)
SUCCESS
=============================================
如果给 input (2, 4, 5)
input: (2, 4, 5)
reduce: 5 if_an_only_if_divisor (2, 4)
reduce: (2, 4)
reduce: 4 if_an_only_if_divisor (2) !!! FAIL
FAIL
==============================================
input: (3, 4)
reduce: 4 if_an_only_if_dvisor (3)
reduce: (3)
UNABLE TO SHIFT: FAIL!
(没有 reduce 到 primitive token,这个例子里是 2)
==============================================
【在 l*3 的大作中提到】 : 我这么问你, 你不要逃避话题: : 我们定义一种数, 叫做 "高智商数" : 定义如下: : a被称为高智商数, 当且仅当 "a是大于1的自然数, 并且a不能被任何小于a的高智商数 : 整除" : 请问, 这个定义是否具有 "可判定性" 和 "良定义性" ? : 我根据这个定义, 能不能判断出一个对象a是不是 "高智商数" ?
|
l*3 发帖数: 2279 | |
m**x 发帖数: 8454 | 87 PM他试试。
【在 l*3 的大作中提到】 : 楼主就这么销声匿迹了? : 敢回应一下不?
|
t*******r 发帖数: 22634 | 88 在码工的 formal system 里面,自然数/偶数/素数 都是可以递归定义
并且递归生成的。
对于楼主的问题的回答是:0 要被定义为偶数。
楼主的例子,为啥要对 0 定义,非严格的说法,递归定义需要定义使得
递归生成无二义的 “初始条件”。 “初始条件” 就好比是 “循环入口断言”。
相对严格的说法,递归定义必须能让 token induce/reduce 成
已经定义的无二义的 primitive token。primitive token
不能引用自己而定义(否则是循环定义)。
那楼主说我把 0 定义名字叫奇数行不行。实际上在 formal system
里,定义为奇数完全可以,只不过你所谓的“奇数”就是大伙儿的偶数,
除了名字不一样,其他性质全一样。甚至你定义为“牛鼻”数还是“傻鼻”
数都没有关系,这个也是 formal system 的特性,取名跟意义无关。
当然,如果你在欧几里德这种不是 formal system 的体系里这么
干,估计悖论是免不了的。
【在 x*****p 的大作中提到】 : 我们假设不知道什么叫素数,我们对正整数集合进行如下的定义来定义素数。(这是从 : 链接上取下来的,也是I63的定义) : (1) 1不是素数 (base case) : (2) a是素数当且仅当a不能被任何小于它的素数整除。 : 我曾经多次指出,这个定义在用素数定义素数,是不正确的。但看到很多的反驳如下。 : 1不是素数, 我们考察2,发现小于2的素数集合为空集,于是2为素数。以此再往下递归 : ,得出所有素数的定义。我想昨天深入讨论此内容的人,都不会反对我的总结吧。关于 : "小于2的素数集合为空集"推出"2为素数",因我的不慎,还做出过郑重道歉。 : 好,我们仿造这种递归定义,来定义偶数。 : 我们假设不知道什么叫偶数,我们对非负整数集合进行如下的定义来定义偶数。
|
l*****8 发帖数: 16949 | 89 您老人家错太多了啊
正则语法是regular expression吧?yacc对应的是上下文无关文法(的一个子集)。程
序设计语言对应的是上下文相关文法。无论什么文法,定义出来的程序只能计算可计算
函数。可计算函数时数学函数的一个极小的子集。
不要拿计算机的东西来随便往数学上套,这两个差别太大了。
【在 t*******r 的大作中提到】 : 不用争论啦,看我在另一楼里面用 yacc/c伪码 写的正则语法(formal language) : 的素数递归定义,这下就可以对罗素笑而不语啦。。。 : link 在下面: : http://www.mitbbs.com/article/WaterWorld/2034385_0.html : 我把全文 copy & paste 过来: : ============================================= : // yacc 段落 (大致): : list_of_primes : list_of_primes one_natural_number : { if (! if_and_only_if_divisor($2, $1)) : 弹出语法错误 ; }
|
l*3 发帖数: 2279 | 90 呵呵, 他自己开了个新坑, 把素数分成两类, 并声称 "可以用类似的反证法证明" 来混
淆视听.
而且我目测你掉坑里了, 哈哈.
他这类没种的, 辩不过以后除了逃避, 其他也干不出什么有档次的事情了.
【在 m**x 的大作中提到】 : PM他试试。
|
|
|
t*******r 发帖数: 22634 | 91 你说的没错,俺数学的确不行,所以做码工正好。。。 :-)
至于计算机中文词汇,我承认是不行。不过这不怪我,是 I63 坚持要我敲
中文词汇的。再说了,灌水主要是开心,一个一个查翻译太费事了。不过
以后俺术语少用中文,省得落下蛊惑大众的骂名。。。
另外 YACC 实际上是根据类似 BNF 的定义格式自动生成 parser 的程序,
生成的是 LALR parser,如果我没有记错的话。。。
【在 l*****8 的大作中提到】 : 您老人家错太多了啊 : 正则语法是regular expression吧?yacc对应的是上下文无关文法(的一个子集)。程 : 序设计语言对应的是上下文相关文法。无论什么文法,定义出来的程序只能计算可计算 : 函数。可计算函数时数学函数的一个极小的子集。 : 不要拿计算机的东西来随便往数学上套,这两个差别太大了。
|
l*****8 发帖数: 16949 | 92 呵呵,BNF就是Context-free grammar的一种。这种BNF定义出来语言就是context-free
language.
LALR parser是用context free grammar去match一个字符串的一种办法。并不是所有的
CFG语法都能用LALR parser的。只有DCFL (deterministic context-free language)才
能用LALR parser.用LALR的原因是它用的时间是线性的。如果不加限制的CFG,分析的时
间可能会是指数时间。在数学上总是能够parse出来的,但不能用在实际中。这样的话
编译一个大点的程序可能需要天文时间。
总之LALR parser能处理的语言只是形式语言(formal language)里一个极小极小的子集。
【在 t*******r 的大作中提到】 : 你说的没错,俺数学的确不行,所以做码工正好。。。 :-) : 至于计算机中文词汇,我承认是不行。不过这不怪我,是 I63 坚持要我敲 : 中文词汇的。再说了,灌水主要是开心,一个一个查翻译太费事了。不过 : 以后俺术语少用中文,省得落下蛊惑大众的骂名。。。 : 另外 YACC 实际上是根据类似 BNF 的定义格式自动生成 parser 的程序, : 生成的是 LALR parser,如果我没有记错的话。。。
|
t*******r 发帖数: 22634 | 93 俺是 Algorithm-Depot 门口的老莫,主要给老板干体力活。。。
十多年前曾经用 YACC 写过一个简单的 parser,不过那个语法很简单。
后来没再写过 parser,也忘得差不多了。
复杂的文法可以写成 tree,其实不少 tree 算法也可以看成是某种
文法,不过大伙儿一般不从这个角度看。。。
free
集。
【在 l*****8 的大作中提到】 : 呵呵,BNF就是Context-free grammar的一种。这种BNF定义出来语言就是context-free : language. : LALR parser是用context free grammar去match一个字符串的一种办法。并不是所有的 : CFG语法都能用LALR parser的。只有DCFL (deterministic context-free language)才 : 能用LALR parser.用LALR的原因是它用的时间是线性的。如果不加限制的CFG,分析的时 : 间可能会是指数时间。在数学上总是能够parse出来的,但不能用在实际中。这样的话 : 编译一个大点的程序可能需要天文时间。 : 总之LALR parser能处理的语言只是形式语言(formal language)里一个极小极小的子集。
|
l*****8 发帖数: 16949 | 94 呵呵,你的基础不错的。一般人这些理论的东西早就忘光了吧?
【在 t*******r 的大作中提到】 : 俺是 Algorithm-Depot 门口的老莫,主要给老板干体力活。。。 : 十多年前曾经用 YACC 写过一个简单的 parser,不过那个语法很简单。 : 后来没再写过 parser,也忘得差不多了。 : 复杂的文法可以写成 tree,其实不少 tree 算法也可以看成是某种 : 文法,不过大伙儿一般不从这个角度看。。。 : : free : 集。
|
t*******r 发帖数: 22634 | 95 其实老实说还是自己有点兴趣,所以有空时也看点玩玩。
如果只是为了应付上班给老板 码code 体力活,估计肯定忘光了。。。
【在 l*****8 的大作中提到】 : 呵呵,你的基础不错的。一般人这些理论的东西早就忘光了吧?
|
l*3 发帖数: 2279 | 96 我这么问你, 你不要逃避话题:
我们定义一种数, 叫做 "高智商数"
定义如下:
a被称为高智商数, 当且仅当 "a是大于1的自然数, 并且a不能被任何小于a的高智商数
整除"
请问, 这个定义是否具有 "可判定性" 和 "良定义性" ?
我根据这个定义, 能不能判断出一个对象a是不是 "高智商数" ?
【在 x*****p 的大作中提到】 : 我们假设不知道什么叫素数,我们对正整数集合进行如下的定义来定义素数。(这是从 : 链接上取下来的,也是I63的定义) : (1) 1不是素数 (base case) : (2) a是素数当且仅当a不能被任何小于它的素数整除。 : 我曾经多次指出,这个定义在用素数定义素数,是不正确的。但看到很多的反驳如下。 : 1不是素数, 我们考察2,发现小于2的素数集合为空集,于是2为素数。以此再往下递归 : ,得出所有素数的定义。我想昨天深入讨论此内容的人,都不会反对我的总结吧。关于 : "小于2的素数集合为空集"推出"2为素数",因我的不慎,还做出过郑重道歉。 : 好,我们仿造这种递归定义,来定义偶数。 : 我们假设不知道什么叫偶数,我们对非负整数集合进行如下的定义来定义偶数。
|
U***5 发帖数: 2796 | 97 Regular expression 只是 formal language 的具体定义形式之一。
Formal language可以由regular expression生成,同样也能由FSM或者图灵机生成啊。
【在 l*****8 的大作中提到】 : 您老人家错太多了啊 : 正则语法是regular expression吧?yacc对应的是上下文无关文法(的一个子集)。程 : 序设计语言对应的是上下文相关文法。无论什么文法,定义出来的程序只能计算可计算 : 函数。可计算函数时数学函数的一个极小的子集。 : 不要拿计算机的东西来随便往数学上套,这两个差别太大了。
|
C**********r 发帖数: 8189 | 98 就是谷歌的大牛们估计曾几何时也只是Algorithm-Depot门口的老莫的干活。。。
【在 t*******r 的大作中提到】 : 俺是 Algorithm-Depot 门口的老莫,主要给老板干体力活。。。 : 十多年前曾经用 YACC 写过一个简单的 parser,不过那个语法很简单。 : 后来没再写过 parser,也忘得差不多了。 : 复杂的文法可以写成 tree,其实不少 tree 算法也可以看成是某种 : 文法,不过大伙儿一般不从这个角度看。。。 : : free : 集。
|
l*****8 发帖数: 16949 | 99 从定义上说,Formal Language就是字符串的集合。程序设计语言就是一种formal
language.比如Java语言就包含了所有可以合法编译运行的Java程序(一个程序可以看
成一个字符串)。
regular expression不是formal language,是定义formal language的一种办法。它生
成的语言叫做正规(还是叫正则?英文叫regular language)语言。Regular
languages还可以用DFA(Deterministic finite automata), 或者NFA(non-
deterministic finite automata)生成。还有一种叫做linear grammar也能生成这类语
言。
另一类语言叫做context-free language(CFL). 这类语言可以由context-free grammar
生成,也能由non-deterministic pushdown automata生成。CFL有一个子类叫做DCFL(
deterministic context-free language),这类语言可以由deterministic pushdown
automata生成。前面一直提到的LALR, YACC就是分析DCFL的。
再往上差不多最大的就是可计算语言(decidable language)。这类语言就是用图灵机
生成的。等价的还可以用lambda演算(Lisp语言和很多函数是语言都是从lambda演算演
变而来)。当然还有不可计算语言(undecidable language)。
这几类语言,Regular language, DCFL, CFL, decidable language一个比一个大。所
以regular expression不能表示所有的context-free languages. Context-free
grammar不能生成所有的decidable language.
对应于程序设计语言,第一轮的词法分析是基于regular language. 第二轮的语法分析
是基于context-free language.再下一轮的语义分析这是基于decidable language了。
所以都是formal languages,但他们属于不同分类。
【在 U***5 的大作中提到】 : Regular expression 只是 formal language 的具体定义形式之一。 : Formal language可以由regular expression生成,同样也能由FSM或者图灵机生成啊。
|
U***5 发帖数: 2796 | 100 卧槽,回这么多,这么专业。
Automata Theory/linguistic老早以前学过,99%都还给老师了。工作时候偶尔会用到
剩下的1%,老美同事还都一脸敬仰,哈哈。
grammar
【在 l*****8 的大作中提到】 : 从定义上说,Formal Language就是字符串的集合。程序设计语言就是一种formal : language.比如Java语言就包含了所有可以合法编译运行的Java程序(一个程序可以看 : 成一个字符串)。 : regular expression不是formal language,是定义formal language的一种办法。它生 : 成的语言叫做正规(还是叫正则?英文叫regular language)语言。Regular : languages还可以用DFA(Deterministic finite automata), 或者NFA(non- : deterministic finite automata)生成。还有一种叫做linear grammar也能生成这类语 : 言。 : 另一类语言叫做context-free language(CFL). 这类语言可以由context-free grammar : 生成,也能由non-deterministic pushdown automata生成。CFL有一个子类叫做DCFL(
|
|
|
l*3 发帖数: 2279 | 101 to楼主:
我们定义一种数, 叫做 "高智商数"
定义如下:
a被称为高智商数, 当且仅当 "a是大于1的自然数, 并且a不能被任何小于a的高智商数
整除"
请问, 这个定义是否具有 "可判定性" 和 "良定义性" ?
我根据这个定义, 能不能判断出一个对象a是不是 "高智商数" ? |