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の紹介 #w8lt
Search
Shohei Yasutake
July 29, 2015
Programming
0
340
Coqの紹介 #w8lt
w8ltでCoqの紹介をしました
Shohei Yasutake
July 29, 2015
Tweet
Share
More Decks by Shohei Yasutake
See All by Shohei Yasutake
Erlang 事例紹介: メディアストリーム中継システム
amutake
0
440
Haskell の型クラスと Typeclassopedia の紹介 #w8lt
amutake
0
500
部屋のメトリクス可視化
amutake
0
730
Actario: A Framework for Reasoning About Actor Systems
amutake
0
700
🍣 #w8lt
amutake
2
510
代数的データ型について #w8lt
amutake
6
2.4k
Coq で証明付き Web アプリを作る #adf2015
amutake
2
890
FLL
amutake
1
1.4k
Other Decks in Programming
See All in Programming
Spring gRPC について / About Spring gRPC
mackey0225
0
220
コミュニティ駆動 AWS CDK ライブラリ「Open Constructs Library」 / community-cdk-library
gotok365
2
140
個人アプリを2年ぶりにアプデしたから褒めて / I just updated my personal app, praise me!
lovee
0
350
Boost Performance and Developer Productivity with Jakarta EE 11
ivargrimstad
0
340
Grafana Loki によるサーバログのコスト削減
mot_techtalk
1
130
pylint custom ruleで始めるレビュー自動化
shogoujiie
0
120
Java Webフレームワークの現状 / java web framework at burikaigi
kishida
9
2.2k
チームリードになって変わったこと
isaka1022
0
200
パスキーのすべて ── 導入・UX設計・実装の紹介 / 20250213 パスキー開発者の集い
kuralab
3
790
ペアーズでの、Langfuseを中心とした評価ドリブンなリリースサイクルのご紹介
fukubaka0825
2
330
PHPカンファレンス名古屋2025 タスク分解の試行錯誤〜レビュー負荷を下げるために〜
soichi
1
210
責務と認知負荷を整える! 抽象レベルを意識した関心の分離
yahiru
7
670
Featured
See All Featured
Designing Experiences People Love
moore
140
23k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
10
1.3k
Making the Leap to Tech Lead
cromwellryan
133
9.1k
Keith and Marios Guide to Fast Websites
keithpitt
411
22k
Imperfection Machines: The Place of Print at Facebook
scottboms
267
13k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
160
15k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
133
33k
How GitHub (no longer) Works
holman
314
140k
RailsConf 2023
tenderlove
29
1k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
4
330
Dealing with People You Can't Stand - Big Design 2015
cassininazir
366
25k
Git: the NoSQL Database
bkeepers
PRO
427
64k
Transcript
Coqͷհ W8LT @amutake_s
Coq • ఆཧূ໌ࢧԉܥͷͻͱͭ • ֶతͳ໋ͷূ໌ɾϓϩάϥϜͷ࣋ͭੑ࣭ ͷূ໌ͳͲʹ͑Δ
ఆཧূ໌ࢧԉܥ • ਓ͕ؒূ໌Λॻ͘ͷΛखॿ͚ͯ͘͠ΕΔ • ݱࡏͷূ໌ͷঢ়ଶɺԿΛࣔ͞ͳ͚Ε͍͚ͳ͍ͷ͔ɺ ͳͲͳͲΛදࣔͯ͘͠ΕΔ • ͪΐͬͱ͚ͩࣗಈূ໌ • ਖ਼͍͠ূ໌͔Ͳ͏͔ΛνΣοΫͯ͘͠ΕΔ
• ࢴͷ্ͷূ໌ͩͱຊʹਖ਼͍͠ͷ͔Θ͔Βͳ͍͜ͱ ͋Δ
ఆཧূ໌ࢧԉܥͷॏཁੑ • ʮͦͷূ໌ຊʹਖ਼͍͠ͷʁʯʮͦͷϓϩάϥϜຊʹ όάͳ͍ͷʁʯ • ࠷ۙͰɺग़ͯ͘ΔఆཧΛࢴ্Ͱͳ͘ఆཧূ໌ࢧԉܥ Λͬͯܗࣜతʹূ໌͍ͯ͠Δจ͕૿͖͍͑ͯͯΔ • ఆཧূ໌ࢧԉܥͷ͕ࣝڭཆʹͳΔͱ͖͕དྷΔ͔ •
จ͡Όͳ͍͖ͯ͘ͳΓূ໌Λ͚͛ͭΒΕΔ͜ͱ ͕͋ΔΒ͍͠… https://twitter.com/xuwei_k/status/409797442284969984
ఆཧূ໌ࢧԉܥ (Coq) ͷ࣮ྫ • CompCert • CoqͰॻ͔ΕͨCίϯύΠϥɻ࠷దԽͷաఔͰϓϩάϥϜͷҙຯΛม͑ͳ͍͜ͱͷূ໌ͳ Ͳ • ࢛৭ఆཧ
• ༗໊ͳఆཧɻCoqʹΑΔূ໌Ҏલʹূ໌͕͋ͬͨɺෳࡶ͗ͯ͢ຊʹਖ਼͍͔͠Ͳ͏ ͔Θ͔Βͳ͔ͬͨ • Verdi • ࠷ۙಡΜͰ͍͢͝ͱࢥͬͨࢄγεςϜ༻ͷCoqͷϑϨʔϜϫʔΫ (PLDI2015) • Coq্Ͱॻ͍ͨোੑ͕ͳ͍ࢄγεςϜͷίʔυΛɺ͋Δোʹରͯ͠ੑ͕͋Δ ͷʹมͯ͘͠ΕΔ (มޙͷϓϩάϥϜ͕োੑΛ࣋ͭ͜ͱূ໌ࡁΈ)ɻ࣮ߦՄೳ
Coqͷ͍ํ (งғؾ͚ͩ) • ϥΠϒূ໌͠·͢
Ͳ͏ͯ͠ূ໌͕Ͱ͖Δͷʁ • ΧϦʔϋϫʔυಉܕରԠʹجͮ͘ • ໋Λද͢ܕͷΛ࡞Δ͜ͱ͕Ͱ͖ΕͦΕ͕ͦ ͷ໋ͷূ໌ʹͳΔ ཧ ϓϩάϥϜ ໋1 ܕ1
໋1ͷূ໌ ܕ1ͷ ໋1㱺2 1ˠ2 ؔͷܕ ໋1a2 1 2ͷܕ ໋1a2 1 2ͷੵܕ
ূ໌߲ • Print ͨ͠ΒͣΒͣΒ Ͱͯ͘Δ͕ͭূ໌ • λΫςΟΫͷΈ߹ ΘͤʹΑΓূ໌߲͕ ࡞ΒΕΔ •
proof term ͱ͔ evidence ͱ͔ݺ Ε·͢
·ͱΊ • ఆཧূ໌ࢧԉܥʹ͍ͭͯઆ໌͠·ͨ͠ • Coqͷ͍ํʹ͍ͭͯσϞΛߦ͍·ͨ͠ • Ͳ͏ͯ͠ূ໌ͳΜͯ͜ͱ͕Ͱ͖Δ͔ʹ͍ͭͯઆ໌͠·͠ ͨ • Coqʹ͍ͭͯͳΜͱͳ͘Θ͔ͬͯΒ͑ͨΒخ͍͠Ͱ͢