Slide 1

Slide 1 text

定理証明プラットフォーム Cat dance at the Cafe. 2025/01/26 lapisla.net

Slide 2

Slide 2 text

👣 今回のハッカソンでは「定理証明支援系」と そのエコシステムを作りました! 1 💡 既存の定理証明支援系と異なり - Web 上で動作したり - ほかの人の成果を簡単に import する 仕組みなどを提案しています!

Slide 3

Slide 3 text

「証明」を書く土台を提供して、 その証明の正しさをチェックしてくれる処理系。 1. 定理証明支援系とは? 2

Slide 4

Slide 4 text

3 1. 数学の土台として 2. プログラムの正しさの検証の道具として ← 👀

Slide 5

Slide 5 text

4 なんだろう、嘘つくのやめてもらっていいですか 与えられた配列をソートする関数を作りました! テストもいっぱい書いて全部パスしたしバッチリ! テストを頑張って書いても、 一般に全ての入力を網羅するのは困難ですよね?

Slide 6

Slide 6 text

5 網羅できてないケースでバグってた... 信頼性が とても 求められる ソフトウェアを作るためのひとつのアプローチ... 定理証明支援系を使って「証明つき」の開発をする 「どんな入力に対しても停止します」 「出力する配列は絶対に昇順です」 などを示したアルゴリズムとその実装が使える!

Slide 7

Slide 7 text

6 ところが... 証明は難しい!!! 😞 本当に飛躍していない証明を書くのは訓練が必要 😖 前提をちゃんと自分で一から組み立てるのは単純に量が多すぎてとても大変

Slide 8

Slide 8 text

7 😞 飛躍はダメ 😖 一からやるのは大変 これって...「ふつうの開発」と同じような気もするけど、 「ふううの開発」はそんなに大変じゃない。

Slide 9

Slide 9 text

8 why? ▶︎  人の成果を簡単に利用できるから!! import org.apache.hadoop.fs.FileSystem; import numpy as np import React from 'react'; #include import "fmt" require 'kramdown'

Slide 10

Slide 10 text

目標 成果を簡単に 共有・利用できる 定理証明支援系とそのエコシステムを作る!

Slide 11

Slide 11 text

成果を簡単に 共有・利用できる 定理証明支援系とそのエコシステムを作る! ▶︎ Demo ▶︎ そのために... 賢いエコシステムを構築する Web 上で全ての開発を行え、 簡単に結果を共有・登録できるようにする!

Slide 12

Slide 12 text

10 IDE を全て Web上で完結させて、 ワンクリックで共有・Registry に登録できるようにする。 Web 上でもローカルに負けない開発体験を作るために, カーネルはクライアントとサーバ側両方で動作してとても軽快に. エラー報告が優れたパーサを書いてシンタックスエラーの精度を向上. Web UI を生かしてデバッグのためのいろんな情報を見れるように. 技術的な工夫...

Slide 13

Slide 13 text

@abap34 カーネル、エディタ @comavius バックエンド @Ponjuice バックエンド @wasabi カーネル @Z フロントエンド @zer0-star カーネル (B3) (B2) (B2) (D1) (M1) (B3) 11 メンバー @yukikurage 卒論 スペシャルゲスト (B4) ( (

Slide 14

Slide 14 text

lapisla-prover/lapisla-prover Try & Star me! ⭐️