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
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
soukouki
August 12, 2024
Technology
1
250
定理証明支援系Coq(セキュリティキャンプLT会)
2024-08-12 セキュリティキャンプLT会で発表したスライドです。
soukouki
August 12, 2024
Tweet
Share
More Decks by soukouki
See All by soukouki
Simutrans CityView (日本語版)
soukouki
0
65
Simutrans CityView (English)
soukouki
0
26
10分で学ぶ すてきなモナド
soukouki
1
140
Misskey自鯖を建ててみた
soukouki
1
77
1年前の日記を要約するツールをローカルLLM&自作MCPサーバーで作った話
soukouki
0
400
自作Cコンパイラ 8時間の奮闘
soukouki
0
1.8k
Coqで選択公理を形式化してみた
soukouki
0
480
「プログラミング」と「数学」の関係 〜カリー・ハワード同系対応と定理証明支援系Coq〜
soukouki
1
340
型クラスと依存型のカルパッチョ、代数的構造を添えて
soukouki
2
610
Other Decks in Technology
See All in Technology
【NGK2026S】日本株のシステムトレードに入門してみた
kazuhitotakahashi
0
280
AIとともに歩む情報セキュリティ / Information Security with AI
kanny
4
3k
Azure Durable Functions で作った NL2SQL Agent の精度向上に取り組んだ話/jat08
thara0402
0
110
M&A 後の統合をどう進めるか ─ ナレッジワーク × Poetics が実践した組織とシステムの融合
kworkdev
PRO
1
210
DEVCON 14 Report at AAMSX RU65: V9968, MSX0tab5, MSXDIY etc
mcd500
0
240
無ければ作る! バイブコーディングで作ったものを一気に紹介
tatsuya1970
0
110
セキュリティ はじめの一歩
nikinusu
0
1.4k
toCプロダクトにおけるAI機能開発のしくじりと学び / ai-product-failures-and-learnings
rince
6
5.1k
DatabricksホストモデルでAIコーディング環境を構築する
databricksjapan
0
220
予期せぬコストの急増を障害のように扱う――「コスト版ポストモーテム」の導入とその後の改善
muziyoshiz
0
640
KubeCon + CloudNativeCon NA ‘25 Recap, Extensibility: Gateway API / NRI
ladicle
0
170
エンジニアとマネジメントの距離/Engineering and Management
ikuodanaka
3
700
Featured
See All Featured
Game over? The fight for quality and originality in the time of robots
wayneb77
1
93
Evolving SEO for Evolving Search Engines
ryanjones
0
110
Making Projects Easy
brettharned
120
6.6k
Jamie Indigo - Trashchat’s Guide to Black Boxes: Technical SEO Tactics for LLMs
techseoconnect
PRO
0
54
Docker and Python
trallard
47
3.7k
Design of three-dimensional binary manipulators for pick-and-place task avoiding obstacles (IECON2024)
konakalab
0
350
Building a Modern Day E-commerce SEO Strategy
aleyda
45
8.6k
A brief & incomplete history of UX Design for the World Wide Web: 1989–2019
jct
1
290
We Are The Robots
honzajavorek
0
150
Information Architects: The Missing Link in Design Systems
soysaucechin
0
750
Reality Check: Gamification 10 Years Later
codingconduct
0
2k
Have SEOs Ruined the Internet? - User Awareness of SEO in 2025
akashhashmi
0
270
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