Step-by-step derivation
S001 · implies
Before
source operation=euler-support-connectivity;original snapshot and mathematics retained
After
explicit ordered source output fields=[nonisolated_vertices, edge_support_connected, whole_graph_connected, odd_vertices, euler_type, boundary]
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(4);canonical ORIGINAL simple undirected edges=[[0, 1], [1, 2]]
After
edge indices are EXACT original list positions0..1;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)
After
Euler vertex2 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, S006
S008 · implies
Before
original vertex=2;ALL original incident edge indices=[1]
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, S007
S009 · calculation
Before
Euler vertex3 exact incident edge count := sum()
After
Euler vertex3 exact incident edge count = 0
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=[]
After
degree=0;nonisolated=No;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 · 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, S010
S012 · 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, S011
S013 · implies
Before
nonisolated edge support:complete permitted carrier=[0, 1, 2];reached=[0, 1, 2];unreached=[];ALL original edges=[[0, 1], [1, 2]]
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, S012
S014 · 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, S013
S015 · 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, S014
S016 · implies
Before
whole original carrier:complete permitted carrier=[0, 1, 2, 3];reached=[0, 1, 2];unreached=[3];ALL original edges=[[0, 1], [1, 2]]
After
no edge in carrier crosses reached/unreached cut;connected=No
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, S015
S017 · implies
Before
complete degree list=[1, 2, 1, 0];ALL odd vertices=[0, 2];actual nonisolated support=[0, 1, 2];support connected=Yes;whole graph connected=No
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, S016
S018 · 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, S017
S019 · 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, S018
S020 · implies
Before
Hierholzer current stack=[0, 1, 2];top vertex has NO unused incident edge
After
finalize top into reverse output=[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, S019
S021 · implies
Before
Hierholzer current stack=[0, 1];top vertex has NO unused incident edge
After
finalize top into reverse output=[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, S020
S022 · implies
Before
Hierholzer current stack=[0];top vertex has NO unused incident edge
After
finalize top into reverse output=[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, S021
S023 · implies
Before
connected nonisolated support=[0, 1, 2];odd vertices=[0, 2];finished reversed construction
After
ACTUAL Euler witness walk=[0, 1, 2];actual ORIGINAL edge order=[0, 1];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, S022
S024 · implies
Before
nonisolated support=[0, 1, 2];support connected=Yes;WHOLE carrier Fin(4) connected=No
After
Euler type=open_euler_trail;isolated_vertices_do_not_break_edge_support_connectivity
Conditions: none
Euler's objective is using every edge,not visiting every vertex.Retain the two distinct connectivity fields without substituting one for the other.No Hamiltonian conclusion is supplied.
Step identifiers and dependencies
Rule: euler_isolates_not_full_connectivity_or_Hamilton_claim · Uses: G001, S023