X



トップページ数学
274コメント91KB
【Coq】コンピューターで証明しよう【コック】©2ch.net
■ このスレッドは過去ログ倉庫に格納されています
0204132人目の素数さん垢版2020/02/24(月) 04:56:39.43ID:DY3MFCYd
>>7
> English speakerに前置きなく「コック」って言ったら誤解を産むよね
日本語話者にも開発者のCoquandの名前を「コカン」って呼んだら誤解生みそう

「Coqはコカンが生みました」

?????
0208132人目の素数さん垢版2020/08/31(月) 18:29:37.56ID:5YDNY7qe
これでMathematicaみたいなことができるの?
0209132人目の素数さん垢版2020/08/31(月) 19:38:58.46ID:CK4NnquJ
>>207
それは翻訳じゃなくて詳細な機械証明をつけたことになるからいいんじゃね?

やれるもんならやってごらん(挑発)
0210132人目の素数さん垢版2020/09/01(火) 19:16:57.55ID:2qjbTlF5
1700
学コン・宿題ボイコット実行委員会@gakkon_boycott 9月1日
#拡散希望
#みんなで学コン・宿題をボイコットしよう
雑誌「大学への数学」の誌上で毎月開催されている学力コンテスト(学コン)と宿題は、添削が雑で採点ミスが多く、訂正をお願いしても応じてもらえない悪質なコンテストです。(私も7月号の宿題でその被害に遭いました。)このようなコンテストに参加するのは時間と努力の無駄であり、参加する価値はありません。そこで私は、これ以上の被害者を出さないようにするため、また、出版社に反省と改善を促すために、学コン・宿題のボイコットを呼び掛けることにしました。少しでも多くの方がこの活動にご賛同頂き、このツイートを拡散して頂ければ幸いです。
https://twitter.com/gakkon_boycott/status/1300459618326388737
https://twitter.com/5chan_nel (5ch newer account)
0212132人目の素数さん垢版2020/12/29(火) 18:10:40.92ID:L4ADUw+o
Coqとかのソフトウェアを理解して使えるようになるには,どんな本を読めばいいですか?
0213132人目の素数さん垢版2020/12/29(火) 19:37:12.97ID:dboOL2nl
本なら『Coq/SSReflect/MathCompによる定理証明』かな。実際に使って証明したいものを証明した方が良いと思うけど。
0214132人目の素数さん垢版2020/12/29(火) 20:13:39.22ID:L4ADUw+o
>>213
ありがとうございます.
その本は読んだことがあるのですが,何が書いてあるのかよくわかりませんでした.
その本を読むための予備知識はどんな本を読めばいいのでしょうか?
0215132人目の素数さん垢版2020/12/29(火) 22:12:44.60ID:dboOL2nl
Coqで何をしたいのかは分からないけど、数学の証明をしたいのなら命題論理とか述語論理の勉強をしたらいいと思うよ。
0217132人目の素数さん垢版2021/03/04(木) 23:54:49.26ID:5lNvn7IX
F x = If x < 10 then x else F (x - 1)

みたいな関数ってCoqでどう性質を証明しますか?ifの条件で場合分けしたいです

タクティックでcase ( x< 10)としても、
仮説にならないで、場合わけにならずに困っています。
0220132人目の素数さん垢版2021/04/18(日) 19:19:36.97ID:3tfcWKwp
Coqで日本語データを処理するプログラム書けますか?
Asciiは扱えるみたいです。
0221132人目の素数さん垢版2021/06/13(日) 11:30:42.81ID:yMfojtwc
https://www.iij-ii.co.jp/activities/programming-coq/coqt1.html
これの練習問題の2つ目が分からない。
>問1. 任意の命題 A B C に対して、「A ならば B ならば C」ならば「B ならば A ならば C」が成り立つ。

要するにこれはB⇒Aが可能なら、前提条件からA⇒Cだと思ったけど。
どう書くの?全然分からん

