Step-by-step derivation
S001 · implies
Before
source operation=euler-odd-degree-classification;original snapshot and mathematics retained
After
explicit ordered source output fields=[degrees, odd_vertices, edge_support_connected, euler_type, criterion]
Conditions: none
Keep the historical interface marker in the original snapshot while listing the original ordered fields here.No JavaScript or external table is needed for the main text,and field labels are not mathematical evidence.
Step identifiers and dependencies
Rule: source_ordered_interface_explicit_without_javascript · Uses: G001
S002 · implies
Before
complete ORIGINAL carrier Fin(16);canonical ORIGINAL simple undirected edges=[[0, 1], [1, 2], [2, 3], [3, 4], [4, 5], [5, 6], [6, 7], [7, 8], [8, 9], [9, 10], [10, 11], [11, 12], [12, 13], [13, 14], [14, 15]]
After
edge indices are EXACT original list positions0..14;retain ALL vertices;no12-vertex or10-edge bound
Conditions: none
Keep edge indices at their original numeric positions,not string-sorted vertex pairs.This family permits up to60 vertices rather than importing earlier bounds;empty-edge graphs appear only where the operation allows them.
Step identifiers and dependencies
Rule: euler_original_simple_graph_indices_full_carrier · Uses: G001, S001
S003 · calculation
Before
Euler vertex0 exact incident edge count := sum(1)
After
Euler vertex0 exact incident edge count = 1
Conditions: none
Substitute original data and established intermediates exactly,retaining indices,signs and the relevant space.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S002
S004 · implies
Before
original vertex=0;ALL original incident edge indices=[0]
After
degree=1;nonisolated=Yes;odd=Yes
Conditions: none
Count this vertex's incident edges in the complete original list.Retain degree0 vertices in the full carrier;neither vertex labels nor support size are degrees.
Step identifiers and dependencies
Rule: euler_degree_actual_incidence_not_label_or_support_size · Uses: G001, S003
S005 · calculation
Before
Euler vertex1 exact incident edge count := sum(1, 1)
After
Euler vertex1 exact incident edge count = 2
Conditions: none
Substitute original data and established intermediates exactly,retaining indices,signs and the relevant space.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S004
S006 · implies
Before
original vertex=1;ALL original incident edge indices=[0, 1]
After
degree=2;nonisolated=Yes;odd=No
Conditions: none
Count this vertex's incident edges in the complete original list.Retain degree0 vertices in the full carrier;neither vertex labels nor support size are degrees.
Step identifiers and dependencies
Rule: euler_degree_actual_incidence_not_label_or_support_size · Uses: G001, S005
S007 · calculation
Before
Euler vertex2 exact incident edge count := sum(1, 1)
After
Euler vertex2 exact incident edge count = 2
Conditions: none
Substitute original data and established intermediates exactly,retaining indices,signs and the relevant space.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S006
S008 · implies
Before
original vertex=2;ALL original incident edge indices=[1, 2]
After
degree=2;nonisolated=Yes;odd=No
Conditions: none
Count this vertex's incident edges in the complete original list.Retain degree0 vertices in the full carrier;neither vertex labels nor support size are degrees.
Step identifiers and dependencies
Rule: euler_degree_actual_incidence_not_label_or_support_size · Uses: G001, S007
S009 · calculation
Before
Euler vertex3 exact incident edge count := sum(1, 1)
After
Euler vertex3 exact incident edge count = 2
Conditions: none
Substitute original data and established intermediates exactly,retaining indices,signs and the relevant space.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S008
S010 · implies
Before
original vertex=3;ALL original incident edge indices=[2, 3]
After
degree=2;nonisolated=Yes;odd=No
Conditions: none
Count this vertex's incident edges in the complete original list.Retain degree0 vertices in the full carrier;neither vertex labels nor support size are degrees.
Step identifiers and dependencies
Rule: euler_degree_actual_incidence_not_label_or_support_size · Uses: G001, S009
S011 · calculation
Before
Euler vertex4 exact incident edge count := sum(1, 1)
After
Euler vertex4 exact incident edge count = 2
Conditions: none
Substitute original data and established intermediates exactly,retaining indices,signs and the relevant space.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S010
S012 · implies
Before
original vertex=4;ALL original incident edge indices=[3, 4]
After
degree=2;nonisolated=Yes;odd=No
Conditions: none
Count this vertex's incident edges in the complete original list.Retain degree0 vertices in the full carrier;neither vertex labels nor support size are degrees.
Step identifiers and dependencies
Rule: euler_degree_actual_incidence_not_label_or_support_size · Uses: G001, S011
S013 · calculation
Before
Euler vertex5 exact incident edge count := sum(1, 1)
After
Euler vertex5 exact incident edge count = 2
Conditions: none
Substitute original data and established intermediates exactly,retaining indices,signs and the relevant space.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S012
S014 · implies
Before
original vertex=5;ALL original incident edge indices=[4, 5]
After
degree=2;nonisolated=Yes;odd=No
Conditions: none
Count this vertex's incident edges in the complete original list.Retain degree0 vertices in the full carrier;neither vertex labels nor support size are degrees.
Step identifiers and dependencies
Rule: euler_degree_actual_incidence_not_label_or_support_size · Uses: G001, S013
S015 · calculation
Before
Euler vertex6 exact incident edge count := sum(1, 1)
After
Euler vertex6 exact incident edge count = 2
Conditions: none
Substitute original data and established intermediates exactly,retaining indices,signs and the relevant space.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S014
S016 · implies
Before
original vertex=6;ALL original incident edge indices=[5, 6]
After
degree=2;nonisolated=Yes;odd=No
Conditions: none
Count this vertex's incident edges in the complete original list.Retain degree0 vertices in the full carrier;neither vertex labels nor support size are degrees.
Step identifiers and dependencies
Rule: euler_degree_actual_incidence_not_label_or_support_size · Uses: G001, S015
S017 · calculation
Before
Euler vertex7 exact incident edge count := sum(1, 1)
After
Euler vertex7 exact incident edge count = 2
Conditions: none
Substitute original data and established intermediates exactly,retaining indices,signs and the relevant space.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S016
S018 · implies
Before
original vertex=7;ALL original incident edge indices=[6, 7]
After
degree=2;nonisolated=Yes;odd=No
Conditions: none
Count this vertex's incident edges in the complete original list.Retain degree0 vertices in the full carrier;neither vertex labels nor support size are degrees.
Step identifiers and dependencies
Rule: euler_degree_actual_incidence_not_label_or_support_size · Uses: G001, S017
S019 · calculation
Before
Euler vertex8 exact incident edge count := sum(1, 1)
After
Euler vertex8 exact incident edge count = 2
Conditions: none
Substitute original data and established intermediates exactly,retaining indices,signs and the relevant space.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S018
S020 · implies
Before
original vertex=8;ALL original incident edge indices=[7, 8]
After
degree=2;nonisolated=Yes;odd=No
Conditions: none
Count this vertex's incident edges in the complete original list.Retain degree0 vertices in the full carrier;neither vertex labels nor support size are degrees.
Step identifiers and dependencies
Rule: euler_degree_actual_incidence_not_label_or_support_size · Uses: G001, S019
S021 · calculation
Before
Euler vertex9 exact incident edge count := sum(1, 1)
After
Euler vertex9 exact incident edge count = 2
Conditions: none
Substitute original data and established intermediates exactly,retaining indices,signs and the relevant space.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S020
S022 · implies
Before
original vertex=9;ALL original incident edge indices=[8, 9]
After
degree=2;nonisolated=Yes;odd=No
Conditions: none
Count this vertex's incident edges in the complete original list.Retain degree0 vertices in the full carrier;neither vertex labels nor support size are degrees.
Step identifiers and dependencies
Rule: euler_degree_actual_incidence_not_label_or_support_size · Uses: G001, S021
S023 · calculation
Before
Euler vertex10 exact incident edge count := sum(1, 1)
After
Euler vertex10 exact incident edge count = 2
Conditions: none
Substitute original data and established intermediates exactly,retaining indices,signs and the relevant space.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S022
S024 · implies
Before
original vertex=10;ALL original incident edge indices=[9, 10]
After
degree=2;nonisolated=Yes;odd=No
Conditions: none
Count this vertex's incident edges in the complete original list.Retain degree0 vertices in the full carrier;neither vertex labels nor support size are degrees.
Step identifiers and dependencies
Rule: euler_degree_actual_incidence_not_label_or_support_size · Uses: G001, S023
S025 · calculation
Before
Euler vertex11 exact incident edge count := sum(1, 1)
After
Euler vertex11 exact incident edge count = 2
Conditions: none
Substitute original data and established intermediates exactly,retaining indices,signs and the relevant space.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S024
S026 · implies
Before
original vertex=11;ALL original incident edge indices=[10, 11]
After
degree=2;nonisolated=Yes;odd=No
Conditions: none
Count this vertex's incident edges in the complete original list.Retain degree0 vertices in the full carrier;neither vertex labels nor support size are degrees.
Step identifiers and dependencies
Rule: euler_degree_actual_incidence_not_label_or_support_size · Uses: G001, S025
S027 · calculation
Before
Euler vertex12 exact incident edge count := sum(1, 1)
After
Euler vertex12 exact incident edge count = 2
Conditions: none
Substitute original data and established intermediates exactly,retaining indices,signs and the relevant space.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S026
S028 · implies
Before
original vertex=12;ALL original incident edge indices=[11, 12]
After
degree=2;nonisolated=Yes;odd=No
Conditions: none
Count this vertex's incident edges in the complete original list.Retain degree0 vertices in the full carrier;neither vertex labels nor support size are degrees.
Step identifiers and dependencies
Rule: euler_degree_actual_incidence_not_label_or_support_size · Uses: G001, S027
S029 · calculation
Before
Euler vertex13 exact incident edge count := sum(1, 1)
After
Euler vertex13 exact incident edge count = 2
Conditions: none
Substitute original data and established intermediates exactly,retaining indices,signs and the relevant space.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S028
S030 · implies
Before
original vertex=13;ALL original incident edge indices=[12, 13]
After
degree=2;nonisolated=Yes;odd=No
Conditions: none
Count this vertex's incident edges in the complete original list.Retain degree0 vertices in the full carrier;neither vertex labels nor support size are degrees.
Step identifiers and dependencies
Rule: euler_degree_actual_incidence_not_label_or_support_size · Uses: G001, S029
S031 · calculation
Before
Euler vertex14 exact incident edge count := sum(1, 1)
After
Euler vertex14 exact incident edge count = 2
Conditions: none
Substitute original data and established intermediates exactly,retaining indices,signs and the relevant space.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S030
S032 · implies
Before
original vertex=14;ALL original incident edge indices=[13, 14]
After
degree=2;nonisolated=Yes;odd=No
Conditions: none
Count this vertex's incident edges in the complete original list.Retain degree0 vertices in the full carrier;neither vertex labels nor support size are degrees.
Step identifiers and dependencies
Rule: euler_degree_actual_incidence_not_label_or_support_size · Uses: G001, S031
S033 · calculation
Before
Euler vertex15 exact incident edge count := sum(1)
After
Euler vertex15 exact incident edge count = 1
Conditions: none
Substitute original data and established intermediates exactly,retaining indices,signs and the relevant space.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S032
S034 · implies
Before
original vertex=15;ALL original incident edge indices=[14]
After
degree=1;nonisolated=Yes;odd=Yes
Conditions: none
Count this vertex's incident edges in the complete original list.Retain degree0 vertices in the full carrier;neither vertex labels nor support size are degrees.
Step identifiers and dependencies
Rule: euler_degree_actual_incidence_not_label_or_support_size · Uses: G001, S033
S035 · implies
Before
nonisolated edge support:original edge index=0;edge=[0, 1];from=0;new vertex=1
After
original-edge path from0=[0, 1];reached=[0, 1]
Conditions: none
Give an actual-edge path for every discovered vertex.Start at the first actual support vertex rather than assuming vertex0 has an edge.
Step identifiers and dependencies
Rule: euler_connectivity_actual_path_witness · Uses: G001, S034
S036 · implies
Before
nonisolated edge support:original edge index=1;edge=[1, 2];from=1;new vertex=2
After
original-edge path from0=[0, 1, 2];reached=[0, 1, 2]
Conditions: none
Give an actual-edge path for every discovered vertex.Start at the first actual support vertex rather than assuming vertex0 has an edge.
Step identifiers and dependencies
Rule: euler_connectivity_actual_path_witness · Uses: G001, S035
S037 · implies
Before
nonisolated edge support:original edge index=2;edge=[2, 3];from=2;new vertex=3
After
original-edge path from0=[0, 1, 2, 3];reached=[0, 1, 2, 3]
Conditions: none
Give an actual-edge path for every discovered vertex.Start at the first actual support vertex rather than assuming vertex0 has an edge.
Step identifiers and dependencies
Rule: euler_connectivity_actual_path_witness · Uses: G001, S036
S038 · implies
Before
nonisolated edge support:original edge index=3;edge=[3, 4];from=3;new vertex=4
After
original-edge path from0=[0, 1, 2, 3, 4];reached=[0, 1, 2, 3, 4]
Conditions: none
Give an actual-edge path for every discovered vertex.Start at the first actual support vertex rather than assuming vertex0 has an edge.
Step identifiers and dependencies
Rule: euler_connectivity_actual_path_witness · Uses: G001, S037
S039 · implies
Before
nonisolated edge support:original edge index=4;edge=[4, 5];from=4;new vertex=5
After
original-edge path from0=[0, 1, 2, 3, 4, 5];reached=[0, 1, 2, 3, 4, 5]
Conditions: none
Give an actual-edge path for every discovered vertex.Start at the first actual support vertex rather than assuming vertex0 has an edge.
Step identifiers and dependencies
Rule: euler_connectivity_actual_path_witness · Uses: G001, S038
S040 · implies
Before
nonisolated edge support:original edge index=5;edge=[5, 6];from=5;new vertex=6
After
original-edge path from0=[0, 1, 2, 3, 4, 5, 6];reached=[0, 1, 2, 3, 4, 5, 6]
Conditions: none
Give an actual-edge path for every discovered vertex.Start at the first actual support vertex rather than assuming vertex0 has an edge.
Step identifiers and dependencies
Rule: euler_connectivity_actual_path_witness · Uses: G001, S039
S041 · implies
Before
nonisolated edge support:original edge index=6;edge=[6, 7];from=6;new vertex=7
After
original-edge path from0=[0, 1, 2, 3, 4, 5, 6, 7];reached=[0, 1, 2, 3, 4, 5, 6, 7]
Conditions: none
Give an actual-edge path for every discovered vertex.Start at the first actual support vertex rather than assuming vertex0 has an edge.
Step identifiers and dependencies
Rule: euler_connectivity_actual_path_witness · Uses: G001, S040
S042 · implies
Before
nonisolated edge support:original edge index=7;edge=[7, 8];from=7;new vertex=8
After
original-edge path from0=[0, 1, 2, 3, 4, 5, 6, 7, 8];reached=[0, 1, 2, 3, 4, 5, 6, 7, 8]
Conditions: none
Give an actual-edge path for every discovered vertex.Start at the first actual support vertex rather than assuming vertex0 has an edge.
Step identifiers and dependencies
Rule: euler_connectivity_actual_path_witness · Uses: G001, S041
S043 · implies
Before
nonisolated edge support:original edge index=8;edge=[8, 9];from=8;new vertex=9
After
original-edge path from0=[0, 1, 2, 3, 4, 5, 6, 7, 8, 9];reached=[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
Conditions: none
Give an actual-edge path for every discovered vertex.Start at the first actual support vertex rather than assuming vertex0 has an edge.
Step identifiers and dependencies
Rule: euler_connectivity_actual_path_witness · Uses: G001, S042
S044 · implies
Before
nonisolated edge support:original edge index=9;edge=[9, 10];from=9;new vertex=10
After
original-edge path from0=[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10];reached=[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
Conditions: none
Give an actual-edge path for every discovered vertex.Start at the first actual support vertex rather than assuming vertex0 has an edge.
Step identifiers and dependencies
Rule: euler_connectivity_actual_path_witness · Uses: G001, S043
S045 · implies
Before
nonisolated edge support:original edge index=10;edge=[10, 11];from=10;new vertex=11
After
original-edge path from0=[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11];reached=[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]
Conditions: none
Give an actual-edge path for every discovered vertex.Start at the first actual support vertex rather than assuming vertex0 has an edge.
Step identifiers and dependencies
Rule: euler_connectivity_actual_path_witness · Uses: G001, S044
S046 · implies
Before
nonisolated edge support:original edge index=11;edge=[11, 12];from=11;new vertex=12
After
original-edge path from0=[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12];reached=[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]
Conditions: none
Give an actual-edge path for every discovered vertex.Start at the first actual support vertex rather than assuming vertex0 has an edge.
Step identifiers and dependencies
Rule: euler_connectivity_actual_path_witness · Uses: G001, S045
S047 · implies
Before
nonisolated edge support:original edge index=12;edge=[12, 13];from=12;new vertex=13
After
original-edge path from0=[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13];reached=[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13]
Conditions: none
Give an actual-edge path for every discovered vertex.Start at the first actual support vertex rather than assuming vertex0 has an edge.
Step identifiers and dependencies
Rule: euler_connectivity_actual_path_witness · Uses: G001, S046
S048 · implies
Before
nonisolated edge support:original edge index=13;edge=[13, 14];from=13;new vertex=14
After
original-edge path from0=[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14];reached=[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14]
Conditions: none
Give an actual-edge path for every discovered vertex.Start at the first actual support vertex rather than assuming vertex0 has an edge.
Step identifiers and dependencies
Rule: euler_connectivity_actual_path_witness · Uses: G001, S047
S049 · implies
Before
nonisolated edge support:original edge index=14;edge=[14, 15];from=14;new vertex=15
After
original-edge path from0=[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15];reached=[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]
Conditions: none
Give an actual-edge path for every discovered vertex.Start at the first actual support vertex rather than assuming vertex0 has an edge.
Step identifiers and dependencies
Rule: euler_connectivity_actual_path_witness · Uses: G001, S048
S050 · implies
Before
nonisolated edge support:complete permitted carrier=[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15];reached=[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15];unreached=[];ALL original edges=[[0, 1], [1, 2], [2, 3], [3, 4], [4, 5], [5, 6], [6, 7], [7, 8], [8, 9], [9, 10], [10, 11], [11, 12], [12, 13], [13, 14], [14, 15]]
After
no edge in carrier crosses reached/unreached cut;connected=Yes
Conditions: none
Exhausting BFS proves no edge crosses the cut,so an unreached vertex has no path from the start;otherwise path witnesses cover the carrier.Audit support and full carrier separately without silently deleting isolates to claim whole-graph connectivity.
Step identifiers and dependencies
Rule: euler_complete_reachability_closed_cut_not_isolate_deletion · Uses: G001, S049
S051 · implies
Before
whole original carrier:original edge index=0;edge=[0, 1];from=0;new vertex=1
After
original-edge path from0=[0, 1];reached=[0, 1]
Conditions: none
Give an actual-edge path for every discovered vertex.Start at the first actual support vertex rather than assuming vertex0 has an edge.
Step identifiers and dependencies
Rule: euler_connectivity_actual_path_witness · Uses: G001, S050
S052 · implies
Before
whole original carrier:original edge index=1;edge=[1, 2];from=1;new vertex=2
After
original-edge path from0=[0, 1, 2];reached=[0, 1, 2]
Conditions: none
Give an actual-edge path for every discovered vertex.Start at the first actual support vertex rather than assuming vertex0 has an edge.
Step identifiers and dependencies
Rule: euler_connectivity_actual_path_witness · Uses: G001, S051
S053 · implies
Before
whole original carrier:original edge index=2;edge=[2, 3];from=2;new vertex=3
After
original-edge path from0=[0, 1, 2, 3];reached=[0, 1, 2, 3]
Conditions: none
Give an actual-edge path for every discovered vertex.Start at the first actual support vertex rather than assuming vertex0 has an edge.
Step identifiers and dependencies
Rule: euler_connectivity_actual_path_witness · Uses: G001, S052
S054 · implies
Before
whole original carrier:original edge index=3;edge=[3, 4];from=3;new vertex=4
After
original-edge path from0=[0, 1, 2, 3, 4];reached=[0, 1, 2, 3, 4]
Conditions: none
Give an actual-edge path for every discovered vertex.Start at the first actual support vertex rather than assuming vertex0 has an edge.
Step identifiers and dependencies
Rule: euler_connectivity_actual_path_witness · Uses: G001, S053
S055 · implies
Before
whole original carrier:original edge index=4;edge=[4, 5];from=4;new vertex=5
After
original-edge path from0=[0, 1, 2, 3, 4, 5];reached=[0, 1, 2, 3, 4, 5]
Conditions: none
Give an actual-edge path for every discovered vertex.Start at the first actual support vertex rather than assuming vertex0 has an edge.
Step identifiers and dependencies
Rule: euler_connectivity_actual_path_witness · Uses: G001, S054
S056 · implies
Before
whole original carrier:original edge index=5;edge=[5, 6];from=5;new vertex=6
After
original-edge path from0=[0, 1, 2, 3, 4, 5, 6];reached=[0, 1, 2, 3, 4, 5, 6]
Conditions: none
Give an actual-edge path for every discovered vertex.Start at the first actual support vertex rather than assuming vertex0 has an edge.
Step identifiers and dependencies
Rule: euler_connectivity_actual_path_witness · Uses: G001, S055
S057 · implies
Before
whole original carrier:original edge index=6;edge=[6, 7];from=6;new vertex=7
After
original-edge path from0=[0, 1, 2, 3, 4, 5, 6, 7];reached=[0, 1, 2, 3, 4, 5, 6, 7]
Conditions: none
Give an actual-edge path for every discovered vertex.Start at the first actual support vertex rather than assuming vertex0 has an edge.
Step identifiers and dependencies
Rule: euler_connectivity_actual_path_witness · Uses: G001, S056
S058 · implies
Before
whole original carrier:original edge index=7;edge=[7, 8];from=7;new vertex=8
After
original-edge path from0=[0, 1, 2, 3, 4, 5, 6, 7, 8];reached=[0, 1, 2, 3, 4, 5, 6, 7, 8]
Conditions: none
Give an actual-edge path for every discovered vertex.Start at the first actual support vertex rather than assuming vertex0 has an edge.
Step identifiers and dependencies
Rule: euler_connectivity_actual_path_witness · Uses: G001, S057
S059 · implies
Before
whole original carrier:original edge index=8;edge=[8, 9];from=8;new vertex=9
After
original-edge path from0=[0, 1, 2, 3, 4, 5, 6, 7, 8, 9];reached=[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
Conditions: none
Give an actual-edge path for every discovered vertex.Start at the first actual support vertex rather than assuming vertex0 has an edge.
Step identifiers and dependencies
Rule: euler_connectivity_actual_path_witness · Uses: G001, S058
S060 · implies
Before
whole original carrier:original edge index=9;edge=[9, 10];from=9;new vertex=10
After
original-edge path from0=[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10];reached=[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
Conditions: none
Give an actual-edge path for every discovered vertex.Start at the first actual support vertex rather than assuming vertex0 has an edge.
Step identifiers and dependencies
Rule: euler_connectivity_actual_path_witness · Uses: G001, S059
S061 · implies
Before
whole original carrier:original edge index=10;edge=[10, 11];from=10;new vertex=11
After
original-edge path from0=[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11];reached=[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]
Conditions: none
Give an actual-edge path for every discovered vertex.Start at the first actual support vertex rather than assuming vertex0 has an edge.
Step identifiers and dependencies
Rule: euler_connectivity_actual_path_witness · Uses: G001, S060
S062 · implies
Before
whole original carrier:original edge index=11;edge=[11, 12];from=11;new vertex=12
After
original-edge path from0=[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12];reached=[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]
Conditions: none
Give an actual-edge path for every discovered vertex.Start at the first actual support vertex rather than assuming vertex0 has an edge.
Step identifiers and dependencies
Rule: euler_connectivity_actual_path_witness · Uses: G001, S061
S063 · implies
Before
whole original carrier:original edge index=12;edge=[12, 13];from=12;new vertex=13
After
original-edge path from0=[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13];reached=[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13]
Conditions: none
Give an actual-edge path for every discovered vertex.Start at the first actual support vertex rather than assuming vertex0 has an edge.
Step identifiers and dependencies
Rule: euler_connectivity_actual_path_witness · Uses: G001, S062
S064 · implies
Before
whole original carrier:original edge index=13;edge=[13, 14];from=13;new vertex=14
After
original-edge path from0=[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14];reached=[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14]
Conditions: none
Give an actual-edge path for every discovered vertex.Start at the first actual support vertex rather than assuming vertex0 has an edge.
Step identifiers and dependencies
Rule: euler_connectivity_actual_path_witness · Uses: G001, S063
S065 · implies
Before
whole original carrier:original edge index=14;edge=[14, 15];from=14;new vertex=15
After
original-edge path from0=[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15];reached=[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]
Conditions: none
Give an actual-edge path for every discovered vertex.Start at the first actual support vertex rather than assuming vertex0 has an edge.
Step identifiers and dependencies
Rule: euler_connectivity_actual_path_witness · Uses: G001, S064
S066 · implies
Before
whole original carrier:complete permitted carrier=[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15];reached=[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15];unreached=[];ALL original edges=[[0, 1], [1, 2], [2, 3], [3, 4], [4, 5], [5, 6], [6, 7], [7, 8], [8, 9], [9, 10], [10, 11], [11, 12], [12, 13], [13, 14], [14, 15]]
After
no edge in carrier crosses reached/unreached cut;connected=Yes
Conditions: none
Exhausting BFS proves no edge crosses the cut,so an unreached vertex has no path from the start;otherwise path witnesses cover the carrier.Audit support and full carrier separately without silently deleting isolates to claim whole-graph connectivity.
Step identifiers and dependencies
Rule: euler_complete_reachability_closed_cut_not_isolate_deletion · Uses: G001, S065
S067 · implies
Before
complete degree list=[1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1];ALL odd vertices=[0, 15];actual nonisolated support=[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15];support connected=Yes;whole graph connected=Yes
After
ANY full-edge trail joins all nonisolated vertices in one support component;each internal visit pairs incident edges,leaving only0 or2 odd endpoints
Conditions: none
Any all-edge trail puts every nonisolated vertex into its single walk component.Each internal entry/exit pairs incident edges;only distinct endpoints can leave one unmatched incidence,so there are0 or2 odd vertices.This is the universal necessity argument,not a guess from one tested walk.Isolates are outside edge support.
Step identifiers and dependencies
Rule: euler_necessary_connected_support_and_degree_parity · Uses: G001, S066
S068 · implies
Before
Hierholzer stack top=0;first unused incident ORIGINAL edge index=0;edge=[0, 1]
After
mark edge used ONCE;push vertex=1;current stack=[0, 1];used edge set=[0]
Conditions: none
Extend along an actual unused incident edge and mark it once.The finite used-edge count increases;vertices may recur but edges do not.
Step identifiers and dependencies
Rule: euler_constructive_unused_edge_extension · Uses: G001, S067
S069 · implies
Before
Hierholzer stack top=1;first unused incident ORIGINAL edge index=1;edge=[1, 2]
After
mark edge used ONCE;push vertex=2;current stack=[0, 1, 2];used edge set=[0, 1]
Conditions: none
Extend along an actual unused incident edge and mark it once.The finite used-edge count increases;vertices may recur but edges do not.
Step identifiers and dependencies
Rule: euler_constructive_unused_edge_extension · Uses: G001, S068
S070 · implies
Before
Hierholzer stack top=2;first unused incident ORIGINAL edge index=2;edge=[2, 3]
After
mark edge used ONCE;push vertex=3;current stack=[0, 1, 2, 3];used edge set=[0, 1, 2]
Conditions: none
Extend along an actual unused incident edge and mark it once.The finite used-edge count increases;vertices may recur but edges do not.
Step identifiers and dependencies
Rule: euler_constructive_unused_edge_extension · Uses: G001, S069
S071 · implies
Before
Hierholzer stack top=3;first unused incident ORIGINAL edge index=3;edge=[3, 4]
After
mark edge used ONCE;push vertex=4;current stack=[0, 1, 2, 3, 4];used edge set=[0, 1, 2, 3]
Conditions: none
Extend along an actual unused incident edge and mark it once.The finite used-edge count increases;vertices may recur but edges do not.
Step identifiers and dependencies
Rule: euler_constructive_unused_edge_extension · Uses: G001, S070
S072 · implies
Before
Hierholzer stack top=4;first unused incident ORIGINAL edge index=4;edge=[4, 5]
After
mark edge used ONCE;push vertex=5;current stack=[0, 1, 2, 3, 4, 5];used edge set=[0, 1, 2, 3, 4]
Conditions: none
Extend along an actual unused incident edge and mark it once.The finite used-edge count increases;vertices may recur but edges do not.
Step identifiers and dependencies
Rule: euler_constructive_unused_edge_extension · Uses: G001, S071
S073 · implies
Before
Hierholzer stack top=5;first unused incident ORIGINAL edge index=5;edge=[5, 6]
After
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]
Conditions: none
Extend along an actual unused incident edge and mark it once.The finite used-edge count increases;vertices may recur but edges do not.
Step identifiers and dependencies
Rule: euler_constructive_unused_edge_extension · Uses: G001, S072
S074 · implies
Before
Hierholzer stack top=6;first unused incident ORIGINAL edge index=6;edge=[6, 7]
After
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]
Conditions: none
Extend along an actual unused incident edge and mark it once.The finite used-edge count increases;vertices may recur but edges do not.
Step identifiers and dependencies
Rule: euler_constructive_unused_edge_extension · Uses: G001, S073
S075 · implies
Before
Hierholzer stack top=7;first unused incident ORIGINAL edge index=7;edge=[7, 8]
After
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]
Conditions: none
Extend along an actual unused incident edge and mark it once.The finite used-edge count increases;vertices may recur but edges do not.
Step identifiers and dependencies
Rule: euler_constructive_unused_edge_extension · Uses: G001, S074
S076 · implies
Before
Hierholzer stack top=8;first unused incident ORIGINAL edge index=8;edge=[8, 9]
After
mark edge used ONCE;push vertex=9;current stack=[0, 1, 2, 3, 4, 5, 6, 7, 8, 9];used edge set=[0, 1, 2, 3, 4, 5, 6, 7, 8]
Conditions: none
Extend along an actual unused incident edge and mark it once.The finite used-edge count increases;vertices may recur but edges do not.
Step identifiers and dependencies
Rule: euler_constructive_unused_edge_extension · Uses: G001, S075
S077 · implies
Before
Hierholzer stack top=9;first unused incident ORIGINAL edge index=9;edge=[9, 10]
After
mark edge used ONCE;push vertex=10;current stack=[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10];used edge set=[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
Conditions: none
Extend along an actual unused incident edge and mark it once.The finite used-edge count increases;vertices may recur but edges do not.
Step identifiers and dependencies
Rule: euler_constructive_unused_edge_extension · Uses: G001, S076
S078 · implies
Before
Hierholzer stack top=10;first unused incident ORIGINAL edge index=10;edge=[10, 11]
After
mark edge used ONCE;push vertex=11;current stack=[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11];used edge set=[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
Conditions: none
Extend along an actual unused incident edge and mark it once.The finite used-edge count increases;vertices may recur but edges do not.
Step identifiers and dependencies
Rule: euler_constructive_unused_edge_extension · Uses: G001, S077
S079 · implies
Before
Hierholzer stack top=11;first unused incident ORIGINAL edge index=11;edge=[11, 12]
After
mark edge used ONCE;push vertex=12;current stack=[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12];used edge set=[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]
Conditions: none
Extend along an actual unused incident edge and mark it once.The finite used-edge count increases;vertices may recur but edges do not.
Step identifiers and dependencies
Rule: euler_constructive_unused_edge_extension · Uses: G001, S078
S080 · implies
Before
Hierholzer stack top=12;first unused incident ORIGINAL edge index=12;edge=[12, 13]
After
mark edge used ONCE;push vertex=13;current stack=[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13];used edge set=[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]
Conditions: none
Extend along an actual unused incident edge and mark it once.The finite used-edge count increases;vertices may recur but edges do not.
Step identifiers and dependencies
Rule: euler_constructive_unused_edge_extension · Uses: G001, S079
S081 · implies
Before
Hierholzer stack top=13;first unused incident ORIGINAL edge index=13;edge=[13, 14]
After
mark edge used ONCE;push vertex=14;current stack=[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14];used edge set=[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13]
Conditions: none
Extend along an actual unused incident edge and mark it once.The finite used-edge count increases;vertices may recur but edges do not.
Step identifiers and dependencies
Rule: euler_constructive_unused_edge_extension · Uses: G001, S080
S082 · implies
Before
Hierholzer stack top=14;first unused incident ORIGINAL edge index=14;edge=[14, 15]
After
mark edge used ONCE;push vertex=15;current stack=[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15];used edge set=[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14]
Conditions: none
Extend along an actual unused incident edge and mark it once.The finite used-edge count increases;vertices may recur but edges do not.
Step identifiers and dependencies
Rule: euler_constructive_unused_edge_extension · Uses: G001, S081
S083 · implies
Before
Hierholzer current stack=[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15];top vertex has NO unused incident edge
After
finalize top into reverse output=[15];remaining stack=[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14]
Conditions: none
Backtrack and collect vertices in reverse only when no unused incident edge remains.This records the splicing of closed segments without traversing nonexistent edges.
Step identifiers and dependencies
Rule: euler_constructive_backtracking_cycle_splice · Uses: G001, S082
S084 · implies
Before
Hierholzer current stack=[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14];top vertex has NO unused incident edge
After
finalize top into reverse output=[15, 14];remaining stack=[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13]
Conditions: none
Backtrack and collect vertices in reverse only when no unused incident edge remains.This records the splicing of closed segments without traversing nonexistent edges.
Step identifiers and dependencies
Rule: euler_constructive_backtracking_cycle_splice · Uses: G001, S083
S085 · implies
Before
Hierholzer current stack=[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13];top vertex has NO unused incident edge
After
finalize top into reverse output=[15, 14, 13];remaining stack=[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]
Conditions: none
Backtrack and collect vertices in reverse only when no unused incident edge remains.This records the splicing of closed segments without traversing nonexistent edges.
Step identifiers and dependencies
Rule: euler_constructive_backtracking_cycle_splice · Uses: G001, S084
S086 · implies
Before
Hierholzer current stack=[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12];top vertex has NO unused incident edge
After
finalize top into reverse output=[15, 14, 13, 12];remaining stack=[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]
Conditions: none
Backtrack and collect vertices in reverse only when no unused incident edge remains.This records the splicing of closed segments without traversing nonexistent edges.
Step identifiers and dependencies
Rule: euler_constructive_backtracking_cycle_splice · Uses: G001, S085
S087 · implies
Before
Hierholzer current stack=[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11];top vertex has NO unused incident edge
After
finalize top into reverse output=[15, 14, 13, 12, 11];remaining stack=[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
Conditions: none
Backtrack and collect vertices in reverse only when no unused incident edge remains.This records the splicing of closed segments without traversing nonexistent edges.
Step identifiers and dependencies
Rule: euler_constructive_backtracking_cycle_splice · Uses: G001, S086
S088 · implies
Before
Hierholzer current stack=[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10];top vertex has NO unused incident edge
After
finalize top into reverse output=[15, 14, 13, 12, 11, 10];remaining stack=[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
Conditions: none
Backtrack and collect vertices in reverse only when no unused incident edge remains.This records the splicing of closed segments without traversing nonexistent edges.
Step identifiers and dependencies
Rule: euler_constructive_backtracking_cycle_splice · Uses: G001, S087
S089 · implies
Before
Hierholzer current stack=[0, 1, 2, 3, 4, 5, 6, 7, 8, 9];top vertex has NO unused incident edge
After
finalize top into reverse output=[15, 14, 13, 12, 11, 10, 9];remaining stack=[0, 1, 2, 3, 4, 5, 6, 7, 8]
Conditions: none
Backtrack and collect vertices in reverse only when no unused incident edge remains.This records the splicing of closed segments without traversing nonexistent edges.
Step identifiers and dependencies
Rule: euler_constructive_backtracking_cycle_splice · Uses: G001, S088
S090 · implies
Before
Hierholzer current stack=[0, 1, 2, 3, 4, 5, 6, 7, 8];top vertex has NO unused incident edge
After
finalize top into reverse output=[15, 14, 13, 12, 11, 10, 9, 8];remaining stack=[0, 1, 2, 3, 4, 5, 6, 7]
Conditions: none
Backtrack and collect vertices in reverse only when no unused incident edge remains.This records the splicing of closed segments without traversing nonexistent edges.
Step identifiers and dependencies
Rule: euler_constructive_backtracking_cycle_splice · Uses: G001, S089
S091 · implies
Before
Hierholzer current stack=[0, 1, 2, 3, 4, 5, 6, 7];top vertex has NO unused incident edge
After
finalize top into reverse output=[15, 14, 13, 12, 11, 10, 9, 8, 7];remaining stack=[0, 1, 2, 3, 4, 5, 6]
Conditions: none
Backtrack and collect vertices in reverse only when no unused incident edge remains.This records the splicing of closed segments without traversing nonexistent edges.
Step identifiers and dependencies
Rule: euler_constructive_backtracking_cycle_splice · Uses: G001, S090
S092 · implies
Before
Hierholzer current stack=[0, 1, 2, 3, 4, 5, 6];top vertex has NO unused incident edge
After
finalize top into reverse output=[15, 14, 13, 12, 11, 10, 9, 8, 7, 6];remaining stack=[0, 1, 2, 3, 4, 5]
Conditions: none
Backtrack and collect vertices in reverse only when no unused incident edge remains.This records the splicing of closed segments without traversing nonexistent edges.
Step identifiers and dependencies
Rule: euler_constructive_backtracking_cycle_splice · Uses: G001, S091
S093 · implies
Before
Hierholzer current stack=[0, 1, 2, 3, 4, 5];top vertex has NO unused incident edge
After
finalize top into reverse output=[15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5];remaining stack=[0, 1, 2, 3, 4]
Conditions: none
Backtrack and collect vertices in reverse only when no unused incident edge remains.This records the splicing of closed segments without traversing nonexistent edges.
Step identifiers and dependencies
Rule: euler_constructive_backtracking_cycle_splice · Uses: G001, S092
S094 · implies
Before
Hierholzer current stack=[0, 1, 2, 3, 4];top vertex has NO unused incident edge
After
finalize top into reverse output=[15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4];remaining stack=[0, 1, 2, 3]
Conditions: none
Backtrack and collect vertices in reverse only when no unused incident edge remains.This records the splicing of closed segments without traversing nonexistent edges.
Step identifiers and dependencies
Rule: euler_constructive_backtracking_cycle_splice · Uses: G001, S093
S095 · implies
Before
Hierholzer current stack=[0, 1, 2, 3];top vertex has NO unused incident edge
After
finalize top into reverse output=[15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3];remaining stack=[0, 1, 2]
Conditions: none
Backtrack and collect vertices in reverse only when no unused incident edge remains.This records the splicing of closed segments without traversing nonexistent edges.
Step identifiers and dependencies
Rule: euler_constructive_backtracking_cycle_splice · Uses: G001, S094
S096 · implies
Before
Hierholzer current stack=[0, 1, 2];top vertex has NO unused incident edge
After
finalize top into reverse output=[15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2];remaining stack=[0, 1]
Conditions: none
Backtrack and collect vertices in reverse only when no unused incident edge remains.This records the splicing of closed segments without traversing nonexistent edges.
Step identifiers and dependencies
Rule: euler_constructive_backtracking_cycle_splice · Uses: G001, S095
S097 · implies
Before
Hierholzer current stack=[0, 1];top vertex has NO unused incident edge
After
finalize top into reverse output=[15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1];remaining stack=[0]
Conditions: none
Backtrack and collect vertices in reverse only when no unused incident edge remains.This records the splicing of closed segments without traversing nonexistent edges.
Step identifiers and dependencies
Rule: euler_constructive_backtracking_cycle_splice · Uses: G001, S096
S098 · implies
Before
Hierholzer current stack=[0];top vertex has NO unused incident edge
After
finalize top into reverse output=[15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0];remaining stack=[]
Conditions: none
Backtrack and collect vertices in reverse only when no unused incident edge remains.This records the splicing of closed segments without traversing nonexistent edges.
Step identifiers and dependencies
Rule: euler_constructive_backtracking_cycle_splice · Uses: G001, S097
S099 · implies
Before
connected nonisolated support=[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15];odd vertices=[0, 15];finished reversed construction
After
ACTUAL Euler witness walk=[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15];actual ORIGINAL edge order=[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14];every original edge once;endpoints have required parity
Conditions: none
Map every step of the final walk back to original edges and verify length m+1,unique indices and complete coverage.This directly witnesses existence in this graph.With no odd vertices it closes;with two its endpoints are precisely those vertices.Parity alone is not the existence certificate,and no Hamiltonian property follows.
Step identifiers and dependencies
Rule: euler_sufficiency_actual_full_edge_witness_not_parity_alone · Uses: G001, S098