逐步推導
S001 · implies
操作前
source operation=euler-odd-degree-classification;original snapshot and mathematics retained
操作後
explicit ordered source output fields=[degrees, odd_vertices, edge_support_connected, euler_type, criterion]
條件:無
原題歷史介面標記仍在快照;這裡直接給原始欄位順序,主文不需JavaScript或外部表。描述欄位不自動證成任何數學聲稱。
步驟識別與依賴
規則:source_ordered_interface_explicit_without_javascript · 依賴:G001
S002 · implies
操作前
complete ORIGINAL carrier Fin(9);canonical ORIGINAL simple undirected edges=[[0, 1], [1, 2], [2, 3], [3, 4], [4, 5], [5, 6], [6, 7], [7, 8]]
操作後
edge indices are EXACT original list positions0..7;retain ALL vertices;no12-vertex or10-edge bound
條件:無
逐原邊位置固定索引,不用頂點對的字串排序代替來源數字順序。此題族允許到60頂點,不沿用前題族上界;零邊圖僅在允許的操作出現。
步驟識別與依賴
規則:euler_original_simple_graph_indices_full_carrier · 依賴:G001, S001
S003 · calculation
操作前
Euler vertex0 exact incident edge count := sum(1)
操作後
Euler vertex0 exact incident edge count = 1
條件:無
依原資料角色及前面已核中間量精確代值,保留索引、正負號與所在空間。
步驟識別與依賴
規則:exact_rational_arithmetic · 依賴:G001, S002
S004 · implies
操作前
original vertex=0;ALL original incident edge indices=[0]
操作後
degree=1;nonisolated=是;odd=是
條件:無
只對原完整邊表計此頂點的incident邊,度數0的頂點仍留在全carrier;不是拿頂點標籤或support大小當degree。
步驟識別與依賴
規則:euler_degree_actual_incidence_not_label_or_support_size · 依賴:G001, S003
S005 · calculation
操作前
Euler vertex1 exact incident edge count := sum(1, 1)
操作後
Euler vertex1 exact incident edge count = 2
條件:無
依原資料角色及前面已核中間量精確代值,保留索引、正負號與所在空間。
步驟識別與依賴
規則:exact_rational_arithmetic · 依賴:G001, S004
S006 · implies
操作前
original vertex=1;ALL original incident edge indices=[0, 1]
操作後
degree=2;nonisolated=是;odd=否
條件:無
只對原完整邊表計此頂點的incident邊,度數0的頂點仍留在全carrier;不是拿頂點標籤或support大小當degree。
步驟識別與依賴
規則:euler_degree_actual_incidence_not_label_or_support_size · 依賴:G001, S005
S007 · calculation
操作前
Euler vertex2 exact incident edge count := sum(1, 1)
操作後
Euler vertex2 exact incident edge count = 2
條件:無
依原資料角色及前面已核中間量精確代值,保留索引、正負號與所在空間。
步驟識別與依賴
規則:exact_rational_arithmetic · 依賴:G001, S006
S008 · implies
操作前
original vertex=2;ALL original incident edge indices=[1, 2]
操作後
degree=2;nonisolated=是;odd=否
條件:無
只對原完整邊表計此頂點的incident邊,度數0的頂點仍留在全carrier;不是拿頂點標籤或support大小當degree。
步驟識別與依賴
規則:euler_degree_actual_incidence_not_label_or_support_size · 依賴:G001, S007
S009 · calculation
操作前
Euler vertex3 exact incident edge count := sum(1, 1)
操作後
Euler vertex3 exact incident edge count = 2
條件:無
依原資料角色及前面已核中間量精確代值,保留索引、正負號與所在空間。
步驟識別與依賴
規則:exact_rational_arithmetic · 依賴:G001, S008
S010 · implies
操作前
original vertex=3;ALL original incident edge indices=[2, 3]
操作後
degree=2;nonisolated=是;odd=否
條件:無
只對原完整邊表計此頂點的incident邊,度數0的頂點仍留在全carrier;不是拿頂點標籤或support大小當degree。
步驟識別與依賴
規則:euler_degree_actual_incidence_not_label_or_support_size · 依賴:G001, S009
S011 · calculation
操作前
Euler vertex4 exact incident edge count := sum(1, 1)
操作後
Euler vertex4 exact incident edge count = 2
條件:無
依原資料角色及前面已核中間量精確代值,保留索引、正負號與所在空間。
步驟識別與依賴
規則:exact_rational_arithmetic · 依賴:G001, S010
S012 · implies
操作前
original vertex=4;ALL original incident edge indices=[3, 4]
操作後
degree=2;nonisolated=是;odd=否
條件:無
只對原完整邊表計此頂點的incident邊,度數0的頂點仍留在全carrier;不是拿頂點標籤或support大小當degree。
步驟識別與依賴
規則:euler_degree_actual_incidence_not_label_or_support_size · 依賴:G001, S011
S013 · calculation
操作前
Euler vertex5 exact incident edge count := sum(1, 1)
操作後
Euler vertex5 exact incident edge count = 2
條件:無
依原資料角色及前面已核中間量精確代值,保留索引、正負號與所在空間。
步驟識別與依賴
規則:exact_rational_arithmetic · 依賴:G001, S012
S014 · implies
操作前
original vertex=5;ALL original incident edge indices=[4, 5]
操作後
degree=2;nonisolated=是;odd=否
條件:無
只對原完整邊表計此頂點的incident邊,度數0的頂點仍留在全carrier;不是拿頂點標籤或support大小當degree。
步驟識別與依賴
規則:euler_degree_actual_incidence_not_label_or_support_size · 依賴:G001, S013
S015 · calculation
操作前
Euler vertex6 exact incident edge count := sum(1, 1)
操作後
Euler vertex6 exact incident edge count = 2
條件:無
依原資料角色及前面已核中間量精確代值,保留索引、正負號與所在空間。
步驟識別與依賴
規則:exact_rational_arithmetic · 依賴:G001, S014
S016 · implies
操作前
original vertex=6;ALL original incident edge indices=[5, 6]
操作後
degree=2;nonisolated=是;odd=否
條件:無
只對原完整邊表計此頂點的incident邊,度數0的頂點仍留在全carrier;不是拿頂點標籤或support大小當degree。
步驟識別與依賴
規則:euler_degree_actual_incidence_not_label_or_support_size · 依賴:G001, S015
S017 · calculation
操作前
Euler vertex7 exact incident edge count := sum(1, 1)
操作後
Euler vertex7 exact incident edge count = 2
條件:無
依原資料角色及前面已核中間量精確代值,保留索引、正負號與所在空間。
步驟識別與依賴
規則:exact_rational_arithmetic · 依賴:G001, S016
S018 · implies
操作前
original vertex=7;ALL original incident edge indices=[6, 7]
操作後
degree=2;nonisolated=是;odd=否
條件:無
只對原完整邊表計此頂點的incident邊,度數0的頂點仍留在全carrier;不是拿頂點標籤或support大小當degree。
步驟識別與依賴
規則:euler_degree_actual_incidence_not_label_or_support_size · 依賴:G001, S017
S019 · calculation
操作前
Euler vertex8 exact incident edge count := sum(1)
操作後
Euler vertex8 exact incident edge count = 1
條件:無
依原資料角色及前面已核中間量精確代值,保留索引、正負號與所在空間。
步驟識別與依賴
規則:exact_rational_arithmetic · 依賴:G001, S018
S020 · implies
操作前
original vertex=8;ALL original incident edge indices=[7]
操作後
degree=1;nonisolated=是;odd=是
條件:無
只對原完整邊表計此頂點的incident邊,度數0的頂點仍留在全carrier;不是拿頂點標籤或support大小當degree。
步驟識別與依賴
規則:euler_degree_actual_incidence_not_label_or_support_size · 依賴:G001, S019
S021 · implies
操作前
nonisolated edge support:original edge index=0;edge=[0, 1];from=0;new vertex=1
操作後
original-edge path from0=[0, 1];reached=[0, 1]
條件:無
每個新達頂點均列真邊路徑;support起點取其第一個實際頂點,不假定一定有邊接頂點0。
步驟識別與依賴
規則:euler_connectivity_actual_path_witness · 依賴:G001, S020
S022 · implies
操作前
nonisolated edge support:original edge index=1;edge=[1, 2];from=1;new vertex=2
操作後
original-edge path from0=[0, 1, 2];reached=[0, 1, 2]
條件:無
每個新達頂點均列真邊路徑;support起點取其第一個實際頂點,不假定一定有邊接頂點0。
步驟識別與依賴
規則:euler_connectivity_actual_path_witness · 依賴:G001, S021
S023 · implies
操作前
nonisolated edge support:original edge index=2;edge=[2, 3];from=2;new vertex=3
操作後
original-edge path from0=[0, 1, 2, 3];reached=[0, 1, 2, 3]
條件:無
每個新達頂點均列真邊路徑;support起點取其第一個實際頂點,不假定一定有邊接頂點0。
步驟識別與依賴
規則:euler_connectivity_actual_path_witness · 依賴:G001, S022
S024 · implies
操作前
nonisolated edge support:original edge index=3;edge=[3, 4];from=3;new vertex=4
操作後
original-edge path from0=[0, 1, 2, 3, 4];reached=[0, 1, 2, 3, 4]
條件:無
每個新達頂點均列真邊路徑;support起點取其第一個實際頂點,不假定一定有邊接頂點0。
步驟識別與依賴
規則:euler_connectivity_actual_path_witness · 依賴:G001, S023
S025 · implies
操作前
nonisolated edge support:original edge index=4;edge=[4, 5];from=4;new vertex=5
操作後
original-edge path from0=[0, 1, 2, 3, 4, 5];reached=[0, 1, 2, 3, 4, 5]
條件:無
每個新達頂點均列真邊路徑;support起點取其第一個實際頂點,不假定一定有邊接頂點0。
步驟識別與依賴
規則:euler_connectivity_actual_path_witness · 依賴:G001, S024
S026 · implies
操作前
nonisolated edge support:original edge index=5;edge=[5, 6];from=5;new vertex=6
操作後
original-edge path from0=[0, 1, 2, 3, 4, 5, 6];reached=[0, 1, 2, 3, 4, 5, 6]
條件:無
每個新達頂點均列真邊路徑;support起點取其第一個實際頂點,不假定一定有邊接頂點0。
步驟識別與依賴
規則:euler_connectivity_actual_path_witness · 依賴:G001, S025
S027 · implies
操作前
nonisolated edge support:original edge index=6;edge=[6, 7];from=6;new vertex=7
操作後
original-edge path from0=[0, 1, 2, 3, 4, 5, 6, 7];reached=[0, 1, 2, 3, 4, 5, 6, 7]
條件:無
每個新達頂點均列真邊路徑;support起點取其第一個實際頂點,不假定一定有邊接頂點0。
步驟識別與依賴
規則:euler_connectivity_actual_path_witness · 依賴:G001, S026
S028 · implies
操作前
nonisolated edge support:original edge index=7;edge=[7, 8];from=7;new vertex=8
操作後
original-edge path from0=[0, 1, 2, 3, 4, 5, 6, 7, 8];reached=[0, 1, 2, 3, 4, 5, 6, 7, 8]
條件:無
每個新達頂點均列真邊路徑;support起點取其第一個實際頂點,不假定一定有邊接頂點0。
步驟識別與依賴
規則:euler_connectivity_actual_path_witness · 依賴:G001, S027
S029 · implies
操作前
nonisolated edge support:complete permitted carrier=[0, 1, 2, 3, 4, 5, 6, 7, 8];reached=[0, 1, 2, 3, 4, 5, 6, 7, 8];unreached=[];ALL original edges=[[0, 1], [1, 2], [2, 3], [3, 4], [4, 5], [5, 6], [6, 7], [7, 8]]
操作後
no edge in carrier crosses reached/unreached cut;connected=是
條件:無
BFS耗盡給沒有跨cut的邊:有未達點便無起點到它的路徑,全部達到則路徑見證覆蓋。support與全carrier各自核對,不能為了全圖connected偷刪孤立點。
步驟識別與依賴
規則:euler_complete_reachability_closed_cut_not_isolate_deletion · 依賴:G001, S028
S030 · implies
操作前
whole original carrier:original edge index=0;edge=[0, 1];from=0;new vertex=1
操作後
original-edge path from0=[0, 1];reached=[0, 1]
條件:無
每個新達頂點均列真邊路徑;support起點取其第一個實際頂點,不假定一定有邊接頂點0。
步驟識別與依賴
規則:euler_connectivity_actual_path_witness · 依賴:G001, S029
S031 · implies
操作前
whole original carrier:original edge index=1;edge=[1, 2];from=1;new vertex=2
操作後
original-edge path from0=[0, 1, 2];reached=[0, 1, 2]
條件:無
每個新達頂點均列真邊路徑;support起點取其第一個實際頂點,不假定一定有邊接頂點0。
步驟識別與依賴
規則:euler_connectivity_actual_path_witness · 依賴:G001, S030
S032 · implies
操作前
whole original carrier:original edge index=2;edge=[2, 3];from=2;new vertex=3
操作後
original-edge path from0=[0, 1, 2, 3];reached=[0, 1, 2, 3]
條件:無
每個新達頂點均列真邊路徑;support起點取其第一個實際頂點,不假定一定有邊接頂點0。
步驟識別與依賴
規則:euler_connectivity_actual_path_witness · 依賴:G001, S031
S033 · implies
操作前
whole original carrier:original edge index=3;edge=[3, 4];from=3;new vertex=4
操作後
original-edge path from0=[0, 1, 2, 3, 4];reached=[0, 1, 2, 3, 4]
條件:無
每個新達頂點均列真邊路徑;support起點取其第一個實際頂點,不假定一定有邊接頂點0。
步驟識別與依賴
規則:euler_connectivity_actual_path_witness · 依賴:G001, S032
S034 · implies
操作前
whole original carrier:original edge index=4;edge=[4, 5];from=4;new vertex=5
操作後
original-edge path from0=[0, 1, 2, 3, 4, 5];reached=[0, 1, 2, 3, 4, 5]
條件:無
每個新達頂點均列真邊路徑;support起點取其第一個實際頂點,不假定一定有邊接頂點0。
步驟識別與依賴
規則:euler_connectivity_actual_path_witness · 依賴:G001, S033
S035 · implies
操作前
whole original carrier:original edge index=5;edge=[5, 6];from=5;new vertex=6
操作後
original-edge path from0=[0, 1, 2, 3, 4, 5, 6];reached=[0, 1, 2, 3, 4, 5, 6]
條件:無
每個新達頂點均列真邊路徑;support起點取其第一個實際頂點,不假定一定有邊接頂點0。
步驟識別與依賴
規則:euler_connectivity_actual_path_witness · 依賴:G001, S034
S036 · implies
操作前
whole original carrier:original edge index=6;edge=[6, 7];from=6;new vertex=7
操作後
original-edge path from0=[0, 1, 2, 3, 4, 5, 6, 7];reached=[0, 1, 2, 3, 4, 5, 6, 7]
條件:無
每個新達頂點均列真邊路徑;support起點取其第一個實際頂點,不假定一定有邊接頂點0。
步驟識別與依賴
規則:euler_connectivity_actual_path_witness · 依賴:G001, S035
S037 · implies
操作前
whole original carrier:original edge index=7;edge=[7, 8];from=7;new vertex=8
操作後
original-edge path from0=[0, 1, 2, 3, 4, 5, 6, 7, 8];reached=[0, 1, 2, 3, 4, 5, 6, 7, 8]
條件:無
每個新達頂點均列真邊路徑;support起點取其第一個實際頂點,不假定一定有邊接頂點0。
步驟識別與依賴
規則:euler_connectivity_actual_path_witness · 依賴:G001, S036
S038 · implies
操作前
whole original carrier:complete permitted carrier=[0, 1, 2, 3, 4, 5, 6, 7, 8];reached=[0, 1, 2, 3, 4, 5, 6, 7, 8];unreached=[];ALL original edges=[[0, 1], [1, 2], [2, 3], [3, 4], [4, 5], [5, 6], [6, 7], [7, 8]]
操作後
no edge in carrier crosses reached/unreached cut;connected=是
條件:無
BFS耗盡給沒有跨cut的邊:有未達點便無起點到它的路徑,全部達到則路徑見證覆蓋。support與全carrier各自核對,不能為了全圖connected偷刪孤立點。
步驟識別與依賴
規則:euler_complete_reachability_closed_cut_not_isolate_deletion · 依賴:G001, S037
S039 · implies
操作前
complete degree list=[1, 2, 2, 2, 2, 2, 2, 2, 1];ALL odd vertices=[0, 8];actual nonisolated support=[0, 1, 2, 3, 4, 5, 6, 7, 8];support connected=是;whole graph connected=是
操作後
ANY full-edge trail joins all nonisolated vertices in one support component;each internal visit pairs incident edges,leaving only0 or2 odd endpoints
條件:無
若有全邊trail,每條有邊的頂點都在此walk串成的一個分量。每個內部進出配成兩條incident邊,只有不同端點可能各餘一條,故奇點只可0或2。這是必要性全稱理由,不從一次walk測試猜。孤立點不在edge support。
步驟識別與依賴
規則:euler_necessary_connected_support_and_degree_parity · 依賴:G001, S038
S040 · implies
操作前
Hierholzer stack top=0;first unused incident ORIGINAL edge index=0;edge=[0, 1]
操作後
mark edge used ONCE;push vertex=1;current stack=[0, 1];used edge set=[0]
條件:無
沿當前頂點一條未用真邊延伸,每次標一次邊,所以用邊數有限增加;頂點可以重訪,邊不重用。
步驟識別與依賴
規則:euler_constructive_unused_edge_extension · 依賴:G001, S039
S041 · implies
操作前
Hierholzer stack top=1;first unused incident ORIGINAL edge index=1;edge=[1, 2]
操作後
mark edge used ONCE;push vertex=2;current stack=[0, 1, 2];used edge set=[0, 1]
條件:無
沿當前頂點一條未用真邊延伸,每次標一次邊,所以用邊數有限增加;頂點可以重訪,邊不重用。
步驟識別與依賴
規則:euler_constructive_unused_edge_extension · 依賴:G001, S040
S042 · implies
操作前
Hierholzer stack top=2;first unused incident ORIGINAL edge index=2;edge=[2, 3]
操作後
mark edge used ONCE;push vertex=3;current stack=[0, 1, 2, 3];used edge set=[0, 1, 2]
條件:無
沿當前頂點一條未用真邊延伸,每次標一次邊,所以用邊數有限增加;頂點可以重訪,邊不重用。
步驟識別與依賴
規則:euler_constructive_unused_edge_extension · 依賴:G001, S041
S043 · implies
操作前
Hierholzer stack top=3;first unused incident ORIGINAL edge index=3;edge=[3, 4]
操作後
mark edge used ONCE;push vertex=4;current stack=[0, 1, 2, 3, 4];used edge set=[0, 1, 2, 3]
條件:無
沿當前頂點一條未用真邊延伸,每次標一次邊,所以用邊數有限增加;頂點可以重訪,邊不重用。
步驟識別與依賴
規則:euler_constructive_unused_edge_extension · 依賴:G001, S042
S044 · implies
操作前
Hierholzer stack top=4;first unused incident ORIGINAL edge index=4;edge=[4, 5]
操作後
mark edge used ONCE;push vertex=5;current stack=[0, 1, 2, 3, 4, 5];used edge set=[0, 1, 2, 3, 4]
條件:無
沿當前頂點一條未用真邊延伸,每次標一次邊,所以用邊數有限增加;頂點可以重訪,邊不重用。
步驟識別與依賴
規則:euler_constructive_unused_edge_extension · 依賴:G001, S043
S045 · implies
操作前
Hierholzer stack top=5;first unused incident ORIGINAL edge index=5;edge=[5, 6]
操作後
mark edge used ONCE;push vertex=6;current stack=[0, 1, 2, 3, 4, 5, 6];used edge set=[0, 1, 2, 3, 4, 5]
條件:無
沿當前頂點一條未用真邊延伸,每次標一次邊,所以用邊數有限增加;頂點可以重訪,邊不重用。
步驟識別與依賴
規則:euler_constructive_unused_edge_extension · 依賴:G001, S044
S046 · implies
操作前
Hierholzer stack top=6;first unused incident ORIGINAL edge index=6;edge=[6, 7]
操作後
mark edge used ONCE;push vertex=7;current stack=[0, 1, 2, 3, 4, 5, 6, 7];used edge set=[0, 1, 2, 3, 4, 5, 6]
條件:無
沿當前頂點一條未用真邊延伸,每次標一次邊,所以用邊數有限增加;頂點可以重訪,邊不重用。
步驟識別與依賴
規則:euler_constructive_unused_edge_extension · 依賴:G001, S045
S047 · implies
操作前
Hierholzer stack top=7;first unused incident ORIGINAL edge index=7;edge=[7, 8]
操作後
mark edge used ONCE;push vertex=8;current stack=[0, 1, 2, 3, 4, 5, 6, 7, 8];used edge set=[0, 1, 2, 3, 4, 5, 6, 7]
條件:無
沿當前頂點一條未用真邊延伸,每次標一次邊,所以用邊數有限增加;頂點可以重訪,邊不重用。
步驟識別與依賴
規則:euler_constructive_unused_edge_extension · 依賴:G001, S046
S048 · implies
操作前
Hierholzer current stack=[0, 1, 2, 3, 4, 5, 6, 7, 8];top vertex has NO unused incident edge
操作後
finalize top into reverse output=[8];remaining stack=[0, 1, 2, 3, 4, 5, 6, 7]
條件:無
沒有未用邊才回退並逆序收集頂點;這是拼接閉段的紀錄,不在耗盡頂點處強走不存在的邊。
步驟識別與依賴
規則:euler_constructive_backtracking_cycle_splice · 依賴:G001, S047
S049 · implies
操作前
Hierholzer current stack=[0, 1, 2, 3, 4, 5, 6, 7];top vertex has NO unused incident edge
操作後
finalize top into reverse output=[8, 7];remaining stack=[0, 1, 2, 3, 4, 5, 6]
條件:無
沒有未用邊才回退並逆序收集頂點;這是拼接閉段的紀錄,不在耗盡頂點處強走不存在的邊。
步驟識別與依賴
規則:euler_constructive_backtracking_cycle_splice · 依賴:G001, S048
S050 · implies
操作前
Hierholzer current stack=[0, 1, 2, 3, 4, 5, 6];top vertex has NO unused incident edge
操作後
finalize top into reverse output=[8, 7, 6];remaining stack=[0, 1, 2, 3, 4, 5]
條件:無
沒有未用邊才回退並逆序收集頂點;這是拼接閉段的紀錄,不在耗盡頂點處強走不存在的邊。
步驟識別與依賴
規則:euler_constructive_backtracking_cycle_splice · 依賴:G001, S049
S051 · implies
操作前
Hierholzer current stack=[0, 1, 2, 3, 4, 5];top vertex has NO unused incident edge
操作後
finalize top into reverse output=[8, 7, 6, 5];remaining stack=[0, 1, 2, 3, 4]
條件:無
沒有未用邊才回退並逆序收集頂點;這是拼接閉段的紀錄,不在耗盡頂點處強走不存在的邊。
步驟識別與依賴
規則:euler_constructive_backtracking_cycle_splice · 依賴:G001, S050
S052 · implies
操作前
Hierholzer current stack=[0, 1, 2, 3, 4];top vertex has NO unused incident edge
操作後
finalize top into reverse output=[8, 7, 6, 5, 4];remaining stack=[0, 1, 2, 3]
條件:無
沒有未用邊才回退並逆序收集頂點;這是拼接閉段的紀錄,不在耗盡頂點處強走不存在的邊。
步驟識別與依賴
規則:euler_constructive_backtracking_cycle_splice · 依賴:G001, S051
S053 · implies
操作前
Hierholzer current stack=[0, 1, 2, 3];top vertex has NO unused incident edge
操作後
finalize top into reverse output=[8, 7, 6, 5, 4, 3];remaining stack=[0, 1, 2]
條件:無
沒有未用邊才回退並逆序收集頂點;這是拼接閉段的紀錄,不在耗盡頂點處強走不存在的邊。
步驟識別與依賴
規則:euler_constructive_backtracking_cycle_splice · 依賴:G001, S052
S054 · implies
操作前
Hierholzer current stack=[0, 1, 2];top vertex has NO unused incident edge
操作後
finalize top into reverse output=[8, 7, 6, 5, 4, 3, 2];remaining stack=[0, 1]
條件:無
沒有未用邊才回退並逆序收集頂點;這是拼接閉段的紀錄,不在耗盡頂點處強走不存在的邊。
步驟識別與依賴
規則:euler_constructive_backtracking_cycle_splice · 依賴:G001, S053
S055 · implies
操作前
Hierholzer current stack=[0, 1];top vertex has NO unused incident edge
操作後
finalize top into reverse output=[8, 7, 6, 5, 4, 3, 2, 1];remaining stack=[0]
條件:無
沒有未用邊才回退並逆序收集頂點;這是拼接閉段的紀錄,不在耗盡頂點處強走不存在的邊。
步驟識別與依賴
規則:euler_constructive_backtracking_cycle_splice · 依賴:G001, S054
S056 · implies
操作前
Hierholzer current stack=[0];top vertex has NO unused incident edge
操作後
finalize top into reverse output=[8, 7, 6, 5, 4, 3, 2, 1, 0];remaining stack=[]
條件:無
沒有未用邊才回退並逆序收集頂點;這是拼接閉段的紀錄,不在耗盡頂點處強走不存在的邊。
步驟識別與依賴
規則:euler_constructive_backtracking_cycle_splice · 依賴:G001, S055
S057 · implies
操作前
connected nonisolated support=[0, 1, 2, 3, 4, 5, 6, 7, 8];odd vertices=[0, 8];finished reversed construction
操作後
ACTUAL Euler witness walk=[0, 1, 2, 3, 4, 5, 6, 7, 8];actual ORIGINAL edge order=[0, 1, 2, 3, 4, 5, 6, 7];every original edge once;endpoints have required parity
條件:無
把最終walk逐步映回原邊,核長度m+1、索引無重複且全集覆蓋,便直接證此圖存在Euler trail。0奇點時閉合,2奇點時端點是那兩點;不是只看奇數個數就宣稱存在,也不推出Hamilton性質。
步驟識別與依賴
規則:euler_sufficiency_actual_full_edge_witness_not_parity_alone · 依賴:G001, S056