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
Lean プロジェクトの依存関係を 自動更新する
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
井上亜星
January 17, 2026
Technology
1
32
Lean プロジェクトの依存関係を 自動更新する
井上亜星
January 17, 2026
Tweet
Share
More Decks by 井上亜星
See All by 井上亜星
Leanで本を執筆する
inoueasei
0
61
Lean言語は新世代の純粋関数型言語になれるか?
inoueasei
1
60
Other Decks in Technology
See All in Technology
vol11_ねこIoTLT_お遊びVibeCoding
1027kg
0
180
バイブコーディングで作ったものを紹介
tatsuya1970
0
180
Intro SAGA Event Space
midnight480
0
150
生成AI活用によるPRレビュー改善の歩み
lycorptech_jp
PRO
4
1.1k
【2026年版】生成AIによる情報システムへのインパクト
taka_aki
0
170
意志を実装するアーキテクチャモダナイゼーション
nwiizo
3
1.7k
バニラVisaギフトカードを棄てるのは結構大変
meow_noisy
0
130
フルスタックGoでスコア改ざんを防いだ話
ponyo877
0
520
Claude Codeはレガシー移行でどこまで使えるのか?
ak2ie
0
790
Oracle Database@Google Cloud:サービス概要のご紹介
oracle4engineer
PRO
3
1.1k
Goで実現する堅牢なアーキテクチャ:DDD、gRPC-connect、そしてAI協調開発の実践
fujidomoe
3
740
OCI技術資料 : 外部接続 VPN接続 詳細
ocise
1
10k
Featured
See All Featured
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
1.2k
Agile Actions for Facilitating Distributed Teams - ADO2019
mkilby
0
130
世界の人気アプリ100個を分析して見えたペイウォール設計の心得
akihiro_kokubo
PRO
67
37k
4 Signs Your Business is Dying
shpigford
187
22k
Tell your own story through comics
letsgokoyo
1
820
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
254
22k
Taking LLMs out of the black box: A practical guide to human-in-the-loop distillation
inesmontani
PRO
3
2k
Scaling GitHub
holman
464
140k
We Are The Robots
honzajavorek
0
180
Navigating Weather and Climate Data
rabernat
0
120
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
10k
The Impact of AI in SEO - AI Overviews June 2024 Edition
aleyda
5
750
Transcript
Lean プロジェクトの依存関係を 自動更新する 井上亜星 Proxima Technology 2026-01-12
はじめに
自己紹介 はじめに • 趣味で Lean を勉強しています • Lean by Example
という日本語リファレン スを書いています • 2025 年 9 月に Lean の入門書をラムダノー トから出版しました 井上亜星 Lean プロジェクトの依存関係を自動更新する 2026-01-12 2 / 21
今回の目的 はじめに • そもそも Lean とは何かを紹介する • Lean プロジェクトの依存関係を自動更新する 方法について紹介する
• 開発の裏話を聞いていただく 井上亜星 Lean プロジェクトの依存関係を自動更新する 2026-01-12 3 / 21
そもそも Lean とは何か
Lean は、証明支援系 そもそも Lean とは何か • 定理証明支援系の一種 ‣ Rocq(旧 Coq)や
Isabelle などの仲間 ‣ 数学の定理やソフトウェアの仕様をコードで表現して、 証明できる • 間違いを犯しやすい人類に代わって、 ソフトウェアや証明の正しさをチェックしてくれる • ここでは詳しく説明しないが、 「依存型」という強力な型システムに基づいている 井上亜星 Lean プロジェクトの依存関係を自動更新する 2026-01-12 5 / 21
Lean は、プログラミング言語 そもそも Lean とは何か • Lean は汎用言語としても使えるように作られている • 公式サイトにも、programming
language だと書かれている 井上亜星 Lean プロジェクトの依存関係を自動更新する 2026-01-12 6 / 21
Lean では証明とプログラムは地続き そもそも Lean とは何か プログラムと証明は全然違うものという印象があるかもしれ ないが、 Lean では証明とプログラムは地続き Lean
でプログラムを書くと、証明が自然に現れる • 再帰関数を定義するとき、停止証明を要求される • 配列にインデックスアクセスするとき、 それが範囲内であることの証明を要求される • モナドを定義したら、 それがモナド則を満たしていることを証明できる 井上亜星 Lean プロジェクトの依存関係を自動更新する 2026-01-12 7 / 21
Lean では証明とプログラムは地続き そもそも Lean とは何か 逆に証明を書くときにプログラムが必要になることもある • 命題𝑃が成り立つかどうか判定するアルゴリズムがあるな ら、 それを実装すれば𝑃の証明に使えるようになる
• Lean での自動証明のカスタマイズは手続き的に行えるので まさにプログラミングそのもの 井上亜星 Lean プロジェクトの依存関係を自動更新する 2026-01-12 8 / 21
Lean では証明とプログラムは地続き そもそも Lean とは何か 同じ関数を証明にもプログラムにも使うことには問題もある たとえば文字列 String は •
証明に使うことを考えると文字 Char のリストとして定義し たい • プログラムに使うことを考えるともっと効率的な表現にし たい 井上亜星 Lean プロジェクトの依存関係を自動更新する 2026-01-12 9 / 21
Lean では証明とプログラムは地続き そもそも Lean とは何か Lean では等しいことの証明があればコンパイラ上で実装を置 き換えるように指示できて、ある程度この問題を解決できる ようになっている 井上亜星
Lean プロジェクトの依存関係を自動更新する 2026-01-12 10 / 21
lean-update について
Lean はまだ開発中 lean-update について Lean 4 はだいぶ安定してきたとはいえ、月に一度のペースで 新しいリリース(候補)が出る (mathlib はもっと頻繁に更新される)
• 開発元は最新版しか見ていないので、使う側も最新を使い たい • まとめて更新すると大変なので、ちまちま更新したい! 井上亜星 Lean プロジェクトの依存関係を自動更新する 2026-01-12 12 / 21
lean-update とは lean-update について Lean の依存関係を更新して、ビルドが通るか自動で確かめて くれる GitHub Action が欲しい!
• lean-update が誕生 • 元々は Oliver Butterley さんのプロジェクト • Oliver さんのやる気がなくなったので 私がメンテナになった 井上亜星 Lean プロジェクトの依存関係を自動更新する 2026-01-12 13 / 21
lean-update の仕組み lean-update について • Lean の最新版のリリースを取得して • lake update
コマンドを実行して • ビルド&テストを試してみて ‣ テストが失敗したら issue 投稿したり ‣ ビルドが通ったら PR を出したり を行うだけ。シンプル。 井上亜星 Lean プロジェクトの依存関係を自動更新する 2026-01-12 14 / 21
lean-update のありがたみ lean-update について 「最新版だとビルドが通らなくなる」という事象を素早く キャッチしてくれるので、 特に mathlib に依存しているようなプロジェクトだとありが たいかも
井上亜星 Lean プロジェクトの依存関係を自動更新する 2026-01-12 15 / 21
開発の裏話
問題が山積み 開発の裏話 作ってみると、意外と難しいことが分かってきた • 要件が意外と複雑 • GitHub Action 自体の保守のしんどさ 井上亜星
Lean プロジェクトの依存関係を自動更新する 2026-01-12 17 / 21
要件が意外と複雑 開発の裏話 • Lean のバージョン取得のやり方 ‣ 各リリースごと ‣ rc は無視して
stable のみ ‣ nightly を追いかける • lake build 以外のチェック ‣ lake test も実行 ‣ lake lint も実行 • CLI ツールなら --version の出力も更新したい …etc 井上亜星 Lean プロジェクトの依存関係を自動更新する 2026-01-12 18 / 21
GitHub Action 自体の保守のしんどさ 開発の裏話 • action.yml ファイルにワークフローの処理を書いていく ‣ 状態管理も条件分岐も例外処理も全部 yml
• テストもやりにくい ‣「自分自身を呼び出す」ことによってテストしている でもこれが良い方法なのかわからない… ‣ IO 系の操作が多くてそもそもテストが書きづらい 要件の複雑さをカバーしきれない(私の能力不足もあり) 井上亜星 Lean プロジェクトの依存関係を自動更新する 2026-01-12 19 / 21
GitHub Action 自体の保守のしんどさ 開発の裏話 私の前に着手された Oliver さん、類似の Action を管理してい る
Anne さん、みなさん苦労されている様子 lean-update に限らず「自動更新 Action」が Lean 界隈で普及 しない原因はこの辺にありそう 良い方法があれば教えてください 井上亜星 Lean プロジェクトの依存関係を自動更新する 2026-01-12 20 / 21
ご清聴ありがとうござ いました