Explore related knowledge and questions →

Question 18947: Isolated Vertices Do Not Disconnect the Edge Support

On this page
  1. Original question and givens
  2. Definition and scope
  3. Step-by-step derivation
  4. Reverse checks
  5. Result
  6. This question review and source binding

Return to catalogue page 95

← Question derivation index · Original question batch

R0036-18947 · q-20261014-advance-20261105-r04-eulerian-trail-0072

Original question and givens

Use the complete finite simple undirected graph on Fin(24)={0,…,23}, with canonical sorted 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], [15, 16], [16, 17], [17, 18], [18, 19], [19, 20], [20, 21], [21, 22]] and zero-based edge indices in that order. The edge support contains exactly the nonisolated vertices. A trail may revisit vertices but may not repeat an edge; an Euler trail uses every edge once. Isolated vertices do not invalidate connected edge support, and no Hamiltonian conclusion follows. Give (nonisolated_vertices, edge_support_connected, whole_graph_connected, odd_vertices, euler_type, boundary).

  • G001 — Use the complete finite simple undirected graph on Fin(24)={0,…,23}, with canonical sorted 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], [15, 16], [16, 17], [17, 18], [18, 19], [19, 20], [20, 21], [21, 22]] and zero-based edge indices in that order. The edge support contains exactly the nonisolated vertices. A trail may revisit vertices but may not repeat an edge; an Euler trail uses every edge once. Isolated vertices do not invalidate connected edge support, and no Hamiltonian conclusion follows. Give (nonisolated_vertices, edge_support_connected, whole_graph_connected, odd_vertices, euler_type, boundary).

Definition and scope

Use the original question domain, assumptions and cited MKO definitions. This item has second-context mathematical and bilingual review, with the model, answer and every arithmetic step independently recomputed from the original parameters; the source question remains a candidate.

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(24);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], [15, 16], [16, 17], [17, 18], [18, 19], [19, 20], [20, 21], [21, 22]]

After

edge indices are EXACT original list positions0..21;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, 1)

After

Euler vertex15 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, S032

S034 · implies

Before

original vertex=15;ALL original incident edge indices=[14, 15]

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, S033

S035 · calculation

Before

Euler vertex16 exact incident edge count := sum(1, 1)

After

Euler vertex16 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, S034

S036 · implies

Before

original vertex=16;ALL original incident edge indices=[15, 16]

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, S035

S037 · calculation

Before

Euler vertex17 exact incident edge count := sum(1, 1)

After

Euler vertex17 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, S036

S038 · implies

Before

original vertex=17;ALL original incident edge indices=[16, 17]

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, S037

S039 · calculation

Before

Euler vertex18 exact incident edge count := sum(1, 1)

After

Euler vertex18 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, S038

S040 · implies

Before

original vertex=18;ALL original incident edge indices=[17, 18]

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, S039

S041 · calculation

Before

Euler vertex19 exact incident edge count := sum(1, 1)

After

Euler vertex19 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, S040

S042 · implies

Before

original vertex=19;ALL original incident edge indices=[18, 19]

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, S041

S043 · calculation

Before

Euler vertex20 exact incident edge count := sum(1, 1)

After

Euler vertex20 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, S042

S044 · implies

Before

original vertex=20;ALL original incident edge indices=[19, 20]

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, S043

S045 · calculation

Before

Euler vertex21 exact incident edge count := sum(1, 1)

After

Euler vertex21 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, S044

S046 · implies

Before

original vertex=21;ALL original incident edge indices=[20, 21]

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, S045

S047 · calculation

Before

Euler vertex22 exact incident edge count := sum(1)

After

Euler vertex22 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, S046

S048 · implies

Before

original vertex=22;ALL original incident edge indices=[21]

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, S047

S049 · calculation

Before

Euler vertex23 exact incident edge count := sum()

After

Euler vertex23 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, S048

S050 · implies

Before

original vertex=23;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, S049

S051 · 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, S050

