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
定理証明プラットフォーム lapisla.net
Search
abap34
January 27, 2025
Programming
1
1.9k
定理証明プラットフォーム lapisla.net
abap34
January 27, 2025
Tweet
Share
More Decks by abap34
See All by abap34
Kaggle 班ができるまで
abap34
1
740
「並列化時代の乱数生成」
abap34
3
1.1k
東工大 traP Kaggle班 機械学習講習会 2024
abap34
2
440
Julia Tokyo #11 トーク: 「Juliaで歩く自動微分」
abap34
2
2.2k
Other Decks in Programming
See All in Programming
イベントソーシングによってインピーダンスミスマッチから解放された話
tkawae
1
300
SideKiqでジョブが二重起動した事象を深堀りしました
t_hatachi
0
150
SLI/SLOの設定を進めるその前に アラート品質の改善に取り組んだ話
tanden
2
570
remix + cloudflare workers (DO) docker上でいい感じに開発する
yoshidatomoaki
0
110
Cloudflare Pagesのサイトを NotebookLMから読みやすくする Cloudflare Meet-up Tokyo Vol.7
xiombatsg
0
110
Devin入門と最近のアップデートから見るDevinの進化 / Introduction to Devin and the Evolution of Devin as Seen in Recent Update
rkaga
6
2.6k
JavaOne 2025: Advancing Java Profiling
jbachorik
1
300
DenoでOpenTelemetryに入門する
yotahada3
2
280
RailsでCQRS/ESをやってみたきづき
suzukimar
2
1.4k
フロントエンドテストの育て方
quramy
4
630
PromptyによるAI開発入門
ymd65536
1
340
マルチアカウント環境での、そこまでがんばらない RI/SP 運用設計
wa6sn
0
210
Featured
See All Featured
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
227
22k
Making Projects Easy
brettharned
116
6.1k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
45
9.5k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
14
1.1k
Build The Right Thing And Hit Your Dates
maggiecrowley
34
2.6k
Docker and Python
trallard
44
3.3k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
28
9.4k
GraphQLとの向き合い方2022年版
quramy
45
14k
Optimising Largest Contentful Paint
csswizardry
34
3.1k
How to train your dragon (web standard)
notwaldorf
91
5.9k
Rebuilding a faster, lazier Slack
samanthasiow
80
8.9k
A Tale of Four Properties
chriscoyier
158
23k
Transcript
定理証明プラットフォーム Cat dance at the Cafe. 2025/01/26 lapisla.net
👣 今回のハッカソンでは「定理証明支援系」と そのエコシステムを作りました! 1 💡 既存の定理証明支援系と異なり - Web 上で動作したり -
ほかの人の成果を簡単に import する 仕組みなどを提案しています!
「証明」を書く土台を提供して、 その証明の正しさをチェックしてくれる処理系。 1. 定理証明支援系とは? 2
3 1. 数学の土台として 2. プログラムの正しさの検証の道具として ← 👀
4 なんだろう、嘘つくのやめてもらっていいですか 与えられた配列をソートする関数を作りました! テストもいっぱい書いて全部パスしたしバッチリ! テストを頑張って書いても、 一般に全ての入力を網羅するのは困難ですよね?
5 網羅できてないケースでバグってた... 信頼性が とても 求められる ソフトウェアを作るためのひとつのアプローチ... 定理証明支援系を使って「証明つき」の開発をする 「どんな入力に対しても停止します」 「出力する配列は絶対に昇順です」 などを示したアルゴリズムとその実装が使える!
6 ところが... 証明は難しい!!! 😞 本当に飛躍していない証明を書くのは訓練が必要 😖 前提をちゃんと自分で一から組み立てるのは単純に量が多すぎてとても大変
7 😞 飛躍はダメ 😖 一からやるのは大変 これって...「ふつうの開発」と同じような気もするけど、 「ふううの開発」はそんなに大変じゃない。
8 why? ▶︎ 人の成果を簡単に利用できるから!! import org.apache.hadoop.fs.FileSystem; import numpy as np
import React from 'react'; #include <iostream> import "fmt" require 'kramdown'
目標 成果を簡単に 共有・利用できる 定理証明支援系とそのエコシステムを作る!
成果を簡単に 共有・利用できる 定理証明支援系とそのエコシステムを作る! ▶︎ Demo ▶︎ そのために... 賢いエコシステムを構築する Web 上で全ての開発を行え、
簡単に結果を共有・登録できるようにする!
10 IDE を全て Web上で完結させて、 ワンクリックで共有・Registry に登録できるようにする。 Web 上でもローカルに負けない開発体験を作るために, カーネルはクライアントとサーバ側両方で動作してとても軽快に. エラー報告が優れたパーサを書いてシンタックスエラーの精度を向上.
Web UI を生かしてデバッグのためのいろんな情報を見れるように. 技術的な工夫...
@abap34 カーネル、エディタ @comavius バックエンド @Ponjuice バックエンド @wasabi カーネル @Z フロントエンド
@zer0-star カーネル (B3) (B2) (B2) (D1) (M1) (B3) 11 メンバー @yukikurage 卒論 スペシャルゲスト (B4) ( (
lapisla-prover/lapisla-prover Try & Star me! ⭐️