Step-by-step derivation
S001 · implies
Before
n=5;raw edges=[[0, 1], [0, 3], [0, 4]]
After
canonical edges=[[0, 1], [0, 3], [0, 4]]
Conditions: none
Validate every simple undirected edge for typed distinct endpoints.Sort endpoints and count reversed or repeated edges once;do not infer adjacency from a drawing.
Step identifiers and dependencies
Rule: simple_graph_edge_normalization · Uses: G001
S002 · implies
Before
phase=original;vertex=0;all edges=[[0, 1], [0, 3], [0, 4]]
After
neighbors=[1, 3, 4];degree=3
Conditions: none
Scan all canonical edges.An incident edge contributes its other endpoint as a distinct neighbor.Keep original vertex labels.
Step identifiers and dependencies
Rule: complete_graph_neighbor_inventory · Uses: G001, S001
S003 · implies
Before
phase=original;vertex=1;all edges=[[0, 1], [0, 3], [0, 4]]
After
neighbors=[0];degree=1
Conditions: none
Scan all canonical edges.An incident edge contributes its other endpoint as a distinct neighbor.Keep original vertex labels.
Step identifiers and dependencies
Rule: complete_graph_neighbor_inventory · Uses: G001, S002
S004 · implies
Before
phase=original;vertex=2;all edges=[[0, 1], [0, 3], [0, 4]]
After
neighbors=[];degree=0
Conditions: none
Scan all canonical edges.An incident edge contributes its other endpoint as a distinct neighbor.Keep original vertex labels.
Step identifiers and dependencies
Rule: complete_graph_neighbor_inventory · Uses: G001, S003
S005 · implies
Before
phase=original;vertex=3;all edges=[[0, 1], [0, 3], [0, 4]]
After
neighbors=[0];degree=1
Conditions: none
Scan all canonical edges.An incident edge contributes its other endpoint as a distinct neighbor.Keep original vertex labels.
Step identifiers and dependencies
Rule: complete_graph_neighbor_inventory · Uses: G001, S004
S006 · implies
Before
phase=original;vertex=4;all edges=[[0, 1], [0, 3], [0, 4]]
After
neighbors=[0];degree=1
Conditions: none
Scan all canonical edges.An incident edge contributes its other endpoint as a distinct neighbor.Keep original vertex labels.
Step identifiers and dependencies
Rule: complete_graph_neighbor_inventory · Uses: G001, S005
S007 · implies
Before
vertex=0;ordered targets=[0, 1, 2, 3, 4];neighbors=[1, 3, 4]
After
adjacency row=[No, Yes, No, Yes, Yes]
Conditions: none
Each Boolean entry records edge adjacency.The diagonal is false and the matrix is symmetric;this is not a reachability matrix.
Step identifiers and dependencies
Rule: complete_boolean_adjacency_row · Uses: G001, S006
S008 · implies
Before
vertex=1;ordered targets=[0, 1, 2, 3, 4];neighbors=[0]
After
adjacency row=[Yes, No, No, No, No]
Conditions: none
Each Boolean entry records edge adjacency.The diagonal is false and the matrix is symmetric;this is not a reachability matrix.
Step identifiers and dependencies
Rule: complete_boolean_adjacency_row · Uses: G001, S007
S009 · implies
Before
vertex=2;ordered targets=[0, 1, 2, 3, 4];neighbors=[]
After
adjacency row=[No, No, No, No, No]
Conditions: none
Each Boolean entry records edge adjacency.The diagonal is false and the matrix is symmetric;this is not a reachability matrix.
Step identifiers and dependencies
Rule: complete_boolean_adjacency_row · Uses: G001, S008
S010 · implies
Before
vertex=3;ordered targets=[0, 1, 2, 3, 4];neighbors=[0]
After
adjacency row=[Yes, No, No, No, No]
Conditions: none
Each Boolean entry records edge adjacency.The diagonal is false and the matrix is symmetric;this is not a reachability matrix.
Step identifiers and dependencies
Rule: complete_boolean_adjacency_row · Uses: G001, S009
S011 · implies
Before
vertex=4;ordered targets=[0, 1, 2, 3, 4];neighbors=[0]
After
adjacency row=[Yes, No, No, No, No]
Conditions: none
Each Boolean entry records edge adjacency.The diagonal is false and the matrix is symmetric;this is not a reachability matrix.
Step identifiers and dependencies
Rule: complete_boolean_adjacency_row · Uses: G001, S010
S012 · calculation
Before
degree sum := sum(3, 1, 0, 1, 1)
After
degree sum = 6
Conditions: none
Substitute the source data exactly in the stated operand order;division requires a nonzero denominator.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S011
S013 · calculation
Before
twice distinct edge count := mul(2, 3)
After
twice distinct edge count = 6
Conditions: none
Substitute the source data exactly in the stated operand order;division requires a nonzero denominator.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S012
S014 · implies
Before
degrees=[3, 1, 0, 1, 1];edge count=3
After
sum=6;2|E|=6
Conditions: none
Each undirected nonloop edge contributes1 at each endpoint,so the degree sum is twice the canonical edge count.This does not test connectedness or treehood.
Step identifiers and dependencies
Rule: handshake_each_edge_two_ends · Uses: G001, S013
Result
(5, [[0, 1], [0, 3], [0, 4]], [[No, Yes, No, Yes, Yes], [Yes, No, No, No, No], [No, No, No, No, No], [Yes, No, No, No, No], [Yes, No, No, No, No]], [3, 1, 0, 1, 1], 6, 6)
The full substitutions and premise checks give the original answer; source identity,format and status are unchanged.