S052 · 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, S051

S053 · 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, S052

S054 · 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, S053

S055 · 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, S054

S056 · 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, S055

S057 · 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, S056

S058 · 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, S057

S059 · 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, S058

S060 · 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, S059

S061 · 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, S060

S062 · 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, S061

S063 · 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, S062

S064 · 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, S063

S065 · 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, S064

S066 · implies

Before

nonisolated edge support:original edge index=15;edge=[15, 16];from=15;new vertex=16

After

original-edge path from0=[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16];reached=[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16]

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, S065

S067 · implies

Before

nonisolated edge support:original edge index=16;edge=[16, 17];from=16;new vertex=17

After

original-edge path from0=[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17];reached=[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17]

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, S066

S068 · implies

Before

nonisolated edge support:original edge index=17;edge=[17, 18];from=17;new vertex=18

After

original-edge path from0=[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18];reached=[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18]

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, S067

S069 · implies

Before

nonisolated edge support:original edge index=18;edge=[18, 19];from=18;new vertex=19

After

original-edge path from0=[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19];reached=[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19]

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, S068

S070 · implies

Before

nonisolated edge support:original edge index=19;edge=[19, 20];from=19;new vertex=20

After

original-edge path from0=[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20];reached=[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20]

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, S069

S071 · implies

Before

nonisolated edge support:original edge index=20;edge=[20, 21];from=20;new vertex=21

After

original-edge path from0=[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21];reached=[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21]

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, S070

S072 · implies

Before

nonisolated edge support:original edge index=21;edge=[21, 22];from=21;new vertex=22

After

original-edge path from0=[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22];reached=[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22]

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, S071

S073 · implies

Before

nonisolated edge support:complete permitted carrier=[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22];reached=[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22];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], [15, 16], [16, 17], [17, 18], [18, 19], [19, 20], [20, 21], [21, 22]]

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, S072

S074 · 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, S073

S075 · 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, S074

S076 · 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, S075

S077 · 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, S076

S078 · 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, S077

S079 · 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, S078

S080 · 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, S079

S081 · 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, S080

S082 · 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, S081

S083 · 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, S082

S084 · 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, S083

S085 · 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, S084

S086 · 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, S085

S087 · 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, S086

S088 · 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, S087

S089 · implies

Before

whole original carrier:original edge index=15;edge=[15, 16];from=15;new vertex=16

After

original-edge path from0=[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16];reached=[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16]

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, S088

S090 · implies

Before

whole original carrier:original edge index=16;edge=[16, 17];from=16;new vertex=17

After

original-edge path from0=[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17];reached=[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17]

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, S089

S091 · implies

Before

whole original carrier:original edge index=17;edge=[17, 18];from=17;new vertex=18

After

original-edge path from0=[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18];reached=[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18]

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, S090

S092 · implies

Before

whole original carrier:original edge index=18;edge=[18, 19];from=18;new vertex=19

After

original-edge path from0=[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19];reached=[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19]

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, S091

S093 · implies

Before

whole original carrier:original edge index=19;edge=[19, 20];from=19;new vertex=20

After

original-edge path from0=[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20];reached=[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20]

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, S092

S094 · implies

Before

whole original carrier:original edge index=20;edge=[20, 21];from=20;new vertex=21

After

original-edge path from0=[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21];reached=[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21]

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, S093

S095 · implies

Before

whole original carrier:original edge index=21;edge=[21, 22];from=21;new vertex=22

After

original-edge path from0=[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22];reached=[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22]

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, S094

S096 · implies

Before

whole original carrier:complete permitted carrier=[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23];reached=[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22];unreached=[23];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], [15, 16], [16, 17], [17, 18], [18, 19], [19, 20], [20, 21], [21, 22]]

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, S095

S097 · implies

Before

complete degree list=[1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 0];ALL odd vertices=[0, 22];actual nonisolated support=[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22];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, S096

S098 · 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, S097

S099 · 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, S098