Definition prop4 : forall (A B C : Prop), (A -> B -> C) -> (B -> A -> C):=
fun A B C a b c => ?.
0222132人目の素数さん垢版2021/06/13(日) 12:05:53.03ID:lCrOJ5I2
>>221
Definition prop4 : forall (A B C : Prop), (A -> B -> C) -> (B -> A -> C) :=
fun A B C f b a => f a b.
かな。f の型が (A -> B -> C) で、b の型が B で、a の型が A 。
「ならば」(->) は右結合だから、(B -> A -> C) の部分の括弧は外す事ができる。
0224132人目の素数さん垢版2022/01/12(水) 08:10:41.00ID:0y6QDPS2
コックむずい
0225132人目の素数さん垢版2022/01/24(月) 07:16:51.96ID:OmUr/Vw+
ムズいよねえ
もっと勉強しなくては
0226132人目の素数さん垢版2022/02/11(金) 01:30:20.50ID:92XxvpJY
   | \
   |Д`) ダレモイナイ・・オドルナラ イマノウチ
   |⊂
   |


     ♪  Å
   ♪   / \   ランタ タン
      ヽ(´Д`;)ノ   ランタ タン
         (  へ)    ランタ ランタ
          く       タン



   ♪    Å
     ♪ / \   ランタ ランタ
      ヽ(;´Д`)ノ  ランタ タン
         (へ  )    ランタ タンタ
             >    タン
0227132人目の素数さん垢版2022/05/02(月) 10:30:03.66ID:DYgxe9pf
   | \
   |Д`) ダレモイナイ・・オドルナラ イマノウチ
   |⊂
   |


     ♪  Å
   ♪   / \   ランタ タン
      ヽ(´Д`;)ノ   ランタ タン
         (  へ)    ランタ ランタ
          く       タン



   ♪    Å
     ♪ / \   ランタ ランタ
      ヽ(;´Д`)ノ  ランタ タン
         (へ  )    ランタ タンタ
             >    タン
0229132人目の素数さん垢版2022/12/22(木) 04:01:55.01ID:o2STx9rz
ゲーデルの不完全性定理の証明とか、

選択公理が命題として他の公理とは独立であることの証明とかできるかな?

もっと素朴に、√2が有理数では無いことの証明とか、
eやπが有理数ではないことの証明とか、
複素数係数の代数方程式は複素数の根を必ず持つことの証明とか。。。
0231132人目の素数さん垢版2022/12/22(木) 08:49:17.37ID:XxbM8r76
このようなソフトウェアに興味があるのですが、使えるようになるには、「証明論」のような本を
勉強しないとだめですよね。
0232132人目の素数さん垢版2022/12/22(木) 09:04:01.71ID:cem5kJiD
>>231
数学の知識よりも、プログラミングの知識のほうが重要だと思う。
関数型言語についてとか。
0233132人目の素数さん垢版2022/12/22(木) 11:50:58.34ID:5XpbsjKj
>>229
>ゲーデルの不完全性定理の証明
無矛盾(矛盾が証明されない)ならば
無矛盾性が証明されない、と読むから
神秘性や難しさを感じる

矛盾が証明されると矛盾する、という証明から
矛盾の証明が出来る、と読めばただのトリック
0234132人目の素数さん垢版2022/12/22(木) 11:55:35.37ID:5XpbsjKj
>>231
初心者は必ず騙されるが
証明論とは命題の証明方法の理論ではない

ちなみに命題の証明方法は別に難しくない
ただ証明がない場合、止まらないので
「アルゴリズム」とは言えないが
0235132人目の素数さん垢版2022/12/22(木) 21:53:35.10ID:cEUYFyKL
>>229
> √2が有理数では無いことの証明

Coqと同様の定理証明支援系であるHOL LightのTutorialに
11.1 Irrationality of √2がある
www.cl.cam.ac.uk/~jrh13/hol-light

実際にそこで証明しているのは
∀p,q. p×p=2×q×q ⇒ q=0 だけど
0237132人目の素数さん垢版2022/12/23(金) 21:32:30.54ID:hmYygAkB
証明が存在する命題は、有限回の操作によって必ず証明にたどり着く方法はある。
ただし、その有限回なる回数が一体どのぐらいの有限なのかだ。宇宙が終わるまで
かけても終わらない程の大きな回数であっても有限だから。
0238132人目の素数さん垢版2023/01/01(日) 23:05:56.42ID:bVpk4vzc
ある命題の成立に対して正しい証明が得られたならば、
その証明が正しいことを確認する作業は、必ず証明の
記述の長さの多項式オーダーの手間で可能なのだろうか?
0240132人目の素数さん垢版2023/01/02(月) 10:48:55.13ID:Tjm8RrUz
(Coqのような)証明系は正しい証明を記述したならば、それが正しいことを
必ず有限の時間で検証を終えて停止するのだろうか?
その有限の時間だといっても途方も無く長くなったりしないのだろうか? 
検証を行う前に、証明の記述に応じてそれに対する検証時間の上界が
事前に得られるものだろうか?
それともそのような上界は一般にはなくて、ただただ結果が出るまで
ずーっと待って運良く生きているうちに終わることを期せねばならないのだろうか?

C言語とかAlgolのような普通のプログラミング言語は、
コンパイルすべきプログラムの長さNに対するコンパイル完了までの時間は
O(N log N)程度になってる。もしもコンパイルの時間がたとえばO(N^2)
かかるような言語とかコンパイラであると、プログラムの記述が大規模になれば
実用性が低くて使い物にならない感じになる。
0241132人目の素数さん垢版2023/01/02(月) 11:14:46.62ID:bB/h5A70
>>240
証明になっているか否かのチェックは有限時間で可能

