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
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
soukouki
August 12, 2024
Technology
280
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
87
ゲーム画面をブラウザから見られるサイトを作った話
soukouki
0
82
Simutrans CityView (日本語版)
soukouki
0
130
Simutrans CityView (English)
soukouki
0
100
10分で学ぶ すてきなモナド
soukouki
1
190
Misskey自鯖を建ててみた
soukouki
1
110
1年前の日記を要約するツールをローカルLLM&自作MCPサーバーで作った話
soukouki
0
530
自作Cコンパイラ 8時間の奮闘
soukouki
0
1.9k
Coqで選択公理を形式化してみた
soukouki
0
530
Other Decks in Technology
See All in Technology
水を運ぶ人としてのリーダーシップ
izumii19
4
1.1k
LiDAR SLAMの実装とセンサ融合 ~Lie群からContinuous-Time LIOまで~
naokiakai
1
570
作る力から、見極める力へ — AI時代に広がるエンジニアの価値と役割
rince
0
380
AI時代における最適なQA組織の作り方
ymty
3
280
AIペネトレーションテスト・ セキュリティ検証「AgenticSec」紹介資料
laysakura
2
7.8k
ご挨拶「10周年を迎える共創ラボのこれまでとこれから」
iotcomjpadmin
0
160
Hatena Engineer Seminar 37 jj1uzh
jj1uzh
0
310
Kotlin 開発のツラミを爆破した話! / Explode the difficulty of Kotlin dev!
eller86
0
120
ClaudeCodeの公式Memory Architecture
nagatsu
0
120
Amazon Redshift zero-ETL 統合を活用した軽量なマルチプロダクトデータ可視化基盤 / Lightweight Multi-Product Data Visualization with Amazon Redshift Zero-ETL
kaminashi
0
130
小さいから、全部わかる。— 常駐AI "xangi" のすすめ
sugupoko
0
190
なぜ人は自分のプロジェクトを 「なんちゃってアジャイル」と 自嘲するのか
kozotaira
0
210
Featured
See All Featured
Git: the NoSQL Database
bkeepers
PRO
432
67k
Principles of Awesome APIs and How to Build Them.
keavy
128
18k
For a Future-Friendly Web
brad_frost
183
10k
How to Get Subject Matter Experts Bought In and Actively Contributing to SEO & PR Initiatives.
livdayseo
0
150
Optimising Largest Contentful Paint
csswizardry
37
3.7k
Exploring anti-patterns in Rails
aemeredith
3
430
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
141
35k
The browser strikes back
jonoalderson
0
1.3k
The untapped power of vector embeddings
frankvandijk
2
1.8k
Designing for Performance
lara
611
70k
The Director’s Chair: Orchestrating AI for Truly Effective Learning
tmiket
1
200
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3.2k
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