Explore related knowledge and questions →

Question 13660: Coverage and Disjointness Must Include Isolated Vertices

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 69

← Question derivation index · Original question batch

R0026-13660 · q-20261014-advance-20261028-r07-connected-component-0085

Original question and givens

Use the complete finite undirected loop-free simple graph on Fin(7)={0,…,6} with edge set=[[0, 2], [0, 3], [0, 5], [1, 2], [1, 4], [1, 6], [2, 4], [2, 5], [3, 5]]. 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, 2], [0, 3], [0, 5], [1, 2], [1, 4], [1, 6], [2, 4], [2, 5], [3, 5]]. 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.

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

full carrier Fin(7);raw undirected edges=[[0, 2], [0, 3], [0, 5], [1, 2], [1, 4], [1, 6], [2, 4], [2, 5], [3, 5]]

After

canonical simple edges=[[0, 2], [0, 3], [0, 5], [1, 2], [1, 4], [1, 6], [2, 4], [2, 5], [3, 5]];full adjacency rows=[[2, 3, 5], [2, 4, 6], [0, 1, 4, 5], [0, 5], [1, 2], [0, 2, 3], [1]]

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=[[2, 3, 5], [2, 4, 6], [0, 1, 4, 5], [0, 5], [1, 2], [0, 2, 3], [1]]

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=[2, 3, 5]

After

previously seen=[0];new vertices=[2, 3, 5]

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=2;earliest frontier parent=0;parent path=[0]

After

append actual parent edge;reachable path=[0, 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, S003

S005 · implies

Before

class representative0:new vertex=3;earliest frontier parent=0;parent path=[0]

After

append actual parent edge;reachable path=[0, 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, S004

S006 · 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, S005

S007 · implies

Before

class representative0:layer=1;frontier=[2, 3, 5];all frontier neighbors=[0, 1, 2, 3, 4, 5]

After

previously seen=[0, 2, 3, 5];new vertices=[1, 4]

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=2;parent path=[0, 2]

After

append actual parent edge;reachable path=[0, 2, 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=4;earliest frontier parent=2;parent path=[0, 2]

After

append actual parent edge;reachable path=[0, 2, 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, S008

S010 · implies

Before

class representative0:layer=2;frontier=[1, 4];all frontier neighbors=[1, 2, 4, 6]

After

previously seen=[0, 1, 2, 3, 4, 5];new vertices=[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, S009

S011 · implies

Before

class representative0:new vertex=6;earliest frontier parent=1;parent path=[0, 2, 1]

After

append actual parent edge;reachable path=[0, 2, 1, 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, S010

S012 · implies

Before

class representative0:layer=3;frontier=[6];all frontier neighbors=[1]

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

S013 · implies

Before

class representative0:final visited=[0, 1, 2, 3, 4, 5, 6];all [vertex,neighbors,outside neighbors] rows=[[0, [2, 3, 5], []], [1, [2, 4, 6], []], [2, [0, 1, 4, 5], []], [3, [0, 5], []], [4, [1, 2], []], [5, [0, 2, 3], []], [6, [1], []]]

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

S014 · 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, S013

S015 · 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, S014

Reverse checks

  • S015 · premise_and_result_audit — Check against the original data and this step's premises; a one-way implication is not an equivalence.
  • 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 — Check against the original data and this step's premises; a one-way implication is not an equivalence.
  • 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 — Check against the original data and this step's premises; a one-way implication is not an equivalence.
  • 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 — Check against the original data and this step's premises; a one-way implication is not an equivalence.
  • 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 — Check against the original data and this step's premises; a one-way implication is not an equivalence.
  • 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 — Check against the original data and this step's premises; a one-way implication is not an equivalence.
  • 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 — Check against the original data and this step's premises; a one-way implication is not an equivalence.
  • 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]], Yes, Yes, [], length_zero_paths_include_every_vertex)

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: 878f19e035081ba1b4018c3d73592d1028771e1a35aefe11cf3a5167c780466c
  • candidate record SHA-256: 39d64a67ff4c1d1c525b209c5c046a41f0ff76894849f3abb2cad4ceda888506
  • semantic review receipt SHA-256: f335caca08574c9f949c141083c66655fee51c227d45d80a3ddb7d78f862d798
  • question-first witness SHA-256: cc7ba54738af91a6871fc1c20e45ad8f2b434392273fa334bd16a3b2238f4a77
  • Lean: NOT_RUN · human review: NOT_PERFORMED
Same-source full JSON