FDRS / FCSR Classical Cube Foundations VII
可驗證 Solver:Soundness、Completeness、Optimality 與解證書
英文題名: Verified Solvers: Soundness, Completeness, Optimality, and Solution Certificates
系列: FDRS / FCSR Classical Cube Foundations
系列編號: EML-FDRS-FCSR-CUBE-07
版本: v0.1
日期: 2026-08-20
作者: Neo.K
機構: 一言諾科技有限公司(EveMissLab)
狀態: Orthodox Origin Continuation / 經典地基第七篇
摘要
前六篇已建立合法狀態、表示、搜尋、heuristic、Pattern Database、pruning 與 Two-Phase。本文處理最後一個經典 solver 地基問題:當程式宣稱「我解了」「我一定能解」「這是最短解」時,這三句話各自需要什麼數學證據?
本文嚴格區分三種性質。Soundness 是輸出層性質:若 solver 回傳 move sequence ,則重播 必須到達目標。Completeness 是演算法層性質:對指定 domain 中每個可解狀態,在沒有外部資源中止的條件下,solver 最終都會回傳某個解。Optimality 是最短性質:solver 回傳的解成本等於真實最短距離。
本文主張高速搜尋器本身不必全部進入 trusted computing base。可以採用:
Searcher 只負責提出候選 move sequence;Checker 在 canonical move semantics 上重播並驗證。若 Checker 的 soundness theorem 已在 Lean 4 中證明,則任意外部 solver、GPU solver、AI solver 或 Two-Phase implementation 都可以成為不可信候選生成器,而不會擴張最終「解得正確」的信任面。
對 optimality,本文提出雙證書架構。合法解 給出上界:
一個已證 admissible 的 lower-bound certificate 給出:
若:
便得到:
因此最短性不必依賴「相信 solver 已經窮舉所有更短路徑」,而可以由 upper-bound solution certificate 與 lower-bound proof certificate 夾逼得到。
本文亦提出一個特別適合 PDB / pruning table 的驗證方式:若有限抽象圖上的表值 滿足目標值為 ,且對每條抽象 edge 滿足一致性不等式
則沿任意到目標路徑反覆套用可得
所以不必把巨型 PDB 的建立演算法全部納入 trusted base;可以把 table 當成不可信資料,再用可驗證的 local constraints 建立 global lower-bound guarantee。
最後,本文為 Lean / runtime 定義 SolutionCertificate、LowerBoundCertificate、OptimalityCertificate、SearchResult 與 VerificationReport,並將 Two-Phase 的 phase certificates 組合進同一證明架構。至此,FCSR/FDRS 經典魔方線第一次具備「演算法可以自由競爭,但輸出保證由獨立證明層統一裁決」的完整設計。
關鍵詞: verified solver、soundness、completeness、optimality、certificate checker、Lean 4、proof-carrying search、PDB verification、FCSR、FDRS
1. 三句看似相同、其實完全不同的話
對 solver:
以下三句不能混在一起。
1.1 「它找到的解是真的」
這是:
1.2 「只要有解,它最後一定找得到」
這是:
1.3 「它找到的是最短解」
這是:
三者的證明責任不同。
2. Solution predicate
令目標集合為:
定義:
對標準 solved-cube goal:
因此:
這個 predicate 應該是所有 solver、UI、checker 與 Lean theorem 共用的唯一解語義。
3. 解序列本身就是最小型證書
若 searcher 回傳:
則 checker 不需要理解 searcher 為何選這些 moves。
它只需要重播:
並檢查:
所以:
這是一種 proof-carrying computation:計算者回傳結果,也回傳可獨立重播的 witness。
4. Trusted checker
定義 executable checker:
理想 Lean theorem:
若再證 converse:
則 checker 與 specification 完全對應。
但對安全架構而言,第一個方向已足以建立 soundness。
5. Searcher 可以不可信
因此 solver architecture 可以拆成:
Fast / Untrusted Searcher
↓
candidate path p
↓
Trusted Canonical Checker
↓
VerifiedSolution or Reject
Searcher 可以是:
- BFS;
- IDA*;
- Kociemba Two-Phase;
- native C++;
- WebAssembly;
- GPU;
- 外部 library;
- AI-generated solver;
- 未形式化的新算法。
只要 candidate path 最終通過同一 checker:
其 solution soundness 不依賴 searcher 內部正確性。
6. Trusted computing base 的縮小
若整個高效 Two-Phase implementation 都必須形式化,trusted proof surface 很大。
但如果只信任:
- canonical state;
- move semantics;
- path replay;
- checker soundness theorem;
則高速 solver 只是候選生成器。
因此 trusted core 可以縮成:
這也是實際工程最值得優先形式化的部分。
7. Soundness theorem
solver-level soundness 可以寫為:
若 solver 的所有 Solved 結果在返回前都經過 checker:
且 checker soundness 已證,solver soundness 可以由 wrapper theorem 得到。
8. 「ResourceLimit」不違反 soundness
假設 solver 對某些狀態回:
這不代表 soundness 失敗。
Soundness 只限制:
若你宣稱
Solved(p), 必須真的解。
所以一個只解部分案例、但從不回傳錯誤解的 solver,可以是 sound 的。
這再次說明:
9. Completeness 的正式定義
對 domain:
solver completeness 可定義為:
若標準合法魔方的每個狀態皆可到 solved state,則可寫:
但這是一個演算法/termination 性質,不是一條解序列本身能證明的事情。
10. Completeness 通常需要條件化
實際 solver 有:
- timeout;
- memory cap;
- node cap;
- cancellation;
- bounded depth。
所以更精確的 theorem 是:
因此 API 中:
ResourceLimit
BoundExceeded
Cancelled
不能被解讀成:
NoSolution
11. Finite graph completeness
對 finite graph:
若 BFS:
- successor generation 完整;
- duplicate handling 正確;
- queue 不被外部截斷;
則 reachable goal 最終會被探索到。
這提供 BFS completeness 的標準證明模板。
對 IDA*,則需要證 threshold progression 不會永遠停在低於 optimal cost 的值,且每個 threshold 內的 admissible candidate paths 被完整探索。
12. Two-Phase completeness 是可組合的
若 Phase 1 對所有:
都能找到:
使:
且 Phase 2 對所有:
都能找到:
使:
則 phase composition complete。
但實際 implementation 若丟棄 candidates 或設定資源限制,必須把數學 phase completeness 與工程 completeness 分開報告。
13. Optimality predicate
令 path cost:
定義:
當且僅當:
且:
等價於:
因此 optimality 至少包含 soundness。
14. 找到一條解只給上界
若:
且:
則只能推出:
這是一個 upper bound。
所以:
「我有一條 步解」
不等於:
「這顆魔方最短距離就是 」。
15. Lower-bound certificate
若另有:
滿足:
則:
是一個 lower bound。
若:
且已有一條成本:
的 solution path,則:
因此:
這就是本文的 optimality sandwich。
16. Optimality certificate = Upper + Lower
定義:
其中:
且:
定義:
其中:
若:
則形成:
這比「信任 optimal solver」更模組化。
17. Heuristic 本身可以成為 lower-bound certificate
第五篇已建立:
因此任何已證 admissible heuristic 都可提供 lower bound。
若 solver 找到:
則立即證明 optimal。
這是 heuristic 從「搜尋工具」升級為「證明工具」的關鍵一步。
18. 一致性表可以用局部約束證明全域下界
考慮有限抽象圖:
給一張表:
若:
對所有 abstract goals 成立,且每條 edge:
都滿足:
則對任意 path:
反覆套用可得:
對所有到 goal 的 path 取 minimum:
所以局部 consistency checks 可以產生 global lower-bound guarantee。
19. 這讓巨大 PDB 可以在 trusted base 外建立
PDB builder 可以是不可信程式。
它輸出:
Verified PDB checker 再檢查:
- 所有 goal:
- 所有抽象 edges:
若全部通過,便可證:
若 abstraction 本身已證:
則組合得到:
這樣 table generation、壓縮、平行化都可以自由優化,而最終 admissibility 仍由獨立 checker 保證。
20. Checksum 不是數學證明
工程上可以對 PDB 保存:
來保護檔案完整性。
但:
checksum 只能說:
這個檔案和先前那份相同。
它不能說:
表內數字一定是合法 lower bounds。
所以應分:
IntegrityVerified
LowerBoundVerified
ExactDistanceVerified
三種不同狀態。
21. Exact PDB 與 Lower-Bound PDB 也應區分
若 table 真正滿足:
則它是 exact abstract-distance PDB。
但對 optimality search,其實只需要:
所以:
若壓縮或近似方式保留 lower-bound property,即使 table 不再儲存 exact distance,仍可能安全用於 optimal search。
22. IDA* exhaustion 也可以構成 lower-bound 證據
假設 verified IDA* 完整探索所有:
的 search nodes,並證明其中不存在 goal。
則可推出:
如果接著找到成本:
的解,就可證 optimal。
因此另一種 optimality proof 是:
只是這要求信任/形式化更多 search-control logic,trusted surface 比單純 solution checker 大。
23. Optimality 的三條驗證路徑
路徑 A:Lower bound meets upper bound
最乾淨。
路徑 B:Verified exhaustive search
完整證明所有:
的候選都不存在。
路徑 C:External proof certificate
外部 solver 產生一個可以由小 checker 驗證的 no-shorter-solution certificate。
例如未來可以研究:
- SAT/SMT unsat proof;
- exhaustive frontier certificate;
- quotient-distance certificate;
- symmetry-reduced proof object。
本系列第一版優先 A。
24. SolutionCertificate
建議 canonical artifact:
SolutionCertificate
puzzleSpecHash
metric
startState
moveSequence
finalState
cost
checkerVersion
stateKernelVersion
其核心可驗證內容為:
其他 hash / version metadata 用於重現與工程完整性,而不是取代數學 proof。
25. LowerBoundCertificate
概念:
LowerBoundCertificate
method
representation
startIndex
lowerBound
proofRef
tableHash
verifierVersion
method 可包括:
VerifiedHeuristic
VerifiedPDB
VerifiedExhaustion
ExternalProof
核心 theorem 永遠是:
26. OptimalityCertificate
把兩邊組合:
OptimalityCertificate
solutionCertificate
lowerBoundCertificate
equalityProof
要求:
然後輸出:
UI 可以明確顯示:
Solution: 18 HTM
Verified upper bound: 18
Verified lower bound: 18
Optimality: PROVEN
27. 若上下界沒碰到,不應假裝知道 exact distance
例如:
正確結果是:
UI 應顯示:
Exact distance: unresolved
Certified interval: [16, 18]
而不是只把 顯示成「distance」。
28. VerificationReport
統一報告:
VerificationReport
stateValidity
solutionSoundness
lowerBoundStatus
optimalityStatus
completenessClaim
resourceLimits
proofDependencies
例如 Two-Phase:
stateValidity: verified
solutionSoundness: verified
lowerBoundStatus: phase-specific only
optimalityStatus: unknown
completenessClaim: conditional
Optimal IDA*:
solutionSoundness: verified
lowerBoundStatus: verified
optimalityStatus: proven
29. Two-Phase 證書的組合
第六篇已有:
可以保存:
Phase1Certificate
path
boundaryState
inG1Proof
Phase2Certificate
path
solvedProof
再由 composition theorem 得:
因此 Two-Phase soundness 很適合 compositional proof。
30. Two-Phase optimality 不能由兩個 phase soundness 推出
即使:
是最短進入 的路,
且:
是從該 boundary state 到 solved 的最短路,
也不能推出:
是 full cube global optimal。
因為可能有另一個 boundary:
讓:
更小。
所以:
31. Completeness certificate 不適合做成單一 per-instance 檔案
Soundness 可以由一條 move sequence逐例驗證。
Optimality也可以由 upper / lower bounds逐例驗證。
但 algorithm completeness 是:
的全域性質。
因此它更適合:
- Lean theorem;
- algorithm proof;
- finite-domain exhaustive meta-proof;
而不是每個 solve result 都附一份巨型 completeness certificate。
這是證書架構的重要邊界。
32. Solver guarantee lattice
可以把保證分層:
Candidate
↓
Sound
↓
Complete-on-Domain
而 optimality 是另一條正交軸:
Sound Solution
↓
Bounded [L,U]
↓
Globally Optimal
所以 solver quality 不是一維排序。
例如:
- Two-Phase:高 practical performance,sound,可條件 complete,但通常 optimality unknown;
- Verified BFS on small puzzle:sound、complete、optimal,但 scalability 低;
- AI proposal + checker:sound output,但 completeness / optimality 未知。
33. AI solver 的正確接入方式
未來 AI 可以提出:
但系統不需要問:
AI 到底有沒有真正「理解」魔方?
對 solution correctness,只需:
AI 可以:
- 發明 heuristic;
- 建議 phase;
- 生成 move sequence;
- 選擇 representation;
- 壓縮 search policy。
但 correctness 由外部形式層裁決。
這使 AI experimentation 與 proof safety 可以解耦。
34. Searcher–Checker 分離對 FDRS 的意義
FDRS 起源強調不同表示與觀察層。
現在我們再增加:
與:
Generator 可以在任何方便的 representation:
中工作。
Verifier 則回到 canonical semantics:
因此:
這是一個非常乾淨的 FDRS 計算閉環。
35. Proof-producing representation bridge
若 searcher 使用 coordinate:
而 checker 使用 canonical state:
則至少要有已驗證 bridge:
否則 searcher 的內部 coordinate semantics 可能與 canonical move semantics 漂移。
最安全的方法仍是:
Searcher 的內部可以自由,但最終 move certificate 必須在 canonical kernel 重播。
如此即使 coordinate implementation 有 bug,也只會讓 searcher 找不到好解,而不會讓錯解通過 verifier。
36. Lean 4 核心型別建議
概念:
structure SolutionCertificate where
moves : List Move
def Solves (s : ValidCubeState) (c : SolutionCertificate) : Prop :=
applyMoves s c.moves = solved
Checker:
def checkSolution (s) (c) : Bool :=
decide (applyMoves s c.moves = solved)
核心 theorem:
theorem checkSolution_sound :
checkSolution s c = true ->
Solves s c
再將所有高速 solver 包成:
def verifyCandidate (s) (p) :=
if checkSolution s p then
VerifiedSolution
else
Reject
37. Lower-bound proof interface
抽象:
structure LowerBoundWitness where
value : Nat
valid : value <= distanceToGoal s
若不希望直接把昂貴的 distanceToGoal 放進 executable code,可以透過 theorem-backed abstraction:
CertifiedHeuristic
eval : State -> Nat
admissible : forall s, eval s <= distanceToGoal s
因此:
本身就是 lower-bound witness value。
38. Optimality theorem
若:
且:
則:
證明:
由 solution:
由 admissibility:
又:
所以:
故:
證畢。
這應成為本系列最優先形式化的 optimality theorem。
39. Formal verification roadmap
V1. Canonical move semantics
證:
與 group action 一致。
V2. Solution checker soundness
V3. Representation roundtrip / move commutation
延續前三篇。
V4. Baseline heuristic admissibility
延續第五篇:
V5. Abstract consistency verifier
局部 edge checks:
推出 global lower bound。
V6. Optimality sandwich theorem
upper = lower 推出 optimal。
V7. Two-Phase compositional soundness
Phase 1 + Phase 2 certificates 推出 full solution。
V8. Search algorithm completeness / optimality
最後才形式化 BFS / IDA* 等較大的控制流程。
40. 驗證優先順序:先小 checker,後大 solver
本文建議實作順序不是:
而是:
這能最快得到一個真正有安全價值的 verified core。
41. 可視化:把「證明狀態」畫出來
新版 UI 可以在 solution panel 顯示:
State legality VERIFIED
Move replay VERIFIED
Goal reached VERIFIED
Solution cost 18 HTM
Lower bound 16 HTM
Global optimality NOT PROVEN
Certified interval [16, 18]
如果 lower bound 也到 :
Global optimality PROVEN
Reason lower bound = upper bound
這能避免一般 solver UI 最常見的語義混淆。
42. Proof trace 與 search trace 分開
SearchTrace 記:
- 展開哪些節點;
- 剪了哪些節點;
- threshold 怎麼變。
ProofTrace 記:
- 哪些 property 已驗證;
- 使用哪個 theorem;
- 哪個 certificate;
- 哪些 dependency。
兩者不能混成同一種 log。
Search 可以很巨大、很嘈雜。
Proof 應該小、穩定、可重播。
43. Verification artifact 應可保存
每次 solve 可以輸出:
run.json
solution.txt
solution_certificate.json
verification_report.json
search_stats.json
若有 optimality:
lower_bound_certificate.json
optimality_certificate.json
正式研究 benchmark 就可以重播:
這比只截圖「Solved in 0.1 s」更有研究價值。
44. Certificate portability
只要 puzzle spec、move semantics 與 metric 版本固定,solution certificate 不需要綁定原 solver。
因此同一個:
可以由:
- JavaScript checker;
- Rust checker;
- Python checker;
- Lean extracted checker;
- Lean theorem;
交叉驗證。
這使證書成為算法之間的共同語言。
45. 本文核心命題
命題 V-A:Searcher 不必可信
只要候選輸出經過已證 sound 的 checker。
命題 V-B:Solution path 是 upper-bound certificate
命題 V-C:Admissible heuristic 是 lower-bound certificate
命題 V-D:Upper = Lower 即證 optimal
命題 V-E:PDB 可以作為不可信資料,由小 checker 驗證 lower-bound property
局部 consistency constraints 推出 global lower bound。
命題 V-F:Completeness 是 algorithm-level theorem
不能由單一 solution certificate 取代。
命題 V-G:Two-Phase soundness 可組合,但 phase optimality 不推出 global optimality
命題 V-H:FDRS 的搜尋表示與 canonical verification 可以解耦
46. 結論
本文完成 FDRS/FCSR Classical Cube Foundations 的「求解可信性地基」。
到目前為止,我們已經把經典魔方拆成:
本文最重要的架構結論是:
求解器可以自由追求速度、AI、自動 phase discovery、GPU 或任何新 representation;最終 claim 則由小型、穩定、可形式化的 checker 決定。
對「解得正確」,move sequence 本身就是證書。
對「證明最短」,最乾淨的策略是:
這使最短性從 solver 的權威宣稱,變成任何人都能重新檢查的數學夾逼。
到這一步,前七篇已足以支持正式演算法工程。
下一篇開始轉向整個系列最具 FCSR 起源特色的部分:
《多表示同步可視化:3D、FCSR Net、Permutation、Cubie、Graph 與 Search Frontier》。
那一篇的問題不再是「我們能不能算」,而是:
如何讓人與 AI 看見同一個狀態、同一個 move、同一次搜尋與同一份證明,在不同表示域中同步發生?
參考資料與來源定位
起源與系列內部
- [F2026-D]
FDRS_展開收斂_同步性.html,原 FDRS/FCSR permutation engine、IDA* 與同步可視化原型。 - [CUBE-04] 本系列第四篇:搜尋統一語義。
- [CUBE-05] 本系列第五篇:admissible heuristic、PDB 與 pruning。
- [CUBE-06] 本系列第六篇:Two-Phase 與 phase handoff。
外部基線
- [R1] Herbert Kociemba, Two-Phase Algorithm 與 Two-Phase Algorithm Details。用於 Two-Phase 的 sound / non-optimal practical baseline。
- [R2] Herbert Kociemba, Pruning Tables。用於 coordinate pruning lower bounds。
- [R3]
vihdzp/rubik-lean4,Lean 4 Rubik's Cube formalization。用於現有可解性/合法性形式化工作的 related-work 定位。 - [R4]
alerad/leancert,Lean 4 certificate-checking architecture。用於「不可信候選生成+可執行 checker+soundness theorem」的一般形式驗證工程參照。
版本註記
v0.1 將 solver guarantee 分解為 soundness、completeness、optimality;建立 upper-bound / lower-bound 雙證書模型;並提出以局部 consistency constraints 驗證 heuristic table 全域 lower-bound property 的方法。
後續第八篇:
《多表示同步可視化:3D、FCSR Net、Permutation、Cubie、Graph 與 Search Frontier》。