逐步推導
S001 · implies
操作前
n=6;raw Init=[0];raw Halt=[5];raw Step=[[0, 1], [1, 2], [2, 5], [0, 3], [3, 4], [4, 5], [2, 1]]
操作後
Init=[0];Halt=[5];canonical raw Step=[[0, 1], [0, 3], [1, 2], [2, 1], [2, 5], [3, 4], [4, 5]]
條件:無
整張有限資料先合型,再去重原有向邊。保留halt的原始出邊在資料中,但執行語意在halt停止;不把stuck當成功halt,也不由一條prefix推一般程式終止。
步驟識別與依賴
規則:finite_transition_normalization · 依賴:G001
S002 · implies
操作前
Init=[0]
操作後
zero-step reachable=[0]
條件:無
每個初始狀態以0步可達,包括初始即halt者;空Init沒有可達狀態。
步驟識別與依賴
規則:zero_step_reachability · 依賴:G001, S001
S003 · implies
操作前
depth=0;state=0;halt=否;raw successors=[1, 3]
操作後
expanded successors=[1, 3];newly reached=[1, 3]
條件:無
從非halt狀態展開全部後繼,不只挑一條路;已見狀態不重複加入。halt即使列有出邊也不展開。
步驟識別與依賴
規則:reachability_halt_truncates_expansion · 依賴:G001, S002
S004 · implies
操作前
completed frontier=[0];depth=0
操作後
next frontier=[1, 3];all reached=[0, 1, 3]
條件:無
前緣清空時才到達完整閉包;有限狀態及只加未見者保證此列舉終止,不依賴路徑長度抽樣。
步驟識別與依賴
規則:complete_finite_reachability_layer · 依賴:G001, S003
S005 · implies
操作前
depth=1;state=1;halt=否;raw successors=[2]
操作後
expanded successors=[2];newly reached=[2]
條件:無
從非halt狀態展開全部後繼,不只挑一條路;已見狀態不重複加入。halt即使列有出邊也不展開。
步驟識別與依賴
規則:reachability_halt_truncates_expansion · 依賴:G001, S004
S006 · implies
操作前
depth=1;state=3;halt=否;raw successors=[4]
操作後
expanded successors=[4];newly reached=[4]
條件:無
從非halt狀態展開全部後繼,不只挑一條路;已見狀態不重複加入。halt即使列有出邊也不展開。
步驟識別與依賴
規則:reachability_halt_truncates_expansion · 依賴:G001, S005
S007 · implies
操作前
completed frontier=[1, 3];depth=1
操作後
next frontier=[2, 4];all reached=[0, 1, 2, 3, 4]
條件:無
前緣清空時才到達完整閉包;有限狀態及只加未見者保證此列舉終止,不依賴路徑長度抽樣。
步驟識別與依賴
規則:complete_finite_reachability_layer · 依賴:G001, S006
S008 · implies
操作前
depth=2;state=2;halt=否;raw successors=[1, 5]
操作後
expanded successors=[1, 5];newly reached=[5]
條件:無
從非halt狀態展開全部後繼,不只挑一條路;已見狀態不重複加入。halt即使列有出邊也不展開。
步驟識別與依賴
規則:reachability_halt_truncates_expansion · 依賴:G001, S007
S009 · implies
操作前
depth=2;state=4;halt=否;raw successors=[5]
操作後
expanded successors=[5];newly reached=[]
條件:無
從非halt狀態展開全部後繼,不只挑一條路;已見狀態不重複加入。halt即使列有出邊也不展開。
步驟識別與依賴
規則:reachability_halt_truncates_expansion · 依賴:G001, S008
S010 · implies
操作前
completed frontier=[2, 4];depth=2
操作後
next frontier=[5];all reached=[0, 1, 2, 3, 4, 5]
條件:無
前緣清空時才到達完整閉包;有限狀態及只加未見者保證此列舉終止,不依賴路徑長度抽樣。
步驟識別與依賴
規則:complete_finite_reachability_layer · 依賴:G001, S009
S011 · implies
操作前
depth=3;state=5;halt=是;raw successors=[]
操作後
expanded successors=[];newly reached=[]
條件:無
從非halt狀態展開全部後繼,不只挑一條路;已見狀態不重複加入。halt即使列有出邊也不展開。
步驟識別與依賴
規則:reachability_halt_truncates_expansion · 依賴:G001, S010
S012 · implies
操作前
completed frontier=[5];depth=3
操作後
next frontier=[];all reached=[0, 1, 2, 3, 4, 5]
條件:無
前緣清空時才到達完整閉包;有限狀態及只加未見者保證此列舉終止,不依賴路徑長度抽樣。
步驟識別與依賴
規則:complete_finite_reachability_layer · 依賴:G001, S011
S013 · implies
操作前
reached state=0;declared halt=否;raw successors=[1, 3]
操作後
status=active-nonhalt
條件:無
halt標記優先;非halt且無後繼才是stuck,有後繼者為active。沒有出邊不會自動變成成功停止。
步驟識別與依賴
規則:halt_stuck_active_are_distinct · 依賴:G001, S012
S014 · implies
操作前
reached state=1;declared halt=否;raw successors=[2]
操作後
status=active-nonhalt
條件:無
halt標記優先;非halt且無後繼才是stuck,有後繼者為active。沒有出邊不會自動變成成功停止。
步驟識別與依賴
規則:halt_stuck_active_are_distinct · 依賴:G001, S013
S015 · implies
操作前
reached state=2;declared halt=否;raw successors=[1, 5]
操作後
status=active-nonhalt
條件:無
halt標記優先;非halt且無後繼才是stuck,有後繼者為active。沒有出邊不會自動變成成功停止。
步驟識別與依賴
規則:halt_stuck_active_are_distinct · 依賴:G001, S014
S016 · implies
操作前
reached state=3;declared halt=否;raw successors=[4]
操作後
status=active-nonhalt
條件:無
halt標記優先;非halt且無後繼才是stuck,有後繼者為active。沒有出邊不會自動變成成功停止。
步驟識別與依賴
規則:halt_stuck_active_are_distinct · 依賴:G001, S015
S017 · implies
操作前
reached state=4;declared halt=否;raw successors=[5]
操作後
status=active-nonhalt
條件:無
halt標記優先;非halt且無後繼才是stuck,有後繼者為active。沒有出邊不會自動變成成功停止。
步驟識別與依賴
規則:halt_stuck_active_are_distinct · 依賴:G001, S016
S018 · implies
操作前
reached state=5;declared halt=是;raw successors=[]
操作後
status=halt
條件:無
halt標記優先;非halt且無後繼才是stuck,有後繼者為active。沒有出邊不會自動變成成功停止。
步驟識別與依賴
規則:halt_stuck_active_are_distinct · 依賴:G001, S017
S019 · implies
操作前
natural rank vector=[21, 5, 4, 3, 2, 0];reachable=[0, 1, 2, 3, 4, 5];Halt=[5]
操作後
all active ranking edges=[[0, 1], [0, 3], [1, 2], [2, 1], [2, 5], [3, 4], [4, 5]]
條件:無
自然數ranking只在可達非halt出邊要求嚴格下降,包含進入halt的邊;halt原始出邊不構成繼續執行。
步驟識別與依賴
規則:ranking_reachable_nonhalt_edge_scope · 依賴:G001, S018
S020 · calculation
操作前
rank decrease on edge0,1 := sub(21, 5)
操作後
rank decrease on edge0,1 = 16
條件:無
前態rank減後態rank,必須嚴格大於0才下降。
步驟識別與依賴
規則:exact_rational_arithmetic · 依賴:G001, S019
S021 · implies
操作前
edge=[0, 1];ranks=[21, 5];difference=16
操作後
strictly decreasing=是
條件:無
相等不算下降;保留所有不下降的原邊,不只報第一條。
步驟識別與依賴
規則:ranking_each_strict_decrease · 依賴:G001, S020
S022 · calculation
操作前
rank decrease on edge0,3 := sub(21, 3)
操作後
rank decrease on edge0,3 = 18
條件:無
前態rank減後態rank,必須嚴格大於0才下降。
步驟識別與依賴
規則:exact_rational_arithmetic · 依賴:G001, S021
S023 · implies
操作前
edge=[0, 3];ranks=[21, 3];difference=18
操作後
strictly decreasing=是
條件:無
相等不算下降;保留所有不下降的原邊,不只報第一條。
步驟識別與依賴
規則:ranking_each_strict_decrease · 依賴:G001, S022
S024 · calculation
操作前
rank decrease on edge1,2 := sub(5, 4)
操作後
rank decrease on edge1,2 = 1
條件:無
前態rank減後態rank,必須嚴格大於0才下降。
步驟識別與依賴
規則:exact_rational_arithmetic · 依賴:G001, S023
S025 · implies
操作前
edge=[1, 2];ranks=[5, 4];difference=1
操作後
strictly decreasing=是
條件:無
相等不算下降;保留所有不下降的原邊,不只報第一條。
步驟識別與依賴
規則:ranking_each_strict_decrease · 依賴:G001, S024
S026 · calculation
操作前
rank decrease on edge2,1 := sub(4, 5)
操作後
rank decrease on edge2,1 = -1
條件:無
前態rank減後態rank,必須嚴格大於0才下降。
步驟識別與依賴
規則:exact_rational_arithmetic · 依賴:G001, S025
S027 · implies
操作前
edge=[2, 1];ranks=[4, 5];difference=-1
操作後
strictly decreasing=否
條件:無
相等不算下降;保留所有不下降的原邊,不只報第一條。
步驟識別與依賴
規則:ranking_each_strict_decrease · 依賴:G001, S026
S028 · calculation
操作前
rank decrease on edge2,5 := sub(4, 0)
操作後
rank decrease on edge2,5 = 4
條件:無
前態rank減後態rank,必須嚴格大於0才下降。
步驟識別與依賴
規則:exact_rational_arithmetic · 依賴:G001, S027
S029 · implies
操作前
edge=[2, 5];ranks=[4, 0];difference=4
操作後
strictly decreasing=是
條件:無
相等不算下降;保留所有不下降的原邊,不只報第一條。
步驟識別與依賴
規則:ranking_each_strict_decrease · 依賴:G001, S028
S030 · calculation
操作前
rank decrease on edge3,4 := sub(3, 2)
操作後
rank decrease on edge3,4 = 1
條件:無
前態rank減後態rank,必須嚴格大於0才下降。
步驟識別與依賴
規則:exact_rational_arithmetic · 依賴:G001, S029
S031 · implies
操作前
edge=[3, 4];ranks=[3, 2];difference=1
操作後
strictly decreasing=是
條件:無
相等不算下降;保留所有不下降的原邊,不只報第一條。
步驟識別與依賴
規則:ranking_each_strict_decrease · 依賴:G001, S030
S032 · calculation
操作前
rank decrease on edge4,5 := sub(2, 0)
操作後
rank decrease on edge4,5 = 2
條件:無
前態rank減後態rank,必須嚴格大於0才下降。
步驟識別與依賴
規則:exact_rational_arithmetic · 依賴:G001, S031
S033 · implies
操作前
edge=[4, 5];ranks=[2, 0];difference=2
操作後
strictly decreasing=是
條件:無
相等不算下降;保留所有不下降的原邊,不只報第一條。
步驟識別與依賴
規則:ranking_each_strict_decrease · 依賴:G001, S032
S034 · implies
操作前
reachable=[0, 1, 2, 3, 4, 5];Halt=[5]
操作後
reachable nonhalt graph vertices=[0, 1, 2, 3, 4]
條件:無
只在可達且非halt的子圖查環;不可達環與halt出邊不影響這個執行問題。
步驟識別與依賴
規則:reachable_nonhalt_cycle_scope · 依賴:G001, S033
S035 · implies
操作前
peeling layer=0;remaining=[0, 1, 2, 3, 4]
操作後
vertices with no remaining nonhalt successor=[4]
條件:無
逐層移除沒有剩餘非halt後繼的頂點;有向環的頂點不可能被這樣移除。stuck也可能被移除,所以另保留stuck檢查。
步驟識別與依賴
規則:finite_cycle_sink_peeling · 依賴:G001, S034
S036 · implies
操作前
peeling layer=1;remaining=[0, 1, 2, 3]
操作後
vertices with no remaining nonhalt successor=[3]
條件:無
逐層移除沒有剩餘非halt後繼的頂點;有向環的頂點不可能被這樣移除。stuck也可能被移除,所以另保留stuck檢查。
步驟識別與依賴
規則:finite_cycle_sink_peeling · 依賴:G001, S035
S037 · implies
操作前
peeling layer=2;remaining=[0, 1, 2]
操作後
vertices with no remaining nonhalt successor=[]
條件:無
逐層移除沒有剩餘非halt後繼的頂點;有向環的頂點不可能被這樣移除。stuck也可能被移除,所以另保留stuck檢查。
步驟識別與依賴
規則:finite_cycle_sink_peeling · 依賴:G001, S036
S038 · implies
操作前
nonempty residual=[0, 1, 2];deterministic walk=[0, 1, 2, 1]
操作後
reachable nonhalt cycle=[1, 2, 1]
條件:無
剩餘每點都有剩餘後繼,沿最小標籤後繼走,有限集合必重複頂點並給出實際環;可選擇一直走這個環,所以即使也有halt出口,仍非所有路徑到halt。
步驟識別與依賴
規則:explicit_reachable_cycle_witness · 依賴:G001, S037
S039 · implies
操作前
reachable stuck=[];reachable nonhalt cycle=是
操作後
all paths reach Halt=否
條件:無
有限模型中,無窮非halt路徑必重複狀態而有環;有限極大路徑若不halt就停在stuck。因此排除兩者才是所有路徑到halt。空Init時是空泛真,不外推任意無限狀態程式。
步驟識別與依賴
規則:finite_all_paths_termination_joint_gate · 依賴:G001, S038
S040 · implies
操作前
ranking valid=否;reachable stuck=[]
操作後
ranking plus no stuck=否;actual all-path termination=否
條件:無
自然數嚴格下降排除無窮執行,但仍要排除stuck才到成功halt。候選ranking失敗不代表模型不終止;實際終止性由完整有限圖另核。
步驟識別與依賴
規則:ranking_candidate_not_actual_termination_identity · 依賴:G001, S039