作者yauhh (喲)
看板PLT
標題Re: [問題] if是不是函數
時間Wed Sep 29 08:48:12 2010
※ 引述《zxvc (眾生都是未來佛)》之銘言:
: 這討論主要是接續C_AND_CPP板的這系列文章作討論:
: "[閒聊] 這裡將近兩萬篇的文"
<cut />
: 試回想以前邏輯學學的"if p then q"真值表是這樣嗎?不是!
: p->q的真值表應該是這樣:
: if p then q
: p q p->q
: 0 0 1
: 0 1 1
: 1 0 0
: 1 1 1
C 的 if 意思確實是這樣子. 對同一個事實q而言,p是true,q就跟著是true.
p是false,q就跟著是false. 而且 p 是false, q 真的被逼得變成 true.
至於 p true 而 q false 的情況,從來不可能發生.
(不過,目前我有個通信的對象,寫出一段程式說:
if (true) printf("I\'m a function.\n");
if (true) printf("I amn\'t a function.\n");
如此假裝它跑出來的結果一下子是又一下子不是.
你說說看,這種式子是否能證明 "if不是函數" ? )
對照到C語言, q 可以是一列不限數目的敘述,不管 q 敘述是多少,
你永遠找不到一種 if p then q 對應情況不符合邏輯上的 p -> q.
另外,我們可以來看看,照邏輯真值表來看,是否指出 -> 不是函數.
要說不是函數,其中一項證明是舉出有某個 p 同時 -> q 又 -> q'.
將您所貼的真值表抄下一半下來看:
: p q p->q
: 1 0 0
: 1 1 1
這二行看起來好像是一個 p 會對應到 q 又對應到 not q, 但是,
你還要看在第一行 p->q 欄位說,關於 p 1 q 0 這條規則,沒這回事.
於是,我們知道 p 為 1 的時候, q 只會對應到 1.
接著再看上面一半:
: p q p->q
: 0 0 1
: 0 1 1
哎呀,好像是一個 0 對應到二個. 這我不知道到底像我這樣子解釋對或不對:
p 為 0 的情況,代表函數的底. 我們只講 p 為 0 是函數的底.
而不是說 p 究竟使 q 為 0 或 1.
通常會說 p -> q 就等於 not p or q. 當不是 not p 情況時,我們看得到 q.
但是 not p 的時候,就看不到 q. 所以,我覺得這意思是說 not p 是 if 這種函數
的底.
如果你要認為它不是,請你提出證明.
先提出證明,再取笑; 而不是先取笑, 後來卻無法提出證明.
(愛麗絲夢遊仙境有一段她與紅皇后的對話,紅皇后說:"先宣判,然後再審議."
愛歷絲馬上大喊:"竟然先宣判!!!?")
: 而前者這種if在邏輯學上並沒有這樣的定義,
: 邏輯學只有定義"if p then q"。
: 如果有人硬是要把前者定義為"程式語言裡講的if",
: 而不是"邏輯學的if p then q",那的確還有討論下去的空間。
: 只是"程式語言裡講的if"如果真是一個function,
: 請問是在什麼概念下來看是個function呢?
: 若以C/C++ compile成ASM的角度來看,if真的不會compile成function。
: 不過yauhh大也強調,他並不是以這種角度去詮釋if是個function。
: 他似乎想用更高度抽象(abstraction)的方式去詮釋if是個function。
: 如果他的說法不能自生矛盾,我是能尊重他的學說。
: 有人可能會覺得幹麼尊重一個無用的學說?
: 但很多學問當初被發明也沒有什麼實用目的,
: 是到後來人們才發現它有實用目的。
: 搞不好改天yauhh大發明個更高階的yauhh程式語言
: 影響了程式語言的發展,變成一個大家不得不學的語言也不一定XD
不要閒扯. 你最後這樣寫,反而看起來是你來這裡貼個戰文,公然批評我這個人而已.
那你就該想一下,你有沒有資格這樣子點名處理??
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 211.21.94.199
※ 編輯: yauhh 來自: 211.21.94.199 (09/29 08:58)
1F:推 zxvc:我有事暫時無法對你的問題都作回覆,不過我想知道我到底哪裡 09/29 08:58
2F:→ zxvc:批評你,惹你生氣?要把尊重看成不尊重,不是我的錯。 09/29 09:00
3F:→ yauhh:你自己看看最後幾句吧,點名點名成這個樣子,有沒有梗就難講了 09/29 09:09
4F:推 zxvc:講你名字就是罵你嗎? 09/29 09:13
※ 編輯: yauhh 來自: 211.21.94.199 (09/29 09:42)
5F:→ yauhh:我不知道你的觀念是如何,並不是講到名字,而是你講到名字之外 09/29 09:43
6F:→ yauhh:還將我的名字跟一些事情連結.你說說看這有沒有奚落之意?? 09/29 09:43
7F:→ yauhh:你在這個板貼這文,本來可以跟我無關. 但是你特地提我,說我, 09/29 09:45
8F:→ yauhh:那我就會覺得,你上別的板講我是要幹嘛呢? 09/29 09:45
9F:→ yauhh:至於你說我生氣,顯然是心虛了不是嗎? 不管我有沒有生氣,你隨 09/29 09:46
10F:→ yauhh:便上任何一個別的板講我,我都有權提出抗議. 然而,在你看, 09/29 09:47
11F:→ yauhh:你可能只歸咎於我個人情緒,而忽略了你自己的行為. 09/29 09:47
12F:推 ledia:y版友心理素質比較脆弱, 不太有幽默感, z版友就別跟他說笑了 09/29 09:48
13F:→ yauhh:ledia你這樣說就不對了,你怎麼可以更針對我了呢? 09/29 09:48
14F:→ yauhh:來,你來得正好,來說說看你那二行if是一個怎樣的"非函數" 09/29 09:49
15F:→ yauhh:來講講,讓大家笑一笑. 09/29 09:49
16F:→ yoco315:小y寶貝 你是真的不知道大家都在笑你對吧 XD 09/29 09:52
17F:→ yoco315:現在看你的文已經變成我日常生活的重要調劑了 <(_ _)> 09/29 09:53
18F:→ yauhh:但是你沒有講什麼東西,你卻很自high啊?那你也是小y寶貝一員 09/29 11:42
19F:推 zxvc:你本來就跟有些事情連結,為何不能提到你?例如那if的特殊真 09/29 12:08
20F:→ zxvc:值表,是從你而來的吧。 09/29 12:09
21F:→ zxvc:至於我說你可能能發明新語言,我不覺得我有在嘲笑你。 09/29 12:11
22F:→ yoco315:寶貝 我早就說過了 跟你一樣y開頭我覺得好可恥 qq 09/29 12:33
23F:→ yoco315:ㄍ 金衰 09/29 12:33
24F:→ godfat:麻煩一下,首先看一下板規,請勿推文超過三行 09/29 13:17