証明になってないギャップについて
ギャップが埋められるかどうかは
命題が証明できるかどうかと同じなので
有限時間では判定できない
0242132人目の素数さん垢版2023/01/02(月) 11:59:40.21ID:Tjm8RrUz
「証明」の長さがNであるときに、検証にかかる計算量がNについてあまり急増化
しないのであれば、検証システムは使い物になるが、Nについてたとえば多項式
オーダーではなかったならば、少しばかり長い「証明」を検証しようとすれば
現実的には「いつまでたっても終わらないなぁsigh、修論が落ちるな」、
ということになりそうだけれども、そのあたりはどうなっているのでしょうか?
0243132人目の素数さん垢版2023/01/02(月) 12:03:04.48ID:Tjm8RrUz
検証系が進歩した未来において、

 著者は自分の証明を検証系にかけて、
検証系に与えたソースコードも併せて提出する。
 論文の査読者はそのソースコードが正しく論文の定理や命題を表していることを
(ああたいへんだ)チェックして(そこが間違ってたらどうする?)、
検証系にかけて、正しく証明されることを確認したら、アクセプトする。

そうなったらとても面倒。論文のLaTeXのソースを提出するのとは次元が違う。
0244132人目の素数さん垢版2023/01/03(火) 02:56:16.38ID:EWDc62a3
ABC予想の証明の検証に時間がかかっていたようだけど、
Coqで検証すればよかったんじゃないの?できないの?
0245132人目の素数さん垢版2023/01/03(火) 04:56:18.54ID:JnLpt9Qh
人間の書いた人間に理解できるように書かれた証明を、
いろいろな前提知識の無い無垢のソフトに全く隙のない形で
完璧に記号だけを使って記述し直すというのは、とても大変な
作業になるだろう。暗黙知、専門家の常識、そういうものを総動員して
それらも含めて検証にかけなければ、論理が飛んでいることになるから
だろう。
0246132人目の素数さん垢版2023/01/03(火) 13:33:16.33ID:EWDc62a3
ABC予想の証明に否定的な数学者もいるようですから、
白黒はっきりつけるためにはした方が良さそうですね
おそろしく時間とお金(人件費)が掛かりそうですが…
0247132人目の素数さん垢版2023/01/03(火) 13:35:59.35ID:EWDc62a3
今まで正しいと思われていた定理がCoqで検証をしたら証明が間違っていて実は成立していなかった
という場合はあり得るのだろうか?
0248132人目の素数さん垢版2023/01/03(火) 21:49:08.81ID:JnLpt9Qh
定理をみな洗濯して候。選択公理を密輸入してたりとか。
0249132人目の素数さん垢版2023/01/05(木) 07:12:53.60ID:YJDwUIlt
基本的な質問で申し訳ありませんが、任意の数学の定理の証明は
その証明が正しいならばコンピューターが理解できる形の形式的な証明に書き直せますよね?
0252132人目の素数さん垢版2023/01/11(水) 00:03:59.83ID:NoXe1rzD
数学を外から眺めているメタ数学、そのメタ数学を外から眺めているメタメタ数学、
そのメタメタ数学を外から眺めているメタメタメタ数学、とどこまでいっても
その外側から眺めている数学があるのだとしたら。この宇宙も、メタ宇宙の中で
眺められ観察され実験されている存在なのじゃないかと思えてくる。
ある日、これじゃダメだな、やり直すかという声が聞こえてきて。。。
0253132人目の素数さん垢版2023/01/12(木) 23:28:57.14ID:AOFqi22d
形式化されていない証明は人間(数学者)が検証したものに過ぎないから
証明が正しい可能性が極めて高い、としか言えなくて
厳密に正しいとは確定していないように思うがどうだろう
0254132人目の素数さん垢版2023/01/12(木) 23:41:41.72ID:AKp/tV8W
厳密というのは程度の問題だからね
0257132人目の素数さん垢版2023/01/13(金) 19:43:33.22ID:C3eRYlyK
ある命題の証明が存在しないものと仮定して、
それから矛盾を出してやり、よって証明は存在する。
しかし具体的に証明を構成しない。

そういうやり方の「証明」はCoqで記述できるのかな?
0259132人目の素数さん垢版2023/01/15(日) 21:23:10.70ID:iLTqkcdp
>>257
背理法を使わずに対偶で書き直せばできるのでは?
0260132人目の素数さん垢版2023/01/27(金) 02:52:52.56ID:iXvRI0Bd
"クルト・ゲーデル 史上最もスキャンダラスな定理を証明した男", 森北出版, 2023年2月.
0261132人目の素数さん垢版2023/01/28(土) 09:08:50.72ID:YuG7Qllk
>>258
>ゲーデル数化とかガチで出来るんだね。すごいわ。
 コード化は別に難しくない
 証明可能性述語の記述のほうが面倒
 まあでもやればできるだろうな
 別に神秘的なことはやってない
