Original question and givens
Use the complete finite undirected loop-free simple graph on Fin(7)={0,…,6} with edge set=[[0, 4], [0, 5], [0, 6], [1, 2], [1, 4], [1, 5], [1, 6], [2, 4], [2, 5], [2, 6], [3, 4]]. Loops and duplicate undirected edges are forbidden. Connectivity is complete path reachability, not just one traversal fragment. Length-zero paths make every vertex reachable from itself, including isolated vertices. Do not switch to directed weak/strong, infinite or dynamic connectivity. Give (components,covers_vertices?,disjoint?,singleton_components,length_zero_paths_include_every_vertex). Use increasing labels within each class and least-unseen order across classes.
G001 — Use the complete finite undirected loop-free simple graph on Fin(7)={0,…,6} with edge set=[[0, 4], [0, 5], [0, 6], [1, 2], [1, 4], [1, 5], [1, 6], [2, 4], [2, 5], [2, 6], [3, 4]]. Loops and duplicate undirected edges are forbidden. Connectivity is complete path reachability, not just one traversal fragment. Length-zero paths make every vertex reachable from itself, including isolated vertices. Do not switch to directed weak/strong, infinite or dynamic connectivity. Give (components,covers_vertices?,disjoint?,singleton_components,length_zero_paths_include_every_vertex). Use increasing labels within each class and least-unseen order across classes.
Step-by-step derivation
S001 · implies
Before
full carrier Fin(7);raw undirected edges=[[0, 4], [0, 5], [0, 6], [1, 2], [1, 4], [1, 5], [1, 6], [2, 4], [2, 5], [2, 6], [3, 4]]
After
canonical simple edges=[[0, 4], [0, 5], [0, 6], [1, 2], [1, 4], [1, 5], [1, 6], [2, 4], [2, 5], [2, 6], [3, 4]];full adjacency rows=[[4, 5, 6], [2, 4, 5, 6], [1, 4, 5, 6], [4], [0, 1, 2, 3], [0, 1, 2], [0, 1, 2]]
Conditions: none
Build adjacency on the full carrier,rejecting loops and duplicate undirected edges.Vertices absent from edges retain empty rows;do not switch to directed connectivity.
Step identifiers and dependencies
Rule: component_full_undirected_graph_includes_isolates · Uses: G001
S002 · implies
Before
class representative0:start vertex=0;complete adjacency=[[4, 5, 6], [2, 4, 5, 6], [1, 4, 5, 6], [4], [0, 1, 2, 3], [0, 1, 2], [0, 1, 2]]
After
initial visited=[0];path to start=[0];edge length0
Conditions: none
The start reaches itself by a length-zero path.Even an isolated vertex must be included rather than omitted for having no edges.
Step identifiers and dependencies
Rule: component_zero_length_reflexive_path · Uses: G001, S001
S003 · implies
Before
class representative0:layer=0;frontier=[0];all frontier neighbors=[4, 5, 6]
After
previously seen=[0];new vertices=[4, 5, 6]
Conditions: none
At each layer inspect every neighbor of every frontier vertex,then add only unvisited distinct labels.Do not stop at a plausible-looking fragment.
Step identifiers and dependencies
Rule: component_complete_frontier_expansion · Uses: G001, S002
S004 · implies
Before
class representative0:new vertex=4;earliest frontier parent=0;parent path=[0]
After
append actual parent edge;reachable path=[0, 4]
Conditions: none
Extend the established parent path by an original graph edge,so every added vertex really is reachable.
Step identifiers and dependencies
Rule: component_each_new_vertex_path_witness · Uses: G001, S003
S005 · implies
Before
class representative0:new vertex=5;earliest frontier parent=0;parent path=[0]
After
append actual parent edge;reachable path=[0, 5]
Conditions: none
Extend the established parent path by an original graph edge,so every added vertex really is reachable.
Step identifiers and dependencies
Rule: component_each_new_vertex_path_witness · Uses: G001, S004
S006 · implies
Before
class representative0:new vertex=6;earliest frontier parent=0;parent path=[0]
After
append actual parent edge;reachable path=[0, 6]
Conditions: none
Extend the established parent path by an original graph edge,so every added vertex really is reachable.
Step identifiers and dependencies
Rule: component_each_new_vertex_path_witness · Uses: G001, S005
S007 · implies
Before
class representative0:layer=1;frontier=[4, 5, 6];all frontier neighbors=[0, 1, 2, 3]
After
previously seen=[0, 4, 5, 6];new vertices=[1, 2, 3]
Conditions: none
At each layer inspect every neighbor of every frontier vertex,then add only unvisited distinct labels.Do not stop at a plausible-looking fragment.
Step identifiers and dependencies
Rule: component_complete_frontier_expansion · Uses: G001, S006
S008 · implies
Before
class representative0:new vertex=1;earliest frontier parent=4;parent path=[0, 4]
After
append actual parent edge;reachable path=[0, 4, 1]
Conditions: none
Extend the established parent path by an original graph edge,so every added vertex really is reachable.
Step identifiers and dependencies
Rule: component_each_new_vertex_path_witness · Uses: G001, S007
S009 · implies
Before
class representative0:new vertex=2;earliest frontier parent=4;parent path=[0, 4]
After
append actual parent edge;reachable path=[0, 4, 2]
Conditions: none
Extend the established parent path by an original graph edge,so every added vertex really is reachable.
Step identifiers and dependencies
Rule: component_each_new_vertex_path_witness · Uses: G001, S008
S010 · implies
Before
class representative0:new vertex=3;earliest frontier parent=4;parent path=[0, 4]
After
append actual parent edge;reachable path=[0, 4, 3]
Conditions: none
Extend the established parent path by an original graph edge,so every added vertex really is reachable.
Step identifiers and dependencies
Rule: component_each_new_vertex_path_witness · Uses: G001, S009
S011 · implies
Before
class representative0:layer=2;frontier=[1, 2, 3];all frontier neighbors=[1, 2, 4, 5, 6]
After
previously seen=[0, 1, 2, 3, 4, 5, 6];new vertices=[]
Conditions: none
At each layer inspect every neighbor of every frontier vertex,then add only unvisited distinct labels.Do not stop at a plausible-looking fragment.
Step identifiers and dependencies
Rule: component_complete_frontier_expansion · Uses: G001, S010
S012 · implies
Before
class representative0:final visited=[0, 1, 2, 3, 4, 5, 6];all [vertex,neighbors,outside neighbors] rows=[[0, [4, 5, 6], []], [1, [2, 4, 5, 6], []], [2, [1, 4, 5, 6], []], [3, [4], []], [4, [0, 1, 2, 3], []], [5, [0, 1, 2], []], [6, [0, 1, 2], []]]
After
no edge leaves visited;every visited vertex has a path;visited equals full reachable set
Conditions: none
Path witnesses give visited⊆reachable.At completion no edge leaves visited.If a path reached outside,it would have a first leaving edge,a contradiction,so reachable⊆visited.Both directions establish the whole component,not a traversal order.
Step identifiers and dependencies
Rule: component_reachable_and_closed_set_completeness · Uses: G001, S011
S013 · implies
Before
least unvisited representative=0;derived component=[0, 1, 2, 3, 4, 5, 6]
After
all visited labels=[0, 1, 2, 3, 4, 5, 6]
Conditions: none
Sort labels within each class and order classes by the least unvisited representative.BFS discovery order is not the canonical component order.
Step identifiers and dependencies
Rule: component_least_unvisited_class_order · Uses: G001, S012
S014 · implies
Before
all components=[[0, 1, 2, 3, 4, 5, 6]];full carrier=[0, 1, 2, 3, 4, 5, 6]
After
covers=Yes;disjoint=Yes;singleton components=[]
Conditions: none
Complete reachability classes cover all vertices disjointly.Isolated vertices form singleton classes by zero-length paths;do not partition only edge-present labels.
Step identifiers and dependencies
Rule: component_partition_full_carrier_not_edge_only · Uses: G001, S013