mathlib3 已归档,不再维护!
Lean 3 and Mathlib 3 are no longer actively maintained.
It is strongly recommended that you use mathlib4 for Lean 4 instead.
| 特性 | Mathlib3 (Lean 3) | Mathlib4 (Lean 4) |
|---|---|---|
| 状态 | ❌ 已归档 | ✅ 活跃开发 |
| Lean 版本 | Lean 3 | Lean 4 |
| 维护 | 停止 | 持续更新 |
| 推荐使用 | ❌ 不推荐 | ✅ 强烈推荐 |
| 社区支持 | 无 | 活跃 |
| 新项目 | ❌ 不应使用 | ✅ 必须使用 |
# 我们的 Lean 版本
lean --version
# Lean (version 4.28.0)
# 我们的依赖:mathlib4 (Lean 4)
# lakefile.toml
[[require]]
name = "mathlib"
scope = "leanprover-community"
rev = "v4.28.0"- 活跃开发: 每天都有新贡献
- 更大规模: 超过 100 万行代码
- 更好性能: Lean 4 编译器优化
- 社区支持: Zulip 每日活跃讨论
- 未来保证: Lean 4 是官方推荐
Mathlib/
├── Algebra/ # 代数
│ ├── Group/ # 群论
│ ├── Ring/ # 环论
│ ├── Field/ # 域论
│ └── Module/ # 模论
│
├── Analysis/ # 分析
│ ├── Calculus/ # 微积分
│ ├── Special/ # 特殊函数
│ ├── Normed/ # 赋范空间
│ └── Fourier/ # 傅里叶分析
│
├── Topology/ # 拓扑
│ ├── Basic/ # 基础拓扑
│ ├── Algebraic/ # 代数拓扑
│ └── Metric/ # 度量空间
│
├── NumberTheory/ # 数论
│ ├── Primes/ # 质数
│ ├── Diophantine/ # 丢番图方程
│ └── Modular/ # 模形式
│
├── Probability/ # 概率
│ ├── Distribution/ # 分布
│ └── Martingale/ # 鞅
│
├── Data/ # 数据结构
│ ├── List/ # 列表
│ ├── Finset/ # 有限集
│ └── Matrix/ # 矩阵
│
└── Logic/ # 逻辑
├── Basic/ # 基础逻辑
└── Modal/ # 模态逻辑
# lakefile.toml
name = "lean4ai"
version = "1.0.0"
[[require]]
name = "mathlib"
scope = "leanprover-community"
rev = "v4.28.0"-- 基础导入
import Mathlib.Data.Real.Basic
import Mathlib.Data.List.Basic
import Mathlib.Data.Nat.Basic
-- 代数
import Mathlib.Algebra.Group.Defs
import Mathlib.Algebra.Ring.Defs
-- 分析
import Mathlib.Analysis.Calculus.Deriv.Basic
import Mathlib.Analysis.SpecialFunctions.Pow.Real
-- 拓扑
import Mathlib.Topology.Basic
import Mathlib.Topology.MetricSpace.Basic
-- 数论
import Mathlib.NumberTheory.Primesimport Mathlib.Data.Real.Basic
-- 定义实数函数
def square (x : Real) : Real := x * x
-- 证明平方非负
theorem square_nonneg (x : Real) : square x ≥ 0 := by
simp [square]
exact mul_self_nonneg ximport Mathlib.Data.List.Basic
-- 列表求和
example : [1, 2, 3].sum = 6 := by
simp
-- 列表长度
example : [1, 2, 3].length = 3 := by
simpimport Mathlib.NumberTheory.Primes
-- 证明 2 是质数
example : Nat.Prime 2 := by
decider
-- 证明有无穷多质数(使用 mathlib4 定理)
#check Nat.Prime.infinitely_many_primesimport Mathlib.Topology.Basic
import Mathlib.Analysis.Calculus.Continuity
-- 连续函数
theorem continuous_add (f g : ℝ → ℝ)
(hf : Continuous f) (hg : Continuous g) :
Continuous (fun x => f x + g x) := by
exact Continuous.add hf hg| 资源 | 链接 | 描述 |
|---|---|---|
| API 文档 | https://leanprover-community.github.io/mathlib4_docs | 完整 API |
| Mathlib4 仓库 | https://github.com/leanprover-community/mathlib4 | 源代码 |
| 概述 | https://leanprover-community.github.io/mathlib-overview | 数学概述 |
| 理论覆盖 | https://leanprover-community.github.io/mathlib4_docs/Mathlib/Mathlib/Lean/Excel.html | 覆盖范围 |
1. 基础(1-2 周)
├── Mathematics in Lean
├── Mathlib 文档浏览
└── 常用模块练习
2. 进阶(2-4 周)
├── 阅读源码
├── 理解证明模式
└── 贡献小补丁
3. 高级(1-3 月)
├── 开发新定理
├── 添加新定义
└── 参与社区
URL: https://loogle.lean-lang.org
搜索示例:
Nat → Nat → Nat # 类型签名
List ?a → List ?a # 泛型
_ + _ = _ # 加法等式
Prime # 质数相关
URL: https://leanprover-community.github.io/mathlib4_docs
步骤:
1. 打开文档
2. 使用搜索框
3. 浏览模块
4. 查看定义和定理
# 在 Lean 文件中
# 输入部分名称,按 Ctrl+Space 自动补全
# Ctrl+Click 跳转到定义-- 自然数
import Mathlib.Data.Nat.Basic
import Mathlib.Data.Nat.Prime
-- 整数
import Mathlib.Data.Int.Basic
-- 有理数
import Mathlib.Data.Rat.Basic
-- 实数
import Mathlib.Data.Real.Basic
import Mathlib.Analysis.SpecialFunctions.Pow.Real
-- 复数
import Mathlib.Data.Complex.Basic-- 列表
import Mathlib.Data.List.Basic
import Mathlib.Data.List.Sort
-- 集合
import Mathlib.Data.Set.Basic
import Mathlib.Data.Finset.Basic
-- 映射
import Mathlib.Data.HashMap-- 群
import Mathlib.Algebra.Group.Defs
import Mathlib.Algebra.Group.Subgroup
-- 环
import Mathlib.Algebra.Ring.Defs
import Mathlib.Algebra.Ring.Ideal
-- 域
import Mathlib.Algebra.Field.Defs-- 极限
import Mathlib.Analysis.SpecialFunctions.Pow.Real
-- 微分
import Mathlib.Analysis.Calculus.Deriv.Basic
-- 积分
import Mathlib.Analysis.Calculus.Integrals
-- 级数
import Mathlib.Analysis.Series-- 基础
import Mathlib.Topology.Basic
-- 度量空间
import Mathlib.Topology.MetricSpace.Basic
-- 紧性
import Mathlib.Topology.Compact-- 文件: Leantime/ProjectManagement.lean
import Mathlib.Data.Real.Basic
import Mathlib.Data.List.Basic
import Mathlib.Analysis.Calculus.Deriv.Basic
namespace Leantime
-- 使用 Mathlib4 的实数理论增强预算分析
def budgetBurnRate (project : Project) : Real :=
if project.startDate = 0 then 0
else project.spent / (project.endDate - project.startDate)
-- 使用 Mathlib4 的分析工具预测项目完成
def predictCompletion (project : Project) : Real :=
let burnRate := budgetBurnRate project
let remainingBudget := project.budget - project.spent
if burnRate = 0 then project.endDate
else project.startDate + (remainingBudget / burnRate)
-- 使用 Mathlib4 证明预测合理性
theorem prediction_reasonable (project : Project)
(hvalid : isValidProject project)
(hburn : budgetBurnRate project > 0) :
predictCompletion project > project.startDate := by
simp [predictCompletion, budgetBurnRate]
sorry -- 需要完整证明-- 文件: Leantime/RiskAnalysis.lean
import Mathlib.Data.Real.Basic
import Mathlib.Data.List.Basic
import Mathlib.Probability.Basic
namespace Leantime
-- 使用 Mathlib4 的概率理论
open Probability
-- 风险的概率分布
def riskDistribution (risk : Risk) : ProbabilityDistribution Real :=
-- 定义风险的概率分布
sorry
-- 蒙特卡洛模拟(简化版)
def monteCarloSimulation (risks : List Risk) (iterations : Nat) : Real :=
-- 计算风险的影响分布
sorry
-- 证明模拟结果收敛
theorem simulation_converges (risks : List Risk) :
∃ limit, monteCarloSimulation risks 1000 → limit := by
sorry-- 文件: Agile/Metrics.lean
import Mathlib.Data.Real.Basic
import Mathlib.Data.List.Basic
import Mathlib.Statistics.Basic
namespace Agile.Metrics
-- 使用 Mathlib4 的统计工具
def sprintVelocityStatistics (sprints : List SprintData) : Statistics.Real :=
let velocities := sprints.map (·.completedPoints)
{
mean := velocities.sum / velocities.length,
variance := sorry,
stdDev := sorry
}
-- 置信区间预测
def velocityConfidenceInterval (sprints : List SprintData)
(confidence : Real) : (Real × Real) :=
-- 计算 95% 置信区间
sorry
-- 证明预测有界
theorem prediction_in_interval (sprints : List SprintData) :
∀ velocity, velocity ∈ velocityConfidenceInterval sprints 0.95 →
velocity ≥ 0 := by
sorry代码行数: 1,000,000+
定理数量: 150,000+
定义数量: 80,000+
贡献者: 300+
活跃度: 每日更新
| 领域 | 覆盖度 | 主要模块 |
|---|---|---|
| 代数 | ⭐⭐⭐⭐⭐ | Mathlib.Algebra |
| 分析 | ⭐⭐⭐⭐⭐ | Mathlib.Analysis |
| 拓扑 | ⭐⭐⭐⭐⭐ | Mathlib.Topology |
| 数论 | ⭐⭐⭐⭐ | Mathlib.NumberTheory |
| 概率 | ⭐⭐⭐⭐ | Mathlib.Probability |
| 组合 | ⭐⭐⭐⭐ | Mathlib.Combinatorics |
| 几何 | ⭐⭐⭐ | Mathlib.Geometry |
- README.md - 项目总览
- LEARNING_PATHS.md - 学习路径
- QUICK_REFERENCE.md - 快速参考
- 不要使用 mathlib3 - 已归档,不再维护
- 必须使用 mathlib4 - 活跃开发,官方推荐
- 我们的项目已经正确配置 - 使用 mathlib4 v4.28.0
- 充分利用 mathlib4 - 超过 100 万行数学库
- ✅ 确认使用 mathlib4(已完成)
- 📖 学习 mathlib4 常用模块
- 🔍 使用 Loogle 搜索
- 🚀 在项目中应用 mathlib4
项目状态: ✅ 使用正确的 Mathlib4
Mathlib 版本: v4.28.0 (Lean 4)
最后更新: 2025-03-25