Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
定理証明支援系Coq(セキュリティキャンプLT会)
Search
soukouki
August 12, 2024
Technology
290
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
定理証明支援系Coq(セキュリティキャンプLT会)
2024-08-12 セキュリティキャンプLT会で発表したスライドです。
soukouki
August 12, 2024
More Decks by soukouki
See All by soukouki
ローカルLLMバイブコーディングのすすめ
soukouki
0
130
ゲーム画面をブラウザから見られるサイトを作った話
soukouki
0
120
Simutrans CityView (日本語版)
soukouki
0
170
Simutrans CityView (English)
soukouki
0
130
10分で学ぶ すてきなモナド
soukouki
1
220
Misskey自鯖を建ててみた
soukouki
1
130
1年前の日記を要約するツールをローカルLLM&自作MCPサーバーで作った話
soukouki
0
610
自作Cコンパイラ 8時間の奮闘
soukouki
0
2k
Coqで選択公理を形式化してみた
soukouki
0
560
Other Decks in Technology
See All in Technology
OpenSharing について熱く語る〜AI アセットの共有について〜
kameitomohiro
0
240
AI駆動開発の時代になったのでトヨタ生産方式から見直す
terurou
5
5.4k
Loop Engineering これくらいでいい
mikanichinose
0
120
自律型 AI をセキュアに実装!Gemini と MIG で作る動的コード実行環境
recruitengineers
PRO
1
230
自作バイナリを動かす「入口」8選
puhitaku
1
1.2k
事業活動を AI Ready にする攻めと守りのデータエンジニアリング / data-engineering-for-ai-ready-business
pei0804
6
2.3k
二歩目のフロントエンド・ウェブアクセシビリティ
camiha
2
250
ハードウェアコンペでもAI駆動開発が進んでいる話
iotengineer22
1
630
OSC2026on_the-world-is-waiting-for-your-voice.pdf
naruoga
0
360
使いこなすために知っておきたい Azure SRE Agent アンチパターン
torumakabe
2
420
DevelopersIO 2026 知識の地図を描く ─ オントロジーとは何か?
ishikawa_satoru
1
1.1k
AI時代だからこそ推したい!Gitコマンド再入門
munakata
0
160
Featured
See All Featured
Claude Code どこまでも/ Claude Code Everywhere
nwiizo
68
58k
Learning to Love Humans: Emotional Interface Design
aarron
275
41k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
12
1.3k
JAMstack: Web Apps at Ludicrous Speed - All Things Open 2022
reverentgeek
1
620
The Anti-SEO Checklist Checklist. Pubcon Cyber Week
ryanjones
0
260
Abbi's Birthday
coloredviolet
4
10k
What does AI have to do with Human Rights?
axbom
PRO
1
2.4k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
47
8.4k
My Coaching Mixtape
mlcsv
0
340
How People are Using Generative and Agentic AI to Supercharge Their Products, Projects, Services and Value Streams Today
helenjbeal
2
350
<Decoding/> the Language of Devs - We Love SEO 2024
nikkihalliwell
1
350
The State of eCommerce SEO: How to Win in Today's Products SERPs - #SEOweek
aleyda
2
12k
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