Step-by-step derivation
S001 · implies
Before
source graph:carrier Fin(6);raw undirected edges=[[0, 1], [0, 2], [0, 3], [0, 4]]
After
canonical simple edges=[[0, 1], [0, 2], [0, 3], [0, 4]];loops and repeated undirected edges absent
Conditions: none
Normalize each edge with its smaller endpoint first,then sort.Reversed duplicates remain invalid rather than being silently removed.Preserve every isolated vertex.
Step identifiers and dependencies
Rule: complete_simple_graph_canonical_edges · Uses: G001
S002 · implies
Before
target graph:carrier Fin(6);raw undirected edges=[[0, 1], [0, 2], [0, 4], [1, 2], [2, 3]]
After
canonical simple edges=[[0, 1], [0, 2], [0, 4], [1, 2], [2, 3]];loops and repeated undirected edges absent
Conditions: none
Normalize each edge with its smaller endpoint first,then sort.Reversed duplicates remain invalid rather than being silently removed.Preserve every isolated vertex.
Step identifiers and dependencies
Rule: complete_simple_graph_canonical_edges · Uses: G001, S001
S003 · implies
Before
source graph:vertex=0;complete canonical edges=[[0, 1], [0, 2], [0, 3], [0, 4]]
After
neighbors=[1, 2, 3, 4];degree=4
Conditions: none
In a loop-free duplicate-free graph,the neighbor count is the degree.Vertices absent from every edge still have degree0.
Step identifiers and dependencies
Rule: graph_every_vertex_degree_including_isolates · Uses: G001, S002
S004 · implies
Before
source graph:vertex=1;complete canonical edges=[[0, 1], [0, 2], [0, 3], [0, 4]]
After
neighbors=[0];degree=1
Conditions: none
In a loop-free duplicate-free graph,the neighbor count is the degree.Vertices absent from every edge still have degree0.
Step identifiers and dependencies
Rule: graph_every_vertex_degree_including_isolates · Uses: G001, S003
S005 · implies
Before
source graph:vertex=2;complete canonical edges=[[0, 1], [0, 2], [0, 3], [0, 4]]
After
neighbors=[0];degree=1
Conditions: none
In a loop-free duplicate-free graph,the neighbor count is the degree.Vertices absent from every edge still have degree0.
Step identifiers and dependencies
Rule: graph_every_vertex_degree_including_isolates · Uses: G001, S004
S006 · implies
Before
source graph:vertex=3;complete canonical edges=[[0, 1], [0, 2], [0, 3], [0, 4]]
After
neighbors=[0];degree=1
Conditions: none
In a loop-free duplicate-free graph,the neighbor count is the degree.Vertices absent from every edge still have degree0.
Step identifiers and dependencies
Rule: graph_every_vertex_degree_including_isolates · Uses: G001, S005
S007 · implies
Before
source graph:vertex=4;complete canonical edges=[[0, 1], [0, 2], [0, 3], [0, 4]]
After
neighbors=[0];degree=1
Conditions: none
In a loop-free duplicate-free graph,the neighbor count is the degree.Vertices absent from every edge still have degree0.
Step identifiers and dependencies
Rule: graph_every_vertex_degree_including_isolates · Uses: G001, S006
S008 · implies
Before
source graph:vertex=5;complete canonical edges=[[0, 1], [0, 2], [0, 3], [0, 4]]
After
neighbors=[];degree=0
Conditions: none
In a loop-free duplicate-free graph,the neighbor count is the degree.Vertices absent from every edge still have degree0.
Step identifiers and dependencies
Rule: graph_every_vertex_degree_including_isolates · Uses: G001, S007
S009 · implies
Before
source graph:degrees in vertex order=[4, 1, 1, 1, 1, 0]
After
sorted degree multiset=[0, 1, 1, 1, 1, 4]
Conditions: none
Sort numerically into a multiset.Do not deduplicate repeated degrees;distinguish vertex order from invariant order.
Step identifiers and dependencies
Rule: graph_degree_multiset_keeps_repeated_values · Uses: G001, S008
S010 · implies
Before
target graph:vertex=0;complete canonical edges=[[0, 1], [0, 2], [0, 4], [1, 2], [2, 3]]
After
neighbors=[1, 2, 4];degree=3
Conditions: none
In a loop-free duplicate-free graph,the neighbor count is the degree.Vertices absent from every edge still have degree0.
Step identifiers and dependencies
Rule: graph_every_vertex_degree_including_isolates · Uses: G001, S009
S011 · implies
Before
target graph:vertex=1;complete canonical edges=[[0, 1], [0, 2], [0, 4], [1, 2], [2, 3]]
After
neighbors=[0, 2];degree=2
Conditions: none
In a loop-free duplicate-free graph,the neighbor count is the degree.Vertices absent from every edge still have degree0.
Step identifiers and dependencies
Rule: graph_every_vertex_degree_including_isolates · Uses: G001, S010
S012 · implies
Before
target graph:vertex=2;complete canonical edges=[[0, 1], [0, 2], [0, 4], [1, 2], [2, 3]]
After
neighbors=[0, 1, 3];degree=3
Conditions: none
In a loop-free duplicate-free graph,the neighbor count is the degree.Vertices absent from every edge still have degree0.
Step identifiers and dependencies
Rule: graph_every_vertex_degree_including_isolates · Uses: G001, S011
S013 · implies
Before
target graph:vertex=3;complete canonical edges=[[0, 1], [0, 2], [0, 4], [1, 2], [2, 3]]
After
neighbors=[2];degree=1
Conditions: none
In a loop-free duplicate-free graph,the neighbor count is the degree.Vertices absent from every edge still have degree0.
Step identifiers and dependencies
Rule: graph_every_vertex_degree_including_isolates · Uses: G001, S012
S014 · implies
Before
target graph:vertex=4;complete canonical edges=[[0, 1], [0, 2], [0, 4], [1, 2], [2, 3]]
After
neighbors=[0];degree=1
Conditions: none
In a loop-free duplicate-free graph,the neighbor count is the degree.Vertices absent from every edge still have degree0.
Step identifiers and dependencies
Rule: graph_every_vertex_degree_including_isolates · Uses: G001, S013
S015 · implies
Before
target graph:vertex=5;complete canonical edges=[[0, 1], [0, 2], [0, 4], [1, 2], [2, 3]]
After
neighbors=[];degree=0
Conditions: none
In a loop-free duplicate-free graph,the neighbor count is the degree.Vertices absent from every edge still have degree0.
Step identifiers and dependencies
Rule: graph_every_vertex_degree_including_isolates · Uses: G001, S014
S016 · implies
Before
target graph:degrees in vertex order=[3, 2, 3, 1, 1, 0]
After
sorted degree multiset=[0, 1, 1, 2, 3, 3]
Conditions: none
Sort numerically into a multiset.Do not deduplicate repeated degrees;distinguish vertex order from invariant order.
Step identifiers and dependencies
Rule: graph_degree_multiset_keeps_repeated_values · Uses: G001, S015
S017 · implies
Before
source size=6;degree multiset=[0, 1, 1, 1, 1, 4];target size=6;degree multiset=[0, 1, 1, 2, 3, 3]
After
invariant mismatch=Yes;conclusion=nonisomorphic_certificate
Conditions: none
An isomorphism preserves vertex count and bijects each vertex's neighbors with its image's neighbors,hence preserves the degree multiset.Any mismatch refutes it.A match passes necessary conditions only and supplies no isomorphism map.
Step identifiers and dependencies
Rule: graph_necessary_invariants_not_sufficient_match · Uses: G001, S016