S100 · 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, S099

S101 · 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, S100

S102 · 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, S101

S103 · 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, S102

S104 · 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, S103

S105 · 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, S104

S106 · 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, S105

S107 · 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, S106

S108 · 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, S107

S109 · 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, S108

S110 · 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, S109

S111 · 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, S110

S112 · 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, S111

S113 · implies

Before

Hierholzer stack top=15;first unused incident ORIGINAL edge index=15;edge=[15, 16]

After

mark edge used ONCE;push vertex=16;current stack=[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16];used edge set=[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]

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, S112

S114 · implies

Before

Hierholzer stack top=16;first unused incident ORIGINAL edge index=16;edge=[16, 17]

After

mark edge used ONCE;push vertex=17;current stack=[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17];used edge set=[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16]

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, S113

S115 · implies

Before

Hierholzer stack top=17;first unused incident ORIGINAL edge index=17;edge=[17, 18]

After

mark edge used ONCE;push vertex=18;current stack=[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18];used edge set=[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17]

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, S114

S116 · implies

Before

Hierholzer stack top=18;first unused incident ORIGINAL edge index=18;edge=[18, 19]

After

mark edge used ONCE;push vertex=19;current stack=[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19];used edge set=[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18]

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, S115

S117 · implies

Before

Hierholzer stack top=19;first unused incident ORIGINAL edge index=19;edge=[19, 20]

After

mark edge used ONCE;push vertex=20;current stack=[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20];used edge set=[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19]

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, S116

S118 · implies

Before

Hierholzer stack top=20;first unused incident ORIGINAL edge index=20;edge=[20, 21]

After

mark edge used ONCE;push vertex=21;current stack=[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21];used edge set=[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20]

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, S117

S119 · implies

Before

Hierholzer stack top=21;first unused incident ORIGINAL edge index=21;edge=[21, 22]

After

mark edge used ONCE;push vertex=22;current stack=[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22];used edge set=[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21]

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, S118

S120 · implies

Before

Hierholzer current stack=[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22];top vertex has NO unused incident edge

After

finalize top into reverse output=[22];remaining stack=[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21]

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, S119

S121 · implies

Before

Hierholzer current stack=[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21];top vertex has NO unused incident edge

After

finalize top into reverse output=[22, 21];remaining stack=[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20]

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, S120

S122 · implies

Before

Hierholzer current stack=[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20];top vertex has NO unused incident edge

After

finalize top into reverse output=[22, 21, 20];remaining stack=[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19]

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, S121

S123 · implies

Before

Hierholzer current stack=[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19];top vertex has NO unused incident edge

After

finalize top into reverse output=[22, 21, 20, 19];remaining stack=[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18]

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, S122

S124 · implies

Before

Hierholzer current stack=[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18];top vertex has NO unused incident edge

After

finalize top into reverse output=[22, 21, 20, 19, 18];remaining stack=[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17]

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, S123

S125 · implies

Before

Hierholzer current stack=[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17];top vertex has NO unused incident edge

After

finalize top into reverse output=[22, 21, 20, 19, 18, 17];remaining stack=[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16]

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, S124

S126 · implies

Before

Hierholzer current stack=[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16];top vertex has NO unused incident edge

After

finalize top into reverse output=[22, 21, 20, 19, 18, 17, 16];remaining stack=[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]

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, S125

