看板 logic 關於我們 聯絡資訊
看到外國朋友在blog討論子集合問題,說有本書這樣子定義: 1. 空集合是空集合的子集. 2. A是B的子集,將一個元素x加入A,B集合分別得到A'和B',則A'也是B'的子集. 3. A是B的子集,將一個元素加入B集合得到B',則A也是B'的子集. 他說這樣子定義不對勁,應該是另外這樣: 1. 空集合是任何集合的子集. 2. A是B的子集,而元素x屬於A,將x加入A集合得到A',則A'也是B的子集. 以 {1,2,3} 為例,尋找所有的子集合, 第一種定義給的答案是 {},{1},{2},{3},{1,2},{1,3},{2,3},{1,2,3}, 而第二種定義給的答案是 {},{1},{2},{3},{1,1},{1,2},{1,3},{2,1},{2,2},..., {1,1,1,1},{1,1,1,2},{1,1,1,3},... 沒完沒了. 道理上好像沒錯,但是想想一般學生回答「找出 {1,2,3} 的所有子集」, 會走第二種定義的方向回答嗎? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 59.112.225.39
teves:{1,1,1,1} 跟 {1}是相同的,多列沒意義 12/25 10:45
teves:這樣做就好像答案是1/2,卻把2/4,3/6,4/8....通通列出來 12/25 10:47
stdio:不就求powerset嗎 ... 12/25 11:27
mikechan:如果順序無關的話兩個答案相等 12/25 12:54
yauhh:多列無意義的道理,口頭也許說得通,但是到寫程式的場合時, 12/25 14:05
yauhh:就是一個大問題了...要怎麼列出無窮多項的子集呢? 12/25 14:06
kilva:這樣是否無法給出不可數的子集? 12/25 14:10
yauhh:像提出這問題的朋友本身是邏輯學者,你程式只列{1}為{1}的子 12/25 14:11
yauhh:集,他會不信,他認為必須明確寫出{1},{1,1},{1,1,1},... 12/25 14:11
mikechan:A=B <=> AㄈB&BㄈA 12/25 14:31
ksmrt0123:multiset 才有 {1,1,1,1} 這種東西 12/25 15:10
luciferii:就算是 multiset, (2)的定義也不對 12/25 17:36
luciferii:這跟是不是邏輯學者無關, Set定義本來就是不同元素兜伙 12/25 17:39
yauhh:A=B <=> AㄈB&BㄈA ... 的確是少了這一條式子,瞭解了,謝謝 12/25 21:44
luciferii:樓上你搞混了,A=B <=> AㄈB&BㄈA是結論,但如果subset 12/26 13:33
luciferii:都亂定義了,則是推不出A=B <=> AㄈB&BㄈA結果了 12/26 13:33
yauhh:那有什麼亂定義不亂定義的,定義又不是只有某一種才是 12/26 16:11
luciferii:如果你要跟人家討論相同的Set概念,就要站在同一個定義 12/26 18:18
luciferii:下或等價的定義下,像前文中自定義再來討論就是無意義的 12/26 18:20
luciferii:照你朋友那種定義法,能不能推得A=B<=>AB&BA都是問題 12/26 18:21
yauhh:那請問你有沒有站在跟我同樣的定義下呢? 12/26 19:24
yauhh:你說定義一定要等價才有意義,但問題是如果不一樣,誰錯? 12/26 19:24
yauhh:稍微自我中心一點可以一味認為別人錯,但自我中心導不出結果 12/26 19:26
yauhh:但是,別人講的任何一小點如果可取,就還有可思考與談論的機會 12/26 19:27
luciferii:我不需要跟任何人站在相同定義下,而是你朋友想討論 12/26 21:12
luciferii:請他站在公眾定義下,否則他的自定義系統就只有自己能用 12/26 21:13
※ 編輯: yauhh 來自: 59.112.228.249 (12/27 00:31)
yauhh:我這篇文章唯一的問題是在標色文字之內 12/27 00:32
luciferii:答案已經告訴你了,第二種定義根本是錯的,一般學生連 12/27 00:43
luciferii:考慮都不用考慮。 12/27 00:43
hirabbitt:原po惡搞定義是想搞出什麼類非歐幾何的東西嗎=.= 04/26 16:46