Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
定理証明支援系Coq(セキュリティキャンプLT会)
Search
soukouki
August 12, 2024
Technology
1
190
定理証明支援系Coq(セキュリティキャンプLT会)
2024-08-12 セキュリティキャンプLT会で発表したスライドです。
soukouki
August 12, 2024
Tweet
Share
More Decks by soukouki
See All by soukouki
1年前の日記を要約するツールをローカルLLM&自作MCPサーバーで作った話
soukouki
0
190
自作Cコンパイラ 8時間の奮闘
soukouki
0
1.5k
Coqで選択公理を形式化してみた
soukouki
0
400
「プログラミング」と「数学」の関係 〜カリー・ハワード同系対応と定理証明支援系Coq〜
soukouki
1
270
型クラスと依存型のカルパッチョ、代数的構造を添えて
soukouki
2
570
Coqのコントリビューターになった話
soukouki
0
210
次に流行る※プログラミング言語「Lean」
soukouki
3
2.2k
証明しながらプログラミング! - タクティックによるCoqプログラミング
soukouki
0
330
帰納型とパターンマッチングの紹介
soukouki
0
200
Other Decks in Technology
See All in Technology
ロールが細分化された組織でSREと協働するインフラエンジニアは何をするか? / SRE Lounge #18
kossykinto
0
210
バクラクによるコーポレート業務の自動運転 #BetAIDay
layerx
PRO
1
940
生成AI時代におけるAI・機械学習技術を用いたプロダクト開発の深化と進化 #BetAIDay
layerx
PRO
1
1.2k
LTに影響を受けてテンプレリポジトリを作った話
hol1kgmg
0
360
Oracle Cloud Infrastructure:2025年7月度サービス・アップデート
oracle4engineer
PRO
1
190
LLMでAI-OCR、実際どうなの? / llm_ai_ocr_layerx_bet_ai_day_lt
sbrf248
0
460
Backlog AI アシスタントが切り開く未来
vvatanabe
1
130
開発 × 生成AI × コミュニケーション:GENDAの開発現場で感じたコミュニケーションの変化 / GENDA Tech Talk #1
genda
0
180
✨敗北解法コレクション✨〜Expertだった頃に足りなかった知識と技術〜
nanachi
1
690
オブザーバビリティプラットフォーム開発におけるオブザーバビリティとの向き合い / Hatena Engineer Seminar #34 オブザーバビリティの実現と運用編
arthur1
0
380
「AIと一緒にやる」が当たり前になるまでの奮闘記
kakehashi
PRO
3
140
AIに頼りすぎない新人育成術
cuebic9bic
3
290
Featured
See All Featured
Code Reviewing Like a Champion
maltzj
524
40k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
29
9.6k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
139
34k
Making Projects Easy
brettharned
117
6.3k
Bash Introduction
62gerente
614
210k
Thoughts on Productivity
jonyablonski
69
4.8k
Speed Design
sergeychernyshev
32
1.1k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4k
Gamification - CAS2011
davidbonilla
81
5.4k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
183
54k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
33
2.4k
GraphQLの誤解/rethinking-graphql
sonatard
71
11k
Transcript
定理証明支援系Coq 2024-08-12 セキュリティキャンプLT会 1
自己紹介 岡田宗太朗/sou7です 東北の山奥に住んでます 会津大学の学部4年生 S06 Cコンパイラゼミで 自作コンパイラのバグと 戦ってます 会津を走る只見線の風景→ 2
SNS ActivityPub/Misskey @
[email protected]
GitHub @soukouki Twitter @sou7_ _ _ 3
趣味 好きなゲーム Simutrans Factorio 「小説家になろう」というサイトでライトノベルを読み漁ること Obsidian 日記や技術メモ、ブログ記事まで全てObsidianで管理しています 4
定理証明支援系Coqとは? 定理証明支援系 Coq 聞いたことある人は挙手をお願いします! 5
定理証明支援系 と カリー・ハワード同型対応 定理証明支援系とは、「数学の証明とプログラムにいい感じの対応関 係がある」という理論を使って、証明が正しいことを検証する、とい うシステムです。 6
7
実際のプログラム そんな数学の証明が出来るCoqですが、中身は関数型プログラミング の処理系です。 Variable A B : Type. Definition modus_ponens
: (A -> B) -> A -> B := fun f a => f a. このプログラムは、 (AならばB)ならば(AならばB) という命題の証明で もあります。プログラムとして見ると、以下の構文を使っています。 A -> B は を受け取って を返す関数の型 fun f a => f a は と を引数に受取り、 を返すラムダ式 8
他の形式手法との比較 カリー・ハワード同型対応を利用した定理証明支援系 例: Coq, Lean 記述できる仕様の幅が一番広いのはこれ(通常の数学と同じ) 代わりに、手動でその証明をしないといけない モデル検査による形式仕様記述 例: TLA+
扱う問題の幅に制限があるが、自動で検証できる 自動定理証明(とそれを使ったプログラムの自動検証) 例: RustHorn S15-Rustプログラム検証ゼミで扱うのはこれ 9
まとめ 数学の証明とプログラミングには対応関係があり、カリー・ハワ ード同型対応という Coqとはその対応を使い、数学の証明をプログラムに落とし込ん で証明を検証できる 定理証明支援系 兼 プログラミング言語 形式手法にも色々種類があり、CoqとTLA+とRustHornは全く別 のシステム
10
リンク http://github.com/soukouki/coq-learning Coqの簡単な例からクイ ックソートの証明までを学べる資料です。 参考資料 「Coq/SSReflect/MathCompによる定理証明」萩原学 アフェルト・ レナルド その他 第一只見川橋梁の写真はMaedaAkihiko氏の著作物です。Creative
Commons Attribution-Share Alike 4.0 11