S127 · 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=[22, 21, 20, 19, 18, 17, 16, 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, S126

S128 · 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=[22, 21, 20, 19, 18, 17, 16, 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, S127

S129 · 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=[22, 21, 20, 19, 18, 17, 16, 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, S128

S130 · 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=[22, 21, 20, 19, 18, 17, 16, 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, S129

S131 · 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=[22, 21, 20, 19, 18, 17, 16, 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, S130

S132 · 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=[22, 21, 20, 19, 18, 17, 16, 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, S131

S133 · 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=[22, 21, 20, 19, 18, 17, 16, 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, S132

S134 · 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=[22, 21, 20, 19, 18, 17, 16, 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, S133

S135 · 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=[22, 21, 20, 19, 18, 17, 16, 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, S134

S136 · 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=[22, 21, 20, 19, 18, 17, 16, 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, S135

S137 · implies

Before

Hierholzer current stack=[0, 1, 2, 3, 4, 5];top vertex has NO unused incident edge

After

finalize top into reverse output=[22, 21, 20, 19, 18, 17, 16, 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, S136

S138 · implies

Before

Hierholzer current stack=[0, 1, 2, 3, 4];top vertex has NO unused incident edge

After

finalize top into reverse output=[22, 21, 20, 19, 18, 17, 16, 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, S137

S139 · implies

Before

Hierholzer current stack=[0, 1, 2, 3];top vertex has NO unused incident edge

After

finalize top into reverse output=[22, 21, 20, 19, 18, 17, 16, 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, S138

S140 · implies

Before

Hierholzer current stack=[0, 1, 2];top vertex has NO unused incident edge

After

finalize top into reverse output=[22, 21, 20, 19, 18, 17, 16, 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, S139

S141 · implies

Before

Hierholzer current stack=[0, 1];top vertex has NO unused incident edge

After

finalize top into reverse output=[22, 21, 20, 19, 18, 17, 16, 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, S140

S142 · implies

Before

Hierholzer current stack=[0];top vertex has NO unused incident edge

After

finalize top into reverse output=[22, 21, 20, 19, 18, 17, 16, 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, S141

S143 · implies

Before

connected nonisolated support=[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22];odd vertices=[0, 22];finished reversed construction

After

ACTUAL Euler witness walk=[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22];actual ORIGINAL edge order=[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21];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, S142

S144 · implies

Before

nonisolated support=[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22];support connected=Yes;WHOLE carrier Fin(24) 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, S143

Reverse checks

  • S144 · premise_and_result_audit — Check against the original data and this step's premises; a one-way implication is not an equivalence.
  • S143 · premise_and_result_audit — Check against the original data and this step's premises; a one-way implication is not an equivalence.
  • S142 · premise_and_result_audit — Check against the original data and this step's premises; a one-way implication is not an equivalence.
  • S141 · premise_and_result_audit — Check against the original data and this step's premises; a one-way implication is not an equivalence.
  • S140 · premise_and_result_audit — Check against the original data and this step's premises; a one-way implication is not an equivalence.
  • S139 · premise_and_result_audit — Check against the original data and this step's premises; a one-way implication is not an equivalence.
  • S138 · premise_and_result_audit — Check against the original data and this step's premises; a one-way implication is not an equivalence.
  • S137 · premise_and_result_audit — Check against the original data and this step's premises; a one-way implication is not an equivalence.
  • S136 · premise_and_result_audit — Check against the original data and this step's premises; a one-way implication is not an equivalence.
  • S135 · premise_and_result_audit — Check against the original data and this step's premises; a one-way implication is not an equivalence.
  • S134 · premise_and_result_audit — Check against the original data and this step's premises; a one-way implication is not an equivalence.
  • S133 · premise_and_result_audit — Check against the original data and this step's premises; a one-way implication is not an equivalence.
  • S132 · premise_and_result_audit — Check against the original data and this step's premises; a one-way implication is not an equivalence.
  • S131 · premise_and_result_audit — Check against the original data and this step's premises; a one-way implication is not an equivalence.
  • S130 · premise_and_result_audit — Check against the original data and this step's premises; a one-way implication is not an equivalence.
  • S129 · premise_and_result_audit — Check against the original data and this step's premises; a one-way implication is not an equivalence.
  • S128 · premise_and_result_audit — Check against the original data and this step's premises; a one-way implication is not an equivalence.
  • S127 · premise_and_result_audit — Check against the original data and this step's premises; a one-way implication is not an equivalence.
  • S126 · premise_and_result_audit — Check against the original data and this step's premises; a one-way implication is not an equivalence.
  • S125 · premise_and_result_audit — Check against the original data and this step's premises; a one-way implication is not an equivalence.
  • S124 · premise_and_result_audit — Check against the original data and this step's premises; a one-way implication is not an equivalence.
  • S123 · premise_and_result_audit — Check against the original data and this step's premises; a one-way implication is not an equivalence.
  • S122 · premise_and_result_audit — Check against the original data and this step's premises; a one-way implication is not an equivalence.
  • S121 · premise_and_result_audit — Check against the original data and this step's premises; a one-way implication is not an equivalence.
  • S120 · premise_and_result_audit — Check against the original data and this step's premises; a one-way implication is not an equivalence.
  • S119 · premise_and_result_audit — Check against the original data and this step's premises; a one-way implication is not an equivalence.
  • S118 · premise_and_result_audit — Check against the original data and this step's premises; a one-way implication is not an equivalence.
  • S117 · premise_and_result_audit — Check against the original data and this step's premises; a one-way implication is not an equivalence.
  • S116 · premise_and_result_audit — Check against the original data and this step's premises; a one-way implication is not an equivalence.
  • S115 · premise_and_result_audit — Check against the original data and this step's premises; a one-way implication is not an equivalence.
  • S114 · premise_and_result_audit — Check against the original data and this step's premises; a one-way implication is not an equivalence.
  • S113 · premise_and_result_audit — Check against the original data and this step's premises; a one-way implication is not an equivalence.
  • S112 · premise_and_result_audit — Check against the original data and this step's premises; a one-way implication is not an equivalence.
  • S111 · premise_and_result_audit — Check against the original data and this step's premises; a one-way implication is not an equivalence.
  • S110 · premise_and_result_audit — Check against the original data and this step's premises; a one-way implication is not an equivalence.
  • S109 · premise_and_result_audit — Check against the original data and this step's premises; a one-way implication is not an equivalence.
  • S108 · premise_and_result_audit — Check against the original data and this step's premises; a one-way implication is not an equivalence.
  • S107 · premise_and_result_audit — Check against the original data and this step's premises; a one-way implication is not an equivalence.
  • S106 · premise_and_result_audit — Check against the original data and this step's premises; a one-way implication is not an equivalence.
  • S105 · premise_and_result_audit — Check against the original data and this step's premises; a one-way implication is not an equivalence.
  • S104 · premise_and_result_audit — Check against the original data and this step's premises; a one-way implication is not an equivalence.
  • S103 · premise_and_result_audit — Check against the original data and this step's premises; a one-way implication is not an equivalence.
  • S102 · premise_and_result_audit — Check against the original data and this step's premises; a one-way implication is not an equivalence.
  • S101 · premise_and_result_audit — Check against the original data and this step's premises; a one-way implication is not an equivalence.
  • S100 · premise_and_result_audit — Check against the original data and this step's premises; a one-way implication is not an equivalence.
  • S099 · premise_and_result_audit — Check against the original data and this step's premises; a one-way implication is not an equivalence.
  • S098 · premise_and_result_audit — Check against the original data and this step's premises; a one-way implication is not an equivalence.
  • S097 · premise_and_result_audit — Check against the original data and this step's premises; a one-way implication is not an equivalence.
  • S096 · premise_and_result_audit — Check against the original data and this step's premises; a one-way implication is not an equivalence.
  • S095 · premise_and_result_audit — Check against the original data and this step's premises; a one-way implication is not an equivalence.
  • S094 · premise_and_result_audit — Check against the original data and this step's premises; a one-way implication is not an equivalence.
  • S093 · premise_and_result_audit — Check against the original data and this step's premises; a one-way implication is not an equivalence.
  • S092 · premise_and_result_audit — Check against the original data and this step's premises; a one-way implication is not an equivalence.
  • S091 · premise_and_result_audit — Check against the original data and this step's premises; a one-way implication is not an equivalence.
  • S090 · premise_and_result_audit — Check against the original data and this step's premises; a one-way implication is not an equivalence.
  • S089 · premise_and_result_audit — Check against the original data and this step's premises; a one-way implication is not an equivalence.
  • S088 · premise_and_result_audit — Check against the original data and this step's premises; a one-way implication is not an equivalence.
  • S087 · premise_and_result_audit — Check against the original data and this step's premises; a one-way implication is not an equivalence.
  • S086 · premise_and_result_audit — Check against the original data and this step's premises; a one-way implication is not an equivalence.
  • S085 · premise_and_result_audit — Check against the original data and this step's premises; a one-way implication is not an equivalence.
  • S084 · premise_and_result_audit — Check against the original data and this step's premises; a one-way implication is not an equivalence.
  • S083 · premise_and_result_audit — Check against the original data and this step's premises; a one-way implication is not an equivalence.
  • S082 · premise_and_result_audit — Check against the original data and this step's premises; a one-way implication is not an equivalence.
  • S081 · premise_and_result_audit — Check against the original data and this step's premises; a one-way implication is not an equivalence.
  • S080 · premise_and_result_audit — Check against the original data and this step's premises; a one-way implication is not an equivalence.
  • S079 · premise_and_result_audit — Check against the original data and this step's premises; a one-way implication is not an equivalence.
  • S078 · premise_and_result_audit — Check against the original data and this step's premises; a one-way implication is not an equivalence.
  • S077 · premise_and_result_audit — Check against the original data and this step's premises; a one-way implication is not an equivalence.
  • S076 · premise_and_result_audit — Check against the original data and this step's premises; a one-way implication is not an equivalence.
  • S075 · premise_and_result_audit — Check against the original data and this step's premises; a one-way implication is not an equivalence.
  • S074 · premise_and_result_audit — Check against the original data and this step's premises; a one-way implication is not an equivalence.
  • S073 · premise_and_result_audit — Check against the original data and this step's premises; a one-way implication is not an equivalence.
  • S072 · premise_and_result_audit — Check against the original data and this step's premises; a one-way implication is not an equivalence.
  • S071 · premise_and_result_audit — Check against the original data and this step's premises; a one-way implication is not an equivalence.
  • S070 · premise_and_result_audit — Check against the original data and this step's premises; a one-way implication is not an equivalence.
  • S069 · premise_and_result_audit — Check against the original data and this step's premises; a one-way implication is not an equivalence.
  • S068 · premise_and_result_audit — Check against the original data and this step's premises; a one-way implication is not an equivalence.
  • S067 · premise_and_result_audit — Check against the original data and this step's premises; a one-way implication is not an equivalence.
  • S066 · premise_and_result_audit — Check against the original data and this step's premises; a one-way implication is not an equivalence.
  • S065 · premise_and_result_audit — Check against the original data and this step's premises; a one-way implication is not an equivalence.
  • S064 · premise_and_result_audit — Check against the original data and this step's premises; a one-way implication is not an equivalence.
  • S063 · premise_and_result_audit — Check against the original data and this step's premises; a one-way implication is not an equivalence.
  • S062 · premise_and_result_audit — Check against the original data and this step's premises; a one-way implication is not an equivalence.
  • S061 · premise_and_result_audit — Check against the original data and this step's premises; a one-way implication is not an equivalence.
  • S060 · premise_and_result_audit — Check against the original data and this step's premises; a one-way implication is not an equivalence.
  • S059 · premise_and_result_audit — Check against the original data and this step's premises; a one-way implication is not an equivalence.
  • S058 · premise_and_result_audit — Check against the original data and this step's premises; a one-way implication is not an equivalence.
  • S057 · premise_and_result_audit — Check against the original data and this step's premises; a one-way implication is not an equivalence.
  • S056 · premise_and_result_audit — Check against the original data and this step's premises; a one-way implication is not an equivalence.
  • S055 · premise_and_result_audit — Check against the original data and this step's premises; a one-way implication is not an equivalence.
  • S054 · premise_and_result_audit — Check against the original data and this step's premises; a one-way implication is not an equivalence.
  • S053 · premise_and_result_audit — Check against the original data and this step's premises; a one-way implication is not an equivalence.
  • S052 · premise_and_result_audit — Check against the original data and this step's premises; a one-way implication is not an equivalence.
  • S051 · premise_and_result_audit — Check against the original data and this step's premises; a one-way implication is not an equivalence.
  • S050 · premise_and_result_audit — Check against the original data and this step's premises; a one-way implication is not an equivalence.
  • S049 · premise_and_result_audit — Recompute Euler vertex23 exact incident edge count with exact rational arithmetic, not rounded decimals.
  • S048 · premise_and_result_audit — Check against the original data and this step's premises; a one-way implication is not an equivalence.
  • S047 · premise_and_result_audit — Recompute Euler vertex22 exact incident edge count with exact rational arithmetic, not rounded decimals.
  • S046 · premise_and_result_audit — Check against the original data and this step's premises; a one-way implication is not an equivalence.
  • S045 · premise_and_result_audit — Recompute Euler vertex21 exact incident edge count with exact rational arithmetic, not rounded decimals.
  • S044 · premise_and_result_audit — Check against the original data and this step's premises; a one-way implication is not an equivalence.
  • S043 · premise_and_result_audit — Recompute Euler vertex20 exact incident edge count with exact rational arithmetic, not rounded decimals.
  • S042 · premise_and_result_audit — Check against the original data and this step's premises; a one-way implication is not an equivalence.
  • S041 · premise_and_result_audit — Recompute Euler vertex19 exact incident edge count with exact rational arithmetic, not rounded decimals.
  • S040 · premise_and_result_audit — Check against the original data and this step's premises; a one-way implication is not an equivalence.
  • S039 · premise_and_result_audit — Recompute Euler vertex18 exact incident edge count with exact rational arithmetic, not rounded decimals.
  • S038 · premise_and_result_audit — Check against the original data and this step's premises; a one-way implication is not an equivalence.
  • S037 · premise_and_result_audit — Recompute Euler vertex17 exact incident edge count with exact rational arithmetic, not rounded decimals.
  • S036 · premise_and_result_audit — Check against the original data and this step's premises; a one-way implication is not an equivalence.
  • S035 · premise_and_result_audit — Recompute Euler vertex16 exact incident edge count with exact rational arithmetic, not rounded decimals.
  • S034 · premise_and_result_audit — Check against the original data and this step's premises; a one-way implication is not an equivalence.
  • S033 · premise_and_result_audit — Recompute Euler vertex15 exact incident edge count with exact rational arithmetic, not rounded decimals.
  • S032 · premise_and_result_audit — Check against the original data and this step's premises; a one-way implication is not an equivalence.
  • S031 · premise_and_result_audit — Recompute Euler vertex14 exact incident edge count with exact rational arithmetic, not rounded decimals.
  • S030 · premise_and_result_audit — Check against the original data and this step's premises; a one-way implication is not an equivalence.
  • S029 · premise_and_result_audit — Recompute Euler vertex13 exact incident edge count with exact rational arithmetic, not rounded decimals.
  • S028 · premise_and_result_audit — Check against the original data and this step's premises; a one-way implication is not an equivalence.
  • S027 · premise_and_result_audit — Recompute Euler vertex12 exact incident edge count with exact rational arithmetic, not rounded decimals.
  • S026 · premise_and_result_audit — Check against the original data and this step's premises; a one-way implication is not an equivalence.
  • S025 · premise_and_result_audit — Recompute Euler vertex11 exact incident edge count with exact rational arithmetic, not rounded decimals.
  • S024 · premise_and_result_audit — Check against the original data and this step's premises; a one-way implication is not an equivalence.
  • S023 · premise_and_result_audit — Recompute Euler vertex10 exact incident edge count with exact rational arithmetic, not rounded decimals.
  • S022 · premise_and_result_audit — Check against the original data and this step's premises; a one-way implication is not an equivalence.
  • S021 · premise_and_result_audit — Recompute Euler vertex9 exact incident edge count with exact rational arithmetic, not rounded decimals.
  • S020 · premise_and_result_audit — Check against the original data and this step's premises; a one-way implication is not an equivalence.
  • S019 · premise_and_result_audit — Recompute Euler vertex8 exact incident edge count with exact rational arithmetic, not rounded decimals.
  • S018 · premise_and_result_audit — Check against the original data and this step's premises; a one-way implication is not an equivalence.
  • S017 · premise_and_result_audit — Recompute Euler vertex7 exact incident edge count with exact rational arithmetic, not rounded decimals.
  • S016 · premise_and_result_audit — Check against the original data and this step's premises; a one-way implication is not an equivalence.
  • S015 · premise_and_result_audit — Recompute Euler vertex6 exact incident edge count with exact rational arithmetic, not rounded decimals.
  • S014 · premise_and_result_audit — Check against the original data and this step's premises; a one-way implication is not an equivalence.
  • S013 · premise_and_result_audit — Recompute Euler vertex5 exact incident edge count with exact rational arithmetic, not rounded decimals.
  • S012 · premise_and_result_audit — Check against the original data and this step's premises; a one-way implication is not an equivalence.
  • S011 · premise_and_result_audit — Recompute Euler vertex4 exact incident edge count with exact rational arithmetic, not rounded decimals.
  • S010 · premise_and_result_audit — Check against the original data and this step's premises; a one-way implication is not an equivalence.
  • S009 · premise_and_result_audit — Recompute Euler vertex3 exact incident edge count with exact rational arithmetic, not rounded decimals.
  • S008 · premise_and_result_audit — Check against the original data and this step's premises; a one-way implication is not an equivalence.
  • S007 · premise_and_result_audit — Recompute Euler vertex2 exact incident edge count with exact rational arithmetic, not rounded decimals.
  • S006 · premise_and_result_audit — Check against the original data and this step's premises; a one-way implication is not an equivalence.
  • S005 · premise_and_result_audit — Recompute Euler vertex1 exact incident edge count with exact rational arithmetic, not rounded decimals.
  • S004 · premise_and_result_audit — Check against the original data and this step's premises; a one-way implication is not an equivalence.
  • S003 · premise_and_result_audit — Recompute Euler vertex0 exact incident edge count with exact rational arithmetic, not rounded decimals.
  • S002 · premise_and_result_audit — Check against the original data and this step's premises; a one-way implication is not an equivalence.
  • S001 · premise_and_result_audit — Check against the original data and this step's premises; a one-way implication is not an equivalence.

Result

([0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22], Yes, No, [0, 22], open_euler_trail, isolated_vertices_do_not_break_edge_support_connectivity)

The full substitutions and premise checks give the original answer; source identity,format and status are unchanged.

This question review and source binding

Review date: 2026-10-26

Original questions, answers, step expressions, numeric ASTs and historical records are retained. Source candidate labels remain historical and are not overwritten as formal proof.

Source hashes and review receipts
  • input commit: 0f7be61e2c22317a4075561dc822c87d881a50db
  • original question SHA-256: 7458022faaee069215a59ec5b1b4ad6c65710cde375e8ff804ff512d16d105fb
  • candidate record SHA-256: df760bcc2c8713540d110f3a98fd230e9c30bf0565880951d19598f880da51ba
  • semantic review receipt SHA-256: efee5462991619d6ed9f64f11ddb085e5614ef33f9f8fcd8cf29b9329f8fd301
  • question-first witness SHA-256: acf91fa1622f01d2cf04b2c513294254323665351f660f2628aaafdb869c4ff2
  • Lean: NOT_RUN · human review: NOT_PERFORMED
Same-source full JSON