0262132人目の素数さん垢版2023/01/28(土) 09:21:22.14ID:YuG7Qllk
>>260
>”クルト・ゲーデル 史上最もスキャンダラスな定理を証明した男”
 タイトルが大袈裟すぎw

 原題は"Journey to the Edge of Reason"
 著者のStephen Budianskyは、別に数学者ではないらしい
 
 ゲーデルの生涯に関心があるなら
 Dawsonの"Logical Dilemma"を読むことを勧める
 日本語訳もある

 不完全性定理について知りたいなら
 ホフスタッターのゲーデル・エッシャ―・バッハの
 第14章を読んだほうがいい

 興味深い定理であることは確かだが
 なんか持ち上げられすぎ
 ゲーデル自身は理性の完全性を信じていたので
 不完全性定理の結論は彼の願望とは必ずしも合致しない
0263132人目の素数さん垢版2023/01/28(土) 10:20:43.69ID:k/vPDvzu
【キッシンジャー】 ワクチンを強制し群れを減らす
://rio2016.5ch.net/test/read.cgi/lifesaloon/1662167492/l50
0264132人目の素数さん垢版2023/01/29(日) 17:51:01.73ID:wni79iFl
帝銀事件とは

戦後まだGHQが日本を占領していた頃のことである。
都内は椎名町にあった帝国銀行に白衣を着た男がやって来て
保健所から来た。近所で赤痢(?)が発生した。だがこの
薬をのめば感染を防げると行内の客や行員に言って、
薬の飲み方を実演して見せて、そうして一人ずつ呑ませて
いった。呑んですぐには症状が出なかったので、みんな
おとなしく従って呑んだが、しばらくすると次々と倒れて、
その男は行内から手形だったか僅かな金を持って逃げた。
という事件だ。

これを今のコロナ騒動・ワクチンの話に照らして考えてみると
面白い。

遅効性の薬物(即座に効果が出ずに、ある程度時間が経ってから
効果を発揮する)は、それが毒作用を持つものであれば、後で
大量の薬害を生みかねない。日本向けに特別にカスタマズされた
ものだったりすると、日本民族全滅も可能。
0266132人目の素数さん垢版2023/02/14(火) 01:02:00.55ID:5OXageYe
Coqのシステムが書かれているソースコードを形式化して、
Coqに証明させようとすると、どうなるだろうか?
そういうことを考えると、脳外科が自分で自分の脳の手術
をするというような、なんだかとてもいやーぁな感じがする。
0268132人目の素数さん垢版2023/02/14(火) 12:13:54.45ID:5OXageYe
Coqの検証系がCoqの形式記述に証明不可能な部分を見つけたと主張した場合に、
その部分の影響でCoqの検証系が正しく動作しないためであるのかどうかが
怪しくなる。
ソースコードから形式記述を作り出すところの正しさも証明しなければならない
はずだし。その形式記述を作り出すシステムの正しさも証明しなければならないが、
。。。。とやっていると、本当の正しさを証明するということは、無理じゃね?
という暗澹たる気持ちになる。結局は正しさというのは信仰の一種であるか、
何かを信じることで魂の安らかさを得る必要があり、心に不安があると
Gのようにキチガイになったりすると思う。
0269132人目の素数さん垢版2023/02/23(木) 20:40:51.53ID:6O/Q2IOx
Gって何?
0270132人目の素数さん垢版2023/03/04(土) 14:12:35.38ID:qLJkywT3
論理のよりどころは最後は神の存在に行き着くのだろう。
そうして論理は言葉(記号)によって書かれる。

現代の数学はユダヤ教の思考の派生品なのかもしれない。
0271132人目の素数さん垢版2023/03/16(木) 17:45:06.78ID:/qOR2FZK
質問です

下記のcase tacticでなぜ証明終わるでしょうか?
場合分けのためと理解しているので、なぜ終わるかわかりません。

Lemma f_test :forall A:Prop, A -> not A -> True.
Proof.
intros H H0 H1.
case (H1 H0).
Qed.
0273132人目の素数さん垢版2023/03/16(木) 22:10:00.35ID:/qOR2FZK
>>272

ありがとうございます。わかりました。

caseの対象がFalseになっていて、
コンストラクタがないため終了と。
0274132人目の素数さん垢版2023/03/17(金) 20:00:33.56ID:3R+VYxhu
哀れGは神の存在を証明するなどと言いだして周囲は彼を  扱いしたという。
■ このスレッドは過去ログ倉庫に格納されています

ニューススポーツなんでも実況