看板 Math 關於我們 聯絡資訊
※ 引述《znmkhxrw (QQ)》之銘言: 想用下面這個例子詢問一下如標題的問題: 令r = 2^0.5 令a_n := n/(floor(n/r)) 則我們知道a_n→r 那這樣a_n算是2^0.5的構造性證明嗎? (或許要先定義採用的公設? 比如除法反元素與floor函數的存在性) ----------------------------------------------------------- 其實最初我想問的不知道怎麼下標題... 就是找"2^0.5的逼近方法", 一堆資料教你造遞迴/數列...的有理數逼近方式(假設叫b_n) 但是我問題就在於 a_n := n/(floor(n/r)) 也是一種逼近方式, 而且也是有理數列 那b_n跟a_n就差在"電腦能不能算"這個沒定義的名詞? 而a_n最大的不同是, 他把要逼近的r拿來用了 可是這步在邏輯上並沒有錯, 因為r本身存在了, 我只是要逼近他 我目前卡在沒有定義去區分a_n跟b_n有哪裡不同 只能用一些口述語言(電腦能不能算/把r拿來用...)來描述 有關於這區別的專有名詞嗎 謝謝~
PPguest : 有沒有可能是這樣寫比精簡?反正floor(n/r)如V大所說08/05 16:43
PPguest : 有方法可以知道.看到這種東西讓人覺得頭好痛,也想問08/05 16:45
PPguest : 作者這樣寫到底是什麼意思?有什麼特別的作用?08/05 16:45
PPguest : ^較08/05 16:47
我在上篇的問題中需要這個定理: ------------------------ 令a_n是趨近於無窮大的正整數列 則對於任何正實數r, 都存在一條趨近於無窮大的正整數列b_n 使得a_n/b_n趨近於r ------------------------ 證明就是取b_n = floor(a_n/r)就結束了 也就是因此, 我才看到a_n/b_n不就是一種趨近於r的有理數列嗎 抑或是floor(nr)/n也是一種, 只要先有高斯函數的存在性 以上在數學邏輯都沒有問題, 只是突然用實作逼近觀點去想這件事, 發現我要藉助floor( nr)逼近r, 但是我要藉助的東西卻很難算(general r), 於是才有"很怪"的感覺 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 不好意思只留問題原意和原始問題。 * 證明無誤,著眼點在存在性。 任何實數r本身可能為有理數或無理數,前者構造容易,後者由可前者建構。 * 你覺得怪的點應該在r為無理數時,因為寫程式無法操作。 * 不過這樣想就簡明了: 如果r為無理數時程式完全可以操作 因為若"給定了"任何一個有理數r,最常見的給定方式是: r=a/b, (a,b)=1, a和b為整數, b>0 當r為無理數時,如您所提2^0.5,程式無法按照你證明中的算式操作, 因為程式操作的都是有限步驟,然而b_n = floor(a_n/r)當中: a_n/r,假設第一步a_0=1,光是1/(2^0.5)就無法以程式操作出無誤差數字。 * 證明本身對於無理數之r正確,是因為先有了r的存在性, 給定任何實數r這句話本身,就隱含r存在,也存在著r的構造方式 (任何無理數皆可用有理數無窮數列逼近),以2^0.5次方為例, 這個數字本身'2^0.5'其實僅是一種表達方式,表達一個數,存在性已證(由完備性) 而此數的性質是平方為2,此數也被認為該存在於數線上, 因此以完備性公理賦予其存在性,r的存在性才保證b_n中每個數字存在。 也就是說,b_n之所以存在,證明之所以成功,是仰賴給定了r,或是r的存在性。 然而很多存在性的證明都沒有給構造方法(或說用程式操作方法),例子太多了, 所以這個證明並不奇怪。 先證明了b_n存在性後,才依其存在性去構造b_n,數學上常見這樣流程。 否則即使構造了一組數列,若b_n打從一開始就不可能存在,構造出的數列也不會 滿足原條件。 * 其實完備性公理也只說了數線上那些"該存在的數字",只要可以用有理數數列 逼近到誤差比任何正有理數小,他就存在。不過那些"該存在的數字", 在你給定這個數字同時,就是要給足它的資訊,像這裡是該數的平方為2。 其他"該存在的數字"的資訊不枚盛舉: 該數的某整數次方為某正整數 pi: 圓周長與直徑長之比 e: 考慮以1/x從1開始積分的黎曼和,使其和為1的下界。 有了這個數字的等價資訊,才等同告知(給定)了該數字。 上述資訊的共同特徵都是可以用有理數來逼近,像2^0.5 可用最簡單的十分逼近法以有理數逼近,得到 c_n(取遞增數列c_0<2^0.5) 本題欲構造b_n = floor(a_n/r),即可利用r=2^0.5之構造方法,取上述c_n 改令b'_n=floor(a_n/c_n) 因為集合{a_n/b_n}唯一limit point為r=2^0.5 且顯見{a_n/b_n}之limit point(r=2^0.5) 亦為{a_n/b'_n}之limit point 因此由 a_n/b'_n 之極限亦為r *上面的手法其實也是先利用了存在性的證明,來證明這個構造的結果有效。 此證明亦可以構造出r,只差在當初先做為前提的存在性要如何構造。 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 203.204.39.221 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Math/M.1659890411.A.985.html ※ 編輯: bluepal (203.204.39.221 臺灣), 08/08/2022 22:28:33
znmkhxrw : 謝謝b大的分享 我吸收一下 謝謝 08/09 13:04
bluepal : 上篇h大把我寫的全包括進去了,而且用嚴謹數學符號 08/09 23:30
bluepal : 還有更細緻討論,跟各種條件下的實數,因為敘述P太抽 08/09 23:30
bluepal : 象,你可以取任給一個超越函數range中某element的 08/09 23:31
bluepal : preimage中任挑一個元素(定義在複數的超越函數)的 08/09 23:32
bluepal : real part當作給定實數... 08/09 23:32
bluepal : 或是亂給一個存在classical solution的偏微分方程 08/09 23:33
bluepal : 指定他的解作為剛才的超越函數...敘述怎麼寫都行 08/09 23:34
bluepal : 中間每次用到選擇公理當然構造那個實數更不可能 08/09 23:34
bluepal : 所以你的敘述比較象他說用十進位的類似柯西數列 08/09 23:35
bluepal : 我覺得他寫得很完整 08/09 23:36
bluepal : x大講的就是很正式的constructive proof 08/09 23:37
bluepal : 很抱歉我本篇濫用'構造'這個名詞 08/09 23:37
bluepal : 存在性有了'數列建構'才可能對 08/09 23:43
bluepal : 唯一性讓'數列建構'的選擇變多不用考慮跑掉 08/09 23:44
bluepal : 最後數列要收斂,程式上還要保證誤差 08/09 23:44
bluepal : 其實用簡單的fixed point定理想就是輪廓了 08/09 23:45
bluepal : 問題好像也不是全然出在選擇公理...h大點出你的訴求 08/09 23:52
bluepal : 就是程式上可行(也許),所以就是最後能用那個十進位 08/09 23:53
bluepal : 類似科西數列來表示每次證明中給出用到的數字的證明 08/09 23:55
bluepal : 那就是證明中的每個步驟都要避免無法做到這點的 08/09 23:56
bluepal : 和constructive proof也不是全然相同 08/09 23:56
bluepal : 我這篇提到的也只有用數列建構特定r,重點也只有數列 08/09 23:59
bluepal : 可是要證明中的每個步驟都用h大的形式好像才比較符 08/10 00:00
bluepal : 合'程式可實作證明'(如果這是你要的) 08/10 00:00
bluepal : 不過你標題和推文提到想了解constructive proof 08/10 00:01
bluepal : 所以x大那篇就是很正式的 08/10 00:02
bluepal : 那就看你需求...其他人的可以說都不用看XDDD 08/10 00:02
bluepal : 最後就是...如果你要的也不是程式可實作'全部證明' 08/10 00:06
bluepal : 只是想要用某個定理時,讓程式可以跑出想要的結果 08/10 00:07
bluepal : 那就不一定要在證明的時候要求'全部程式可實作' 08/10 00:07
bluepal : 只要運用定理跑結果的時候可實作就好了 08/10 00:08
bluepal : 也許根本是獨立於證明的另一套演算法 08/10 00:08
bluepal : 這裡比較像想讓證明本身可以拿來跑出結果,可是那個 08/10 00:09
bluepal : r讓你無法用這個證明跑結果 08/10 00:10
bluepal : 如果是這樣,其實就區分證明是否'可以拿來用程式跑結 08/10 00:10
bluepal : 果出來' 08/10 00:10
bluepal : 可否用證明程式跑結果出來,h大那邊有完整討論 08/10 00:11
bluepal : 邊想邊打抱歉,打完我自己看也很頭暈(?) 08/10 00:14
bluepal : 總之我覺得h大觀點比較全面性總結了除了x大以外的全 08/10 00:17
bluepal : 部,看起來也比較像你想問的(?) 08/10 00:18
bluepal : 我現在仔細看其他推文其實也都有問到重點,不過可能 08/10 00:27
bluepal : 大家都很省話吧(?),所以都問得很扼要 08/10 00:28
bluepal : constructive proof看起來是直接給出了可以拿來用的 08/10 00:29
bluepal : 證明, 但他不一定可計算.... 08/10 00:29
bluepal : 所以如果要的是可以拿來直接用,又是程式可以跑的 08/10 00:30
bluepal : 就是兩者交集...我是想說如果要便宜行事區分證明 08/10 00:30
bluepal : 就把他區分成可不可以拿來現成用程式跑出結果的證明 08/10 00:31
bluepal : 如果純應用的話..其實只要考慮有沒有對應的演算法就 08/10 00:31
bluepal : 好,知道已經被證明了也不用管他證明... 08/10 00:32
xcycl : Constructive proof 下寫出來的證明就是可判定程式 08/10 07:54
xcycl : 喔! 08/10 07:54
xcycl : 可判定程式指的是有限時間內可計算出結果的程式。 08/10 07:56
xcycl : 但在直構邏輯內又可以證明所有的實數不可數,這一 08/10 08:54
xcycl : 時難說明清楚,還是先去看點現代構造式數學的介紹 08/10 08:54
xcycl : 搞懂點基礎,不然迷糊仗打不完。 08/10 08:54
bluepal : 謝謝x大說明,我還是不要碰這塊了,原PO看你的就可 08/10 22:28
bluepal : 光是那篇我就...覺得好可怕XDDD 08/10 22:47
bluepal : Constructive...感覺是非人(?)在念的...朝拜 08/10 22:48
bluepal : 自己END 08/10 22:53
hwanger : 如果是指這一個 那 Constructive proof 的意義就不 08/11 10:05
hwanger : 只是 proof by construction 而是要在特定的邏輯系 08/11 10:06
hwanger : 統(如intuitionistic type theory)下的 proof by 08/11 10:08
hwanger : construction 所以並不是單單 constructive math 中 08/11 10:12
hwanger : 有效的證明 08/11 10:13
hwanger : 畢竟constructive math中的流派很多 可參考 08/11 10:15
hwanger : https://plato.stanford.edu/ 中的條目 08/11 10:17
hwanger : Constructive Mathematics中的第三節 08/11 10:17
hwanger : 那可以解釋為何我們一開始認知不同 我打從一開始就 08/11 10:22
hwanger : 沒想過是否能把證明轉到特定的邏輯系統 很抱歉 08/11 10:23
hwanger : 抱歉一時不察 請忽略上面有關proofs as programs的 08/11 13:50
hwanger : 連結 太久沒碰 忘了這其實是在講 Curry–Howard 08/11 13:52
hwanger : correspondence 除了那個連結 其餘的回文保持不變 08/11 13:55
hwanger : 我用上面plato.standford中的這段話取代第一個連結 08/11 13:58
hwanger : Every constructive proof embodies an algorithm 08/11 13:58
hwanger : that, in principle, can be extracted and recast 08/11 13:59
hwanger : as a computer program 08/11 14:00