Formal in Silico

现状快照 · 2026-10-01

实现进度

项目在四个领域上分别走到了哪里:多少命题达到了哪一级可信等级,每个领域离它的参照程序还有多远,路线图的哪些阶段已经完成。每个领域有自己的页面,列出逐项状态、交叉校验与缺口。一项功能只有在实现、与参照程序一致、并且输出的每个数都有 Lean 定理保证时,才算完成。

132条命题登记在可信账本中,分属四个领域
93%已有机器证明:T3 95 条,T4 28 条
4个参照程序交叉校验:DFTK.jl、scikit-fem、ASE、pycalphad
3个并行的对齐目标:G1 DFTK、G2 scikit-fem、G3 pycalphad

01

四个领域,同一个标准

每个领域都按同一模式进行:不受信任的 C 驱动负责计算,Lean 检查器用精确有理数重新检查它的证书,一个成熟的程序在同一问题上作独立参照。点进各领域查看完整状态。

02

可信账本

项目的每一条命题都登记了等级、证据和所依赖的假设;运行报告的每一行都引用其中一条。等级的定义见纲领页,每条命题只标它实际达到的等级。

T4 端到端 · 28 T3 机器证明 · 95 T2 模型检验 · 2 T0 测试 · 1 尚未达到目标 · 6
mini-DFT
基础 · 能量 · 自由能 · 展宽 · k 点 · 截断 · 密度 · 能带 · LDA
102
mini-FEM
Poisson · 梁 · 右端项 Taylor 模型
11
mini-MD
守恒律 · Verlet 结构 · 管道定理 · 检查器
14
mini-CALPHAD
混合项下界 · 平衡 · 存在性 · 磁性 · 检查器
5

T4 命题是各个证书检查器的可靠性定理(检查器全程用精确有理数,不涉及浮点)与 C 可信内核无运行时错误的证明。尚未达到目标的 6 条:mini-DFT 5 条(见 DFT 页),以及 mini-MD 中 Newton 方程解的存在性。

03

一个结果的保证从哪里来

求解器从不被信任:它只负责提出候选,由经过证明的检查器裁决。这样我们既能用 LAPACK 和高效的浮点代码,又能把每个输出写成一条定理。四个领域走的是同样的四步。

不受信任 · T0

求解器

C 驱动运行 SCF 循环、FEM 组装、Verlet 积分或平衡搜索,最后写出证书。

数据

证书

浮点数按它本来的精确二进制有理数读入。证书里的任何内容都不被假定为正确。

经过证明 · Lean

检查器

用精确有理数重新检查一切。可靠性是 Lean 定理;证书有错只会让检查失败或区间变宽。

有保证

严格结论

可证明包含真实量的区间:FEM 连续问题的真解、MD 的真轨道、CALPHAD 的全局平衡。

与此同时,DFT 的 SCF 控制器写成 TLA+ 规范并经 TLC 检验(只有残差足够小、能隙打开、证书通过时才能报告“收敛”),每次运行都可以输出轨迹,按这份规范逐步重放检查。

04

目标与路线图各阶段

G1:mini-DFT 与 DFTK 功能对齐 2026-09-29 设定

46 项中完成 6 项,另有 4 项与 DFTK 一致;LDA 交换在 Γ 点加 MP/MV 展宽已有 SCF 解证书。先一维,再 d 维。逐项状态 →

G2:带形式化证明的有限元,对照 scikit-fem 2026-09-30 设定

26 项中完成 11 项;F0(一维 Poisson)已全部完成,F1(一维扩展)进行中。逐项状态 →

G3:带形式化证明的 CALPHAD,对照 pycalphad 2026-10-01 设定

23 项中完成 12 项;C0(二元点平衡)全部完成,C1 中完成了带证书的相图、Inden–Hillert–Jarl 磁性模型、驱动力与单相区化学势的收紧。下一步:间隙溶体与不变反应。逐项状态 →

  1. 阶段 0最小 DFT进行中

    可信账本、Lean 证书检查器、可信报告、trace validation 已建立;四组基准全部通过,包括与 DFTK.jl 的交叉校验。

    尚缺连续适定性、平面波先验误差估计、线性混合收敛的文献核对(目标 T1);Lean 与 Rocq 的接口命题;区间算术的代码层证明(现为 T3,目标 T4)。

  2. 阶段 1DFT 扩展部分提前完成

    k 点采样已实现并有证书;k 点的线程并行协议经模型检验,不同线程数的结果逐位一致。原计划之外还完成了有限温度占据及其自由能、熵与能量证书,Anderson 混合,非自洽能带与态密度,截断误差证书。

    LDASlater 交换在 Γ 点加 MP/MV 展宽已有证书;PW92 关联、其他展宽与 k 点与 DFTK 一致,尚无证书。

    未开始MPI 并行、三维平面波与赝势。

  3. 阶段 2MD 与 FEM已达退出标准

    两个最小版本都输出可信报告。mini-FEM:一维 Poisson(P1)与梁(三次 Hermite),证书针对真解。mini-MD v0(2026-10-01):一维 Lennard-Jones 原子链加 Velocity Verlet,证书针对真轨道。Céa 引理(FEM-D03)与 Verlet 辛性(MD-D03)都达到 T3。

    未开始halo 交换、原子迁移、并行组装、检查点的 TLA+ 模块;MD 的周期盒子与恒温器。

  4. 阶段 3可信内核未开始

    起点是区间算术内核:其正确性已对逐行模型证明(T3),C 代码无运行时错误已证明(T4)。

  5. 阶段 4对标未开始

    Δ 量规、NVE 能量漂移、制造解收敛阶,连同对应的可信账本一起公开。

CALPHAD 不在纲领原有的阶段之中;它在 2026-10-01 作为目标 G3 加入,完成标准与 G1、G2 相同。

05

不经证明而信任的部分

每个领域的每一个保证都以这个小而明确的可信基为前提。

Lean 4检查所有证明的内核;Mathlib,只用三条标准公理
Lean 编译器把检查器编译成可执行程序,连同输入解析与十进制输出(下界向下、上界向上取整)
TLCTLA+ 模型检验器
Frama-C / WP连同 Why3、Alt-Ergo、Z3,用于 C 内核的运行时安全
C 编译器目前未经验证;可信内核将来可改用 CompCert
IEEE 754只信任“就近舍入的结果是最近的 double”,不依赖误差大小

每个领域另有自己的建模约定,例如被认证的问题取证书中的精确有理数、TDB 数据库的翻译正确等,在各领域页面中相应的位置注明。

写出这些问题的 C 驱动不受信任,但有几道检查:报告逐行与检查器自己的输出对照;线程协议按 TLA+ 规范重放;在 AddressSanitizer 与 UBSan 下做模糊测试;无法精确写进证书的输入一律拒绝。这些都在 make verify-all 中运行。最大的剩余缺口是检查器既不重算也不回显证书中的问题数据。