Original: Since u is a cut vertex in G , by Lemma C.22, there exists a set S j such that S j ∩ χ − 1 G ( χ G ( u ))
Revised: Since u is a cut vertex in G , by Lemma C.22, there exists a set S j such that S j ∩ χ − 1 G ( χ G ( u ))

Original: = ∅ .
Revised: = ∅ .

Original: Pick any node w ∈ S j , then χ G ( w ) ̸
Revised: Pick any node w ∈ S j , then χ G ( w ) ̸

Original: = χ G ( u ) .
Revised: = χ G ( u ) .

Original: Let u ′ ̸
Revised: Let u ′ ̸

Original: = u be any node with color χ G ( u ) =
Revised: = u be any node with color χ G ( u ) =

Original: χ G ( u ′ ) .
Revised: χ G ( u ′ ) .

Original: It follows that χ uG ( u ) = χ
Revised: It follows that χ uG ( u ) = χ

Original: u ′ G ( u ′ ) by Lemma C.19(d).
Revised: u ′ G ( u ′ ) by Lemma C.19(d).

Original: Based on the WL-condition of the mappings χ uG and χ u ′ G , by Lemma C.7 there exists a node w ′ with color χ u ′ G ( w ′ )
Revised: Based on the WL-condition of the mappings χ uG and χ u ′ G , by Lemma C.7 there exists a node w ′ with color χ u ′ G ( w ′ )

Original: =
Revised: =

Original: χ uG ( w ) (because there is a path from node u to w ).
Revised: χ uG ( w ) (because there is a path from node u to w ).

Original: See Figure 4(b) for an illustration of this paragraph.
Revised: See Figure 4(b) for an illustration of this paragraph.

Original: Suppose u ′ is not a cut vertex.
Revised: Suppose u ′ is not a cut vertex.

Original: Then there is a path P from w ′ to u without going through node u ′ .
Revised: Then there is a path P from w ′ to u without going through node u ′ .

Original: Denote P = ( x 0 , · · · , x d ) where x 0 = w ′ and x d = u .
Revised: Denote P = ( x 0 , · · · , x d ) where x 0 = w ′ and x d = u .

Original: It follows that χ u ′ G ( x i ) ̸
Revised: It follows that χ u ′ G ( x i ) ̸

Original: = χ u ′ G ( u ′ ) for all i ∈ [ d ] (by Lemma C.19(a)).
Revised: = χ u ′ G ( u ′ ) for all i ∈ [ d ] (by Lemma C.19(a)).

Original: Again by using the WL-condition, there exists a path Q =
Revised: Again by using the WL-condition, there exists a path Q =

Original: ( y 0 , · · · , y d ) satisfying y 

Revised: ( y 0 , · · · , y d ) satisfying y

Original: = w and χ uG ( y i ) =
Revised: = w and χ uG ( y i ) =

Original: χ u ′ G ( x i ) for all i ∈ [ d ] .
Revised: χ u ′ G ( x i ) for all i ∈ [ d ] .

Original: In particular, χ uG ( y d ) = χ u ′ G ( u ) , which implies χ G ( y d ) =
Revised: In particular, χ uG ( y d ) = χ u ′ G ( u ) , which implies χ G ( y d ) =

Original: χ G ( u ) by using Lemma C.19(b).
Revised: χ G ( u ) by using Lemma C.19(b).

Original: By the definition of w and Lemma C.22, any path from w to y d ∈ χ − 1 G ( χ G ( u )) must go through node u , implying that χ uG ( y i ) =
Revised: By the definition of w and Lemma C.22, any path from w to y d ∈ χ − 1 G ( χ G ( u )) must go through node u , implying that χ uG ( y i ) =

Original: χ uG ( u ) for some i ∈ [ d ] .
Revised: χ uG ( u ) for some i ∈ [ d ] .

Original: However, we have proved that χ uG ( y i ) =
Revised: However, we have proved that χ uG ( y i ) =

Original: χ u ′ G ( x i ) ̸
Revised: χ u ′ G ( x i ) ̸

Original: = χ u ′ G ( u ′ )
Revised: = χ u ′ G ( u ′ )

Original: =
Revised: =

Original: χ uG ( u ) , yielding a contradiction.
Revised: χ uG ( u ) , yielding a contradiction.

Original: Therefore, u ′ is a cut vertex.
Revised: Therefore, u ′ is a cut vertex.

Original: Using a similar proof technique as the one in Lemma C.23, we can prove the first part of Theorem 3.2.
Revised: Using a similar proof technique as the one in Lemma C.23, we can prove the first part of Theorem 3.2.

Original: Suppose u ′ ∈
Revised: Suppose u ′ ∈

Original: χ − 1 H ( χ G ( u )) and we want to prove that u ′ is a cut vertex of graph H .
Revised: χ − 1 H ( χ G ( u )) and we want to prove that u ′ is a cut vertex of graph H .

Original: Observe that | χ − 1 G ( χ G ( u )) | =
Revised: Observe that | χ − 1 G ( χ G ( u )) | =

Original: | χ − 1 H ( χ H ( u )) | .
Revised: | χ − 1 H ( χ H ( u )) | .

Original: (A simple proof is as follows: χ G ( u ) =
Revised: (A simple proof is as follows: χ G ( u ) =

Original: χ H ( u ′ ) implies χ u G ( u ) =
Revised: χ H ( u ′ ) implies χ u G ( u ) =

Original: χ u ′ H ( u ′ ) by Lemma C.19(d), and thus using Lemma C.20 we have {{ χ u G ( w ) : w ∈
Revised: χ u ′ H ( u ′ ) by Lemma C.19(d), and thus using Lemma C.20 we have {{ χ u G ( w ) : w ∈

Original: V}}
Revised: V}}

Original: = {{ χ u ′ H ( w ) : w ∈ V}} and finally obtain {{ χ G ( w ) : w ∈ V}} = {{ χ H ( w ) : w ∈ V}} by
Revised: = {{ χ u ′ H ( w ) : w ∈ V}} and finally obtain {{ χ G ( w ) : w ∈ V}} = {{ χ H ( w ) : w ∈ V}} by

Original: Lemma C.19(b).)
Revised: Lemma C.19(b).)

Original: We first consider the case when | χ − 1 G ( χ G ( u )) | = | χ − 1 H ( χ H ( u )) | > 1 .
Revised: We first consider the case when | χ − 1 G ( χ G ( u )) | = | χ − 1 H ( χ H ( u )) | > 1 .

Original: Following the above proof, we can similarly pick w ∈ S j in G and w ′ in H satisfying χ G ( w ) ̸ = χ G ( u ) and χ u ′ H ( w ′ )
Revised: Following the above proof, we can similarly pick w ∈ S j in G and w ′ in H satisfying χ G ( w ) ̸ = χ G ( u ) and χ u ′ H ( w ′ )

Original: =
Revised: =

Original: χ uG ( w ) .
Revised: χ uG ( w ) .

Original: Since | χ − 1 G ( χ G ( u )) | > 1 , we can pick a node u H ∈ χ − 1 H ( χ G ( u )) in H
Revised: Since | χ − 1 G ( χ G ( u )) | > 1 , we can pick a node u H ∈ χ − 1 H ( χ G ( u )) in H

Original: such that u H ̸ = u ′ .
Revised: such that u H ̸ = u ′ .

Original: If u ′ is 𝑢𝑢 𝑆𝑆 𝑖𝑖 𝑤𝑤 𝑆𝑆 𝑗𝑗 𝑦𝑦 𝑑𝑑 𝑄𝑄 𝑢𝑢′ 𝑤𝑤′ 𝑢𝑢 𝐻𝐻 𝑃𝑃
Revised: If u ′ is 𝑢𝑢 𝑆𝑆 𝑖𝑖 𝑤𝑤 𝑆𝑆 𝑗𝑗 𝑦𝑦 𝑑𝑑 𝑄𝑄 𝑢𝑢′ 𝑤𝑤′ 𝑢𝑢 𝐻𝐻 𝑃𝑃

Original: Graph 𝐺𝐺
Revised: Graph 𝐺𝐺

Original: Graph 𝐻𝐻 𝑢𝑢 𝑆𝑆 𝑖𝑖 𝑤𝑤 𝑆𝑆 𝑗𝑗 𝑥𝑥 𝑄𝑄
Revised: Graph 𝐻𝐻 𝑢𝑢 𝑆𝑆 𝑖𝑖 𝑤𝑤 𝑆𝑆 𝑗𝑗 𝑥𝑥 𝑄𝑄

Original: 𝑢𝑢′ 𝑤𝑤′
Revised: 𝑢𝑢′ 𝑤𝑤′

Original: 𝑥𝑥′ 𝑃𝑃
Revised: 𝑥𝑥′ 𝑃𝑃

Original: Graph 𝐺𝐺 Graph 𝐻𝐻
Revised: Graph 𝐺𝐺 Graph 𝐻𝐻

Original: [Figure]
Revised: [Figure]

Original: not a cut vertex, then there is a path P = ( x 0 , · · · , x d ) in H where x 0 = w ′ and x d = u H , such that χ u ′ H ( x i ) ̸
Revised: not a cut vertex, then there is a path P = ( x 0 , · · · , x d ) in H where x 0 = w ′ and x d = u H , such that χ u ′ H ( x i ) ̸

Original: = χ u ′ H ( u ′ ) for all i ∈ [ d ] (by Lemma C.19(a)).
Revised: = χ u ′ H ( u ′ ) for all i ∈ [ d ] (by Lemma C.19(a)).

Original: Using the WL-condition, there exists a path Q
Revised: Using the WL-condition, there exists a path Q

Original: =
Revised: =

Original: ( y 0 , · · · , y d ) in G satisfying y 

Revised: ( y 0 , · · · , y d ) in G satisfying y

Original: = w and χ uG ( y i ) =
Revised: = w and χ uG ( y i ) =

Original: χ u ′ H ( x i ) for all i ∈
Revised: χ u ′ H ( x i ) for all i ∈

Original: [ d ] .
Revised: [ d ] .

Original: In particular, χ uG ( y d ) = χ u ′ H ( u H ) , which implies χ G ( y d ) = χ G ( u H ) by using Lemma C.19(b).
Revised: In particular, χ uG ( y d ) = χ u ′ H ( u H ) , which implies χ G ( y d ) = χ G ( u H ) by using Lemma C.19(b).

Original: However, any path from w to y d ∈ χ − 1 G ( χ G ( u )) must go through node u , implying that χ uG ( y i ) =
Revised: However, any path from w to y d ∈ χ − 1 G ( χ G ( u )) must go through node u , implying that χ uG ( y i ) =

Original: χ u G ( u ) for some i ∈ [ d ] .
Revised: χ u G ( u ) for some i ∈ [ d ] .

Original: This yields a contradiction because χ uG ( y i ) =
Revised: This yields a contradiction because χ uG ( y i ) =

Original: χ u ′ H ( x i ) ̸ = χ u ′ H ( u ′ )
Revised: χ u ′ H ( x i ) ̸ = χ u ′ H ( u ′ )

Original: =
Revised: =

Original: χ uG ( u ) .
Revised: χ uG ( u ) .

Original: See Figure 5(a) for an illustration of this paragraph.
Revised: See Figure 5(a) for an illustration of this paragraph.

Original: We finally consider the case when | χ − 1 G ( χ G ( u )) | = | χ − 1 H ( χ H ( u )) | = 1 .
Revised: We finally consider the case when | χ − 1 G ( χ G ( u )) | = | χ − 1 H ( χ H ( u )) | = 1 .

Original: Let w ∈ S 1 and x ∈ Sbe two nodes in G that belongs to different connected components when removing node u , then 
Revised: Let w ∈ S 1 and x ∈ Sbe two nodes in G that belongs to different connected components when removing node u , then χ

Original: [Equation]
Revised: [Equation]

Original: u ) and χ G ( x ) ̸ = χ G ( u ) .
Revised: ) and χ G ( x ) ̸ = χ G ( u ) .

Original: Since χ G ( u ) = χ H ( u ′ ) , by the WL-condition (Lemma C.7) there is a node w ′ ∈
Revised: Since χ G ( u ) = χ H ( u ′ ) , by the WL-condition (Lemma C.7) there is a node w ′ ∈

Original: χ − 1 H ( χ G ( w )) in H .
Revised: χ − 1 H ( χ G ( w )) in H .

Original: Consequently, χ wG ( w ) =
Revised: Consequently, χ wG ( w ) =

Original: χ w ′ H ( w ′ )
Revised: χ w ′ H ( w ′ )

Original: (Lemma C.19(d)).
Revised: (Lemma C.19(d)).

Original: Again by the WL-condition, there is a node x ′ ∈ ( χ w ′ H ) − 1 ( χ wG ( x )) in H .
Revised: Again by the WL-condition, there is a node x ′ ∈ ( χ w ′ H ) − 1 ( χ wG ( x )) in H .

Original: Clearly, w ′ ̸ = u ′ and x ′ ̸
Revised: Clearly, w ′ ̸ = u ′ and x ′ ̸

Original: = u ′ (because they have different colors).
Revised: = u ′ (because they have different colors).

Original: If u ′ is not a cut vertex, then there is path P =
Revised: If u ′ is not a cut vertex, then there is path P =

Original: ( y 0 , · · · , y d ) in
Revised: ( y 0 , · · · , y d ) in

Original: H such that
Revised: H such that

Original: y 

Revised: y

Original: = x ′ , y d = w ′ and
Revised: = x ′ , y d = w ′ and

Original: y i ̸
Revised: y i ̸

Original: = u ′ for all i ∈
Revised: = u ′ for all i ∈

Original: [ d ] .
Revised: [ d ] .

Original: It follows that for all i ∈ [ d ] , χ H ( y i )
Revised: It follows that for all i ∈ [ d ] , χ H ( y i )

Original: ̸
Revised: ̸

Original: = χ H ( u ′ ) by our assumption | χ − 1 H
Revised: = χ H ( u ′ ) by our assumption | χ − 1 H

Original: ( χ H ( u ))
Revised: ( χ H ( u ))

Original: | = 1 , and thus χ w ′ H ( y i )
Revised: | = 1 , and thus χ w ′ H ( y i )

Original: ̸
Revised: ̸

Original: = χ w ′ H ( u ′ )
Revised: = χ w ′ H ( u ′ )

Original: (by Lemma C.19(b)).
Revised: (by Lemma C.19(b)).

Original: Since χ wG ( x ) = χ w ′ H
Revised: Since χ wG ( x ) = χ w ′ H

Original: ( x ′ ) , by the WL-condition (Lemma C.7), there is a path Q
Revised: ( x ′ ) , by the WL-condition (Lemma C.7), there is a path Q

Original: = ( z 0 , · · · , z d ) in G satisfying z 0 = x and z i ∈ ( χ wG ) − 1 ( χ w ′ H ( y i )) for i ∈ [ d ] .
Revised: = ( z 0 , · · · , z d ) in G satisfying z 0 = x and z i ∈ ( χ wG ) − 1 ( χ w ′ H ( y i )) for i ∈ [ d ] .

Original: See Figure 5(b) for an illustration of this paragraph.
Revised: See Figure 5(b) for an illustration of this paragraph.

Original: Clearly, we have z d = w using χ wG ( z d ) =
Revised: Clearly, we have z d = w using χ wG ( z d ) =

Original: χ w ′ H ( w ′ ) and Lemma C.19(a).
Revised: χ w ′ H ( w ′ ) and Lemma C.19(a).

Original: On the other hand, by
Revised: On the other hand, by

Original: Lemma C.19(b), χ wG ( z i ) =
Revised: Lemma C.19(b), χ wG ( z i ) =

Original: χ w ′ H
Revised: χ w ′ H

Original: ( y i ) implies χ G ( z i )
Revised: ( y i ) implies χ G ( z i )

Original: =
Revised: =

Original: χ H ( y i ) and thus χ G ( z i ) ̸
Revised: χ H ( y i ) and thus χ G ( z i ) ̸

Original: = χ H ( u ′ )
Revised: = χ H ( u ′ )

Original: =
Revised: =

Original: χ G ( u ) holds for all i ∈
Revised: χ G ( u ) holds for all i ∈

Original: [ d ] and thus z i ̸ = u .
Revised: [ d ] and thus z i ̸ = u .

Original: In other words, we have found a path from x to w without going through node u , which yields a contradiction as u is a cut vertex.
Revised: In other words, we have found a path from x to w without going through node u , which yields a contradiction as u is a cut vertex.

Original: We have thus finished the proof.
Revised: We have thus finished the proof.

Original: C.3. P ROOF FOR THE SECOND PART OF T HEOREM 3. 
Revised: C.3. P ROOF FOR THE SECOND PART OF T HEOREM 3.

Original: The proof is based on the following key result:
Revised: The proof is based on the following key result:

Original: Corollary C.24.
Revised: Corollary C.24.

Original: Let w and x be two nodes in connected graph G with the same DSS-WL color, i.e. χ G ( w ) = χ G ( x ) .
Revised: Let w and x be two nodes in connected graph G with the same DSS-WL color, i.e. χ G ( w ) = χ G ( x ) .

Original: Then for any color c ∈ C ,
Revised: Then for any color c ∈ C ,

Original: [Equation]
Revised: [Equation]

Original: Proof.
Revised: Proof.

Original: By Corollary C.21, we have {{ χ wG ( v ) : v ∈ χ − 1 G ( c ) }} = {{ χ xG ( v ) : v ∈ χ − 1 G ( c ) }} .
Revised: By Corollary C.21, we have {{ χ wG ( v ) : v ∈ χ − 1 G ( c ) }} = {{ χ xG ( v ) : v ∈ χ − 1 G ( c ) }} .

Original: Since for any nodes u, v , χ wG ( u ) = χ xG ( v ) implies dis G ( u, w )
Revised: Since for any nodes u, v , χ wG ( u ) = χ xG ( v ) implies dis G ( u, w )

Original: =
Revised: =

Original: dis G ( v, x ) (by Lemma C.19(e)), we have obtained the desired conclusion.
Revised: dis G ( v, x ) (by Lemma C.19(e)), we have obtained the desired conclusion.

Original: Equivalently, the above corollary says that if χ G ( w ) =
Revised: Equivalently, the above corollary says that if χ G ( w ) =

Original: χ G ( x ) , then the following two multisets are equivalent:
Revised: χ G ( x ) , then the following two multisets are equivalent:

Original: [Equation]
Revised: [Equation]

Original: Therefore, it guarantees that the vertex partition induced by the DSS-WL color mapping is finer than that of the SPD-WL (Algorithm 4 with d G = dis G ).
Revised: Therefore, it guarantees that the vertex partition induced by the DSS-WL color mapping is finer than that of the SPD-WL (Algorithm 4 with d G = dis G ).

Original: We can thus invoke Theorem 4.1, which directly concludes the proof (due to Proposition C.56).
Revised: We can thus invoke Theorem 4.1, which directly concludes the proof (due to Proposition C.56).

Original: C. P ROOF OF T HEOREM 4. 
Revised: C. P ROOF OF T HEOREM 4.

Original: Theorem C.25.
Revised: Theorem C.25.

Original: Let G =
Revised: Let G =

Original: ( V , E G ) and H =
Revised: ( V , E G ) and H =

Original: ( V , E H ) be two graphs, and let χ G and χ H be the corresponding SPD-WL color mapping.
Revised: ( V , E H ) be two graphs, and let χ G and χ H be the corresponding SPD-WL color mapping.

Original: Then the following holds:
Revised: Then the following holds:

Original: • For any two edges { w 1 , w 2 } ∈ E G and { x 1 , x 2 } ∈ E H , if {{ χ G ( w 1 ) , χ G ( w 2 ) }} = {{ χ H ( x 1 ) , χ H ( x 2 ) }} , then { w 1 , w 2 } is a cut edge if and only if { x 1 , x 2 } is a cut edge.
Revised: • For any two edges { w 1 , w 2 } ∈ E G and { x 1 , x 2 } ∈ E H , if {{ χ G ( w 1 ) , χ G ( w 2 ) }} = {{ χ H ( x 1 ) , χ H ( x 2 ) }} , then { w 1 , w 2 } is a cut edge if and only if { x 1 , x 2 } is a cut edge.

Original: • If the graph representations of G and H are the same under SPD-WL, then their block cut-edge trees (Definition 2.3) are isomorphic.
Revised: • If the graph representations of G and H are the same under SPD-WL, then their block cut-edge trees (Definition 2.3) are isomorphic.

Original: Mathematically, {{ χ G ( w ) : w ∈ V}} = {{ χ H ( w ) : w ∈ V}} implies that BCETree( G ) ≃
Revised: Mathematically, {{ χ G ( w ) : w ∈ V}} = {{ χ H ( w ) : w ∈ V}} implies that BCETree( G ) ≃

Original: BCETree
Revised: BCETree

Original: ( H ) .
Revised: ( H ) .

Original: Proof Sketch .
Revised: Proof Sketch .

Original: The proof of Theorem 4.1 is highly non-trivial and is divided into three parts (presented in Appendices C.4.1 to C.4.3, respectively).
Revised: The proof of Theorem 4.1 is highly non-trivial and is divided into three parts (presented in Appendices C.4.1 to C.4.3, respectively).

Original: We first consider the special setting when both
Revised: We first consider the special setting when both

Original: G and H are connected and {{ χ G ( w ) : w ∈ V}} = {{ χ H ( w ) : w ∈ V}} .
Revised: G and H are connected and {{ χ G ( w ) : w ∈ V}} = {{ χ H ( w ) : w ∈ V}} .

Original: Assume G is not edge-biconnected, and let { u, v } ∈ E G be a cut edge in G .
Revised: Assume G is not edge-biconnected, and let { u, v } ∈ E G be a cut edge in G .

Original: We separately consider two cases: χ G ( u ) ̸
Revised: We separately consider two cases: χ G ( u ) ̸

Original: = χ G ( v ) (Appendix C.4.1) and χ G ( u ) = χ G ( v ) (Appendix C.4.2), and prove that any edge { u ′ , v ′ } ∈ E H satisfying {{ χ G ( u ) , χ G ( v ) }} = {{ χ H ( u ′ ) , χ H ( v ′ ) }} is also a cut edge of H .
Revised: = χ G ( v ) (Appendix C.4.1) and χ G ( u ) = χ G ( v ) (Appendix C.4.2), and prove that any edge { u ′ , v ′ } ∈ E H satisfying {{ χ G ( u ) , χ G ( v ) }} = {{ χ H ( u ′ ) , χ H ( v ′ ) }} is also a cut edge of H .

Original: This basically finishes the proof of the first bullet in the theorem.
Revised: This basically finishes the proof of the first bullet in the theorem.

Original: Finally, we consider the general setting where graphs G, H can be disconnected and their representation is not the same in Appendix C.4.3, and complete the proof of Theorem 4.1.
Revised: Finally, we consider the general setting where graphs G, H can be disconnected and their representation is not the same in Appendix C.4.3, and complete the proof of Theorem 4.1.

Original: Without abuse of notation, throughout Appendices C.4.1 and C.4.2 we redefine the color set C :=
Revised: Without abuse of notation, throughout Appendices C.4.1 and C.4.2 we redefine the color set C :=

Original: { χ G ( w ) : w ∈ V} = { χ H ( w ) : w ∈ V} to focus only on colors that are present in G (or H ), rather than all (irrelevant) colors in the range of a hash function.
Revised: { χ G ( w ) : w ∈ V} = { χ H ( w ) : w ∈ V} to focus only on colors that are present in G (or H ), rather than all (irrelevant) colors in the range of a hash function.

Original: C.4. T HE CASE OF χ G ( u ) ̸ = χ G ( v ) FOR CONNECTED GRAPHS
Revised: C.4. T HE CASE OF χ G ( u ) ̸ = χ G ( v ) FOR CONNECTED GRAPHS

Original: We first define several notations.
Revised: We first define several notations.

Original: Throughout this case, denote {S u , S v } as the partition of V , representing the two connected components after removing the edge { u, v } such that u ∈ S u , v ∈ S v ,
Revised: Throughout this case, denote {S u , S v } as the partition of V , representing the two connected components after removing the edge { u, v } such that u ∈ S u , v ∈ S v ,

Original: S u ∩ S v = ∅ and S u ∪ S v = V .
Revised: S u ∩ S v = ∅ and S u ∪ S v = V .

Original: We then define an important concept called the color graph.
Revised: We then define an important concept called the color graph.

Original: Definition C.26.
Revised: Definition C.26.

Original: (Color graph) Define the auxiliary color graph G C =
Revised: (Color graph) Define the auxiliary color graph G C =

Original: ( C , E G C ) where E G C
Revised: ( C , E G C ) where E G C

Original: = {{{ χ G ( w ) , χ G ( x ) }} : { w, x } ∈ E G } .
Revised: = {{{ χ G ( w ) , χ G ( x ) }} : { w, x } ∈ E G } .

Original: Note that G C can have self loops, so each edge is denoted as a multiset with two elements.
Revised: Note that G C can have self loops, so each edge is denoted as a multiset with two elements.

Original: Lemma C.27.
Revised: Lemma C.27.

Original: Let S = χ − 1 G ( χ G ( u )) ∪ χ − 1 G ( χ G ( v )) be the set containing vertices with color χ G ( u ) or χ G ( v ) .
Revised: Let S = χ − 1 G ( χ G ( u )) ∪ χ − 1 G ( χ G ( v )) be the set containing vertices with color χ G ( u ) or χ G ( v ) .

Original: Then either S ∩ S u = { u } or S ∩ S v = { v } .
Revised: Then either S ∩ S u = { u } or S ∩ S v = { v } .

Original: Proof.
Revised: Proof.

Original: Assume the lemma does not hold, i.e. |S ∩ S u | > 1 and |S ∩ S v | > 1 .
Revised: Assume the lemma does not hold, i.e. |S ∩ S u | > 1 and |S ∩ S v | > 1 .

Original: We first prove that χ − 1 G ( χ G ( u )) ∩ S v ̸ = ∅ and χ − 1 G ( χ G ( v ))
Revised: We first prove that χ − 1 G ( χ G ( u )) ∩ S v ̸ = ∅ and χ − 1 G ( χ G ( v ))

Original: ∩ S u ̸ = ∅ .
Revised: ∩ S u ̸ = ∅ .

Original: By symmetry, we only need to prove the former.
Revised: By symmetry, we only need to prove the former.

Original: Suppose χ − 1 G ( χ G ( u ))
Revised: Suppose χ − 1 G ( χ G ( u ))

Original: ∩ S v = ∅ , then ( χ − 1 G ( χ G ( v ))
Revised: ∩ S v = ∅ , then ( χ − 1 G ( χ G ( v ))

Original: ∩ S v ) \{ v } ̸ = ∅ (because |S ∩ S v | > 1 ), and thus there exists v ′ ∈ S v , v ′ ̸
Revised: ∩ S v ) \{ v } ̸ = ∅ (because |S ∩ S v | > 1 ), and thus there exists v ′ ∈ S v , v ′ ̸

Original: = v such that χ G ( v ′ )
Revised: = v such that χ G ( v ′ )

Original: =
Revised: =

Original: χ G ( v ) .
Revised: χ G ( v ) .

Original: Note that v ′ must connect to a node u ′ with χ G ( u ′ )
Revised: Note that v ′ must connect to a node u ′ with χ G ( u ′ )

Original: =
Revised: =

Original: χ G ( u ) .
Revised: χ G ( u ) .

Original: Since { u, v } is a cut edge in G , u ′ ∈ S v .
Revised: Since { u, v } is a cut edge in G , u ′ ∈ S v .

Original: Therefore, χ − 1 G ( χ G ( u ))
Revised: Therefore, χ − 1 G ( χ G ( u ))

Original: ∩ S v ̸ = ∅ , yielding a contradiction.
Revised: ∩ S v ̸ = ∅ , yielding a contradiction.

Original: This paragraph is illustrated in Figure 6(a).
Revised: This paragraph is illustrated in Figure 6(a).

Original: We next prove that at least one of the following two conditions holds (which are symmetric): (i) ( χ − 1 G ( χ G ( u ))
Revised: We next prove that at least one of the following two conditions holds (which are symmetric): (i) ( χ − 1 G ( χ G ( u ))

Original: ∩ S u ) \{ u } ̸ = ∅ ; (ii) ( χ − 1 G ( χ G ( v ))
Revised: ∩ S u ) \{ u } ̸ = ∅ ; (ii) ( χ − 1 G ( χ G ( v ))

Original: ∩ S v ) \{ v } ̸ = ∅ .
Revised: ∩ S v ) \{ v } ̸ = ∅ .

Original: Based on the above paragraph, there exists v ′ ∈ S
Revised: Based on the above paragraph, there exists v ′ ∈ S

Original: u satisfying χ G ( v ′ ) =
Revised: u satisfying χ G ( v ′ ) =

Original: χ G ( v ) .
Revised: χ G ( v ) .

Original: Note that v ′ must connect to a node with color χ G ( u ) .
Revised: Note that v ′ must connect to a node with color χ G ( u ) .

Original: If condition (i) does not hold, i.e. χ − 1 G ( χ G ( u )) ∩S
Revised: If condition (i) does not hold, i.e. χ − 1 G ( χ G ( u )) ∩S

Original: u = { u } , then v ′ must connect to u .
Revised: u = { u } , then v ′ must connect to u .

Original: This means |N
Revised: This means |N

Original: G ( u ) ∩ χ − 1 G ( χ G ( v )) | ≥ 2 .
Revised: G ( u ) ∩ χ − 1 G ( χ G ( v )) | ≥ 2 .

Original: Again using χ − 1 G ( χ G ( u ))
Revised: Again using χ − 1 G ( χ G ( u ))

Original: ∩ S v ̸ = ∅ (the above paragraph), we can pick such a node u ′ ∈
Revised: ∩ S v ̸ = ∅ (the above paragraph), we can pick such a node u ′ ∈

Original: χ − 1 G ( χ G ( u ))
Revised: χ − 1 G ( χ G ( u ))

Original: ∩ S v .
Revised: ∩ S v .

Original: By the WL-condition (Proposition C.4), |N G ( u ′ )
Revised: By the WL-condition (Proposition C.4), |N G ( u ′ )

Original: ∩ χ − 1 G ( χ G ( v ))
Revised: ∩ χ − 1 G ( χ G ( v ))

Original: | ≥ 2 , which implies |S v ∩ χ − 1 G ( χ G ( v ))
Revised: | ≥ 2 , which implies |S v ∩ χ − 1 G ( χ G ( v ))

Original: | ≥ 2 .
Revised: | ≥ 2 .

Original: Thus ( χ − 1 G ( χ G ( v ))
Revised: Thus ( χ − 1 G ( χ G ( v ))

Original: ∩ S v ) \{ v } ̸ = ∅ holds, which is exactly the condition (ii) .
Revised: ∩ S v ) \{ v } ̸ = ∅ holds, which is exactly the condition (ii) .

Original: This paragraph is illustrated in Figure 6(b).
Revised: This paragraph is illustrated in Figure 6(b).

Original: Based on the above two paragraphs, by symmetry we can without loss of generality assume χ − 1 G ( χ G ( u ))
Revised: Based on the above two paragraphs, by symmetry we can without loss of generality assume χ − 1 G ( χ G ( u ))

Original: ∩ S v ̸ = ∅ and ( χ − 1 G ( χ G ( u ))
Revised: ∩ S v ̸ = ∅ and ( χ − 1 G ( χ G ( u ))

Original: ∩ S u ) \{ u } ̸ = ∅ .
Revised: ∩ S u ) \{ u } ̸ = ∅ .

Original: We are now ready to derive a contradiction.
Revised: We are now ready to derive a contradiction.

Original: To do this, pick ˜ u = arg max w ∈ χ − 1 G ( χ G ( u ))
Revised: To do this, pick ˜ u = arg max w ∈ χ − 1 G ( χ G ( u ))

Original: dis G ( u, w ) and separately consider the following two cases:
Revised: dis G ( u, w ) and separately consider the following two cases:

Original: • ˜ u ∈ S u .
Revised: • ˜ u ∈ S u .

Original: Then by picking a node x ∈ S v ∩ χ − 1 G ( χ G ( u )) , it follows that dis G ( x, ˜ u ) =
Revised: Then by picking a node x ∈ S v ∩ χ − 1 G ( χ G ( u )) , it follows that dis G ( x, ˜ u ) =

Original: dis G ( x, v ) + dis G ( u, ˜ u ) + 1 > dis G ( u, ˜ u ) .
Revised: dis G ( x, v ) + dis G ( u, ˜ u ) + 1 > dis G ( u, ˜ u ) .

Original: [Figure]
Revised: [Figure]

Original: [Figure]
Revised: [Figure]

Original: • ˜ u ∈ S v .
Revised: • ˜ u ∈ S v .

Original: Then by picking a node x ∈ ( S u ∩ χ − 1 G ( χ G ( u ))) \{ u } , it follows that dis G ( x, ˜ u ) ≥ dis G ( x, u ) + dis G ( u, ˜ u ) >
Revised: Then by picking a node x ∈ ( S u ∩ χ − 1 G ( χ G ( u ))) \{ u } , it follows that dis G ( x, ˜ u ) ≥ dis G ( x, u ) + dis G ( u, ˜ u ) >

Original: dis G ( u, ˜ u ) .
Revised: dis G ( u, ˜ u ) .

Original: In both cases, x and u cannot have the same color under SPD-WL because
Revised: In both cases, x and u cannot have the same color under SPD-WL because

Original: [Equation]
Revised: [Equation]

Original: This yields a contradiction and concludes the proof.
Revised: This yields a contradiction and concludes the proof.

Original: Based on Lemma C.27, in the subsequent proof we can without loss of generality assume χ − 1 G ( χ G ( u ))
Revised: Based on Lemma C.27, in the subsequent proof we can without loss of generality assume χ − 1 G ( χ G ( u ))

Original: ∩ S u = { u } and χ − 1 G ( χ G ( v ))
Revised: ∩ S u = { u } and χ − 1 G ( χ G ( v ))

Original: ∩ S u = ∅ .
Revised: ∩ S u = ∅ .

Original: This leads to the following lemma:
Revised: This leads to the following lemma:

Original: Lemma C.28.
Revised: Lemma C.28.

Original: For any u 1 , u 2 ∈ χ − 1 G ( χ G ( u )) , u 1 ̸ = u 2 , any path from u 1 to u 2 goes through a node v ′ ∈
Revised: For any u 1 , u 2 ∈ χ − 1 G ( χ G ( u )) , u 1 ̸ = u 2 , any path from u 1 to u 2 goes through a node v ′ ∈

Original: χ − 1 G ( χ G ( v )) .
Revised: χ − 1 G ( χ G ( v )) .

Original: Proof.
Revised: Proof.

Original: Note that χ − 1 G ( χ G ( u )) ∩ S u
Revised: Note that χ − 1 G ( χ G ( u )) ∩ S u

Original: = { u } .
Revised: = { u } .

Original: If | χ − 1 G ( χ G ( u )) ∩ S v | ≤ 1 , the conclusion is clear since any path from u 1 to u 2 goes through v .
Revised: If | χ − 1 G ( χ G ( u )) ∩ S v | ≤ 1 , the conclusion is clear since any path from u 1 to u 2 goes through v .

Original: Now suppose | χ − 1 G ( χ G ( u ))
Revised: Now suppose | χ − 1 G ( χ G ( u ))

Original: ∩ S v | > 1 and the lemma does not hold.
Revised: ∩ S v | > 1 and the lemma does not hold.

Original: Then there exist two different nodes u ′ 1 , u ′ 2 ∈ χ − 1 G ( χ G ( u ))
Revised: Then there exist two different nodes u ′ 1 , u ′ 2 ∈ χ − 1 G ( χ G ( u ))

Original: ∩ S v and a path P from u ′ 1 to u ′ 2 without going through any node in the set χ − 1 G ( χ G ( v )) .
Revised: ∩ S v and a path P from u ′ 1 to u ′ 2 without going through any node in the set χ − 1 G ( χ G ( v )) .

Original: Pick u 1 , u 2 and
Revised: Pick u 1 , u 2 and

Original: P such that the length | P | is minimal.
Revised: P such that the length | P | is minimal.

Original: Split P into two parts P 1 and P 2 with endpoints { u 1 , w } and { w, u 2 } such that | P 1 | ≤ | P 2 | ≤ | P 1 | + 1 and | P 1 | + | P 2 | =
Revised: Split P into two parts P 1 and P 2 with endpoints { u 1 , w } and { w, u 2 } such that | P 1 | ≤ | P 2 | ≤ | P 1 | + 1 and | P 1 | + | P 2 | =

Original: | P | .
Revised: | P | .

Original: Note that | P | ≥ 2 since { u 1 , u 2 } / ∈ E G (otherwise u cannot have the same color as u 1 because χ − 1 G ( u ) ∩ S u = { u } ).
Revised: Note that | P | ≥ 2 since { u 1 , u 2 } / ∈ E G (otherwise u cannot have the same color as u 1 because χ − 1 G ( u ) ∩ S u = { u } ).

Original: Therefore, w ̸ = u 1 and w ̸ = u 2 .
Revised: Therefore, w ̸ = u 1 and w ̸ = u 2 .

Original: Also note that χ G ( w ) ̸
Revised: Also note that χ G ( w ) ̸

Original: = χ G ( u ) since | P | is minimal.
Revised: = χ G ( u ) since | P | is minimal.

Original: Since
Revised: Since

Original: SPD-WL satisfies the WL-condition (Proposition C.4), there is a path (not necessarily simple) from u to some w ′ ∈
Revised: SPD-WL satisfies the WL-condition (Proposition C.4), there is a path (not necessarily simple) from u to some w ′ ∈

Original: χ − 1 G ( χ G ( w )) of length | P 1 | without going through nodes in the set χ − 1 G ( χ G ( v ))
Revised: χ − 1 G ( χ G ( w )) of length | P 1 | without going through nodes in the set χ − 1 G ( χ G ( v ))

Original: (according to Lemma C.7).
Revised: (according to Lemma C.7).

Original: Therefore, w ′ ∈ S u .
Revised: Therefore, w ′ ∈ S u .

Original: See Figure 6 for an illustration of this paragraph.
Revised: See Figure 6 for an illustration of this paragraph.

Original: We next prove that dis G ( u, w ′ ) =
Revised: We next prove that dis G ( u, w ′ ) =

Original: | P 1 | .
Revised: | P 1 | .

Original: First, we obviously have dis G ( u, w ′ ) ≤ | P 1 | .
Revised: First, we obviously have dis G ( u, w ′ ) ≤ | P 1 | .

Original: Moreover, since w ′ , u ∈ S u and χ − 1 G ( χ G ( v )) ∩ S u = ∅ (Lemma C.27), any shortest path from w ′ to u does not go through nodes in the set χ − 1 G ( χ G ( v )) .
Revised: Moreover, since w ′ , u ∈ S u and χ − 1 G ( χ G ( v )) ∩ S u = ∅ (Lemma C.27), any shortest path from w ′ to u does not go through nodes in the set χ − 1 G ( χ G ( v )) .

Original: Again using the WL-condition, there exists a path P 3 (not necessarily simple) from w to some u 3 ∈ χ − 1 G ( χ G ( u )) of length | P 3 | = dis G ( u, w ′ ) without going through nodes in the set χ − 1 G ( χ G ( v ))
Revised: Again using the WL-condition, there exists a path P 3 (not necessarily simple) from w to some u 3 ∈ χ − 1 G ( χ G ( u )) of length | P 3 | = dis G ( u, w ′ ) without going through nodes in the set χ − 1 G ( χ G ( v ))

Original: (according to Lemma C.7).
Revised: (according to Lemma C.7).

Original: It follows that u 3 ∈ S v .
Revised: It follows that u 3 ∈ S v .

Original: Consider the following two cases:
Revised: Consider the following two cases:

Original: • If u 3 = u 1 , by the minimal length of P we have | P 1 | ≤ | P 3 | = dis G ( u, w ′ ) ≤ | P 1 | and thus dis G ( u, w ′ ) =
Revised: • If u 3 = u 1 , by the minimal length of P we have | P 1 | ≤ | P 3 | = dis G ( u, w ′ ) ≤ | P 1 | and thus dis G ( u, w ′ ) =

Original: | P 1 | .
Revised: | P 1 | .

Original: • If u 3 ̸ = u 1 , by linking the path P 1 and P 3 , there will be a path of length
Revised: • If u 3 ̸ = u 1 , by linking the path P 1 and P 3 , there will be a path of length

Original: | P 1 | + | P 3 | from u 1 to u 3 without going through nodes in χ − 1 G ( χ G ( v )) .
Revised: | P 1 | + | P 3 | from u 1 to u 3 without going through nodes in χ − 1 G ( χ G ( v )) .

Original: Since P has the minimal length, | P 1 | + | P 2 | ≤ | P 1 | + | P 3 | .
Revised: Since P has the minimal length, | P 1 | + | P 2 | ≤ | P 1 | + | P 3 | .

Original: Therefore, | P 2 | ≤ | P 3 | = dis G ( u, w ′ ) and thus by definition | P 1 | ≤ | P 2 | ≤ dis G ( u, w ′ ) ≤ | P 1 | .
Revised: Therefore, | P 2 | ≤ | P 3 | = dis G ( u, w ′ ) and thus by definition | P 1 | ≤ | P 2 | ≤ dis G ( u, w ′ ) ≤ | P 1 | .

Original: Therefore, | P 1 | = | P 2 | =
Revised: Therefore, | P 1 | = | P 2 | =

Original: dis G ( u, w ′ ) .
Revised: dis G ( u, w ′ ) .

Original: Now define the set D ( x ) := { u ′ : u ′ ∈
Revised: Now define the set D ( x ) := { u ′ : u ′ ∈

Original: χ − 1 G ( χ G ( u )) , dis G ( x, u ′ ) ≤ | P 2 |} .
Revised: χ − 1 G ( χ G ( u )) , dis G ( x, u ′ ) ≤ | P 2 |} .

Original: Let us focus on the cardinality of the sets D ( w ) and D ( w ′ ) .
Revised: Let us focus on the cardinality of the sets D ( w ) and D ( w ′ ) .

Original: It follows that D ( w ′ )
Revised: It follows that D ( w ′ )

Original: = { u } , because for any other node u ′ ∈ χ − 1 G ( χ G ( u )) , u ′ ̸
Revised: = { u } , because for any other node u ′ ∈ χ − 1 G ( χ G ( u )) , u ′ ̸

Original: = u , we have u ′ ∈ S v and thus
Revised: = u , we have u ′ ∈ S v and thus

Original: [Equation]
Revised: [Equation]

Original: Therefore, |D ( w ′ ) | = 1 .
Revised: Therefore, |D ( w ′ ) | = 1 .

Original: On the other hand, we clearly have |D ( w ) | ≥ 2 since both u 1 , u 2 ∈
Revised: On the other hand, we clearly have |D ( w ) | ≥ 2 since both u 1 , u 2 ∈

Original: D ( w ) .
Revised: D ( w ) .

Original: Consequently, w and w ′ cannot have the same color under the SPD-WL algorithm because |D ( w ′ )
Revised: Consequently, w and w ′ cannot have the same color under the SPD-WL algorithm because |D ( w ′ )

Original: | ̸ = |D ( w ′ ) | .
Revised: | ̸ = |D ( w ′ ) | .

Original: This yields a contradiction and completes the proof.
Revised: This yields a contradiction and completes the proof.

Original: The next lemma presents an important property of the color graph G C (defined in Definition C.26).
Revised: The next lemma presents an important property of the color graph G C (defined in Definition C.26).

Original: Lemma C.29.
Revised: Lemma C.29.

Original: G C has a cut edge {{ χ G ( u ) , χ G ( v ) }} .
Revised: G C has a cut edge {{ χ G ( u ) , χ G ( v ) }} .

Original: Proof.
Revised: Proof.

Original: Suppose {{ χ G ( u ) , χ G ( v ) }} is not a cut edge of G C .
Revised: Suppose {{ χ G ( u ) , χ G ( v ) }} is not a cut edge of G C .

Original: Then there is a simple cycle ( c 1 , · · · , c m )
Revised: Then there is a simple cycle ( c 1 , · · · , c m )

Original: where c 1 = χ G ( u ) , c m = χ G ( v ) and m > 2 .
Revised: where c 1 = χ G ( u ) , c m = χ G ( v ) and m > 2 .

Original: Namely, there exists a simple path from c 1 to c m with length ≥ 2 .
Revised: Namely, there exists a simple path from c 1 to c m with length ≥ 2 .

Original: By the definition of G C and the WL-condition, there exists a sequence of nodes of G { w i } mi =1 where w 1 = u and χ ( w i )
Revised: By the definition of G C and the WL-condition, there exists a sequence of nodes of G { w i } mi =1 where w 1 = u and χ ( w i )

Original: =
Revised: =

Original: c i such that { w i , w i +1 } ∈ E G , i ∈ [ m − 1] .
Revised: c i such that { w i , w i +1 } ∈ E G , i ∈ [ m − 1] .

Original: Note that w i ̸
Revised: Note that w i ̸

Original: = u for i = { 2 , · · · , m } and w 2 ̸ = v because ( c 1 , · · · , c m ) is a simple path.
Revised: = u for i = { 2 , · · · , m } and w 2 ̸ = v because ( c 1 , · · · , c m ) is a simple path.

Original: Therefore, w i ∈ S u for all i ∈ [ m ] .
Revised: Therefore, w i ∈ S u for all i ∈ [ m ] .

Original: However, it contradicts |S ∩ S u | = 1 (Lemma C.27) since χ G ( w m ) =
Revised: However, it contradicts |S ∩ S u | = 1 (Lemma C.27) since χ G ( w m ) =

Original: χ G ( v ) .
Revised: χ G ( v ) .

Original: Combining Lemmas C.27 to C.29, we arrived at the following corollary:
Revised: Combining Lemmas C.27 to C.29, we arrived at the following corollary:

Original: Corollary C.30.
Revised: Corollary C.30.

Original: For all u ′ ∈ χ − 1 G ( χ G ( u )) and v ′ ∈ χ − 1 G ( χ G ( v )) , if { u ′ , v ′ } ∈ E G , then it is a cut edge of G .
Revised: For all u ′ ∈ χ − 1 G ( χ G ( u )) and v ′ ∈ χ − 1 G ( χ G ( v )) , if { u ′ , v ′ } ∈ E G , then it is a cut edge of G .

Original: Proof.
Revised: Proof.

Original: If { u ′ , v ′ } is not a cut edge, there is a simple cycle going through { u ′ , v ′ } .
Revised: If { u ′ , v ′ } is not a cut edge, there is a simple cycle going through { u ′ , v ′ } .

Original: Denote it as ( w 1 , · · · , w m ) where w 1 = u ′ , w m = v ′ , m > 2 .
Revised: Denote it as ( w 1 , · · · , w m ) where w 1 = u ′ , w m = v ′ , m > 2 .

Original: By Lemma C.27, w 2 / ∈
Revised: By Lemma C.27, w 2 / ∈

Original: χ G ( v ) , otherwise u ′ will connect to at least two different nodes w 2 , w m ∈ χ − 1 G ( χ G ( v )) and thus u ′ and u cannot have the same color under SPD-WL.
Revised: χ G ( v ) , otherwise u ′ will connect to at least two different nodes w 2 , w m ∈ χ − 1 G ( χ G ( v )) and thus u ′ and u cannot have the same color under SPD-WL.

Original: Let j be the index such that j = min { j ∈ [ m ] : χ G ( w j ) =
Revised: Let j be the index such that j = min { j ∈ [ m ] : χ G ( w j ) =

Original: χ G ( v ) } , then j > 2 .
Revised: χ G ( v ) } , then j > 2 .

Original: Consider the path ( w 1 , · · · , w j ) .
Revised: Consider the path ( w 1 , · · · , w j ) .

Original: It follows that χ G ( w k ) ̸
Revised: It follows that χ G ( w k ) ̸

Original: = χ G ( u ) for all k ∈ { 2 , · · · , j } by Lemma C.28 (otherwise there is a path from node w 1 to some node w i ∈ χ − 1 G ( χ G ( u ))
Revised: = χ G ( u ) for all k ∈ { 2 , · · · , j } by Lemma C.28 (otherwise there is a path from node w 1 to some node w i ∈ χ − 1 G ( χ G ( u ))

Original: ( i ∈ { 2 , · · · , j } ) that does not go through nodes in the set χ − 1 G ( χ G ( v )) , a contradiction).
Revised: ( i ∈ { 2 , · · · , j } ) that does not go through nodes in the set χ − 1 G ( χ G ( v )) , a contradiction).

Original: Therefore, ( χ G ( w 1 ) , · · · , χ G ( w j )) is a path of length ≥ 2 in G C from χ G ( u ) to χ G ( v ) (not necessarily simple), without going through the edge {{ χ G ( u ) , χ G ( v ) }} .
Revised: Therefore, ( χ G ( w 1 ) , · · · , χ G ( w j )) is a path of length ≥ 2 in G C from χ G ( u ) to χ G ( v ) (not necessarily simple), without going through the edge {{ χ G ( u ) , χ G ( v ) }} .

Original: This contradicts Lemma C.29, which says that {{ χ G ( u ) , χ G ( v ) }} is a cut edge in G C .
Revised: This contradicts Lemma C.29, which says that {{ χ G ( u ) , χ G ( v ) }} is a cut edge in G C .

Original: Based on Lemma C.29, the cut edge {{ χ G ( u ) , χ G ( v ) }} partitions the vertices C of the color graph
Revised: Based on Lemma C.29, the cut edge {{ χ G ( u ) , χ G ( v ) }} partitions the vertices C of the color graph

Original: G C into two classes.
Revised: G C into two classes.

Original: Denote them as {C u , C v } where χ G ( u ) ∈ C u and χ G ( v ) ∈ C v .
Revised: Denote them as {C u , C v } where χ G ( u ) ∈ C u and χ G ( v ) ∈ C v .

Original: The next corollary characterizes the structure of the node colors calculated in SPD-WL.
Revised: The next corollary characterizes the structure of the node colors calculated in SPD-WL.

Original: Corollary C.31.
Revised: Corollary C.31.

Original: For any w satisfying χ G ( w ) ∈ C u , there exists a cut edge { u ′ , v ′ } , u ′ ∈
Revised: For any w satisfying χ G ( w ) ∈ C u , there exists a cut edge { u ′ , v ′ } , u ′ ∈

Original: χ − 1 G ( χ G ( u )) , v ′ ∈
Revised: χ − 1 G ( χ G ( u )) , v ′ ∈

Original: χ − 1 G ( χ G ( v )) , that partitions V into two classes S u ′ ∪ S v ′ , u ′ , w ∈ S u ′ , v ′ ∈ S v ′ , such that χ − 1 G ( χ G ( u ′ )) ∪ S u ′ = { u ′ } and χ − 1 G ( χ G ( v ′ )) ∪ S u ′ = ∅ .
Revised: χ − 1 G ( χ G ( v )) , that partitions V into two classes S u ′ ∪ S v ′ , u ′ , w ∈ S u ′ , v ′ ∈ S v ′ , such that χ − 1 G ( χ G ( u ′ )) ∪ S u ′ = { u ′ } and χ − 1 G ( χ G ( v ′ )) ∪ S u ′ = ∅ .

Original: Remark C.32.
Revised: Remark C.32.

Original: Corollary C.31 can be seen as a generalized version of Lemma C.27.
Revised: Corollary C.31 can be seen as a generalized version of Lemma C.27.

Original: Indeed, when w ∈ S u , one can pick u ′ =
Revised: Indeed, when w ∈ S u , one can pick u ′ =

Original: u and v ′
Revised: u and v ′

Original: = v .
Revised: = v .

Original: Then χ − 1 G ( χ G ( u ′ )) ∪ S u ′ =
Revised: Then χ − 1 G ( χ G ( u ′ )) ∪ S u ′ =

Original: { u ′ } and χ − 1 G ( χ G ( v ′ ))
Revised: { u ′ } and χ − 1 G ( χ G ( v ′ ))

Original: ∪
Revised: ∪

Original: S u ′ = ∅ hold due to Lemma C.27.
Revised: S u ′ = ∅ hold due to Lemma C.27.

Original: In general, Corollary C.31 says that all the cut edges with color { χ G ( u ) , χ G ( v ) } play an equal role: Lemma C.27 applies for any chosen cut edge { u ′ , v ′ } .
Revised: In general, Corollary C.31 says that all the cut edges with color { χ G ( u ) , χ G ( v ) } play an equal role: Lemma C.27 applies for any chosen cut edge { u ′ , v ′ } .

Original: An illustration of Corollary C.31 is given in Figure 8(a).
Revised: An illustration of Corollary C.31 is given in Figure 8(a).

Original: Proof.
Revised: Proof.

Original: By the definition of C u , any node c ∈ C u in the color graph can reach the node χ G ( u ) without going through χ G ( v ) .
Revised: By the definition of C u , any node c ∈ C u in the color graph can reach the node χ G ( u ) without going through χ G ( v ) .

Original: Therefore, there exists some u ′ ∈
Revised: Therefore, there exists some u ′ ∈

Original: χ − 1 G ( χ G ( u )) such that there exists a path P 1 from w to u ′ without going through nodes in the set χ − 1 G ( χ G ( v )) .
Revised: χ − 1 G ( χ G ( u )) such that there exists a path P 1 from w to u ′ without going through nodes in the set χ − 1 G ( χ G ( v )) .

Original: Also, there exists a node v ′ ∈ N G ( u ′ ) with χ G ( v ′ )
Revised: Also, there exists a node v ′ ∈ N G ( u ′ ) with χ G ( v ′ )

Original: =
Revised: =

Original: χ G ( v ) due to the color of u ′ .
Revised: χ G ( v ) due to the color of u ′ .

Original: By Corollary C.30, { u ′ , v ′ } is a cut edge of G .
Revised: By Corollary C.30, { u ′ , v ′ } is a cut edge of G .

Original: Clearly, w ∈ S u ′ .
Revised: Clearly, w ∈ S u ′ .

Original: We next prove the following fact: for any x ∈ S u ′ , χ G ( x ) ∈ C u .
Revised: We next prove the following fact: for any x ∈ S u ′ , χ G ( x ) ∈ C u .

Original: Otherwise, one can pick a node x ∈ S u ′ with color χ G ( x ) ∈ C v .
Revised: Otherwise, one can pick a node x ∈ S u ′ with color χ G ( x ) ∈ C v .

Original: Consider the shortest path between nodes x and u ′ , denoted as ( y 1 , · · · , y m ) where
Revised: Consider the shortest path between nodes x and u ′ , denoted as ( y 1 , · · · , y m ) where

Original: y 

Revised: y

Original: = x and y m = u ′ .
Revised: = x and y m = u ′ .

Original: It follows that y i ∈ S u for all i ∈ [ m ] .
Revised: It follows that y i ∈ S u for all i ∈ [ m ] .

Original: Denote
Revised: Denote

Original: [Figure]
Revised: [Figure]

Original: [Figure]

Original: c i = χ G ( y i ) , i ∈ [ m ] .
Revised: c i = χ G ( y i ) , i ∈ [ m ] .

Original: Then ( c 1 , · · · , c m ) is a path (not necessarily simple) in the color graph G C .
Revised: Then ( c 1 , · · · , c m ) is a path (not necessarily simple) in the color graph G C .

Original: Now pick the index j = max { j ∈ [ m ] : c j ∈ C v } (which is well-defined because c 1 ∈ C v ).
Revised: Now pick the index j = max { j ∈ [ m ] : c j ∈ C v } (which is well-defined because c 1 ∈ C v ).

Original: It follows that j < m (since y m ∈ C u ), c j = χ G ( v ) and c j +1 =
Revised: It follows that j < m (since y m ∈ C u ), c j = χ G ( v ) and c j +1 =

Original: χ G ( u ) (because {{ χ G ( u ) , χ G ( v ) }} is a cut edge that partitions the color graph G C into C u and C v ).
Revised: χ G ( u ) (because {{ χ G ( u ) , χ G ( v ) }} is a cut edge that partitions the color graph G C into C u and C v ).

Original: Consider the following two cases (see
Revised: Consider the following two cases (see

Original: Figure 8(b) for an illustration):
Revised: Figure 8(b) for an illustration):

Original: • j = m − 1 .
Revised: • j = m − 1 .

Original: Then u ′ connects to both nodes y j and v ′ with color χ G ( y j ) =
Revised: Then u ′ connects to both nodes y j and v ′ with color χ G ( y j ) =

Original: χ G ( v ′ )
Revised: χ G ( v ′ )

Original: =
Revised: =

Original: χ G ( v ) .
Revised: χ G ( v ) .

Original: This
Revised: This

Original: contradicts Lemma C.27 since
Revised: contradicts Lemma C.27 since

Original: u
Revised: u

Original: only connects
Revised: only connects

Original: to one node v with color χ G ( v ) .
Revised: to one node v with color χ G ( v ) .

Original: • j < m − 1 .
Revised: • j < m − 1 .

Original: Then y j +1 ̸ = u ′ because the path ( y 1 , · · · , y m ) is simple.
Revised: Then y j +1 ̸ = u ′ because the path ( y 1 , · · · , y m ) is simple.

Original: Howover, one has χ G ( y i ) ̸
Revised: Howover, one has χ G ( y i ) ̸

Original: = χ G ( v ) for all i ∈ { j +1 , · · · , m } by definition of j .
Revised: = χ G ( v ) for all i ∈ { j +1 , · · · , m } by definition of j .

Original: This contradicts Lemma C.
Revised: This contradicts Lemma C.

Original: This completes the proof that for any x ∈ S u ′ , χ G ( x ) ∈ C u .
Revised: This completes the proof that for any x ∈ S u ′ , χ G ( x ) ∈ C u .

Original: Therefore, χ − 1 G ( χ G ( v ′ ))
Revised: Therefore, χ − 1 G ( χ G ( v ′ ))

Original: ∪ S u ′ = ∅ .
Revised: ∪ S u ′ = ∅ .

Original: We finally prove that χ − 1 G ( χ G ( u )) ∪ S u ′
Revised: We finally prove that χ − 1 G ( χ G ( u )) ∪ S u ′

Original: = { u ′ } .
Revised: = { u ′ } .

Original: If not, pick u ′′ ∈ χ − 1 G ( χ G ( u )) ∪ S u ′ and u ′′ ̸ = u ′ .
Revised: If not, pick u ′′ ∈ χ − 1 G ( χ G ( u )) ∪ S u ′ and u ′′ ̸ = u ′ .

Original: By Lemma C.28, the shortest path between u ′ and u ′′ goes through some node v ′′ with color χ G ( v ) .
Revised: By Lemma C.28, the shortest path between u ′ and u ′′ goes through some node v ′′ with color χ G ( v ) .

Original: Clearly, v ′′ ∈ S u , which contradicts the above paragraph and concludes the proof.
Revised: Clearly, v ′′ ∈ S u , which contradicts the above paragraph and concludes the proof.

Original: We have already fully characterized the properties of cut edges { u ′ , v ′ } with color { χ G ( u ) , χ G ( v ) } .
Revised: We have already fully characterized the properties of cut edges { u ′ , v ′ } with color { χ G ( u ) , χ G ( v ) } .

Original: Now we switch our focus to the graph H .
Revised: Now we switch our focus to the graph H .

Original: We first prove a general result that holds for arbitrary H .
Revised: We first prove a general result that holds for arbitrary H .

Original: Lemma C.33.
Revised: Lemma C.33.

Original: Let { w 1 , w 2 } ∈ E H and P is a path with the minimum length from w 1 to w 2 without going through edge { w 1 , w 2 } .
Revised: Let { w 1 , w 2 } ∈ E H and P is a path with the minimum length from w 1 to w 2 without going through edge { w 1 , w 2 } .

Original: In other words, linking path P with the edge { w 1 , w 2 } forms a simple cycle Q .
Revised: In other words, linking path P with the edge { w 1 , w 2 } forms a simple cycle Q .

Original: Then for any two nodes x 1 , x 2 in Q , dis H ( x 1 , x 2 ) =
Revised: Then for any two nodes x 1 , x 2 in Q , dis H ( x 1 , x 2 ) =

Original: dis Q ( x 1 , x 2 ) .
Revised: dis Q ( x 1 , x 2 ) .

Original: Proof.
Revised: Proof.

Original: Split the cycle Q into two paths Q 1 and Q 2 with endpoints { x 1 , x 2 } where Q 1 contains the edge { w 1 , w 2 } and Q 2 does not contain { w 1 , w 2 } .
Revised: Split the cycle Q into two paths Q 1 and Q 2 with endpoints { x 1 , x 2 } where Q 1 contains the edge { w 1 , w 2 } and Q 2 does not contain { w 1 , w 2 } .

Original: Assume the above lemma does not hold and dis H ( w, x ) <
Revised: Assume the above lemma does not hold and dis H ( w, x ) <

Original: dis Q ( w, x ) .
Revised: dis Q ( w, x ) .

Original: It means that there exists a path R in H from x 1 to x 2 for which | R | < min( | Q 1 | , | Q 2 | ) .
Revised: It means that there exists a path R in H from x 1 to x 2 for which | R | < min( | Q 1 | , | Q 2 | ) .

Original: Note that the edge { u, v } occurs at most once in R .
Revised: Note that the edge { u, v } occurs at most once in R .

Original: Separately consider two cases:
Revised: Separately consider two cases:

Original: • { w 1 , w 2 } occurs in R .
Revised: • { w 1 , w 2 } occurs in R .

Original: Then linking R with Q 2 forms a cycle that contains { w 1 , w 2 } exactly once; • { w 1 , w 2 } does not occur in R .
Revised: Then linking R with Q 2 forms a cycle that contains { w 1 , w 2 } exactly once; • { w 1 , w 2 } does not occur in R .

Original: Then linking R with Q 1 forms a cycle that contains { w 1 , w 2 } exactly once.
Revised: Then linking R with Q 1 forms a cycle that contains { w 1 , w 2 } exactly once.

Original: In both cases, the cycle has a length less than | Q | .
Revised: In both cases, the cycle has a length less than | Q | .

Original: This contradicts the condition that P is a path with minimum length from w 1 to w 2 without passing edge { w 1 , w 2 } .
Revised: This contradicts the condition that P is a path with minimum length from w 1 to w 2 without passing edge { w 1 , w 2 } .

Original: We can similarly consider the color graph H C
Revised: We can similarly consider the color graph H C

Original: = ( C , E H C ) defined in Definition C.26.
Revised: = ( C , E H C ) defined in Definition C.26.

Original: Note that we have assumed that the graph representations of G and H are the same, i.e. {{ χ G ( w ) : w ∈ V}} = {{ χ H ( w ) : w ∈ V}} .
Revised: Note that we have assumed that the graph representations of G and H are the same, i.e. {{ χ G ( w ) : w ∈ V}} = {{ χ H ( w ) : w ∈ V}} .

Original: It follows that H C is isomorphic to G C and the identity vertex mapping is an isomorphism, i.e., {{ c 1 , c 2 }} ∈ E G C ⇐⇒ {{ c 1 , c 2 }} ∈ E H C .
Revised: It follows that H C is isomorphic to G C and the identity vertex mapping is an isomorphism, i.e., {{ c 1 , c 2 }} ∈ E G C ⇐⇒ {{ c 1 , c 2 }} ∈ E H C .

Original: Therefore, {{ χ G ( u ) , χ G ( v ) }} is a cut edge of H C (Lemma C.29) that splits the vertices C into two classes C u , C v .
Revised: Therefore, {{ χ G ( u ) , χ G ( v ) }} is a cut edge of H C (Lemma C.29) that splits the vertices C into two classes C u , C v .

Original: Since the vertex labels of H are not important, we can without abuse of notation let u, v be two nodes such that
Revised: Since the vertex labels of H are not important, we can without abuse of notation let u, v be two nodes such that

Original: [Equation]
Revised: [Equation]

Original: [Figure]

Original: [Equation]

Original: [Figure]

Original: [Equation]

Original: [Figure]
Revised: [Figure]

Original: { u, v } ∈ E H , χ H ( u ) = χ G ( u ) , χ H ( v ) =
Revised: { u, v } ∈ E H , χ H ( u ) = χ G ( u ) , χ H ( v ) =

Original: χ G ( v ) , and χ H ( u ) ∈ C u , χ H ( v ) ∈
Revised: χ G ( v ) , and χ H ( u ) ∈ C u , χ H ( v ) ∈

Original: C v .
Revised: C v .

Original: We similarly define χ − 1 H ( c ) = { w ∈ V : χ H ( w ) = c } .
Revised: We similarly define χ − 1 H ( c ) = { w ∈ V : χ H ( w ) = c } .

Original: Define a mapping h : C → { χ H ( u ) , χ H ( v ) } where
Revised: Define a mapping h : C → { χ H ( u ) , χ H ( v ) } where

Original: [Equation]
Revised: [Equation]

Original: Note that it never happens that dis H C ( c, χ H ( u )) =
Revised: Note that it never happens that dis H C ( c, χ H ( u )) =

Original: dis H C
Revised: dis H C

Original: ( c, χ H ( v ))
Revised: ( c, χ H ( v ))

Original: because {{ χ H ( u ) , χ H ( v ) }} is a cut edge of H C .
Revised: because {{ χ H ( u ) , χ H ( v ) }} is a cut edge of H C .

Original: Assume { u, v } is not a cut edge in H .
Revised: Assume { u, v } is not a cut edge in H .

Original: Then there exists a path ( w 1 , · · · , w m ) in H with w 1 = u and w m = v without going through { u, v } .
Revised: Then there exists a path ( w 1 , · · · , w m ) in H with w 1 = u and w m = v without going through { u, v } .

Original: We pick such a path with the minimum length, then the path is simple.
Revised: We pick such a path with the minimum length, then the path is simple.

Original: Since h ( χ H ( u )) ∈ C u and h ( χ H ( v ))
Revised: Since h ( χ H ( u )) ∈ C u and h ( χ H ( v ))

Original: ∈ C v , there is a minimum index j ∈ [ m − 1] such that h ( χ H ( w j ))
Revised: ∈ C v , there is a minimum index j ∈ [ m − 1] such that h ( χ H ( w j ))

Original: ∈
Revised: ∈

Original: C u and h ( χ H ( w j +1 ))
Revised: C u and h ( χ H ( w j +1 ))

Original: ∈ C v .
Revised: ∈ C v .

Original: By definition of C u , C v and the cut edge {{ χ H ( u ) , χ H ( v ) }} , it follows that χ H ( w j ) =
Revised: By definition of C u , C v and the cut edge {{ χ H ( u ) , χ H ( v ) }} , it follows that χ H ( w j ) =

Original: χ H ( u ) and χ H ( w j +1 ) =
Revised: χ H ( u ) and χ H ( w j +1 ) =

Original: χ H ( v ) .
Revised: χ H ( v ) .

Original: Denote u ′ := w j .
Revised: Denote u ′ := w j .

Original: Note that j ̸ = 1 and j ̸ = 2 , otherwise u either connects to two nodes w 2 and w m with color χ H ( w 2 ) =
Revised: Note that j ̸ = 1 and j ̸ = 2 , otherwise u either connects to two nodes w 2 and w m with color χ H ( w 2 ) =

Original: χ H ( w m ) =
Revised: χ H ( w m ) =

Original: χ H ( v ) , or connects to the node u ′ with color χ H ( u ′ ) =
Revised: χ H ( v ) , or connects to the node u ′ with color χ H ( u ′ ) =

Original: χ H ( u ) , contradicting χ H ( u ) = χ G ( u ) .
Revised: χ H ( u ) , contradicting χ H ( u ) = χ G ( u ) .

Original: Pick k = ⌈ j/ 2 ⌉ .
Revised: Pick k = ⌈ j/ 2 ⌉ .

Original: By Lemma C.33, ( w 1 , · · · , w k ) is the shortest path between u and w k , and ( w k , · · · , w j ) is the shortest path between w k and u ′ .
Revised: By Lemma C.33, ( w 1 , · · · , w k ) is the shortest path between u and w k , and ( w k , · · · , w j ) is the shortest path between w k and u ′ .

Original: We give an illustration of the structure of H in Figure 9(a) based on this paragraph.
Revised: We give an illustration of the structure of H in Figure 9(a) based on this paragraph.

Original: Since the graph representations of G and H are the same under SPD-WL, there exists a node w ′ with color χ G ( w ′ ) =
Revised: Since the graph representations of G and H are the same under SPD-WL, there exists a node w ′ with color χ G ( w ′ ) =

Original: χ H ( w k ) and two different nodes u ′ 1 , u ′ 2 with color χ G ( u ′ 1 ) =
Revised: χ H ( w k ) and two different nodes u ′ 1 , u ′ 2 with color χ G ( u ′ 1 ) =

Original: χ G ( u ′ 2 ) =
Revised: χ G ( u ′ 2 ) =

Original: χ G ( u ) , such that dis G ( w ′ , u ′ 1 ) =
Revised: χ G ( u ) , such that dis G ( w ′ , u ′ 1 ) =

Original: dis H ( w k , u 1 ) and dis G ( w ′ , u ′ 2 ) =
Revised: dis H ( w k , u 1 ) and dis G ( w ′ , u ′ 2 ) =

Original: dis H ( w k , u 2 ) .
Revised: dis H ( w k , u 2 ) .

Original: In particular, | dis G ( w ′ , u ′ 1 ) − dis G ( w ′ , u ′ 2 ) | ≤ 1 .
Revised: In particular, | dis G ( w ′ , u ′ 1 ) − dis G ( w ′ , u ′ 2 ) | ≤ 1 .

Original: Note that by the definition of indices j and k , in the color graph
Revised: Note that by the definition of indices j and k , in the color graph

Original: H C there is a path from χ H ( w k ) to χ H ( u ) without going through nodes in the set χ − 1 H
Revised: H C there is a path from χ H ( w k ) to χ H ( u ) without going through nodes in the set χ − 1 H

Original: ( χ H ( v )) , so χ H ( w k ) ∈
Revised: ( χ H ( v )) , so χ H ( w k ) ∈

Original: C u , namely χ G ( w ′ )
Revised: C u , namely χ G ( w ′ )

Original: ∈ C u .
Revised: ∈ C u .

Original: By Corollary C.31, there is a cut edge { u ′ w , v ′ w } that partitions G into two vertex sets S u ′ w , S v ′ w , with w ′ , u ′ w ∈ S u ′ w , v ′ w ∈ S v ′ w .
Revised: By Corollary C.31, there is a cut edge { u ′ w , v ′ w } that partitions G into two vertex sets S u ′ w , S v ′ w , with w ′ , u ′ w ∈ S u ′ w , v ′ w ∈ S v ′ w .

Original: Note that u ′ w ̸ = u ′ 1 and u ′ w ̸ = u ′ 2 (otherwise by Corollary C.31 any path from w ′ to a node u ′ ̸ = u ′ w with color χ G ( u ′ )
Revised: Note that u ′ w ̸ = u ′ 1 and u ′ w ̸ = u ′ 2 (otherwise by Corollary C.31 any path from w ′ to a node u ′ ̸ = u ′ w with color χ G ( u ′ )

Original: =
Revised: =

Original: χ G ( u ) must first go through u ′ w and then go through v ′ w , implying that | dis G ( w ′ , u ′ 1 ) − dis G ( w ′ , u ′ 2 )
Revised: χ G ( u ) must first go through u ′ w and then go through v ′ w , implying that | dis G ( w ′ , u ′ 1 ) − dis G ( w ′ , u ′ 2 )

Original: | ≥ 2 and yielding a contradiction).
Revised: | ≥ 2 and yielding a contradiction).

Original: Therefore, dis G ( w ′ , u ′ 1 ) > dis G ( w ′ , u ′ w ) and dis G ( w ′ , u ′ 2 ) > dis G ( w ′ , u ′ w ) .
Revised: Therefore, dis G ( w ′ , u ′ 1 ) > dis G ( w ′ , u ′ w ) and dis G ( w ′ , u ′ 2 ) > dis G ( w ′ , u ′ w ) .

Original: We give an illustration of the structure of G in Figure 9(b) based on this paragraph.
Revised: We give an illustration of the structure of G in Figure 9(b) based on this paragraph.

Original: Pick any v w ∈ χ − 1 H ( χ H ( v )) satisfying dis H ( v w , w k )
Revised: Pick any v w ∈ χ − 1 H ( χ H ( v )) satisfying dis H ( v w , w k )

Original: =
Revised: =

Original: dis G ( v ′ w , w ′ ) .
Revised: dis G ( v ′ w , w ′ ) .

Original: Denote the operation dropmin( S ) :
Revised: Denote the operation dropmin( S ) :

Original: = S\{{ min S}} that takes a multiset S and removes one of the minimum elements in S .
Revised: = S\{{ min S}} that takes a multiset S and removes one of the minimum elements in S .

Original: We have dropmin( {{ disG ( w ′ , u G ) :
Revised: We have dropmin [Equation] dis

Original:  u G ∈ χ − 1 G ( χ G ( u )))
Revised: [Equation] , u G ) : u G ∈ χ − [Equation] G ( χ G ( u )))

Original: =
Revised: =

Original: dropmin( {{ dis G ( w ′ , v ′ w ) + dis G ( v ′ w , u G ) :
Revised: dropmin( {{ dis G ( w ′ , v ′ w ) + dis G ( v ′ w , u G ) :

Original: u G ∈ χ − 1 G ( χ G ( u )) }} ) (by Corollary C.31)
Revised: u G ∈ χ − 1 G ( χ G ( u )) }} ) (by Corollary C.31)

Original: =
Revised: =

Original: dropmin( {{ dis H ( w k , v w ) + dis H ( v w , u H ) :
Revised: dropmin( {{ dis H ( w k , v w ) + dis H ( v w , u H ) :

Original: u H ∈ χ − 1 H ( χ H ( u )) }} ) and also dropmin( {{ dis G ( w ′ , u G ) :
Revised: u H ∈ χ − 1 H ( χ H ( u )) }} ) and also dropmin( {{ dis G ( w ′ , u G ) :

Original: u G ∈ χ − 1 G ( χ G ( u )))
Revised: u G ∈ χ − 1 G ( χ G ( u )))

Original: =
Revised: =

Original: dropmin( {{ dis H ( w k , u H ) :
Revised: dropmin( {{ dis H ( w k , u H ) :

Original: u H ∈ χ − 1 H ( χ H ( u )) }} ) due to the same color χ G ( w ′ ) =
Revised: u H ∈ χ − 1 H ( χ H ( u )) }} ) due to the same color χ G ( w ′ ) =

Original: χ H ( w k ) .
Revised: χ H ( w k ) .

Original: Combining the above two equations and noting that dis H ( w k , v w ) + dis H ( v w , u H ) ≥ dis H ( w k , u H ) , we obtain the following result: for any u H ∈ χ − 1 H ( χ H ( u )) for which dis H ( w k , v w ) + dis H ( v w , u H ) > dis G ( w ′ , u ′ w ) , dis H ( w k , v w ) + dis H ( v w , u H ) =
Revised: Combining the above two equations and noting that dis H ( w k , v w ) + dis H ( v w , u H ) ≥ dis H ( w k , u H ) , we obtain the following result: for any u H ∈ χ − 1 H ( χ H ( u )) for which dis H ( w k , v w ) + dis H ( v w , u H ) > dis G ( w ′ , u ′ w ) , dis H ( w k , v w ) + dis H ( v w , u H ) =

Original: dis H ( w k , u H ) .
Revised: dis H ( w k , u H ) .

Original: In particular, dis 
Revised: In particular, dis H ( w k , w 1 ) = dis H ( w k , [Equation] +

Revised: [Equation]

Revised: v

Original: [Equation]
Revised: [Equation]

Revised: , w 1 ) , dis

Revised: [Equation]

Revised: [Equation]

Revised: dis

Revised: [Equation]

Revised: [Equation]

Revised: [Equation]

Revised: w , w j ) .

Original: Therefore,
Revised: Therefore,

Original: [Equation]
Revised: [Equation]

Original: implying w k = v w .
Revised: implying w k = v w .

Original: However, χ H ( w k ) ∈
Revised: However, χ H ( w k ) ∈

Original: C u while χ H ( v w ) ∈
Revised: C u while χ H ( v w ) ∈

Original: C v , yielding a contradiction.
Revised: C v , yielding a contradiction.

Original: C.4. T HE CASE OF χ G ( u ) = χ G ( v ) FOR CONNECTED GRAPHS
Revised: C.4. T HE CASE OF χ G ( u ) = χ G ( v ) FOR CONNECTED GRAPHS

Original: We first define several notations.
Revised: We first define several notations.

Original: Define the mapping f G : V → { u, v } × C as follows: f G ( w ) =
Revised: Define the mapping f G : V → { u, v } × C as follows: f G ( w ) =

Original: ( h G ( w ) , χ G ( w ))
Revised: ( h G ( w ) , χ G ( w ))

Original: where
Revised: where

Original: [Equation]
Revised: [Equation]

Original: It is easy to see that h G is well-defined for all w ∈ V because { u, v } is a cut edge of G .
Revised: It is easy to see that h G is well-defined for all w ∈ V because { u, v } is a cut edge of G .

Original: We further define the following auxiliary graph:
Revised: We further define the following auxiliary graph:

Original: Definition C.34.
Revised: Definition C.34.

Original: (Auxiliary graph) Define the auxiliary graph G A
Revised: (Auxiliary graph) Define the auxiliary graph G A

Original: =
Revised: =

Original: ( V G A , E G A )
Revised: ( V G A , E G A )

Original: where V G A :
Revised: where V G A :

Original: = { u, v } × C and E G A :
Revised: = { u, v } × C and E G A :

Original: = {{{ f G ( w 1 ) , f G ( w 2 ) }} : { w 1 , w 2 } ∈ E G } .
Revised: = {{{ f G ( w 1 ) , f G ( w 2 ) }} : { w 1 , w 2 } ∈ E G } .

Original: Note that G A can have self loops, so each edge is denoted as a multiset with two elements.
Revised: Note that G A can have self loops, so each edge is denoted as a multiset with two elements.

Original: It is straightforward to see that there is only one edge in G A with the form {{ ( u, c 1 ) , ( v, c 2 ) }} ∈
Revised: It is straightforward to see that there is only one edge in G A with the form {{ ( u, c 1 ) , ( v, c 2 ) }} ∈

Original: E G A for some c 1 , c 2 ∈ C since { u, v } is a cut edge of G .
Revised: E G A for some c 1 , c 2 ∈ C since { u, v } is a cut edge of G .

Original: Therefore, the only edge is {{ ( u, χ G ( u )) , ( v, χ G ( v )) }} and is a cut edge in G A .
Revised: Therefore, the only edge is {{ ( u, χ G ( u )) , ( v, χ G ( v )) }} and is a cut edge in G A .

Original: We also define f − 1 G as the inverse mapping of f G , i.e. f − 1 G ( z, c ) = { w ∈ V : f G ( w ) =
Revised: We also define f − 1 G as the inverse mapping of f G , i.e. f − 1 G ( z, c ) = { w ∈ V : f G ( w ) =

Original: ( z, c ) } .
Revised: ( z, c ) } .

Original: We first prove that f − 1 G is well-defined on the domain V G A .
Revised: We first prove that f − 1 G is well-defined on the domain V G A .

Original: Lemma C.35.
Revised: Lemma C.35.

Original: f G is a surjection.
Revised: f G is a surjection.

Original: Proof.
Revised: Proof.

Original: Suppose that f G is not a surjection.
Revised: Suppose that f G is not a surjection.

Original: Then there exists a color c ∈ C such that either f − 1 G ( u, c ) or f − 1 G ( v, c ) is an empty set.
Revised: Then there exists a color c ∈ C such that either f − 1 G ( u, c ) or f − 1 G ( v, c ) is an empty set.

Original: Without loss of generality, assume f − 1 G ( v, c ) = ∅ , then f − 1 G ( u, c ) ̸ = ∅ .
Revised: Without loss of generality, assume f − 1 G ( v, c ) = ∅ , then f − 1 G ( u, c ) ̸ = ∅ .

Original: Pick any w ∈ f − 1 G ( u, c ) .
Revised: Pick any w ∈ f − 1 G ( u, c ) .

Original: Obviously, w ̸ = u (otherwise f − 1 G ( v, χ G ( v ))
Revised: Obviously, w ̸ = u (otherwise f − 1 G ( v, χ G ( v ))

Original: = ∅ , a contradiction).
Revised: = ∅ , a contradiction).

Original: Then we claim that for any x ∈ N G ( w ) , f − 1 G ( v, χ G ( x )) is empty.
Revised: Then we claim that for any x ∈ N G ( w ) , f − 1 G ( v, χ G ( x )) is empty.

Original: Note that x ∈ f − 1 G ( u, χ G ( x )) .
Revised: Note that x ∈ f − 1 G ( u, χ G ( x )) .

Original: If the claim does not hold, take x ′ ∈
Revised: If the claim does not hold, take x ′ ∈

Original: f − 1 G ( v, χ G ( x )) .
Revised: f − 1 G ( v, χ G ( x )) .

Original: Since x connects to a node with color c and χ G ( x ) = χ G ( x ′ ) , x ′ must also connect to a node with color c .
Revised: Since x connects to a node with color c and χ G ( x ) = χ G ( x ′ ) , x ′ must also connect to a node with color c .

Original: Denote the node that connects to x ′ with color c as w ′ .
Revised: Denote the node that connects to x ′ with color c as w ′ .

Original: Then w ′ ∈
Revised: Then w ′ ∈

Original: f − 1 G ( v, c ) , yielding a contradiction.
Revised: f − 1 G ( v, c ) , yielding a contradiction.

Original: By induction, for any x such that there exists a path from x to w without going through the edge { u, v } , we have f − 1 G ( v, χ G ( x ))
Revised: By induction, for any x such that there exists a path from x to w without going through the edge { u, v } , we have f − 1 G ( v, χ G ( x ))

Original: = ∅ .
Revised: = ∅ .

Original: This finally implies f − 1 G ( v, χ G ( v ))
Revised: This finally implies f − 1 G ( v, χ G ( v ))

Original: = ∅ , leading to a contradiction.
Revised: = ∅ , leading to a contradiction.

Original: Therefore, f is a surjection.
Revised: Therefore, f is a surjection.

Original: Lemma C.36.
Revised: Lemma C.36.

Original: | f − 1 G ( u, χ G ( u ))
Revised: | f − 1 G ( u, χ G ( u ))

Original: | = | f − 1 G ( v, χ G ( v ))
Revised: | = | f − 1 G ( v, χ G ( v ))

Original: | = 1 .
Revised: | = 1 .

Original: Proof.
Revised: Proof.

Original: Pick u ′ =
Revised: Pick u ′ =

Original: arg max u ′ ∈
Revised: arg max u ′ ∈

Original: f − 1 G ( u,χ ( u ))
Revised: f − 1 G ( u,χ ( u ))

Original: dis G ( u, u ′ ) and similarly pick v ′ .
Revised: dis G ( u, u ′ ) and similarly pick v ′ .

Original: It follows that any path between u ′ and v
Revised: It follows that any path between u ′ and v

Original: ′ goes through edge { u, v } .
Revised: ′ goes through edge { u, v } .

Original: Therefore, dis G ( u ′ , v ′ ) =
Revised: Therefore, dis G ( u ′ , v ′ ) =

Original: dis G ( u, u ′ )
Revised: dis G ( u, u ′ )

Original: +dis G ( v, v ′ )
Revised: +dis G ( v, v ′ )

Original: +1 .
Revised: +1 .

Original: Since all nodes u, u ′ , v, v ′ have the same color under SPD-WL, there exists a node w ∈ χ − 1 G ( χ G ( u )) satisfying dis G ( u, w )
Revised: Since all nodes u, u ′ , v, v ′ have the same color under SPD-WL, there exists a node w ∈ χ − 1 G ( χ G ( u )) satisfying dis G ( u, w )

Original: =
Revised: =

Original: dis G ( u ′ , v ′ ) and thus dis G ( u, w ) >
Revised: dis G ( u ′ , v ′ ) and thus dis G ( u, w ) >

Original: dis G ( u, u ′ ) .
Revised: dis G ( u, u ′ ) .

Original: By definition of the node u ′ , f G ( w ) ̸
Revised: By definition of the node u ′ , f G ( w ) ̸

Original: = ( u, χ ( u )) and thus f G ( w ) =
Revised: = ( u, χ ( u )) and thus f G ( w ) =

Original: ( v, χ ( u )) .
Revised: ( v, χ ( u )) .

Original: Therefore, dis G ( u, w ) =
Revised: Therefore, dis G ( u, w ) =

Original: dis G ( v, w ) + 1 , which implies that
Revised: dis G ( v, w ) + 1 , which implies that

Original: [Equation]
Revised: [Equation]

Original: Since dis G ( v, w ) ≤ dis G ( v, v ′ ) , we have dis G ( v, w ) =
Revised: Since dis G ( v, w ) ≤ dis G ( v, v ′ ) , we have dis G ( v, w ) =

Original: dis G ( v, v ′ ) and u = u ′ .
Revised: dis G ( v, v ′ ) and u = u ′ .

Original: A similar argument yields v = v ′ , finishing the proof.
Revised: A similar argument yields v = v ′ , finishing the proof.

Original: We can now prove some useful properties of the auxiliary graph G A based on Lemmas C. and C.36.
Revised: We can now prove some useful properties of the auxiliary graph G A based on Lemmas C. and C.36.

Original: Corollary C.37.
Revised: Corollary C.37.

Original: For any c 1 , c 2 ∈ C , {{ ( u, c 1 ) , ( u, c 2 ) }} ∈ E G A if and only if {{ ( v, c 1 ) , ( v, c 2 ) }} ∈
Revised: For any c 1 , c 2 ∈ C , {{ ( u, c 1 ) , ( u, c 2 ) }} ∈ E G A if and only if {{ ( v, c 1 ) , ( v, c 2 ) }} ∈

Original: E G A .
Revised: E G A .

Original: Proof.
Revised: Proof.

Original: By definition of E A G , if {{ ( u, c 1 ) , ( u, c 2 ) }} ∈ E G A , then there exists two vertices w 1 ∈ f − 1 G ( u, c 1 ) and w 2 ∈ f − 1 G ( u, c 2 ) such that { w 1 , w 2 } ∈ E G .
Revised: By definition of E A G , if {{ ( u, c 1 ) , ( u, c 2 ) }} ∈ E G A , then there exists two vertices w 1 ∈ f − 1 G ( u, c 1 ) and w 2 ∈ f − 1 G ( u, c 2 ) such that { w 1 , w 2 } ∈ E G .

Original: By Lemma C.36, either χ G ( w 1 ) ̸
Revised: By Lemma C.36, either χ G ( w 1 ) ̸

Original: = χ G ( u ) or χ G ( w 2 ) ̸
Revised: = χ G ( u ) or χ G ( w 2 ) ̸

Original: = χ G ( u ) .
Revised: = χ G ( u ) .

Original: Without loss of generality, assume c 1 ̸ = χ G ( u ) .
Revised: Without loss of generality, assume c 1 ̸ = χ G ( u ) .

Original: By Lemma C.35, there exists x 1 ∈ f − 1 G ( v, c 1 ) .
Revised: By Lemma C.35, there exists x 1 ∈ f − 1 G ( v, c 1 ) .

Original: Since χ G ( x 1 ) =
Revised: Since χ G ( x 1 ) =

Original: χ G ( w 1 ) , x 1 must also connect to a node xwith χ G ( x 2 ) =
Revised: χ G ( w 1 ) , x 1 must also connect to a node xwith χ G ( x 2 ) =

Original: c 2 .
Revised: c 2 .

Original: The edge { x 1 , x 2 } ̸ = { u, v } because χ G ( x 1 ) =
Revised: The edge { x 1 , x 2 } ̸ = { u, v } because χ G ( x 1 ) =

Original: c 1 ̸ = χ G ( u ) .
Revised: c 1 ̸ = χ G ( u ) .

Original: Therefore, f ( x 2 ) = ( v, c 2 ) , namely {{ ( v, c 1 ) , ( v, c 2 ) }} ∈ E A G .
Revised: Therefore, f ( x 2 ) = ( v, c 2 ) , namely {{ ( v, c 1 ) , ( v, c 2 ) }} ∈ E A G .

Original: The following lemma establishes the distance relationship between graphs G and G A .
Revised: The following lemma establishes the distance relationship between graphs G and G A .

Original: Lemma C.38.
Revised: Lemma C.38.

Original: The following holds:
Revised: The following holds:

Original: • For any w, w ′ ∈ V ,
Revised: • For any w, w ′ ∈ V ,

Original: dis G ( w, w ′ ) ≥ dis G A
Revised: dis G ( w, w ′ ) ≥ dis G A

Original: ( f ( w ) , f ( w ′ )) .
Revised: ( f ( w ) , f ( w ′ )) .

Original: • For any ξ, ξ ′ ∈ V A and any node w ∈ f − 1 G ( ξ ) , there exists a node w ′ ∈
Revised: • For any ξ, ξ ′ ∈ V A and any node w ∈ f − 1 G ( ξ ) , there exists a node w ′ ∈

Original: f − 1 G ( ξ ′ )
Revised: f − 1 G ( ξ ′ )

Original: such that dis G ( w, w ′ )
Revised: such that dis G ( w, w ′ )

Original: =
Revised: =

Original: dis G A ( ξ, ξ ′ ) .
Revised: dis G A ( ξ, ξ ′ ) .

Original: Proof.
Revised: Proof.

Original: The first bullet is trivial since for all { w, w ′ } ∈ E G , {{ f ( w ) , f ( w ′ ) }} ∈ E G A by Definition C.34.
Revised: The first bullet is trivial since for all { w, w ′ } ∈ E G , {{ f ( w ) , f ( w ′ ) }} ∈ E G A by Definition C.34.

Original: We prove the second bullet in the following.
Revised: We prove the second bullet in the following.

Original: Note that G A can have self-loops, but for any ξ, ξ ′ ∈ V A , the shortest path between ξ and ξ ′ will not go through self-loops.
Revised: Note that G A can have self-loops, but for any ξ, ξ ′ ∈ V A , the shortest path between ξ and ξ ′ will not go through self-loops.

Original: We only need to prove that for all {{ ξ, ξ ′ }} ∈ E A , ξ ̸ = ξ ′ and all w ∈ f − 1 G ( ξ ) , there exists w ′ ∈
Revised: We only need to prove that for all {{ ξ, ξ ′ }} ∈ E A , ξ ̸ = ξ ′ and all w ∈ f − 1 G ( ξ ) , there exists w ′ ∈

Original: f − 1 G ( ξ ′ )
Revised: f − 1 G ( ξ ′ )

Original: such that { w, w ′ } ∈ E G .
Revised: such that { w, w ′ } ∈ E G .

Original: This will imply that dis G ( w, w ′ ) ≤ dis G A ( ξ, ξ ′ ) and completes the proof by combining the first bullet in Lemma C.38.
Revised: This will imply that dis G ( w, w ′ ) ≤ dis G A ( ξ, ξ ′ ) and completes the proof by combining the first bullet in Lemma C.38.

Original: The case of {{ ξ, ξ ′ }} = {{ ( u, χ G ( u )) , ( v, χ G ( v )) }} is trivial.
Revised: The case of {{ ξ, ξ ′ }} = {{ ( u, χ G ( u )) , ( v, χ G ( v )) }} is trivial.

Original: Now assume that {{ ξ, ξ ′ }} ̸ = {{ ( u, χ G ( u )) , ( v, χ G ( v )) }} .
Revised: Now assume that {{ ξ, ξ ′ }} ̸ = {{ ( u, χ G ( u )) , ( v, χ G ( v )) }} .

Original: By Definition C.34, there exists x ∈ f − 1 G ( ξ ) and x ′ ∈ f − 1 G ( ξ ′ ) , such that { x, x ′ } ∈ E G .
Revised: By Definition C.34, there exists x ∈ f − 1 G ( ξ ) and x ′ ∈ f − 1 G ( ξ ′ ) , such that { x, x ′ } ∈ E G .

Original: Note that h G ( x ) = h G ( x ′ ) because { x, x ′ } ̸
Revised: Note that h G ( x ) = h G ( x ′ ) because { x, x ′ } ̸

Original: = { u, v } .
Revised: = { u, v } .

Original: Since χ G ( x ) = χ G ( w ) , there exists w ′ ∈
Revised: Since χ G ( x ) = χ G ( w ) , there exists w ′ ∈

Original: χ − 1 G ( χ G ( x ′ ))
Revised: χ − 1 G ( χ G ( x ′ ))

Original: such that { w, w ′ } ∈ E G .
Revised: such that { w, w ′ } ∈ E G .

Original: It must hold that h G ( w ) =
Revised: It must hold that h G ( w ) =

Original: h G ( w ′ )
Revised: h G ( w ′ )

Original: (otherwise { w, w ′ }
Revised: (otherwise { w, w ′ }

Original: = { u, v } and thus {{ ξ, ξ ′ }} = {{ ( u, χ G ( u )) , ( v, χ G ( v )) ).
Revised: = { u, v } and thus {{ ξ, ξ ′ }} = {{ ( u, χ G ( u )) , ( v, χ G ( v )) ).

Original: Therefore, h G ( w ′ )
Revised: Therefore, h G ( w ′ )

Original: =
Revised: =

Original: h G ( w ) =
Revised: h G ( w ) =

Original: h G ( x ) = h G ( x ′ ) and thus f G ( w ′ ) =
Revised: h G ( x ) = h G ( x ′ ) and thus f G ( w ′ ) =

Original: f G ( x ′ ) , namely w ′ ∈ f − 1 G ( ξ ′ ) .
Revised: f G ( x ′ ) , namely w ′ ∈ f − 1 G ( ξ ′ ) .

Original: Lemma C.38 leads to the following corollary:
Revised: Lemma C.38 leads to the following corollary:

Original: Corollary C.39.
Revised: Corollary C.39.

Original: The following holds:
Revised: The following holds:

Original: • For any w, w ′ ∈ V satisfying χ G ( w )
Revised: • For any w, w ′ ∈ V satisfying χ G ( w )

Original: =
Revised: =

Original: χ G ( w ′ ) and h G ( w ) = h G ( w ′ )
Revised: χ G ( w ′ ) and h G ( w ) = h G ( w ′ )

Original: (i
Revised: (i

Original: e. f G ( w ) =
Revised: e. f G ( w ) =

Original: f G ( w ′ ) ), dis G ( u, w ) =
Revised: f G ( w ′ ) ), dis G ( u, w ) =

Original: dis G ( u, w ′ ) and dis G ( v, w ) =
Revised: dis G ( u, w ′ ) and dis G ( v, w ) =

Original: dis G ( v, w ′ ) ; • For any w, w ′ ∈ V satisfying χ G ( w ) =
Revised: dis G ( v, w ′ ) ; • For any w, w ′ ∈ V satisfying χ G ( w ) =

Original: χ G ( w ′ ) and h G ( w ) ̸
Revised: χ G ( w ′ ) and h G ( w ) ̸

Original: = h G ( w ′ ) , dis G ( u, w ) =
Revised: = h G ( w ′ ) , dis G ( u, w ) =

Original: dis G ( v, w ′ ) and dis G ( v, w ) =
Revised: dis G ( v, w ′ ) and dis G ( v, w ) =

Original: dis G ( u, w ′ ) .
Revised: dis G ( u, w ′ ) .

Original: Proof.
Revised: Proof.

Original: Proof of the first bullet: by Lemma C.38, there exists two nodes u 1 , u 2 ∈ f − 1 G ( f G ( u )) such that dis G ( u 1 , w ) =
Revised: Proof of the first bullet: by Lemma C.38, there exists two nodes u 1 , u 2 ∈ f − 1 G ( f G ( u )) such that dis G ( u 1 , w ) =

Original: dis G A
Revised: dis G A

Original: f G ( u ) , f G ( w )) and dis G ( u 2 , w ′ ) =
Revised: f G ( u ) , f G ( w )) and dis G ( u 2 , w ′ ) =

Original: dis G A
Revised: dis G A

Original: f G ( u ) , f G ( w ′ )) .
Revised: f G ( u ) , f G ( w ′ )) .

Original: Therefore, dis G ( u 1 , w ) =
Revised: Therefore, dis G ( u 1 , w ) =

Original: dis G ( u 2 , w ′ ) .
Revised: dis G ( u 2 , w ′ ) .

Original: However, by Lemma C.36 and the condition h G ( w ) = h G ( w ′ ) , it must be u 1 = u 2 = u , namely dis G ( u, w ) =
Revised: However, by Lemma C.36 and the condition h G ( w ) = h G ( w ′ ) , it must be u 1 = u 2 = u , namely dis G ( u, w ) =

Original: dis G ( u, w ′ ) .
Revised: dis G ( u, w ′ ) .

Original: The proof of dis G ( v, w ) =
Revised: The proof of dis G ( v, w ) =

Original: dis G ( v ′ , w ′ ) is similar.
Revised: dis G ( v ′ , w ′ ) is similar.

Original: Proof of the second bullet: Let χ G ( w ) = χ G ( w ′ )
Revised: Proof of the second bullet: Let χ G ( w ) = χ G ( w ′ )

Original: =
Revised: =

Original: c .
Revised: c .

Original: Without loss of generality, assume f G ( w )
Revised: Without loss of generality, assume f G ( w )

Original: =
Revised: =

Original: ( u, c ) and f ( w ′ )
Revised: ( u, c ) and f ( w ′ )

Original: =
Revised: =

Original: ( v, c ) .
Revised: ( v, c ) .

Original: By Lemma C.38, it suffices to prove that dis G A (( u, χ G ( u )) , ( u, c ))
Revised: By Lemma C.38, it suffices to prove that dis G A (( u, χ G ( u )) , ( u, c ))

Original: =
Revised: =

Original: dis G A
Revised: dis G A

Original: ( v, χ G ( v )) , ( v, c )) .
Revised: ( v, χ G ( v )) , ( v, c )) .

Original: By the definition of G A and its cut edge {{ ( u, χ G ( u ) , ( v, χ G ( v )) }} , the shortest path between ( u, χ G ( u )) and ( u, c ) must only go through nodes in the set { ( u, c 1 ) : c 1 ∈ C} , and similarly the shortest path between ( v, χ G ( v )) and ( v, c ) must only go through nodes in { ( v, c 2 ) : c 2 ∈ C} .
Revised: By the definition of G A and its cut edge {{ ( u, χ G ( u ) , ( v, χ G ( v )) }} , the shortest path between ( u, χ G ( u )) and ( u, c ) must only go through nodes in the set { ( u, c 1 ) : c 1 ∈ C} , and similarly the shortest path between ( v, χ G ( v )) and ( v, c ) must only go through nodes in { ( v, c 2 ) : c 2 ∈ C} .

Original: Finally, Corollary C.37 says that for c 1 , c 2 ∈ C , {{ ( u, c 1 ) , ( u, c 2 ) }} ∈ G A if and only if {{ ( v, c 1 ) , ( v, c 2 ) }} ∈ G A .
Revised: Finally, Corollary C.37 says that for c 1 , c 2 ∈ C , {{ ( u, c 1 ) , ( u, c 2 ) }} ∈ G A if and only if {{ ( v, c 1 ) , ( v, c 2 ) }} ∈ G A .

Original: We thus conclude that dis G A (( u, χ G ( u )) , ( u, c ))
Revised: We thus conclude that dis G A (( u, χ G ( u )) , ( u, c ))

Original: =
Revised: =

Original: dis G A
Revised: dis G A

Original: ( v, χ G ( v )) , ( v, c )) and dis G ( u, w ) =
Revised: ( v, χ G ( v )) , ( v, c )) and dis G ( u, w ) =

Original: dis G ( v, w ′ ) .
Revised: dis G ( v, w ′ ) .

Original: Finally, we can prove the following important corollary:
Revised: Finally, we can prove the following important corollary:

Original: Corollary C.40.
Revised: Corollary C.40.

Original: For any c ∈ C , | f − 1 G ( u, c ) | = | f − 1 G ( v, c ) | .
Revised: For any c ∈ C , | f − 1 G ( u, c ) | = | f − 1 G ( v, c ) | .

Original: Proof.
Revised: Proof.

Original: Pick any w ∈ f − 1 G ( u, c ) and x ∈ f − 1 G ( v, c ) .
Revised: Pick any w ∈ f − 1 G ( u, c ) and x ∈ f − 1 G ( v, c ) .

Original: By Corollary C.39, we have disG
Revised: By Corollary C.39, we have dis

Original: [Equation]
Revised: [Equation]

Original: w, u

Original: [Equation]

Original: = dis G

Original: [Equation]

Original: x,

Original: [Equation] , dis G [Equation] The multiset {{ dis G ( u, w ′ ) : χ G ( w ′ ) =
Revised: The multiset {{ dis G ( u, w ′ ) : χ G ( w ′ ) =

Original: c }} contains | f − 1 G ( u, c )
Revised: c }} contains | f − 1 G ( u, c )

Original: | elements of value d and | f − 1 G ( v, c ) | elements of value d
Revised: | elements of value d and | f − 1 G ( v, c ) | elements of value d

Original: + 1 .
Revised: + 1 .

Original: The multiset {{ dis G ( v, w ′ ) : χ G ( w ′ ) =
Revised: The multiset {{ dis G ( v, w ′ ) : χ G ( w ′ ) =

Original: c }} has | f − 1 G ( v, c ) | elements of value d and | f − 1 G ( u, c )
Revised: c }} has | f − 1 G ( v, c ) | elements of value d and | f − 1 G ( u, c )

Original: | elements of value d + 1 .
Revised: | elements of value d + 1 .

Original: Since u and v has the same color under SPD-WL, the two multiset must be equivalent.
Revised: Since u and v has the same color under SPD-WL, the two multiset must be equivalent.

Original: Therefore, | f − 1 G ( u, c ) | = | f − 1 G ( v, c ) | .
Revised: Therefore, | f − 1 G ( u, c ) | = | f − 1 G ( v, c ) | .

Original: Next, we switch our focus to the graph H .
Revised: Next, we switch our focus to the graph H .

Original: Since we have assumed that the graph representations of G and H are the same, i.e. {{ χ G ( w ) : w ∈ V}} = {{ χ H ( w ) : w ∈ V}} , the size of the set { w ∈ V : χ H ( w )
Revised: Since we have assumed that the graph representations of G and H are the same, i.e. {{ χ G ( w ) : w ∈ V}} = {{ χ H ( w ) : w ∈ V}} , the size of the set { w ∈ V : χ H ( w )

Original: =
Revised: =

Original: χ G ( u ) } must be 2.
Revised: χ G ( u ) } must be 2.

Original: We may denote the elements as u and v without abuse of notation and thus { u, v } ∈ E H .
Revised: We may denote the elements as u and v without abuse of notation and thus { u, v } ∈ E H .

Original: Also for any w ∈ V , we have dis H ( w, u )
Revised: Also for any w ∈ V , we have dis H ( w, u )

Original: ̸ = dis H ( w, v ) .
Revised: ̸ = dis H ( w, v ) .

Original: Therefore, we can similarly define the mapping f H : V → { u, v } × V and the mapping h H : V → { u, v } as in (12).
Revised: Therefore, we can similarly define the mapping f H : V → { u, v } × V and the mapping h H : V → { u, v } as in (12).

Original: The auxiliary graph H A is defined analogous to Definition C.34.
Revised: The auxiliary graph H A is defined analogous to Definition C.34.

Original: Lemma C.41.
Revised: Lemma C.41.

Original: For any 
Revised: For any c

Original: [Equation]
Revised: [Equation]

Original: Proof.
Revised: Proof.

Original: If | f − 1 H ( u, c ) | ̸ = | f − 1 H ( v, c ) | , we have {{ dis H ( u, w ) : χ H ( w ) =
Revised: If | f − 1 H ( u, c ) | ̸ = | f − 1 H ( v, c ) | , we have {{ dis H ( u, w ) : χ H ( w ) =

Original: c }} ̸
Revised: c }} ̸

Original: = {{ dis H ( v, w ) : χ H ( w ) =
Revised: = {{ dis H ( v, w ) : χ H ( w ) =

Original: c }} , implying that u and v cannot have the same color under SPD-WL.
Revised: c }} , implying that u and v cannot have the same color under SPD-WL.

Original: This already concludes the proof by using Corollary C.40 as
Revised: This already concludes the proof by using Corollary C.40 as

Original: [Equation]
Revised: [Equation]

Original: We finally present a technical lemma which will be used in the subsequent proof.
Revised: We finally present a technical lemma which will be used in the subsequent proof.

Original: Lemma C.42.
Revised: Lemma C.42.

Original: Given node w ∈ V and color c ∈ C , define multisets
Revised: Given node w ∈ V and color c ∈ C , define multisets

Original: [Equation]
Revised: [Equation]

Original: For any two nodes w, w ′ ∈ V in graphs G and H satisfying χ G ( w ) =
Revised: For any two nodes w, w ′ ∈ V in graphs G and H satisfying χ G ( w ) =

Original: χ H ( w ′ ) , pick any d ∈
Revised: χ H ( w ′ ) , pick any d ∈

Original: D G, ̸ = ( w, c ) and d ′ ∈ D H, = ( w ′ , c ) .
Revised: D G, ̸ = ( w, c ) and d ′ ∈ D H, = ( w ′ , c ) .

Original: Then d ′ < d .
Revised: Then d ′ < d .

Original: Proof.
Revised: Proof.

Original: Without loss of generality, assume h G ( w )
Revised: Without loss of generality, assume h G ( w )

Original: =
Revised: =

Original: h H ( w ′ )
Revised: h H ( w ′ )

Original: =
Revised: =

Original: u and let f G ( w ) =
Revised: u and let f G ( w ) =

Original: f H ( w ′ )
Revised: f H ( w ′ )

Original: = ( u, c w ) .
Revised: = ( u, c w ) .

Original: Pick x ∈ f − 1 G ( v, c ) and x ′ ∈ f − 1 H ( u, c ) , then dis H ( x ′ , u ) =
Revised: Pick x ∈ f − 1 G ( v, c ) and x ′ ∈ f − 1 H ( u, c ) , then dis H ( x ′ , u ) =

Original: min(dis G ( x, u ) , dis G ( x, v )) and dis H ( w ′ , u ) =
Revised: min(dis G ( x, u ) , dis G ( x, v )) and dis H ( w ′ , u ) =

Original: min(dis G ( w, u ) , dis G ( w, v )) .
Revised: min(dis G ( w, u ) , dis G ( w, v )) .

Original: Thus dis H ( w ′ , x ′ ) ≤
Revised: Thus dis H ( w ′ , x ′ ) ≤

Original: dis H ( w ′ , u ) + dis H ( u, x ′ ) =
Revised: dis H ( w ′ , u ) + dis H ( u, x ′ ) =

Original: min(dis G ( w, u ) , dis G ( w, v ))
Revised: min(dis G ( w, u ) , dis G ( w, v ))

Original: + min(dis G ( x, u ) , dis G ( x, v )) <
Revised: + min(dis G ( x, u ) , dis G ( x, v )) <

Original: min(dis G ( w, u ) + dis G ( x, v ) , dis G ( w, v ) + dis G ( x, u ))
Revised: min(dis G ( w, u ) + dis G ( x, v ) , dis G ( w, v ) + dis G ( x, u ))

Original: += dis G ( w, x ) , which concludes the proof.
Revised: += dis G ( w, x ) , which concludes the proof.

Original: In the following, we will prove that { u, v } is a cut edge in graph H .
Revised: In the following, we will prove that { u, v } is a cut edge in graph H .

Original: Consider an edge {{ ( u, c 1 ) , ( v, c 2 ) }} ∈ E H A (such an edge exists because {{ ( u, χ H ( u )) , ( v, χ H ( v )) }} ∈ E A H ).
Revised: Consider an edge {{ ( u, c 1 ) , ( v, c 2 ) }} ∈ E H A (such an edge exists because {{ ( u, χ H ( u )) , ( v, χ H ( v )) }} ∈ E A H ).

Original: We will prove that this is the only case, i.e. it must be c 1 =
Revised: We will prove that this is the only case, i.e. it must be c 1 =

Original: χ H ( u ) =
Revised: χ H ( u ) =

Original: χ H ( v ) =
Revised: χ H ( v ) =

Original: c 2 .
Revised: c 2 .

Original: By Definition C.34, {{ ( u, c 1 ) , ( v, c 2 ) }} ∈ E H A implies that there exists two nodes x ′ ∈ f − 1 H ( u, c 1 ) and w ′ ∈
Revised: By Definition C.34, {{ ( u, c 1 ) , ( v, c 2 ) }} ∈ E H A implies that there exists two nodes x ′ ∈ f − 1 H ( u, c 1 ) and w ′ ∈

Original: f − 1 H ( v, c 2 ) , such that { w ′ , x ′ } ∈ E H .
Revised: f − 1 H ( v, c 2 ) , such that { w ′ , x ′ } ∈ E H .

Original: Pick w ∈ χ − 1 G ( c 2 ) .
Revised: Pick w ∈ χ − 1 G ( c 2 ) .

Original: By Lemma C.42, D H, = ( w ′ , c 1 ) ∩
Revised: By Lemma C.42, D H, = ( w ′ , c 1 ) ∩

Original: D G, ̸ = ( w, c 1 ) = ∅ .
Revised: D G, ̸ = ( w, c 1 ) = ∅ .

Original: Since w ′ and w have the same color under SPD-WL,
Revised: Since w ′ and w have the same color under SPD-WL,

Original: D H, = ( w ′ , c 1 ) ∪ D H,
Revised: D H, = ( w ′ , c 1 ) ∪ D H,

Original: ̸ = ( w ′ , c 1 )
Revised: ̸ = ( w ′ , c 1 )

Original: =
Revised: =

Original: D G, =
Revised: D G, =

Original: ( w, c 1 ) ∪ D G,
Revised: ( w, c 1 ) ∪ D G,

Original: ̸ = ( w, c 1 ) .
Revised: ̸ = ( w, c 1 ) .

Original: By Lemma C.41, |D H, = ( w ′ , c 1 ) | =
Revised: By Lemma C.41, |D H, = ( w ′ , c 1 ) | =

Original: |D H, ̸ = ( w ′ , c 1 ) | =
Revised: |D H, ̸ = ( w ′ , c 1 ) | =

Original: |D G, = ( w, c 1 ) | = |D G,
Revised: |D G, = ( w, c 1 ) | = |D G,

Original: ̸ = ( w, c 1 ) | .
Revised: ̸ = ( w, c 1 ) | .

Original: Therefore,
Revised: Therefore,

Original: D G, ̸ = ( w, c 1 ) =
Revised: D G, ̸ = ( w, c 1 ) =

Original: D H, ̸ = ( w ′ , c 1 ) .
Revised: D H, ̸ = ( w ′ , c 1 ) .

Original: We claim that all elements in the set D G, ̸ = ( w, c 1 ) are the same.
Revised: We claim that all elements in the set D G, ̸ = ( w, c 1 ) are the same.

Original: This is because for any x ∈ χ − 1 G ( c 1 ) , h G ( x ) ̸ = h G ( w ) , we have dis G ( w, x ) =
Revised: This is because for any x ∈ χ − 1 G ( c 1 ) , h G ( x ) ̸ = h G ( w ) , we have dis G ( w, x ) =

Original: dis G ( w, h ( w ))
Revised: dis G ( w, h ( w ))

Original: + 

Revised: +

Original: + dis G ( h ( x ) , x ) , and by Corollary C.39 dis G ( w, h ( w ))
Revised: + dis G ( h ( x ) , x ) , and by Corollary C.39 dis G ( w, h ( w ))

Original: (or dis G ( h ( x ) , x ) ) has an equal value for different x .
Revised: (or dis G ( h ( x ) , x ) ) has an equal value for different x .

Original: Since { w ′ , x ′ } ∈ E H , we have 1 ∈ D H,
Revised: Since { w ′ , x ′ } ∈ E H , we have 1 ∈ D H,

Original: ̸ = ( w ′ , c 1 ) and thus all elements in D G,
Revised: ̸ = ( w ′ , c 1 ) and thus all elements in D G,

Original: ̸ = ( w, c 1 ) equals 1.
Revised: ̸ = ( w, c 1 ) equals 1.

Original: Therefore, c 1 = χ G ( u ) .
Revised: Therefore, c 1 = χ G ( u ) .

Original: Analogously, c 2 = χ G ( u ) .
Revised: Analogously, c 2 = χ G ( u ) .

Original: Therefore, c 1 = χ H ( u ) =
Revised: Therefore, c 1 = χ H ( u ) =

Original: χ H ( v ) =
Revised: χ H ( v ) =

Original: c 2 .
Revised: c 2 .

Original: Let S u
Revised: Let S u

Original: = { w ∈ V : h H ( w ) = u } and S v = { w ∈ V : h H ( w )
Revised: = { w ∈ V : h H ( w ) = u } and S v = { w ∈ V : h H ( w )

Original: = v } .
Revised: = v } .

Original: Then the above argument implies that if w ∈ S u , x ∈ S v and { w, x } ∈ E G , then { w, x } = { u, v } .
Revised: Then the above argument implies that if w ∈ S u , x ∈ S v and { w, x } ∈ E G , then { w, x } = { u, v } .

Original: Therefore { u, v } is a cut edge of graph H .
Revised: Therefore { u, v } is a cut edge of graph H .

Original: C.4. T HE GENERAL CASE
Revised: C.4. T HE GENERAL CASE

Original: The above proof assumes that the graphs G and H are both connected, and their graph representations are euqal, i.e. {{ χ G ( w ) : w ∈ V}} = {{ χ H ( w ) : w ∈ V}} .
Revised: The above proof assumes that the graphs G and H are both connected, and their graph representations are euqal, i.e. {{ χ G ( w ) : w ∈ V}} = {{ χ H ( w ) : w ∈ V}} .

Original: In the subsequent proof we remove these assumptions and prove the general setting.
Revised: In the subsequent proof we remove these assumptions and prove the general setting.

Original: Lemma C.43.
Revised: Lemma C.43.

Original: Either of the following two properties holds:
Revised: Either of the following two properties holds:

Original: • {{ χ G ( w ) : w ∈ V}} = {{ χ H ( w ) : w ∈ V}} ; • {{ χ G ( w ) : w ∈ V}} ∩ {{ χ H ( w ) : w ∈ V}} = ∅ .
Revised: • {{ χ G ( w ) : w ∈ V}} = {{ χ H ( w ) : w ∈ V}} ; • {{ χ G ( w ) : w ∈ V}} ∩ {{ χ H ( w ) : w ∈ V}} = ∅ .

Original: Proof.
Revised: Proof.

Original: Consider the GD-WL procedure defined in Algorithm 4 with arbitrary distance function d G .
Revised: Consider the GD-WL procedure defined in Algorithm 4 with arbitrary distance function d G .

Original: Suppose at iteration t ≥ T , {{ χ tG ( w ) : w ∈ V}} ̸
Revised: Suppose at iteration t ≥ T , {{ χ tG ( w ) : w ∈ V}} ̸

Original: = {{ χ tH ( w ) : w ∈ V}} .
Revised: = {{ χ tH ( w ) : w ∈ V}} .

Original: Then at iteration t + 1 , we have for each v ∈ V ,
Revised: Then at iteration t + 1 , we have for each v ∈ V ,

Original: [Equation]
Revised: [Equation]

Original: u )) : u ∈ V}} (cid:1) .
Revised: )) : u ∈ V}} (cid:1) .

Original: Therefore, χ t +1 G ( v ) ̸
Revised: Therefore, χ t +1 G ( v ) ̸

Original: = χ t +1 G ( u ) for all u, v ∈ V , namely
Revised: = χ t +1 G ( u ) for all u, v ∈ V , namely

Original: [Equation]
Revised: [Equation]

Original: Finally, by the injective property of the hash function, for any t ≥ T + 1 , the above equation always holds.
Revised: Finally, by the injective property of the hash function, for any t ≥ T + 1 , the above equation always holds.

Original: Therefore, the stable color mappings χ G and χ H satisfy Lemma C.43.
Revised: Therefore, the stable color mappings χ G and χ H satisfy Lemma C.43.

Original: The above lemma implies that if there exists edges { w 1 , w 2 } ∈ E G , { x 1 , x 2 } ∈ E H satisfying {{ χ G ( w 1 ) , χ G ( w 2 ) }} = {{ χ H ( x 1 ) , χ H ( x 2 ) }} , then {{ χ G ( w ) : w ∈ V}} = {{ χ H ( w ) : w ∈ V}} .
Revised: The above lemma implies that if there exists edges { w 1 , w 2 } ∈ E G , { x 1 , x 2 } ∈ E H satisfying {{ χ G ( w 1 ) , χ G ( w 2 ) }} = {{ χ H ( x 1 ) , χ H ( x 2 ) }} , then {{ χ G ( w ) : w ∈ V}} = {{ χ H ( w ) : w ∈ V}} .

Original: Also, SPD-WL ensures that both graphs are either connected or disconnected.
Revised: Also, SPD-WL ensures that both graphs are either connected or disconnected.

Original: If they are both connected, the previous proof (Appendices C.4.1 and C.4.2) ensures that { w 1 , w 2 } is a cut edge of G if and only if { x 1 , x 2 } is a cut edge of H .
Revised: If they are both connected, the previous proof (Appendices C.4.1 and C.4.2) ensures that { w 1 , w 2 } is a cut edge of G if and only if { x 1 , x 2 } is a cut edge of H .

Original: For the disconnected case, let S G ⊂ V be the largest connected component containing nodes w 1 , w 2 , and similarly denote S H ⊂ V as the largest connected component containing nodes x 1 , x 2 .
Revised: For the disconnected case, let S G ⊂ V be the largest connected component containing nodes w 1 , w 2 , and similarly denote S H ⊂ V as the largest connected component containing nodes x 1 , x 2 .

Original: Obviously, |S G | =
Revised: Obviously, |S G | =

Original: |S H | due to the facts that dis G ( w 1 , y ) =
Revised: |S H | due to the facts that dis G ( w 1 , y ) =

Original: ∞ ̸ = dis G ( w 1 , y ′ ) for all y / ∈ S G , y ∈ S G and that the two edges { w 1 , w 2 } ∈ E G , { x 1 , x 2 } have the same color under SPD-WL.
Revised: ∞ ̸ = dis G ( w 1 , y ′ ) for all y / ∈ S G , y ∈ S G and that the two edges { w 1 , w 2 } ∈ E G , { x 1 , x 2 } have the same color under SPD-WL.

Original: Moreover, {{ χ G ( w ) : w ∈ S G }} = {{ χ H ( w ) : w ∈ S H }} .
Revised: Moreover, {{ χ G ( w ) : w ∈ S G }} = {{ χ H ( w ) : w ∈ S H }} .

Original: Now consider re-execute the SPD-WL algorithm on subgraphs G [ S G ] and H [ S H ] induced by the vertices in set S G and S H , respectively.
Revised: Now consider re-execute the SPD-WL algorithm on subgraphs G [ S G ] and H [ S H ] induced by the vertices in set S G and S H , respectively.

Original: It follows that for any u G ∈ S G and u H ∈ S H , χ G ( u G ) =
Revised: It follows that for any u G ∈ S G and u H ∈ S H , χ G ( u G ) =

Original: χ H ( u H ) implies that χ G [ S G ] ( u G ) =
Revised: χ H ( u H ) implies that χ G [ S G ] ( u G ) =

Original: χ H [ S H ] ( u H ) .
Revised: χ H [ S H ] ( u H ) .

Original: Therefore, { w 1 , w 2 } is a cut edge of G [ S G ] if and only if { x 1 , x 2 } is a cut edge of H [ S H ] .
Revised: Therefore, { w 1 , w 2 } is a cut edge of G [ S G ] if and only if { x 1 , x 2 } is a cut edge of H [ S H ] .

Original: By the dinifition of S G and S H , { w 1 , w 2 } is a cut edge of G if and only if { x 1 , x 2 } is a cut edge of H .
Revised: By the dinifition of S G and S H , { w 1 , w 2 } is a cut edge of G if and only if { x 1 , x 2 } is a cut edge of H .

Original: It remains to prove that {{ χ G ( w ) : w ∈ V}} = {{ χ H ( w ) : w ∈ V}} implies BCETree( G ) ≃
Revised: It remains to prove that {{ χ G ( w ) : w ∈ V}} = {{ χ H ( w ) : w ∈ V}} implies BCETree( G ) ≃

Original: BCETree( H ) .
Revised: BCETree( H ) .

Original: By definition of the block cut-edge tree, each cut edge of G corresponds to a tree edge in BCETree( G ) and each biconnected component of G corresponds to a node of
Revised: By definition of the block cut-edge tree, each cut edge of G corresponds to a tree edge in BCETree( G ) and each biconnected component of G corresponds to a node of

Original: BCETree( G ) .
Revised: BCETree( G ) .

Original: We still only focus on the case of connected graphs G, H , and it is straightforward to extend the proof to the general (disconnected) case using a similar technique as the previous paragraph.
Revised: We still only focus on the case of connected graphs G, H , and it is straightforward to extend the proof to the general (disconnected) case using a similar technique as the previous paragraph.

Original: Given a fixed SPD-WL graph representation R , consider any graphs G =
Revised: Given a fixed SPD-WL graph representation R , consider any graphs G =

Original: ( V , E G ) satisfying {{ χ G ( w ) : w ∈ V}} =
Revised: ( V , E G ) satisfying {{ χ G ( w ) : w ∈ V}} =

Original: R .
Revised: R .

Original: Since we have proved that the SPD-WL node feature χ G ( v ) , v ∈ V precisely locates all the cut edges, the multiset[Equation] a
Revised: Since we have proved that the SPD-WL node feature χ G ( v ) , v ∈ V precisely locates all the cut edges, the multiset

Original: [Equation]
Revised: [Equation]

Original: }} is fixed (fully determined by R , not G ).
Revised: } is fixed (fully determined by R , not G ).

Original: Denote C V :=
Revised: Denote C V :=

Original: (cid:83) { c 1 ,c 2 }∈C E { c 1 , c 2 } as the set that contains the color of endpoints of all cut edges.
Revised: (cid:83) { c 1 ,c 2 }∈C E { c 1 , c 2 } as the set that contains the color of endpoints of all cut edges.

Original: For each cut edge { u, v } ∈ E G , denote S G,u and S G,v be the vertex partition corresponding to the two connected components after removing the edge { u, v } , satisfying u ∈ S G,u , v ∈ S G,v , S G,u ∩ S G,v = ∅ , S G,u ∪ S G,v = V .
Revised: For each cut edge { u, v } ∈ E G , denote S G,u and S G,v be the vertex partition corresponding to the two connected components after removing the edge { u, v } , satisfying u ∈ S G,u , v ∈ S G,v , S G,u ∩ S G,v = ∅ , S G,u ∪ S G,v = V .

Original: It suffices to prove that given a cut edge { u, v } ∈ E G with color { χ G ( u ) , χ G ( v ) } , the multiset {{ χ G ( w ) : w ∈ S G,u , χ G ( w ) ∈
Revised: It suffices to prove that given a cut edge { u, v } ∈ E G with color { χ G ( u ) , χ G ( v ) } , the multiset {{ χ G ( w ) : w ∈ S G,u , χ G ( w ) ∈

Original: C V }} can be determined purely based on R and the edge color {{ χ G ( u ) ,
Revised: C V }} can be determined purely based on R and the edge color {{ χ G ( u ) ,

Original: χ G ( v ) }} , rather than the specific graph G or edge { u, v } .
Revised: χ G ( v ) }} , rather than the specific graph G or edge { u, v } .

Original: This basically concludes the proof, since the BCETree can be uniquely constructed as follows: if {{ χ G ( w ) : w ∈ S G,u , χ G ( w ) ∈ C V }} = {{ χ G ( u ) }} (i.e. with only one element), then {{ χ G ( u ) , χ G ( v ) }} is a leaf edge of the BCETree such that χ G ( u ) connects to a biconnected component that is a leaf of the BCETree.
Revised: This basically concludes the proof, since the BCETree can be uniquely constructed as follows: if {{ χ G ( w ) : w ∈ S G,u , χ G ( w ) ∈ C V }} = {{ χ G ( u ) }} (i.e. with only one element), then {{ χ G ( u ) , χ G ( v ) }} is a leaf edge of the BCETree such that χ G ( u ) connects to a biconnected component that is a leaf of the BCETree.

Original: After finding all the leaf edges, we can then find the BCETree edges that connect to leaf edges and determine which leaf edges they connect.
Revised: After finding all the leaf edges, we can then find the BCETree edges that connect to leaf edges and determine which leaf edges they connect.

Original: The procedure can be recursively executed until the full BCETree is constructed.
Revised: The procedure can be recursively executed until the full BCETree is constructed.

Original: The whole procedure does not depend on the specific graph G and only depends on R .
Revised: The whole procedure does not depend on the specific graph G and only depends on R .

Original: We now show how to determine {{ χ G ( w ) : w ∈ S G,u , χ G ( w ) ∈
Revised: We now show how to determine {{ χ G ( w ) : w ∈ S G,u , χ G ( w ) ∈

Original: C V }} given a cut edge { u, v } ∈ E G with color { χ G ( u ) , χ G ( v ) } .
Revised: C V }} given a cut edge { u, v } ∈ E G with color { χ G ( u ) , χ G ( v ) } .

Original: Define the multiset
Revised: Define the multiset

Original: [Equation]
Revised: [Equation]

Original: can be picked arbitrarily)
Revised: can be picked arbitrarily)

Original: Note that D ( c 1 , c 2 ) is well-defined (does not depend on w ) by definition of the SPD-WL color.
Revised: Note that D ( c 1 , c 2 ) is well-defined (does not depend on w ) by definition of the SPD-WL color.

Original: For any c u , c v ∈ C E , pick arbitrary cut edge { u, v } with color χ G ( u ) =
Revised: For any c u , c v ∈ C E , pick arbitrary cut edge { u, v } with color χ G ( u ) =

Original: c u , χ G ( v ) =
Revised: c u , χ G ( v ) =

Original: c v .
Revised: c v .

Original: Define
Revised: Define

Original: T ( c u , c 
Revised: T ( c u , c v ) = (cid:91) c ∈C V { [Equation] D

Original: [Equation]
Revised: [Equation]

Original: = (cid:91) c
Revised: D

Original: [Equation]
Revised: [Equation]

Original: (13) where {{ c }} × m denotes a multiset with m repeated elements c , and D ( c u , c ) + 1 := {{ d + 1 : d ∈ D ( c u , c ) }} .
Revised: (13) where {{ c }} × m denotes a multiset with m repeated elements c , and D ( c u , c ) + 1 := {{ d + 1 : d ∈ D ( c u , c ) }} .

Original: Intuitively speaking, T ( c u , c v ) corresponds to the color of all nodes w ∈ V such that dis G ( u, w ) + 1 =
Revised: Intuitively speaking, T ( c u , c v ) corresponds to the color of all nodes w ∈ V such that dis G ( u, w ) + 1 =

Original: dis G ( v, w ) and χ G ( w ) ∈ C V .
Revised: dis G ( v, w ) and χ G ( w ) ∈ C V .

Original: Therefore, T ( c u , c v ) is exactly the multiset {{ χ G ( w ) : w ∈ S G,u ,
Revised: Therefore, T ( c u , c v ) is exactly the multiset {{ χ G ( w ) : w ∈ S G,u ,

Original: χ G ( w )
Revised: χ G ( w )

Original: ∈ C V }}
Revised: ∈ C V }}

Original: and we have completed the proof.
Revised: and we have completed the proof.

Original: C. P ROOF OF T HEOREM 4. 
Revised: C. P ROOF OF T HEOREM 4.

Original: Theorem C.44.
Revised: Theorem C.44.

Original: Let G =
Revised: Let G =

Original: ( V , E G ) and H =
Revised: ( V , E G ) and H =

Original: ( V , E H ) be two graphs, and let χ G and χ H be the corresponding RD-WL color mapping.
Revised: ( V , E H ) be two graphs, and let χ G and χ H be the corresponding RD-WL color mapping.

Original: Then the following holds
Revised: Then the following holds

Original: : • For any two nodes w ∈ V in G and x ∈ V in H , if χ G ( w ) =
Revised: : • For any two nodes w ∈ V in G and x ∈ V in H , if χ G ( w ) =

Original: χ H ( x ) , then w is a cut vertex of G if and only if x is a cut vertex of H .
Revised: χ H ( x ) , then w is a cut vertex of G if and only if x is a cut vertex of H .

Original: • If the graph representations of G and H are the same under RD-WL, then their block cut-vertex trees (Definition 2.4) are isomorphic.
Revised: • If the graph representations of G and H are the same under RD-WL, then their block cut-vertex trees (Definition 2.4) are isomorphic.

Original: Mathematically, {{ χ G ( w ) : w ∈ V}} = {{ χ H ( w ) : w ∈ V}} implies that BCVTree( G ) ≃ BCVTree( H ) .
Revised: Mathematically, {{ χ G ( w ) : w ∈ V}} = {{ χ H ( w ) : w ∈ V}} implies that BCVTree( G ) ≃ BCVTree( H ) .

Original: Proof Sketch.
Revised: Proof Sketch.

Original: First observe that Lemma C.43 holds for general distances and thus applies here.
Revised: First observe that Lemma C.43 holds for general distances and thus applies here.

Original: Therefore, if χ G ( w ) =
Revised: Therefore, if χ G ( w ) =

Original: χ H ( x ) , the graph representations will be the same, i.e. {{ χ G ( w ) : w ∈
Revised: χ H ( x ) , the graph representations will be the same, i.e. {{ χ G ( w ) : w ∈

Original: V}} = {{ χ H ( w ) : w ∈ V}} .
Revised: V}} = {{ χ H ( w ) : w ∈ V}} .

Original: By a similar analysis as SPD-WL (Appendix C.4.3), we can only focus on the case that both graphs are connected.
Revised: By a similar analysis as SPD-WL (Appendix C.4.3), we can only focus on the case that both graphs are connected.

Original: We prove the first bullet of Theorem 4.2 in
Revised: We prove the first bullet of Theorem 4.2 in

Original: Appendix C.5.1 and prove the second bullet in Appendix C.5.2, both assuming that G and H are connected and their graph representations are the same.
Revised: Appendix C.5.1 and prove the second bullet in Appendix C.5.2, both assuming that G and H are connected and their graph representations are the same.

Original: C.5. P ROOF OF THE FIRST PART
Revised: C.5. P ROOF OF THE FIRST PART

Original: We first present a key property of the Resistance Distance, which surprisingly relates to the cut vertices in a graph.
Revised: We first present a key property of the Resistance Distance, which surprisingly relates to the cut vertices in a graph.

Original: Lemma C.45.
Revised: Lemma C.45.

Original: Let G =
Revised: Let G =

Original: ( V , E ) be a connected graph and v ∈ V .
Revised: ( V , E ) be a connected graph and v ∈ V .

Original: Then v is a cut vertex of G if and only if there exists two nodes u, w ∈ V , u ̸ = v , w ̸ = v , such that dis R G ( u, v ) + dis R G ( v, w ) =
Revised: Then v is a cut vertex of G if and only if there exists two nodes u, w ∈ V , u ̸ = v , w ̸ = v , such that dis R G ( u, v ) + dis R G ( v, w ) =

Original: dis R G ( u, w ) .
Revised: dis R G ( u, w ) .

Original: Proof.
Revised: Proof.

Original: We use the key finding that the Resistance Distance is equivalent to the Commute Time Distance multiplied by a constant (Chandra et al., 1996, see also Appendix E.2), i.e. dis C G ( u, w )
Revised: We use the key finding that the Resistance Distance is equivalent to the Commute Time Distance multiplied by a constant (Chandra et al., 1996, see also Appendix E.2), i.e. dis C G ( u, w )

Original: = 

Revised: =

Original: |E| dis
Revised: |E| dis

Original: R G ( u, w ) .
Revised: R G ( u, w ) .

Original: Here the Commute Time Distance is defined as dis C G ( u, w ) :
Revised: Here, the Commute Time Distance is defined as dis C G ( u, w ) :

Original: = h G ( u, w ) + h G ( w, u ) where h G ( u, w ) is the average hitting time from u to w in a random walk (Appendix E.2).
Revised: = h G ( u, w ) + h G ( w, u ) where h G ( u, w ) is the average hitting time from u to w in a random walk (Appendix E.2).

Original: • If v is not a cut vertex, given any nodes u, w , u ̸ = v , w ̸ = v , we can partition the set of all hitting paths P uw from u to w (not necessarily simple) into two sets P 1 uw and P 2 uw such that all paths P ∈ P 1 uw contain v and no path P ∈ P 2 uw contains v .
Revised: • If v is not a cut vertex, given any nodes u, w , u ̸ = v , w ̸ = v , we can partition the set of all hitting paths P uw from u to w (not necessarily simple) into two sets P vuw and P vuw such that all paths P ∈ P vuw contain v and no path P ∈ P vuw contains v .

Original: Clearly, P 1 uw ̸ = ∅ and P 2 uw ̸ = ∅ .
Revised: Clearly, P vuw ̸ = ∅ and P vuw ̸ = ∅ .

Original: Given a path P = ( x 0 , · · · , x m ) , define the probability function q ( P ) := 1 / (cid:81) m − 1 i =

Revised: Given a path P = ( x 0 , · · · , x m ) , define the probability function q ( P ) := 1 / (cid:81) m − 1 i =

Original: deg G ( x i ) .
Revised: deg G ( x i ) .

Original: Then by definitions of the average hitting time h ,
Revised: Then by definitions of the average hitting time h ,

Original: [Equation]
Revised: [Equation]

Revised: We can similarly prove that h G ( w, u ) < h G ( w, v ) + h G ( v, u ) .

Original: • If v is a cut vertex, then there exists two different nodes u, w ∈ V , u ̸ = v , w ̸ = v , such that any path from u to w goes through v .
Revised: • If v is a cut vertex, then there exists two different nodes u, w ∈ V , u ̸ = v , w ̸ = v , such that any path from u to w goes through v .

Original: A similar analysis yields the conclusion that 
Revised: A similar analysis yields the conclusion that h G

Original: [Equation]
Revised: [Equation]

Revised: u

Revised: [Equation]

Original: This
Revised: u [Equation] w [Equation]

Revised: h G

Revised: [Equation]

Revised: w

Revised: [Equation]

Original: completes the proof
Revised: u [Equation] w [Equation]

Original: of
Revised: h G [Equation] v

Original:  Lemma C.45.
Revised: [Equation] u [Equation] This completes the proof of Lemma C.45.

Original: In the subsequent proof, assume u ∈ V is a cut vertex of G , and let {S i } mi =1 ( m ≥ 2 ) be the partition of the vertex set V\{ u } , representing each connected component after removing node u .
Revised: In the subsequent proof, assume u ∈ V is a cut vertex of G , and let {S i } mi =1 ( m ≥ 2 ) be the partition of the vertex set V\{ u } , representing each connected component after removing node u .

Original: We have the following lemma (which has a similar form as Lemma C.27):
Revised: We have the following lemma (which has a similar form as Lemma C.27):

Original: Lemma C.46.
Revised: Lemma C.46.

Original: There is at most one set S
Revised: There is at most one set S

Original: i satisfying S i ∩ χ − 1 G ( χ G ( u ))
Revised: i satisfying S i ∩ χ − 1 G ( χ G ( u ))

Original: ̸
Revised: ̸

Original: = ∅ .
Revised: = ∅ .

Original: In other words, if
Revised: In other words, if

Original: S i ∩ χ − 1 G ( χ G ( u )) ̸
Revised: S i ∩ χ − 1 G ( χ G ( u )) ̸

Original: = ∅ for some i ∈ [ m ] , then for any j ∈ [ m ] and j ̸
Revised: = ∅ for some i ∈ [ m ] , then for any j ∈ [ m ] and j ̸

Original: = i , S j ∩ χ − 1 G ( χ G ( u )) = ∅ .
Revised: = i , S j ∩ χ − 1 G ( χ G ( u )) = ∅ .

Original: Proof.
Revised: Proof.

Original: Let u i = arg max u ′ ∈
Revised: Let u i = arg max u ′ ∈

Original: χ − 1 G ( χ G ( u ))
Revised: χ − 1 G ( χ G ( u ))

Original: dis R G ( u, u ′ ) .
Revised: dis R G ( u, u ′ ) .

Original: If u i = u , then S i ∩ χ − 1 G ( χ G ( u ))
Revised: If u i = u , then S i ∩ χ − 1 G ( χ G ( u ))

Original: = ∅ for all i ∈ [ m ] and thus Lemma C.46 clearly holds.
Revised: = ∅ for all i ∈ [ m ] and thus Lemma C.46 clearly holds.

Original: Otherwise, u i ∈ S i for some i .
Revised: Otherwise, u i ∈ S i for some i .

Original: We will prove that for any j ̸
Revised: We will prove that for any j ̸

Original: = i , S j ∩ χ − 1 G ( χ G ( u )) = ∅ .
Revised: = i , S j ∩ χ − 1 G ( χ G ( u )) = ∅ .

Original: If the above conclusion does not holds, then we can pick a set S j and a vertex
Revised: If the above conclusion does not holds, then we can pick a set S j and a vertex

Original: u j ∈ S j ∩ χ − 1 G ( χ G ( u )) .
Revised: u j ∈ S j ∩ χ − 1 G ( χ G ( u )) .

Original: Since u is a cut vertex and S i , S j are different connected components, by Lemma C.45 we have dis R G ( u i , u j ) =
Revised: Since u is a cut vertex and S i , S j are different connected components, by Lemma C.45 we have dis R G ( u i , u j ) =

Original: dis R G ( u i , u ) + dis R G ( u, u j ) >
Revised: dis R G ( u i , u ) + dis R G ( u, u j ) >

Original: dis R G ( u i , u ) .
Revised: dis R G ( u i , u ) .

Original: This yields a contradiction because max u ′ ∈
Revised: This yields a contradiction because max u ′ ∈

Original: χ − 1 G ( χ G ( u ))
Revised: χ − 1 G ( χ G ( u ))

Original: dis R G ( u, u ′ )
Revised: dis R G ( u, u ′ )

Original: ̸
Revised: ̸

Original: = max [Equation]
Revised: = max u ′ ∈

Original: [Equation] − 1 G [Equation] χ G ( u i ))
Revised: χ − 1 G ( χ G ( u i ))

Original: dis R G ( u i , u ′ ) , which means that u and u i cannot have the same RD-WL color.
Revised: dis R G ( u i , u ′ ) , which means that u and u i cannot have the same RD-WL color.

Original: The next lemma presents a key result which is similar to Corollary C.30.
Revised: The next lemma presents a key result which is similar to Corollary C.30.

Original: Lemma C.47.
Revised: Lemma C.47.

Original: For all u ′ ∈ χ − 1 G ( χ G ( u )) , u ′ it is a cut vertex of G .
Revised: For all u ′ ∈ χ − 1 G ( χ G ( u )) , u ′ it is a cut vertex of G .

Original: Proof.
Revised: Proof.

Original: If | χ − 1 G ( χ G ( u )) | = 1 , then Lemma C.47 clearly holds.
Revised: If | χ − 1 G ( χ G ( u )) | = 1 , then Lemma C.47 clearly holds.

Original: Otherwise, by Lemma C.46 there exists two sets S i and S j satisfying S i ∩ χ − 1 G ( χ G ( u )) ̸
Revised: Otherwise, by Lemma C.46 there exists two sets S i and S j satisfying S i ∩ χ − 1 G ( χ G ( u )) ̸

Original: = ∅ , S j ∩ χ − 1 G ( χ G ( u )) = ∅ .
Revised: = ∅ , S j ∩ χ − 1 G ( χ G ( u )) = ∅ .

Original: Since S j ̸ = ∅ , we can pick w ∈ S j with color χ G ( w ) ̸ = χ G ( u ) .
Revised: Since S j ̸ = ∅ , we can pick w ∈ S j with color χ G ( w ) ̸ = χ G ( u ) .

Original: Pick u ′ ∈ S
Revised: Pick u ′ ∈ S

Original: i ∩ χ − 1 G ( χ G ( u )) .
Revised: i ∩ χ − 1 G ( χ G ( u )) .

Original: Since χ G ( u ) = χ G ( u ′ ) , there exists a node w ′ ∈
Revised: Since χ G ( u ) = χ G ( u ′ ) , there exists a node w ′ ∈

Original: χ − 1 G ( χ G ( w )) such that dis R G ( u, w ) =
Revised: χ − 1 G ( χ G ( w )) such that dis R G ( u, w ) =

Original: dis R G ( u ′ , w ′ ) .
Revised: dis R G ( u ′ , w ′ ) .

Original: Then we have 
Revised: Then we have {{ dis R G ( w, u ′′ ) : u ′′ ∈ χ − 1 G ( χ G ( u )) }} = {{ dis R G [Equation] w, u ) +

Revised: [Equation]

Revised: G

Original: [Equation]
Revised: [Equation]

Revised: u,

Revised: [Equation]

Revised: [Equation]

Revised: u

Original: 15) where (14) holds because u is a cut vertex and all u ′′ ̸
Revised: [Equation] [Equation] [Equation] where (14) holds because u is a cut vertex and all u ′′ ̸

Original: = u are in the set S i but w ∈ S
Revised: = u are in the set S i but w ∈ S

Original: j (Lemma C.46), and (14) holds because χ G ( u ) =
Revised: j (Lemma C.46), and (15) holds because χ G ( u ) =

Original: χ G ( u ′ ) .
Revised: χ G ( u ′ ) .

Original: On the other hands, 
Revised: On the other hands, {

Original: [Equation]
Revised: [Equation]

Revised: [Equation]

Original: Therefore, dis R G ( w ′ , u ′′ ) =
Revised: Therefore, dis R G ( w ′ , u ′′ ) =

Original: dis R G ( w ′ , u ′ )
Revised: dis R G ( w ′ , u ′ )

Original: + dis R G ( u ′ , u ′′ ) for all u ′′ ∈ χ − 1 G ( χ G ( u )) .
Revised: + dis R G ( u ′ , u ′′ ) for all u ′′ ∈ χ − 1 G ( χ G ( u )) .

Original: Pick u ′′ =
Revised: Pick u ′′ =

Original: u , then clearly u ′′ ̸ = u ′ and u ′′ ̸ = w .
Revised: u , then clearly u ′′ ̸ = u ′ and u ′′ ̸ = w .

Original: Lemma C.45 shows that u ′ is a cut vertex, which concludes the proof.
Revised: Lemma C.45 shows that u ′ is a cut vertex, which concludes the proof.

Original: See Figure 10 for an illustration of the above proof.
Revised: See Figure 10 for an illustration of the above proof.

Original: [Figure]
Revised: [Equation]

Original: 𝑖𝑖 𝑢𝑢′

Original: 𝑤𝑤 𝑤𝑤′ 𝑆𝑆 𝑗𝑗

Original: Using a similar proof technique as the one in Lemma C.47, we can prove the first bullet of Theorem 4.2.
Revised: Using a similar proof technique as the one in Lemma C.47, we can prove the first bullet of Theorem 4.2.

Original: Note that we have assumed {{ χ G ( w ) : w ∈ V}} = {{ χ H ( w ) : w ∈ V}} .
Revised: Note that we have assumed {{ χ G ( w ) : w ∈ V}} = {{ χ H ( w ) : w ∈ V}} .

Original: First consider the case when | χ − 1 G ( χ G ( u )) | > 1 .
Revised: First consider the case when | χ − 1 G ( χ G ( u )) | > 1 .

Original: Pick w H ∈ χ − 1 H ( χ G ( w )) where w is defined in the above proof.
Revised: Pick w H ∈ χ − 1 H ( χ G ( w )) where w is defined in the proof of Lemma C.47.

Original: This is

Original: Then there exists u H ∈ χ − 1 H ( χ G ( u )) satisfying dis R H ( w H , u H )
Revised: Then, there exists u H ∈ χ − 1 H ( χ G ( u )) satisfying dis R H ( w H , u H )

Original: =
Revised: =

Original: dis R G ( w , u ) .
Revised: dis R G ( w , u ) .

Original: Pick another node u ′ H ∈ χ − 1 H ( χ G ( u )) , u ′ H ̸
Revised: Pick another node u ′ H ∈ χ − 1 H ( χ G ( u )) , u ′ H ̸

Original: = u H (this is feasible as | χ − 1 H ( χ G ( u )) | > 1 ).
Revised: = u H (this is feasible as | χ − 1 H ( χ G ( u )) | > 1 ).

Original: Following the procedure of the above proof, we can obtain that dis R H ( w H , u ′′ ) =
Revised: Following the procedure of the above proof, we can obtain that dis R H ( w H , u ′′ ) =

Original: dis R H ( w H , u H )
Revised: dis R H ( w H , u H )

Original: +dis R H ( u H , u ′′ ) for all u ′′ ∈
Revised: +dis R H ( u H , u ′′ ) for all u ′′ ∈

Original: χ − 1 H ( χ G ( u )) .
Revised: χ − 1 H ( χ G ( u )) .

Original: Therefore, dis R H ( w H , u ′ H ) =
Revised: Therefore, dis R H ( w H , u ′ H ) =

Original: dis R H ( w H , u H )
Revised: dis R H ( w H , u H )

Original: + dis R H ( u H , u ′ H ) , implying u H is a cut vertex of H by Lemma C.45.
Revised: + dis R H ( u H , u ′ H ) , implying u H is a cut vertex of H by Lemma C.45.

Original: Now consider the case when | χ − 1 G ( χ G ( u )) | = 1 .
Revised: Now consider the case when | χ − 1 G ( χ G ( u )) | = 1 .

Original: Then | χ − 1 H ( χ G ( u )) | = 

Revised: Then | χ − 1 H ( χ G ( u )) | =

Original: and we can denote the node in χ − 1 H ( χ G ( u )) as u without abuse of notation.
Revised: and we can denote the node in χ − 1 H ( χ G ( u )) as u without abuse of notation.

Original: Choose arbitrary two nodes w 1 ∈ S 1 and w 2 ∈
Revised: Choose arbitrary two nodes w 1 ∈ S 1 and w 2 ∈

Original: S 2 , then dis R G ( w 1 , u ) + dis R G ( u, w 2 )
Revised: S 2 , then dis R G ( w 1 , u ) + dis R G ( u, w 2 )

Original: =
Revised: =

Original: dis R G ( w 1 , w 2 ) (Lemma C.45).
Revised: dis R G ( w 1 , w 2 ) (Lemma C.45).

Original: Pick any w ′ 1 ∈ χ − 1 H ( χ G ( w 1 )) in H , then there exists a node w ′ 2 ∈ χ − 1 H ( χ G ( w 2 )) satisfying dis R G ( w 1 , w 2 ) =
Revised: Pick any w ′ 1 ∈ χ − 1 H ( χ G ( w 1 )) in H , then there exists a node w ′ 2 ∈ χ − 1 H ( χ G ( w 2 )) satisfying dis R G ( w 1 , w 2 ) =

Original: dis R H ( w ′ 1 , w ′ 2 ) .
Revised: dis R H ( w ′ 1 , w ′ 2 ) .

Original: We also have dis R H ( w ′ 1 , u ) =
Revised: We also have dis R H ( w ′ 1 , u ) =

Original: dis R G ( w 1 , u ) and dis R H ( w ′ 2 , u ) =
Revised: dis R G ( w 1 , u ) and dis R H ( w ′ 2 , u ) =

Original: dis R G ( w 2 , u ) because u is the unique node with color χ G ( u ) in H .
Revised: dis R G ( w 2 , u ) because u is the unique node with color χ G ( u ) in H .

Original: Therefore, dis R H ( w ′ 1 , u )+dis R H ( u, w ′ 2 ) =
Revised: Therefore, dis R H ( w ′ 1 , u )+dis R H ( u, w ′ 2 ) =

Original: dis R H ( w ′ 1 , w ′ 2 ) and u is a cut vertex in H (Lemma C.45).
Revised: dis R H ( w ′ 1 , w ′ 2 ) and u is a cut vertex in H (Lemma C.45).

Original: C.5. P ROOF OF THE SECOND PART
Revised: C.5. P ROOF OF THE SECOND PART

Original: We first introduce some notations.
Revised: We first introduce some notations.

Original: As before, we assume G and H are connected and {{ χ G ( w ) : w ∈ V}} = {{ χ H ( w ) : w ∈ V}} .
Revised: As before, we assume G and H are connected and {{ χ G ( w ) : w ∈ V}} = {{ χ H ( w ) : w ∈ V}} .

Original: As we will consider multiple cut vertices in the following proof, we adopt the notation {S G,i ( u ) } m G ( u ) i = , which represents the set of connected components of graph G after removing node u .
Revised: As we will consider multiple cut vertices in the following proof, we adopt the notation {S G,i ( u ) } m G ( u ) i = , which represents the set of connected components of graph G after removing node u .

Original: Here, m G ( u ) is the number of connected components after removing node u , which is greater than 1 if u is a cut vertex.
Revised: Here, m G ( u ) is the number of connected components after removing node u , which is greater than 1 if u is a cut vertex.

Original: It follows that (cid:83) m G ( u ) i =
Revised: It follows that (cid:83) m G ( u ) i =

Original: S G,i ( u ) = V\{ u } .
Revised: S G,i ( u ) = V\{ u } .

Original: We further define the index set M G ( u ) :
Revised: We further define the index set M G ( u ) :

Original: = { i ∈ [ m G ( u )] : S G,i ( u ) ∩ χ − 1 G ( χ G ( u )) = ∅} .
Revised: = { i ∈ [ m G ( u )] : S G,i ( u ) ∩ χ − 1 G ( χ G ( u )) = ∅} .

Original: By Lemma C.46, either |M G ( u ) |
Revised: By Lemma C.46, either |M G ( u ) |

Original: = m G ( u ) − 1 or |M G ( u ) |
Revised: = m G ( u ) − 1 or |M G ( u ) |

Original: = m G ( u ) .
Revised: = m G ( u ) .

Original: Lemma C.48.
Revised: Lemma C.48.

Original: Let u ∈ V be a cut vertex of G .
Revised: Let u ∈ V be a cut vertex of G .

Original: Let u ′ ∈
Revised: Let u ′ ∈

Original: χ − 1 H ( χ G ( u )) , then u ′ is also a cut vertex of H .
Revised: χ − 1 H ( χ G ( u )) , then u ′ is also a cut vertex of H .

Original: Let i ∈ [ m G ( u )] and j ∈ [ m H ( u ′ )] be two indices and pick nodes w ∈ S G,i ( u ) and w ′ ∈ S H,j ( u ′ ) .
Revised: Let i ∈ [ m G ( u )] and j ∈ [ m H ( u ′ )] be two indices and pick nodes w ∈ S G,i ( u ) and w ′ ∈ S H,j ( u ′ ) .

Original: Assume w and w ′ have the same color,
Revised: Assume w and w ′ have the same color,

Original: i.e. χ G ( w ) = χ H ( w ′ ) .
Revised: i.e. χ G ( w ) = χ H ( w ′ ) .

Original: Then the following holds:
Revised: Then the following holds:

Original: • If i ∈ M G ( u ) and j ∈ M H ( u ′ ) , then dis R G ( w, u ) =
Revised: • If i ∈ M G ( u ) and j ∈ M H ( u ′ ) , then dis R G ( w, u ) =

Original: dis R H ( w ′ , u ′ ) .
Revised: dis R H ( w ′ , u ′ ) .

Original: • If i ∈ M G ( u ) and j / ∈ M H ( u ′ ) , then dis R G ( w, u ) <
Revised: • If i ∈ M G ( u ) and j / ∈ M H ( u ′ ) , then dis R G ( w, u ) <

Original: dis R H ( w ′ , u ′ ) .
Revised: dis R H ( w ′ , u ′ ) .

Original: Proof.
Revised: Proof.

Original: Proof of the first bullet: since i ∈ M G ( u ) , any path from w to a node u G ∈ χ − 1 G ( χ G ( u )) goes through the cut vertex u , implying min u G ∈ χ − 1 G ( χ G ( u ))
Revised: Proof of the first bullet: since i ∈ M G ( u ) , any path from w to a node u G ∈ χ − 1 G ( χ G ( u )) goes through the cut vertex u , implying min u G ∈ χ − 1 G ( χ G ( u ))

Original: dis R G ( w, u G ) =
Revised: dis R G ( w, u G ) =

Original: dis R G ( w, u ) .
Revised: dis R G ( w, u ) .

Original: Similarly, since j ∈ M H ( u ′ ) , min u H ∈ χ − 1 H ( χ H ( u ′ ))
Revised: Similarly, since j ∈ M H ( u ′ ) , min u H ∈ χ − 1 H ( χ H ( u ′ ))

Original: dis R H ( w ′ , u H ) =
Revised: dis R H ( w ′ , u H ) =

Original: dis R H ( w ′ , u ′ ) .
Revised: dis R H ( w ′ , u ′ ) .

Original: Since the color of nodes w and w ′ are the same under RD-WL, we have
Revised: Since the color of nodes w and w ′ are the same under RD-WL, we have

Original: [Equation]
Revised: [Equation]

Original: and thus dis R H ( w ′ , u ′ )
Revised: and thus dis R H ( w ′ , u ′ )

Original: =
Revised: =

Original: dis R G ( w, u ) .
Revised: dis R G ( w, u ) .

Original: Proof of the second bullet: first note that dis R H ( w ′ , u ′ ) ≥ dis R G ( w, u ) because
Revised: Proof of the second bullet: first note that dis R H ( w ′ , u ′ ) ≥ dis R G ( w, u ) because

Original: [Equation]
Revised: [Equation]

Original: If the lemma does not hold, then dis R H ( w ′ , u ′ )
Revised: If the lemma does not hold, then dis R H ( w ′ , u ′ )

Original: =
Revised: =

Original: dis R G ( w, u ) .
Revised: dis R G ( w, u ) .

Original: Consequently, {{ dis R G ( w, u G ) : u G ∈ χ − 1 G ( χ G ( u )) }} = {{ dis R G ( w, u ) 
Revised: Consequently, {{ dis R G ( w, u G ) : u G ∈ χ − 1 G ( χ G ( u )) }} = {{ dis R G ( w, u ) + dis R

Original: + dis
Revised: [Equation] [Equation]

Original: R G ( u, u G ) :
Revised: [Equation] G ) :

Original: u G ∈ χ − 1 G ( χ G ( u )) }} = {{ dis R H ( w ′ , u ′ ) + dis R H ( u ′ , u H ) :
Revised: [Equation]

Original: u H ∈χ − 1 H ( χ H ( u ′ )) }} . On the other hands,
Revised: G ∈

Original: [Equation]
Revised: [Equation]

Original: Therefore, dis R H (w ′ , u H ) = 
Revised: [Equation] G ( u )) }} = {{ [Equation]

Original: dis R H ( w ′ , u ′ )
Revised: [Equation] [Equation] [Equation] On the other hands,

Original:  + dis R H ( u ′ , u H ) for all u H ∈ χ − 1 H
Revised: [Equation] Therefore, dis R H ( w ′ , u H ) = dis R H ( w ′ , u ′ ) + dis R H ( u ′ , u H ) for all u H ∈ χ − 1 H

Original: ( χ H ( u ′ )) .
Revised: ( χ H ( u ′ )) .

Original: However, we can choose u ′′ ∈ χ − 1 H ( χ H ( u ′ ))
Revised: However, we can choose u ′′ ∈ χ − 1 H ( χ H ( u ′ ))

Original: ∩ S H,j ( u ′ ) by definition of j , and clearly dis R H ( w ′ , u ′′ ) <
Revised: ∩ S H,j ( u ′ ) by definition of j , and clearly dis R H ( w ′ , u ′′ ) <

Original: dis R H ( w ′ , u ′ )
Revised: dis R H ( w ′ , u ′ )

Original: +dis R H ( u ′ , u ′′ ) because w ′ and u ′′ are in the same connected component (see the proof of Lemma C.45).
Revised: +dis R H ( u ′ , u ′′ ) because w ′ and u ′′ are in the same connected component (Lemma C.45).

Original: This yields a contradiction and concludes the proof.
Revised: This yields a contradiction and concludes the proof.

Original: Corollary C.49.
Revised: Corollary C.49.

Original: Let u ∈ V be a cut vertex of G .
Revised: Let u ∈ V be a cut vertex of G .

Original: Let u ′ ∈
Revised: Let u ′ ∈

Original: χ − 1 H ( χ G ( u )) , then u ′ is also a cut vertex of H .
Revised: χ − 1 H ( χ G ( u )) , then u ′ is also a cut vertex of H .

Original: Pick any S G,i ( u ) and S H,j ( u ′ ) with indices i ∈
Revised: Pick any S G,i ( u ) and S H,j ( u ′ ) with indices i ∈

Original: M G ( u ) and j ∈ M H ( u ′ ) .
Revised: M G ( u ) and j ∈ M H ( u ′ ) .

Original: Then either of the following holds:
Revised: Then either of the following holds:

Original: • {{ χ G ( w ) : w ∈ S G,i ( u ) }} = {{ χ H ( w ) : w ∈ S H,j ( u ′ ) }} .
Revised: • {{ χ G ( w ) : w ∈ S G,i ( u ) }} = {{ χ H ( w ) : w ∈ S H,j ( u ′ ) }} .

Original: • {{ χ G ( w ) : w ∈ S G,i ( u ) }} ∩ {{ χ H ( w ) : w ∈ S H,j ( u ′ ) }}
Revised: • {{ χ G ( w ) : w ∈ S G,i ( u ) }} ∩ {{ χ H ( w ) : w ∈ S H,j ( u ′ ) }}

Original: = ∅ .
Revised: = ∅ .

Original: Proof.
Revised: Proof.

Original: Assume {{ χ G ( w ) : w ∈ S G,i ( u ) }} ∩ {{ χ H ( w ) : w ∈ S H,j ( u ′ ) }} ̸ = ∅ .
Revised: Assume {{ χ G ( w ) : w ∈ S G,i ( u ) }} ∩ {{ χ H ( w ) : w ∈ S H,j ( u ′ ) }} ̸ = ∅ .

Original: Then there exists nodes w ∈ S G,i ( u ) in G and w ′ ∈ S H,j ( u ′ ) in H , satisfying χ G ( w )
Revised: Then there exists nodes w ∈ S G,i ( u ) in G and w ′ ∈ S H,j ( u ′ ) in H , satisfying χ G ( w )

Original: =
Revised: =

Original: χ H ( w ′ ) .
Revised: χ H ( w ′ ) .

Original: Our goal is to prove that {{ χ G ( w ) : w ∈ S G,i ( u ) }} = {{ χ H ( w ) : w ∈ S H,j ( u ′ ) }} .
Revised: Our goal is to prove that {{ χ G ( w ) : w ∈ S G,i ( u ) }} = {{ χ H ( w ) : w ∈ S H,j ( u ′ ) }} .

Original: It thus suffices to prove that for any color c ∈ C , | χ − 1 G ( c ) ∩ S G,i ( u ) | = | χ − 1 H ( c ) ∩ S H,j ( u ′ ) | .
Revised: It thus suffices to prove that for any color c ∈ C , | χ − 1 G ( c ) ∩ S G,i ( u ) | = | χ − 1 H ( c ) ∩ S H,j ( u ′ ) | .

Original: Define D G ( w, c ) = {{ dis R G ( w, x ) : x ∈ χ − 1 G ( c ) }} and define D G ( w, c ) + d := {{ d + d ′ : d ′ ∈
Revised: Define D G ( w, c ) = {{ dis R G ( w, x ) : x ∈ χ − 1 G ( c ) }} and define D G ( w, c ) + d := {{ d + d ′ : d ′ ∈

Original: D G ( w, c ) }} .
Revised: D G ( w, c ) }} .

Original: We next claim that
Revised: We next claim that

Original: [Equation]
Revised: [Equation]

Original: This is simply because for any x ∈ χ − 1 G ( c ) , either x ∈ S G,i ( u ) or x / ∈ S G,i ( u ) .
Revised: This is simply because for any x ∈ χ − 1 G ( c ) , either x ∈ S G,i ( u ) or x / ∈ S G,i ( u ) .

Original: If x / ∈ S G,i ( u ) , then dis R G ( w, x ) = dis R G ( w, u ) + dis R G ( u, x ) (Lemma C.45); otherwise, dis R G ( w, x ) ̸ = dis R G ( w, u )
Revised: If x / ∈ S G,i ( u ) , then dis R G ( w, x ) = dis R G ( w, u ) + dis R G ( u, x ) (Lemma C.45); otherwise, dis R G ( w, x ) ̸ = dis R G ( w, u )

Original: + dis R
Revised: + dis R

Original: G ( u, x ) .
Revised: G ( u, x ) .

Original: Similarly,
Revised: Similarly,

Original: [Equation]
Revised: [Equation]

Original: Noting that | χ − 1 G ( c ) | =
Revised: Noting that | χ − 1 G ( c ) | =

Original: | χ − 1 H ( c ) | , D G ( w, c ) =
Revised: | χ − 1 H ( c ) | , D G ( w, c ) =

Original: D H ( w ′ , c ) , and dis R G ( w, u )) =
Revised: D H ( w ′ , c ) , and dis R G ( w, u ) =

Original: dis R H ( w ′ , u ′ ))
Revised: dis R H ( w ′ , u ′ )

Original: (Lemma C.48), we obtain | χ − 1 G ( c ) ∩ S G,i ( u ) | =
Revised: (Lemma C.48), we obtain | χ − 1 G ( c ) ∩ S G,i ( u ) | =

Original: | χ − 1 H ( c ) ∩ S H,j ( u ′ ) | and conclude the proof.
Revised: | χ − 1 H ( c ) ∩ S H,j ( u ′ ) | and conclude the proof.

Original: Remark C.50.
Revised: Remark C.50.

Original: As a special case, Lemma C.48 and Corollary C.49 also hold when G = H .
Revised: As a special case, Lemma C.48 and Corollary C.49 also hold when G = H .

Original: For example, Corollary C.49 implies that for any S G,i ( u ) and S G,j ( u ) such that S G,i ( u ) ∩ χ − 1 G ( χ G ( u )) =
Revised: For example, Corollary C.49 implies that for any S G,i ( u ) and S G,j ( u ) such that S G,i ( u ) ∩ χ − 1 G ( χ G ( u )) =

Original: S G,j ( u ) ∩ χ − 1 G ( χ G ( u ))
Revised: S G,j ( u ) ∩ χ − 1 G ( χ G ( u ))

Original: = ∅ , either of the two items in Corollary C.49 holds.
Revised: = ∅ , either of the two items in Corollary C.49 holds.

Original: Lemma C.48 and Corollary C.49 leads to the following key corollary:
Revised: Lemma C.48 and Corollary C.49 leads to the following key corollary:

Original: Corollary C.51.
Revised: Corollary C.51.

Original: Let u ∈ V be a vertex in G and u ′ ∈ V be a vertex in H .
Revised: Let u ∈ V be a vertex in G and u ′ ∈ V be a vertex in H .

Original: If χ G ( u ) = χ H ( u ′ ) , then m G ( u ) = 
Revised: If χ G ( u ) = χ H ( u ′ ) , then m G ( u ) = m H ( u ′ ) and {{{ [Equation]

Original: m H ( u ′ ) and
Revised: w [Equation] G,i

Original: [Equation]
Revised: [Equation]

Revised: u

Revised: [Equation]

Revised: }}}} m G

Revised: [Equation]

Revised: i

Revised: [Equation]

Original: Proof.
Revised: Proof.

Original: If both u and u ′ are not cut vertices, Corollary C.51 trivially holds since m G ( u )
Revised: If both u and u ′ are not cut vertices, Corollary C.51 trivially holds since m G ( u )

Original: =
Revised: =

Original: m H ( u ′ )
Revised: m H ( u ′ )

Original: = 1 and S G, 1 ( u ) =
Revised: = 1 and S G, 1 ( u ) =

Original: V\{ u } , S H, 1 ( u ′ ) =
Revised: V\{ u } , S H, 1 ( u ′ ) =

Original: V\{ u ′ } .
Revised: V\{ u ′ } .

Original: Now assume u and u ′ are both cut vertices.
Revised: Now assume u and u ′ are both cut vertices.

Original: We first claim that
Revised: We first claim that

Original: [Equation]
Revised: [Equation]

Original: To prove the claim, it suffices to prove that for each color c ∈ C ,(cid:12)(cid:12)(cid:12)(cid:12)(cid:12)(cid:12)
Revised: To prove the claim, it suffices to prove that for each color c ∈ C ,

Original: [Equation]
Revised: [Equation]

Original: Note that | χ − 1 G ( c ) | =
Revised: Note that | χ − 1 G ( c ) | =

Original: | χ − 1 H ( c ) | .
Revised: | χ − 1 H ( c ) | .

Original: Also note that by Lemma C.48, for any two nodes w 1 ∈ (cid:83) i ∈M G ( u ) S G,i ( u ) ∩ χ − 1 G ( c ) and w 2 ∈ (cid:83) i/ ∈M G ( u ) S G,i ( u ) ∩ χ − 1 G ( c ) , we have dis R G ( u, w 1 ) <
Revised: Also note that by Lemma C.48, for any two nodes w 1 ∈ (cid:83) i ∈M G ( u ) S G,i ( u ) ∩ χ − 1 G ( c ) and w 2 ∈ (cid:83) i/ ∈M G ( u ) S G,i ( u ) ∩ χ − 1 G ( c ) , we have dis R G ( u, w 1 ) <

Original: dis R G ( u, w 2 ) .
Revised: dis R G ( u, w 2 ) .

Original: In other words, the following two sets does not intersect:
Revised: In other words, the following two sets does not intersect:

Original: [Equation]
Revised: [Equation]

Original: Since χ G ( u ) = χ H ( u ′ ) , we have D G ( u, c ) ∪ (cid:101) D G ( u, c ) =
Revised: Since χ G ( u ) = χ H ( u ′ ) , we have D G ( u, c ) ∪ (cid:101) D G ( u, c ) =

Original: D H ( u ′ , c ) ∪ (cid:101) D H ( u ′ , c ) .
Revised: D H ( u ′ , c ) ∪ (cid:101) D H ( u ′ , c ) .

Original: Then D G ( u, c ) ∩ (cid:101) D G ( u, c ) =
Revised: Then D G ( u, c ) ∩ (cid:101) D G ( u, c ) =

Original: D H ( u ′ , c ) ∩ (cid:101) D H ( u ′ , c ) = ∅ implies that D G ( u, c ) =
Revised: D H ( u ′ , c ) ∩ (cid:101) D H ( u ′ , c ) = ∅ implies that D G ( u, c ) =

Original: D H ( u ′ , c ) and (cid:101) D G ( u, c ) = (cid:101) D H ( u ′ , c ) .
Revised: D H ( u ′ , c ) and (cid:101) D G ( u, c ) = (cid:101) D H ( u ′ , c ) .

Original: This proves (17) and thus (16) holds.
Revised: This proves (17) and thus (16) holds.

Original: We next claim that
Revised: We next claim that

Original: [Equation]
Revised: [Equation]

Original: This simply follows by using (16) and Corollary C.49.
Revised: This simply follows by using (16) and Corollary C.49.

Original: Finally, (18) already yields the desired conclusion because:
Revised: Finally, (18) already yields the desired conclusion because:

Original: • If |M G ( u ) | = m G ( u ) , then (16) implies that
Revised: • If |M G ( u ) | = m G ( u ) , then (16) implies that

Original: [Equation]
Revised: [Equation]

Original: and thus |M H ( u ′ )
Revised: = |V| −and thus |M H ( u ′ )

Original: |
Revised: |

Original: = m H ( u ′ ) .
Revised: = m H ( u ′ ) .

Original: • If |M G ( u ) | = m G ( u )  , then analogously |M H ( u ′ )
Revised: • If |M G ( u ) | = m G ( u ) − 1 , then analogously |M H ( u ′ )

Original: |
Revised: |

Original: = m H ( u ) + 1 .
Revised: = m H ( u ) − 1 .

Original: Furthermore, 
Revised: Furthermore, {{{{ χ G ( w ) : w ∈ S G,i ( u ) }} : i / ∈ M G ( u ) }} = {{{{ χ G ( w ) :

Original: [Equation] χ G ( w ) : w ∈ S H,i ( u ′ ) }} : i / ∈ M H ( u ′ ) }} because {{ χ G ( w ) : w ∈ V\{ u }}} = {{ χ H ( w ) : w ∈ V\{ u ′ }}} .
Revised: w ∈ S H,i ( u ′ ) }} : i / ∈ M H ( u ′ ) }} because {{ χ G ( w ) : w ∈ V\{ u }}} = {{ χ H ( w ) : w ∈ V\{ u ′ }}} .

Original: In both cases, Corollary C.51 holds.
Revised: In both cases, Corollary C.51 holds.

Original: We are now ready to prove that {{ χ G ( w ) : w ∈ V}} = {{ χ H ( w ) : w ∈ V}} implies BCVTree( G ) ≃
Revised: We are now ready to prove that {{ χ G ( w ) : w ∈ V}} = {{ χ H ( w ) : w ∈ V}} implies BCVTree( G ) ≃

Original: BCVTree( H ) .
Revised: BCVTree( H ) .

Original: Recall that in a block cut-vertex tree BCVTree( G ) , there are two types of nodes: all cut vertices of G , and all biconnected components of G .
Revised: Recall that in a block cut-vertex tree BCVTree( G ) , there are two types of nodes: all cut vertices of G , and all biconnected components of G .

Original: Each edge in BCVTree( G ) is connected between a cut vertex u ∈ V and a biconnected component B ⊂ V such that u ∈ B .
Revised: Each edge in BCVTree( G ) is connected between a cut vertex u ∈ V and a biconnected component B ⊂ V such that u ∈ B .

Original: Given a fixed RD-WL graph representation R , consider any graph G =
Revised: Given a fixed RD-WL graph representation R , consider any graph G =

Original: ( V , E G ) satisfying {{ χ G ( w ) : w ∈ V}} =
Revised: ( V , E G ) satisfying {{ χ G ( w ) : w ∈ V}} =

Original: R .
Revised: R .

Original: First, all cut vertices of G can be determined purely from R using the node colors.
Revised: First, all cut vertices of G can be determined purely from R using the node colors.

Original: We denote the cut vertex color multiset as C V :
Revised: We denote the cut vertex color multiset as C V :

Original: = {{ χ G ( u ) : u is a cut vertex of G }} .
Revised: = {{ χ G ( u ) : u is a cut vertex of G }} .

Original: Next, the number m G ( u ) for each cut vertex u can be determined only by its color χ G ( u ) (by Corollary C.51), which is equal to the degree of node u in BCVTree( G ) .
Revised: Next, the number m G ( u ) for each cut vertex u can be determined only by its color χ G ( u ) (by Corollary C.51), which is equal to the degree of node u in BCVTree( G ) .

Original: We now give a procedure to construct BCVTree( G ) , which purely depends on R rather than the specific graph G .
Revised: We now give a procedure to construct BCVTree( G ) , which purely depends on R rather than the specific graph G .

Original: We examine the multisets T ( u ) :
Revised: We examine the multisets T ( u ) :

Original: = {{{{ χ G ( w ) : w ∈ S G,i ( u ) }}}} m G ( u ) i
Revised: = {{{{ χ G ( w ) : w ∈ S G,i ( u ) }}}} m G ( u ) i

Original: = for all cut vertices u , which only depends on R and χ G ( u ) rather than the specific graph G or node u by Corollary C.51. 
Revised: = for all cut vertices u , which only depends on R and χ G ( u ) rather than the specific graph G or node u by Corollary C.51. See Figure 11(b)

Revised: for an illustration of T u for four types of cut vertices u .

Original: We find all cut vertices u such that (cid:80) S∈T ( u ) 

Revised: In the first step, we find all cut vertices u such that (cid:80) S∈T ( u )

Original: [ C V ∩ S ̸ = ∅ ] ≤ 1 where 1 [ · ] is the indicator function.
Revised: [ C V ∩ S ̸ = ∅ ] ≤ 1 where 1 [ · ] is the indicator function.

Original: In other words, we find cut vertices u such that there is at most one connected component S G,i ( u ) that contains cut vertices.
Revised: In other words, we find cut vertices u such that there is at most one connected component S G,i ( u ) that contains cut vertices.

Original: These cut vertices u will serve as “leaf (cut vertex) nodes” in BCVTree( G ) , in the sense that it connects to at most one internal node in BCVTree( G ) . 
Revised: These cut vertices u will serve as “leaf (cut vertex) nodes” in BCVTree( G ) , in the sense that it connects to at most one internal node in BCVTree( G ) . The number of BCVTree leaf ×××××××××××××××××××

Original: The number of BCVTree leaf nodes that connects to u are also determined by Corollary C.51. 
Revised: [Figure] nodes that connect to u are also determined by Corollary C.51. See Figure 11(c) for an illustration.

Original: After finding all the “leaf (cut vertex) nodes”, we can then find cut vertex nodes v such that when removing all “leaf (cut vertex) nodes” in the BCVTree, v will serve as  “leaf (cut vertex) nodes”.
Revised: After finding all the “leaf (cut vertex) nodes”, we can then find cut vertex nodes v such that when removing all “leaf (cut vertex) nodes” in the BCVTree, v will serve as a “leaf (cut vertex) node”.

Original: To do this, we first find for each cut vertex v and each biconnected component B v associated with v , which vertices in the BCVTtree that belong to the “leaf (cut vertex) nodes” are connected to B v .
Revised: To do this, we compute for each cut vertex v and each biconnected component B v associated with v , whether B v has no cut vertex or all cut vertices in B v correspond to the “leaf (cut vertex) nodes” in

Original: This can be done by examining each color set in T ( v ) and matching it with (cid:83) S∈T ( u ) , S∩C V = ∅ S where u is a “leaf (cut vertex) node”.
Revised: BCVTree( G ) .

Original: Concretely, if there is a set of “leaf (cut vertex) nodes” denoted as U , such that (cid:83) [Equation] [Equation] S
Revised: Then, we check whether a cut vertex v satisfies (cid:80)

Original: [Equation]
Revised: [Equation]

Original: ) = C[Equation] ( v ) ∩C V for some C T ( v ) ∈ T ( v ) , then we say C T ( v ) matches
Revised: where the set C V u contains all colors corresponding to “leaf (cut vertex) nodes”.

Original: U . If there is at most one C T ( v ) ∈ T ( v ) that does not match any U , then v is the vertex we want: when removing all “leaf (cut vertex) nodes”, v will be a “leaf (cut vertex) nodes” in the BCVTree, and the connection is also clear .
Revised: These vertices v will serve as new “leaf (cut vertex) nodes” when removing all “leaf (cut vertex) nodes” in the BCVTree, and the connection between such vertices v and “leaf (cut vertex) nodes” can also be determined (see Figure 11(d) for an illustration).

Original: The procedure can be recursively executed until the full BCVTree is constructed , and the whole procedure does not depend on the specific graph G and only depends on R , which completes the proof.
Revised: The procedure can be recursively executed until the full BCVTree is constructed (see Figure 11(f)), and the whole procedure does not depend on the specific graph G and only depends on R , which completes the proof.

Original: C. P ROOF OF T HEOREM 4. 
Revised: C. P ROOF OF T HEOREM 4.

Original: Given a graph G =
Revised: Given a graph G =

Original: ( V , E ) , let χ tG be the 2-FWL color mapping after the t -th iteration (see Algorithm 2 for details), and let χ G be the stable 2-FWL color mapping.
Revised: ( V , E ) , let χ tG be the 2-FWL color mapping after the t -th iteration (see Algorithm 2 for details), and let χ G be the stable 2-FWL color mapping.

Original: The following result is useful for the subsequent proof:
Revised: The following result is useful for the subsequent proof:

Original: Lemma C.52.
Revised: Lemma C.52.

Original: Let u 1 , u 2 , v 1 , v 2 ∈ V be nodes in graph G and t be an integer.
Revised: Let u 1 , u 2 , v 1 , v 2 ∈ V be nodes in graph G and t be an integer.

Original: The following holds:
Revised: The following holds:

Original: • If χ tG ( u 1 , v 1 ) =
Revised: • If χ tG ( u 1 , v 1 ) =

Original: χ tG ( u 2 , v 2 ) , then u 1 = v 1 if and only if u 2 = v 2 ; • If χ tG ( u 1 , v 1 ) = χ tG ( u 2 , v 2 ) , then { u 1 , v 1 } ∈ E if and only if { u 2 , v 2 } ∈ E ; • If χ tG ( u 1 , v 1 ) =
Revised: χ tG ( u 2 , v 2 ) , then u 1 = v 1 if and only if u 2 = v 2 ; • If χ tG ( u 1 , v 1 ) = χ tG ( u 2 , v 2 ) , then { u 1 , v 1 } ∈ E if and only if { u 2 , v 2 } ∈ E ; • If χ tG ( u 1 , v 1 ) =

Original: χ tG ( u 2 , v 2 ) and t ≥ 1 , then deg G ( u 1 ) =
Revised: χ tG ( u 2 , v 2 ) and t ≥ 1 , then deg G ( u 1 ) =

Original: deg G ( u 2 ) and deg G ( v 1 ) =
Revised: deg G ( u 2 ) and deg G ( v 1 ) =

Original: deg G ( v 2 ) .
Revised: deg G ( v 2 ) .

Original: Proof.
Revised: Proof.

Original: By the initial coloring (6) of 2-FWL, χ 0 G ( u, v ) can have the following three types of values:
Revised: By the initial coloring (6) of 2-FWL, χ 0 G ( u, v ) can have the following three types of values:

Original: [Equation]
Revised: [Equation]

Original: where c same , c edge , c other are three different colors.
Revised: where c same , c edge , c other are three different colors.

Original: Therefore, if χ 0 G ( u 1 , v 1 ) =
Revised: Therefore, if χ 0 G ( u 1 , v 1 ) =

Original: χ 0 G ( u 2 , v 2 ) , then u 1 = v 1 if
Revised: χ 0 G ( u 2 , v 2 ) , then u 1 = v 1 if

Original: and only if u 2 = v 2 , and { u 1 , v 1 } ∈ E if and only if { u 2 , v 2 } ∈ E .
Revised: and only if u 2 = v 2 , and { u 1 , v 1 } ∈ E if and only if { u 2 , v 2 } ∈ E .

Original: For the update step,
Revised: For the update step,

Original: [Equation]
Revised: [Equation]

Original: hash

Original: [Equation]
Revised: [Equation]

Original: If χ 1 G ( u 1 , v 1 ) = χ 1 G ( u 2 , v 2 ) , then (19) implies that {{ χ 0 G ( u 1 , w ) : w ∈ V}} = {{ χ 0 G ( u 2 , w ) : w ∈
Revised: If χ 1 G ( u 1 , v 1 ) = χ 1 G ( u 2 , v 2 ) , then (19) implies that {{ χ 0 G ( u 1 , w ) : w ∈ V}} = {{ χ 0 G ( u 2 , w ) : w ∈

Original: V}} and thus |{{ w ∈ V : { u 1 , w } ∈ E}}| = |{{ w ∈ V : { u 2 , w } ∈ E}}| , namely deg G ( u 1 ) =
Revised: V}} and thus |{{ w ∈ V : { u 1 , w } ∈ E}}| = |{{ w ∈ V : { u 2 , w } ∈ E}}| , namely deg G ( u 1 ) =

Original: deg G ( u 2 ) .
Revised: deg G ( u 2 ) .

Original: We can similarly prove that deg G ( v 1 ) =
Revised: We can similarly prove that deg G ( v 1 ) =

Original: deg G ( v 2 ) .
Revised: deg G ( v 2 ) .

Original: Finally, note that χ tG ( u 1 , v 1 ) =
Revised: Finally, note that χ tG ( u 1 , v 1 ) =

Original: χ tG ( u 2 , v 2 ) implies χ t − 1 G ( u 1 , v 1 )
Revised: χ tG ( u 2 , v 2 ) implies χ t − 1 G ( u 1 , v 1 )

Original: =
Revised: =

Original: χ t − 1 G ( u 2 , v 2 ) using (19).
Revised: χ t − 1 G ( u 2 , v 2 ) using (19).

Original: This concludes the proof of the case t ≥ 1 by a simple induction.
Revised: This concludes the proof of the case t ≥ 1 by a simple induction.

Original: For a path P = ( x 0 , · · · , x d ) (not necessarily simple) in graph G of length d ≥ 1 , define ω ( P ) :
Revised: For a path P = ( x 0 , · · · , x d ) (not necessarily simple) in graph G of length d ≥ 1 , define ω ( P ) :

Original: = (deg G ( x 1 ) , · · · , deg G ( x d − 1 )) which is a tuple of length d − 1 .
Revised: = (deg G ( x 1 ) , · · · , deg G ( x d − 1 )) which is a tuple of length d − 1 .

Original: We have the following key lemma:
Revised: We have the following key lemma:

Original: Lemma C.53.
Revised: Lemma C.53.

Original: Let t ∈
Revised: Let t ∈

Original: N+ be a non-negative integer.
Revised: N be a non-negative integer.

Original: Given nodes u 1 , u 2 , v 1 , v 2 ∈ V , if χ tG ( u 1 , v 1 ) 
Revised: Given nodes u 1 , u 2 , v 1 , v 2 ∈ V , if χ tG ( u 1 , v 1 ) =

Original: =

Original: χ tG ( u 2 , v 2 ) , then the following holds:
Revised: χ tG ( u 2 , v 2 ) , then the following holds:

Original: • Denote P d ( u, v ) be the set of all paths (not necessarily simple) from node u to node v of length d .
Revised: • Denote P d ( u, v ) be the set of all paths (not necessarily simple) from node u to node v of length d .

Original: Then |P
Revised: Then |P

Original: t +1 ( u 1 , v 1 ) | =
Revised: t +1 ( u 1 , v 1 ) | =

Original: |P t +1 ( u 2 , v 2 ) | .
Revised: |P t +1 ( u 2 , v 2 ) | .

Original: • Denote Q d ( u, v ) be the set of all hitting paths (not necessarily simple) from node u to node v of length d .
Revised: • Denote Q d ( u, v ) be the set of all hitting paths (not necessarily simple) from node u to node v of length d .

Original: Then {{ ω ( Q ) : Q ∈ Q t
Revised: Then, {{ ω ( Q ) : Q ∈ Q t

Original: +1 ( u 1 , v 1 ) }} = {{ ω ( Q ) : Q ∈ Q t +1 ( u 2 , v 2 ) }}  .
Revised: +1 ( u 1 , v 1 ) }} = {{ ω ( Q ) : Q ∈ Q t +1 ( u 2 , v 2 ) }} , and {{ ω ( Q ) : Q ∈ Q t +1 ( v 1 , u 1 ) }} = {{ ω ( Q ) : Q ∈ Q t +1 ( v 2 , u 2 ) }} .

Original: Proof.
Revised: Proof.

Original: We prove the lemma by induction over iteration t .
Revised: We prove the lemma by induction over iteration t .

Original: We first prove the base case t = 0 .
Revised: We first prove the base case t = 0 .

Original: • If u 1 = v 1 , then by Lemma C.52 u 2 = v 2 .
Revised: • If u 1 = v 1 , then by Lemma C.52 u 2 = v 2 .

Original: Note that obviously |P 1 ( u, u ) | = 0 and |Q 1 ( u, u ) | = 0 for any node u , namely |P 1 ( u 1 , u 1 ) |=
Revised: Note that obviously |P 1 ( u, u ) | = 0 and |Q 1 ( u, u ) | = 0 for any node u , namely |P 1 ( u 1 , u 1 ) |

Revised: =

Original: |P 1 ( u 2 , u 2 ) | and Q 1 ( u 1 , u 1 )
Revised: |P 1 ( u 2 , u 2 ) | and Q 1 ( u 1 , u 1 )

Original: =
Revised: =

Original: Q 1 ( u 2 , u 2 ) = ∅ .
Revised: Q 1 ( u 2 , u 2 ) = ∅ .

Original: • Similarly, if u 1 ̸ = v 1 and { u 1 , v 1 } / ∈ E , then by Lemma C.52 u 2 ̸ = v 2 and { u 2 , v 2 } / ∈ E .
Revised: • Similarly, if u 1 ̸ = v 1 and { u 1 , v 1 } / ∈ E , then by Lemma C.52 u 2 ̸ = v 2 and { u 2 , v 2 } / ∈ E .

Original: We also have |P 1 ( u 1 , v 1 ) |
Revised: We also have |P 1 ( u 1 , v 1 ) |

Original: =
Revised: =

Original: |P 1 ( u 2 , v 2 ) | = 0 and Q 1 ( u 1 , v 1 ) =
Revised: |P 1 ( u 2 , v 2 ) | = 0 and Q 1 ( u 1 , v 1 ) =

Original: Q 1 ( u 2 , v 2 ) = ∅ .
Revised: Q 1 ( u 2 , v 2 ) = ∅ .

Original: • If u 1 ̸ = v 1 and { u 1 , v 1 } ∈ E , then by Lemma C.52 u 2 ̸ = v 2 and { u 2 , v 2 } ∈ E .
Revised: • If u 1 ̸ = v 1 and { u 1 , v 1 } ∈ E , then by Lemma C.52 u 2 ̸ = v 2 and { u 2 , v 2 } ∈ E .

Original: Then |P 1 ( u 1 , v 1 ) | =
Revised: Then |P 1 ( u 1 , v 1 ) | =

Original: |P 1 ( u 2 , v 2 ) | = 1 and Q 1 ( u 1 , v 1 )
Revised: |P 1 ( u 2 , v 2 ) | = 1 and Q 1 ( u 1 , v 1 )

Original: =
Revised: =

Original: Q 1 ( u 2 , v 2 ) where both sets have a single element that is an empty tuple (0-dimension)
Revised: Q 1 ( u 2 , v 2 ) where both sets have a single element that is an empty tuple (0-dimension).

Original: Now suppose that the conclusion of Lemma C.53 holds in iteration t , we will prove that it also holds in iteration t
Revised: Now suppose that the conclusion of Lemma C.53 holds in iteration t , we will prove that it also holds in iteration t

Original: + 1 .
Revised: + 1 .

Original: First note that for any two nodes u, v , |P
Revised: First note that for any two nodes u, v , |P

Original: t +1 ( u, v ) | = (cid:80) w ∈N G ( v ) |P
Revised: t +1 ( u, v ) | = (cid:80) w ∈N G ( v ) |P

Original: t +1 ( u, w ) | .
Revised: t +1 ( u, w ) | .

Original: If χ t +1 G ( u 1 , v 1 )
Revised: If χ t +1 G ( u 1 , v 1 )

Original: =
Revised: =

Original: χ t +1 G ( u 2 , v 2 ) , then by definition of 2-FWL update formula (19) {{ ( χ tG ( u 1 , w ) , χ tG ( w, v 1 )) : w ∈ V}} = {{ ( χ tG ( u 2 , w ) , χ tG ( w, v 2 )) : w ∈ V}} .
Revised: χ t +1 G ( u 2 , v 2 ) , then by definition of 2-FWL update formula (19) {{ ( χ tG ( u 1 , w ) , χ tG ( w, v 1 )) : w ∈ V}} = {{ ( χ tG ( u 2 , w ) , χ tG ( w, v 2 )) : w ∈ V}} .

Original: which implies that {{ χ tG ( u 1 , w ) : w ∈ N G ( v 1 ) }} = {{ χ tG ( u 2 , w ) : w ∈ N G ( v 2 ) }} due to
Revised: which implies that {{ χ tG ( u 1 , w ) : w ∈ N G ( v 1 ) }} = {{ χ tG ( u 2 , w ) : w ∈ N G ( v 2 ) }} due to

Original: Lemma C.52.
Revised: Lemma C.52.

Original: Therefore,
Revised: Therefore,

Original: • By induction, {{|P t +1 ( u 1 , w ) | : w ∈ N G ( v 1 ) }} = {{|P t +1 ( u 2 , w ) | : w ∈ N G ( v 2 ) }} 
Revised: • By induction, {{|P t +1 ( u 1 , w ) | : w ∈ N G ( v 1 ) }} = {{|P t +1 ( u 2 , w ) | : w ∈ N G ( v 2 ) }} .

Original: It follows that (cid:80) w ∈N G ( v 1 ) |P
Revised: It follows that (cid:80) w ∈N G ( v 1 ) |P

Original: t +1 ( u 1 , w ) | = (cid:80) w ∈N G ( v 2 )
Revised: t +1 ( u 1 , w ) | = (cid:80) w ∈N G ( v 2 )

Original: |P
Revised: |P

Original: t +1 ( u 2 , w ) | and thus we have|P t +2 ( u 1 , v 1 ) |=
Revised: t +1 ( u 2 , w ) | and thus we have |

Revised: P t +2 ( u 1 , v 1 ) | =

Original: |P t +2 ( u 2 , v 2 ) | .
Revised: |P t +2 ( u 2 , v 2 ) | .

Original: • By induction , {{ ( χ  G ( u 1 , w ) , χ  G ( w, v 1 ) , {{ ω ( Q ) : Q ∈ Q t +1 ( w, v 1 ) }} ) : w ∈ N G ( u 1 ) }} = {{ ( χ G ( u 2 , w ) , χ G ( w, v 2 ) , {{ ω ( Q ) : [Equation] t +
Revised: • By induction, {{ ( χ t G ( u 1 , w ) , χ t G ( w, v 1 ) , {{ ω ( Q ) : Q ∈ Q t +1 ( w, v 1 ) }} ) : w ∈ N G ( u 1 ) }} = {{ ( χ tG ( u 2 , w ) , χ tG ( w, v 2 ) , {{ ω ( Q ) : Q ∈ Q t +1 ( w, v 2 ) }} ) : w ∈ N G ( u 2 ) }} .

Original: [Equation]

Original: w, v 2 )

Original: [Equation]

Original: N G ( u 2 ) }} .

Original: Since
Revised: Since

Original: Lemma C.52 says that χ G ( w, v ) ̸ = χ G ( v, v ) if w ̸ = v , we have [Equation] Further using the third bullet of Lemma C.52 and rearranging the two multisets yields {
Revised: Lemma C.52 says that χ tG ( w, v ) ̸ = χ tG ( v, v ) if w ̸ = v , we have {{ ( χ tG ( u 1 , w ) , {{ ω ( Q ) : Q ∈ Q t +1 ( w, v 1 ) }} ) : w ∈ N G ( u 1 ) \{ v 1 }}} = {{ ( χ tG ( u 2 , w ) , {{ ω ( Q ) : Q ∈ Q t +1 ( w, v 2 ) }} ) : w ∈ N G ( u 2 ) \{ v 2 }}}

Original: [Equation]
Revised: [Equation]

Original: Equivalently, {{ ω ( Q ) : Q ∈ Q t +2 ( u 1 , [Equation] [Equation] [Equation]
Revised: Equivalently, {{ ω ( Q ) : Q ∈ Q t +2 ( u 1 , v 1 ) }} = {{ ω ( Q ) : Q ∈ Q t +2 ( u 2 , v 2 ) }} .

Original: [Equation] Q [Equation] : Q ∈ Q t +2 (  u  2 , v 2 ) }} .
Revised: We can similarly prove that {{ ω ( Q ) : Q ∈ Q t +2 ( v 1 , u 1 ) }} = {{ ω ( Q ) : Q ∈ Q t +2 ( v 2 , u 2 ) }} .

Original: This concludes the proof of the induction step.
Revised: This concludes the proof of the induction step.

Original: The above lemma directly yields the following corollary:
Revised: The above lemma directly yields the following corollary:

Original: Corollary C.54.
Revised: Corollary C.54.

Original: Given nodes u 1 , u 2 , v 1 , v 2 ∈ V , if χ G ( u 1 , v 1 ) =
Revised: Given nodes u 1 , u 2 , v 1 , v 2 ∈ V , if χ G ( u 1 , v 1 ) =

Original: χ G ( u 2 , v 2 ) , then dis G ( u 1 , v 1 ) =
Revised: χ G ( u 2 , v 2 ) , then dis G ( u 1 , v 1 ) =

Original: dis G ( u 2 , v 2 ) and dis R G ( u 1 , v 1 ) =
Revised: dis G ( u 2 , v 2 ) and dis R G ( u 1 , v 1 ) =

Original: dis R G ( u 2 , v 2 ) .
Revised: dis R G ( u 2 , v 2 ) .

Original: Proof.
Revised: Proof.

Original: If χ G ( u 1 , v 1 ) = χ G ( u 2 , v 2 ) , then χ tG ( u 1 , v 1 ) =
Revised: If χ G ( u 1 , v 1 ) = χ G ( u 2 , v 2 ) , then χ tG ( u 1 , v 1 ) =

Original: χ tG ( u 2 , v 2 ) holds for all t ≥ 0 .
Revised: χ tG ( u 2 , v 2 ) holds for all t ≥ 0 .

Original: By
Revised: By

Original: Lemma C.53 |P
Revised: Lemma C.53 |P

Original: t ( u 1 , v 1 ) | =
Revised: t ( u 1 , v 1 ) | =

Original: |P t ( u 2 , v 2 ) | holds for all t ≥ 

Revised: |P t ( u 2 , v 2 ) | holds for all t ≥

Original: (the case t = 0 trivially holds).
Revised: (the case t = 0 trivially holds).

Original: Since dis G ( u, v ) =
Revised: Since dis G ( u, v ) =

Original: min { t : |P t ( u 1 , v 1 ) | > 0 } , we conclude that dis G ( u 1 , v 1 ) =
Revised: min { t : |P t ( u 1 , v 1 ) | > 0 } , we conclude that dis G ( u 1 , v 1 ) =

Original: dis G ( u 2 , v 2 ) .
Revised: dis G ( u 2 , v 2 ) .

Original: As for the Resistance Distance dis R G , it is equivalent to the Commute Time Distance multiplied by a constant (Chandra et al., 1996, see also Appendix E.2), i.e. dis C G ( u, w )
Revised: As for the Resistance Distance dis R G , it is equivalent to the Commute Time Distance multiplied by a constant (Chandra et al., 1996, see also Appendix E.2), i.e. dis C G ( u, w )

Original: =
Revised: =

Original: |E| dis
Revised: |E| dis

Original: R G ( u, w ) .
Revised: R G ( u, w ) .

Original: Since dis C G ( u, v ) = (cid:80) ∞
Revised: Since dis C G ( u, v ) = (cid:80) ∞

Original: i =

Revised: i =

Original:  (cid:80) P ∈Q i ( u,v ) q ( P ) · i  where Q i ( u, v ) is the set containing all hitting paths of length i from u to v , and q ( P ) =
Revised: i · ( (cid:80) P ∈Q i ( u,v ) q ( P ) + (cid:80) P ∈Q i ( v,u ) q ( P )) where Q i ( u, v ) is the set containing all hitting paths of length i from u to v , and q ( P ) =

Original: 1 / (cid:16) deg G ( u ) (cid:81) d − 1 i =1  x i  (cid:17) for a path P = ( x 0 , · · · , x d ) .
Revised: 1 / (cid:16) deg G ( u ) (cid:81) d − 1 i =1 deg( x i ) (cid:17) for a path P = ( x 0 , · · · , x d ) .

Original: By Lemma C.53, we have (cid:80) P ∈Q 
Revised: By Lemma C.53, we have (cid:80) P ∈Q i ( u 1 ,v 1 ) q ( P ) = (cid:80) P ∈Q i ( u 2 ,v 2 ) q ( P ) and (cid:80)

Original:  i ( u 1 ,v 1 ) q ( P ) =
Revised: P ∈Q i ( v 1 ,u 1 ) q ( P ) =

Original: (cid:80) P ∈Q i ( u 2 ,v 2 ) q ( P ) for all i ≥ 0 (the case i =trivially holds) and thus dis C G( u 1 , v 1 ) =
Revised: (cid:80) P ∈Q i ( v 2 ,u 2 ) q ( P ) for all i ≥ 0 (the case i = 0 trivially holds) and thus dis C G u 1 , v 1 ) =

Original: dis C G ( u 2 , v 2 ) , namely dis R G ( u 1 , v 1 ) =
Revised: dis C G ( u 2 , v 2 ) , namely dis R G ( u 1 , v 1 ) =

Original: dis R G ( u 2 , v 2 ) .
Revised: dis R G ( u 2 , v 2 ) .

Original: We are now ready to prove Theorem 4.5.
Revised: We are now ready to prove Theorem 4.5.

Original: Theorem C.55.
Revised: Theorem C.55.

Original: The 2-FWL algorithm is more powerful than both SPD-WL and RD-WL.
Revised: The 2-FWL algorithm is more powerful than both SPD-WL and RD-WL.

Original: Formally, given a graph G , let χ 2FWL G , χ SPDWL G and χ
Revised: Formally, given a graph G , let χ 2FWL G , χ SPDWL G and χ

Original: RDWL G be the vertex color mappings for these algorithms, respectively.
Revised: RDWL G be the vertex color mappings for these algorithms, respectively.

Original: Then the partition induced by χ 2FWL G is finer than both χ SPDWL G and χ RDWL G .
Revised: Then the partition induced by χ 2FWL G is finer than both χ SPDWL G and χ RDWL G .

Original: Proof.
Revised: Proof.

Original: Note that by definition (see Appendix B.2), we have χ G ( v ) :
Revised: Note that by definition (see Appendix B.2), we have χ G ( v ) :

Original: = χ G ( v, v ) for any node v ∈ V .
Revised: = χ G ( v, v ) for any node v ∈ V .

Original: If χ G ( v 1 ) = χ G ( v 2 ) , then by definition of 2-FWL aggregation formula, {{ ( χ G ( v 1 , w ) , χ G ( w, v 1 )) : w ∈ V}} = {{ ( χ G ( v 2 , w ) , χ G ( w, v 2 )) : w ∈ V}} .
Revised: If χ G ( v 1 ) = χ G ( v 2 ) , then by definition of 2-FWL aggregation formula, {{ ( χ G ( v 1 , w ) , χ G ( w, v 1 )) : w ∈ V}} = {{ ( χ G ( v 2 , w ) , χ G ( w, v 2 )) : w ∈ V}} .

Original: Using Lemma C.6, if χ G ( v 1 , w 1 )
Revised: Using Lemma C.6, if χ G ( v 1 , w 1 )

Original: =
Revised: =

Original: χ G ( v 2 , w 2 ) for some nodes w 1 and w 2 , then χ G ( w 1 ) =
Revised: χ G ( v 2 , w 2 ) for some nodes w 1 and w 2 , then χ G ( w 1 ) =

Original: χ G ( w 2 ) .
Revised: χ G ( w 2 ) .

Original: Therefore, by using Corollary C.54 we obtain that if χ G ( v 1 ) =
Revised: Therefore, by using Corollary C.54 we obtain that if χ G ( v 1 ) =

Original: χ G ( v 2 ) , then {{ ( χ G ( w ) , dis G ( w, v 1 )) : w ∈ V}} = {{ ( χ G ( w ) , dis G ( w, v 2 )) : w ∈ V}} , {{ ( χ G ( w ) , dis R G ( w, v 1 )) : w ∈ V}} = {{ ( χ G ( w ) , dis R G ( w, v 2 )) : w ∈ V}} .
Revised: χ G ( v 2 ) , then [Equation] w ∈ [Equation]

Original: The above equantions show that the partition induced by χ 2FWL G is finer than both χ SPDWL G and χ RDWL G and conclude the proof.
Revised: The above equantions show that the partition induced by χ 2FWL G is finer than both χ SPDWL G and χ RDWL G and conclude the proof.

Original: Finally, the following proposition trivially holds and will be used to prove Corollary 4.6.
Revised: Finally, the following proposition trivially holds and will be used to prove Corollary 4.6.

Original: Proposition C.56.
Revised: Proposition C.56.

Original: Given a graph G =
Revised: Given a graph G =

Original: ( V , E G ) , let χ G and ˜
Revised: ( V , E G ) , let χ G and ˜

Original: χ
Revised: χ

Original: G be two color mappings induced by two different (general) color refinement algorithms, respectively.
Revised: G be two color mappings induced by two different (general) color refinement algorithms, respectively.

Original: If the vertex partition induced by the mapping χ G is finer than that of ˜ χ G , then:
Revised: If the vertex partition induced by the mapping χ G is finer than that of ˜ χ G , then:

Original: • The mapping χ G can distinguish cut vertices/edges if ˜ χ G can distinguish cut vertices/edges; • The mapping χ G can distinguish the isomorphism type of BCVTree( G ) /
Revised: • The mapping χ G can distinguish cut vertices/edges if ˜ χ G can distinguish cut vertices/edges; • The mapping χ G can distinguish the isomorphism type of BCVTree( G ) /

Original: BCETree( G ) if ˜ χ G can distinguish the isomorphism type of BCVTree( G ) /
Revised: BCETree( G ) if ˜ χ G can distinguish the isomorphism type of BCVTree( G ) /

Original: BCETree( G ) .
Revised: BCETree( G ) .

Original: Corollary 4.6 is a simple consequence of Theorem 4.5 and Proposition C.56.
Revised: Corollary 4.6 is a simple consequence of Theorem 4.5 and Proposition C.56.

Original: [Figure]
Revised: [Figure]

Original: C. T HE EXPRESSIVENESS OF GD-WL FOR DISTANCE - REGULAR GRAPHS
Revised: C. R EGARDING DISTANCE - REGULAR GRAPHS

Original: In this subsection, we give more fine-grained theoretical results on the expressiveness upper bound of GD-WL by considering the special problem of distinguishing distance-regular graphs , a class of hard graphs that are highly relevant to the GD-WL framework.
Revised: In this subsection, we give more fine-grained theoretical results on the expressiveness upper bound of GD-WL by considering the special problem of distinguishing distance-regular graphs , a class of hard graphs that are highly relevant to the GD-WL framework.

Original: We provide a full characterization of what types of distance-regular graphs different GD-WL algorithms can or cannot distinguish, with both proofs and counterexamples.
Revised: We provide a full characterization of what types of distance-regular graphs different GD-WL algorithms can or cannot distinguish, with both proofs and counterexamples.

Original: Given a graph G =
Revised: Given a graph G =

Original: ( V , E )
Revised: ( V , E )

Original: , let N iG ( u ) = { w ∈ V : dis G ( u, w ) = i } be the i -hop neighbors of u in G and let D ( G ) :
Revised: , let N iG ( u ) = { w ∈ V : dis G ( u, w ) = i } be the i -hop neighbors of u in G and let D ( G ) :

Original: = max u,v ∈V dis G ( u, v ) be the diameter of G .
Revised: = max u,v ∈V dis G ( u, v ) be the diameter of G .

Original: We say G is distanceregular if for all i, j ∈
Revised: We say G is distanceregular if for all i, j ∈

Original: [ D ( G )] and all nodes u, v, w, x ∈ V with dis G ( u, v ) =
Revised: [ D ( G )] and all nodes u, v, w, x ∈ V with dis G ( u, v ) =

Original: dis G ( w, x ) , we have |N iG ( u ) ∩ N jG ( v ) | =
Revised: dis G ( w, x ) , we have |N iG ( u ) ∩ N jG ( v ) | =

Original: |N iG ( w ) ∩ N jG ( x ) | .
Revised: |N iG ( w ) ∩ N jG ( x ) | .

Original: From the definition, it is straightforward to see that for all u, v ∈ V and
Revised: From the definition, it is straightforward to see that for all u, v ∈ V and

Original: i ∈
Revised: i ∈

Original: [ D ( G )] , |N iG ( u ) | = |N iG ( v ) | , i.e., the number of i -hop neighbors is the same for all nodes.
Revised: [ D ( G )] , |N iG ( u ) | = |N iG ( v ) | , i.e., the number of i -hop neighbors is the same for all nodes.

Original: We thus denote κ ( G ) =
Revised: We thus denote κ ( G ) =

Original: ( k 1 , · · · , k D ( G ) ) as the k -hop-neighbor array where k i :=
Revised: ( k 1 , · · · , k D ( G ) ) as the k -hop-neighbor array where k i :=

Original: |N iG ( u ) | with u ∈ V chosen arbitrarily.
Revised: |N iG ( u ) | with u ∈ V chosen arbitrarily.

Original: We next define another important array:
Revised: We next define another important array:

Original: Definition C.57.
Revised: Definition C.57.

Original: ( Intersection array )
Revised: ( Intersection array )

Original: The intersection array of a distance-regular graph G is denoted as ι ( G ) =
Revised: The intersection array of a distance-regular graph G is denoted as ι ( G ) =

Original: { b 0 , · · · , b D ( G ) − 1 ; c 1 , · · · , c D ( G ) } where b i = |N
Revised: { b 0 , · · · , b D ( G ) − 1 ; c 1 , · · · , c D ( G ) } where b i = |N

Original: G ( u ) ∩
Revised: G ( u ) ∩

Original: N i +1 G ( v ) |
Revised: N i +1 G ( v ) |

Original: and c i = |N
Revised: and c i = |N

Original: G ( u ) ∩
Revised: G ( u ) ∩

Original: N i − 1 G ( v ) | with dis G ( u, v )
Revised: N i − 1 G ( v ) | with dis G ( u, v )

Original: =
Revised: =

Original: i .
Revised: i .

Original: We now present our main results.
Revised: We now present our main results.

Original: Theorem C.58.
Revised: Theorem C.58.

Original: Let G and H be two connected distance-regular graphs.
Revised: Let G and H be two connected distance-regular graphs.

Original: Then the following holds:
Revised: Then the following holds:

Original: • SPD-WL can distinguish the two graphs if and only if their k -hop-neighbor arrays differ,
Revised: • SPD-WL can distinguish the two graphs if and only if their k -hop-neighbor arrays differ,

Original: i
Revised: i

Original: e. κ ( G ) ̸
Revised: e. κ ( G ) ̸

Original: = κ ( H ) .
Revised: = κ ( H ) .

Original: • RD-WL can distinguish the two graphs if and only if their intersection arrays differ
Revised: • RD-WL can distinguish the two graphs if and only if their intersection arrays differ

Original: , i.e. ι ( G ) ̸
Revised: , i.e. ι ( G ) ̸

Original: = ι ( H ) .
Revised: = ι ( H ) .

Original: • 2-FWL can distinguish the two graphs if and only if their intersection arrays differ, i.e. ι ( G ) ̸
Revised: • 2-FWL can distinguish the two graphs if and only if their intersection arrays differ, i.e. ι ( G ) ̸

Original: = ι ( H ) .
Revised: = ι ( H ) .

Original: Theorem C.58 precisely characterizes the equivalence class of all distance-regular graphs for different types of algorithms.
Revised: Theorem C.58 precisely characterizes the equivalence class of all distance-regular graphs for different types of algorithms.

Original: Combined the fact that ι ( G ) =
Revised: Combined the fact that ι ( G ) =

Original: ι ( H ) implies κ ( G )
Revised: ι ( H ) implies κ ( G )

Original: = κ ( H ) (see e.g. van
Revised: = κ ( H ) (see e.g. van

Original: Dam et al.
Revised: Dam et al.

Original: (2014, page 8)), we immediately arrive at the following corollary:
Revised: (2014, page 8)), we immediately arrive at the following corollary:

Original: Corollary C.59.
Revised: Corollary C.59.

Original: RD-WL is strictly more powerful than SPD-WL in distinguishing non-isomorphic distance-regular graphs.
Revised: RD-WL is strictly more powerful than SPD-WL in distinguishing non-isomorphic distance-regular graphs.

Original: Moreover, RD-WL is as powerful as 2-FWL in distinguishing nonisomorphic distance-regular graphs.
Revised: Moreover, RD-WL is as powerful as 2-FWL in distinguishing nonisomorphic distance-regular graphs.

Original: Corollary C.59 shows that RD-WL is highly expressive in distinguishing these hard graphs.

Original: Importantly, to our knowledge, this is the first result showing that a more efficient algorithm can match the expressive power of 2-FWL in distinguishing distance-regular graphs.

Original: Counterexamples .
Revised: Counterexamples .

Original: We provide representitive counterexamples in Figure 11 for both SPD-WL and
Revised: We provide representitive counterexamples in Figure 12 for both SPD-WL and

Original: RD-WL.
Revised: RD-WL.

Original: In Figure 11(a), both the Dodecahedron and the Desargues graph have 20 vertices and the same k -hop-neighbor array (3 , 6 , 6 , 3 , 1) , and thus SPD-WL cannot distinguish them.
Revised: In Figure 12(a), both the Dodecahedron and the Desargues graph have 20 vertices and the same k -hop-neighbor array (3 , 6 , 6 , 3 , 1) , and thus SPD-WL cannot distinguish them.

Original: However, they have the different intersection array (i.e., { 3 , 2 , 1 , 1 , 1; 1 , 1 , 1 , 2 , 3 } for Dodecahedron and { 3 , 2 , 2 , 1 , 1; 1 , 1 , 2 , 2 , 3 } for the Desargues graph), and thus RD-WL can distinguish them.
Revised: However, they have the different intersection array (i.e., { 3 , 2 , 1 , 1 , 1; 1 , 1 , 1 , 2 , 3 } for Dodecahedron and { 3 , 2 , 2 , 1 , 1; 1 , 1 , 2 , 2 , 3 } for the Desargues graph), and thus RD-WL can distinguish them.

Original: In Figure 11(b), we make use of the well-known 4x4 rook’s graph and the Shrikhande graph, both of which are strongly regular and thus distance-regular.
Revised: In Figure 12(b), we make use of the well-known 4x4 rook’s graph and the Shrikhande graph, both of which are strongly regular and thus distance-regular.

Original: They have the same intersection array { 6 , 3; 1 , 2 } and thus both RD-WL and 2-FWL cannot distinguish them although they are non-isomorphic.
Revised: They have the same intersection array { 6 , 3; 1 , 2 } and thus both RD-WL and 2-FWL cannot distinguish them although they are non-isomorphic.

Original: C.7. P ROOF OF T HEOREM C. 
Revised: C.7. P ROOF OF T HEOREM C.

Original: We first present a lemma that links the definition of distance-regular graph to its intersection array.
Revised: We first present a lemma that links the definition of distance-regular graph to its intersection array.

Original: The proof is based on the Bose-Mesner algebra and its association scheme, and please refer to van
Revised: The proof is based on the Bose-Mesner algebra and its association scheme, and please refer to van

Original: Dam et al.
Revised: Dam et al.

Original: (2014, Sections 2.5 and 2.6) for details.
Revised: (2014, Sections 2.5 and 2.6) for details.

Original: Lemma C.60.
Revised: Lemma C.60.

Original: Let G and H be two graphs with the same intersection array, and suppose nodes u, v, w, x satisfy dis G ( u, v ) =
Revised: Let G and H be two graphs with the same intersection array, and suppose nodes u, v, w, x satisfy dis G ( u, v ) =

Original: dis G ( w, x ) .
Revised: dis G ( w, x ) .

Original: Then |N iG ( u ) ∩ N jG ( v ) |
Revised: Then |N iG ( u ) ∩ N jG ( v ) |

Original: =
Revised: =

Original: |N iH ( w ) ∩ N jH ( x ) | for all i, j ∈ N .
Revised: |N iH ( w ) ∩ N jH ( x ) | for all i, j ∈ N .

Original: Proof of the first item of Theorem C.58.
Revised: Proof of the first item of Theorem C.58.

Original: This part is straightforward.
Revised: This part is straightforward.

Original: Consider the SPD-WL color mapping χ 1 G of graph G after the first iteration.
Revised: Consider the SPD-WL color mapping χ 1 G of graph G after the first iteration.

Original: Then for two graphs G, H with n nodes, χ 1 G ( u ) = χ 1 H ( v ) if and only
Revised: Then for two graphs G, H with n nodes, χ 1 G ( u ) = χ 1 H ( v ) if and only

Original: if |N iG ( u ) | = |N iH ( v ) | for all i ∈ [ n − 1] .
Revised: if |N iG ( u ) | = |N iH ( v ) | for all i ∈ [ n − 1] .

Original: Therefore, if κ ( G ) ̸
Revised: Therefore, if κ ( G ) ̸

Original: = κ ( H ) , then for any node u in G and v in H ,
Revised: = κ ( H ) , then for any node u in G and v in H ,

Original: |N jG ( u ) | =
Revised: |N jG ( u ) | =

Original: |N jH ( v ) | holds for some j ∈ [max( D ( G ) , D ( H ))] and thus χ 1 G ( u ) ̸
Revised: |N jH ( v ) | holds for some j ∈ [max( D ( G ) , D ( H ))] and thus χ 1 G ( u ) ̸

Original: = χ 1 H ( v ) .
Revised: = χ 1 H ( v ) .

Original: Namely, χ G ( u ) ̸
Revised: Namely, χ G ( u ) ̸

Original: = χ H ( v ) for all nodes u in G and v in H , implying that
Revised: = χ H ( v ) for all nodes u in G and v in H , implying that

Original: SPD-WL can distinguish the two graphs.
Revised: SPD-WL can distinguish the two graphs.

Original: On the other hand, if κ ( G ) = κ ( H ) , then for any node u in G and v in H we have χ 1 G ( u ) =
Revised: On the other hand, if κ ( G ) = κ ( H ) , then for any node u in G and v in H we have χ 1 G ( u ) =

Original: χ 1 H ( v ) .
Revised: χ 1 H ( v ) .

Original: Similarly, χ tG ( u ) =
Revised: Similarly, χ tG ( u ) =

Original: χ tH ( v ) for any iteration t ∈ N , and thus SPD-WL cannot distinguish the two graphs.
Revised: χ tH ( v ) for any iteration t ∈ N , and thus SPD-WL cannot distinguish the two graphs.

Original: Proof of the second item of Theorem C.58.
Revised: Proof of the second item of Theorem C.58.

Original: The key insight is that given a distance-regular graph, the resistance distance between a pair of nodes ( u, v ) only depends on its SPD.
Revised: The key insight is that given a distance-regular graph, the resistance distance between a pair of nodes ( u, v ) only depends on its SPD.

Original: Formally, for any nodes u, v, w, x in a distance-regular graph G , dis G ( u, v ) =
Revised: Formally, for any nodes u, v, w, x in a distance-regular graph G , dis G ( u, v ) =

Original: dis G ( w, x ) implies that dis R G ( u, v ) =
Revised: dis G ( w, x ) implies that dis R G ( u, v ) =

Original: dis R G ( w, x ) .
Revised: dis R G ( w, x ) .

Original: Actually, we have the following stronger result:
Revised: Actually, we have the following stronger result:

Original: Theorem C.61.
Revised: Theorem C.61.

Original: For any two nodes u, v in a connected distance-regular graph G , dis R G ( u, v ) =
Revised: For any two nodes u, v in a connected distance-regular graph G , dis R G ( u, v ) =

Original: r dis G ( u,v ) where the sequence { r d } D ( G ) d =0 is recursively defined as follows: 
Revised: r dis G ( u,v ) where the sequence { r d } D ( G ) d =0 is recursively defined as follows: [Equation]

Original: [Equation]
Revised: [Equation]

Original: where ι ( G ) = { b 0 , · · · , b D ( G ) − 1 ; c 1 , · · · , c D ( G ) } is the intersection array of G and κ ( G ) =
Revised: where ι ( G ) = { b 0 , · · · , b D ( G ) − 1 ; c 1 , · · · , c D ( G ) } is the intersection array of G and κ ( G ) =

Original: ( k 1 , · · · , k D ( G ) ) is its k -hop-neighbor array.
Revised: ( k 1 , · · · , k D ( G ) ) is its k -hop-neighbor array.

Original: Proof.
Revised: Proof.

Original: Let R ∈ R n × n be the RD matrix.
Revised: Let R ∈ R n × n be the RD matrix.

Original: Based on Theorem E.1, R can be expressed as R = diag( M ) 11 ⊤ + 11 ⊤ diag( M ) − 2 M , where M = (cid:0) L + 1 n 11 ⊤ (cid:1) − 1 and L is the graph Laplacian matrix.
Revised: Based on Theorem E.1, R can be expressed as R = diag( M ) 11 ⊤ + 11 ⊤ diag( M ) − 2 M , where M = (cid:0) L + 1 n 11 ⊤ (cid:1) − 1 and L is the graph Laplacian matrix.

Original: Now let (cid:101) R =
Revised: Now let (cid:101) R =

Original: [ r dis G ( u,v ) ] u,v ∈V be the matrix with elements defined in (20).
Revised: [ r dis G ( u,v ) ] u,v ∈V be the matrix with elements defined in (20).

Original: The key step is to prove that 2 M = c 11 ⊤ −
Revised: The key step is to prove that 2 M = c 11 ⊤ −

Original: (cid:101) R for some c ∈ R .
Revised: (cid:101) R for some c ∈ R .

Original: This will yield
Revised: This will yield

Original: [Equation]
Revised: [Equation]

Original: R ) (cid:17) − c 11 ⊤ + (cid:101) R = (cid:101) R

Original: (since diag( (cid:101) R ) = O ) and finish the proof.
Revised: (since diag( (cid:101) R ) = O ) and finish the proof.

Original: We now prove 2 M = c 11 ⊤ − (cid:101) R for some c ∈ R , namely (cid:0) L + 1 n 11 ⊤ (cid:1) (cid:16) c
Revised: We now prove 2 M = c 11 ⊤ − (cid:101) R for some c ∈ R , namely (cid:0) L + 1 n 11 ⊤ (cid:1) (cid:16) c

Original: 11 ⊤ − (cid:101) R (cid:17) =
Revised: 11 ⊤ − (cid:101) R (cid:17) =

Original: 2 I .
Revised: 2 I .

Original: Note that (cid:101) R is a symmetric matrix and satisfy (cid:101)
Revised: Note that (cid:101) R is a symmetric matrix and satisfy (cid:101)

Original: R1 =
Revised: R1 =

Original: c 1 1 for some c 1 ∈ R because G is distance-regular.
Revised: c 1 1 for some c 1 ∈ R because G is distance-regular.

Original: Combined the fact that L1 = 0 , we have
Revised: Combined the fact that L1 = 0 , we have

Original: [Equation]
Revised: [Equation]

Original: It thus suffices to prove that L (cid:101) R =
Revised: It thus suffices to prove that L (cid:101) R =

Original: c 11 ⊤ − 2 I for some c ∈ R .
Revised: c 11 ⊤ − 2 I for some c ∈ R .

Original: Let us calculate each element
Revised: Let us calculate each element

Original: [ L (cid:101) R ] uv ( u, v ∈ V ).
Revised: [ L (cid:101) R ] uv ( u, v ∈ V ).

Original: We have
Revised: We have

Original: [Equation]
Revised: [Equation]

Original: Now consider the following three cases:
Revised: Now consider the following three cases:

Original: • u = v .
Revised: • u = v .

Original: In this case, r dis G ( u,v ) = 

Revised: In this case, r dis G ( u,v ) =

Original: and we have
Revised: and we have

Original: [Equation]
Revised: [Equation]

Original: by using b 0 = k 1 and k 0 = 0 .
Revised: by using b 0 = k 1 and k 0 = 0 .

Original: Thus [ L (cid:101) R ] uv = − 2( n − 1) n .
Revised: Thus [ L (cid:101) R ] uv = − 2( n − 1) n .

Original: • u ̸ = v and dis G ( u, v ) < D ( G ) .
Revised: • u ̸ = v and dis G ( u, v ) < D ( G ) .

Original: Denote j = dis
Revised: Denote j = dis

Original: G ( u, v ) .
Revised: G ( u, v ) .

Original: In this case, in (21) the term
Revised: In this case, in (21) the term

Original: N G ( u ) ∩ N dG ( v ) ̸
Revised: N G ( u ) ∩ N dG ( v ) ̸

Original: = ∅ only when d ∈ { j − 1 , j, j + 1 } , and by definition of intersection array we have |N G ( u ) ∩ N j − 1 G ( v ) | =
Revised: = ∅ only when d ∈ { j − 1 , j, j + 1 } , and by definition of intersection array we have |N G ( u ) ∩ N j − 1 G ( v ) | =

Original: c j , |N G ( u ) ∩ N j +1 G ( v ) |
Revised: c j , |N G ( u ) ∩ N j +1 G ( v ) |

Original: =
Revised: =

Original: b j , and |N G ( u ) ∩ N jG ( v ) |
Revised: b j , and |N G ( u ) ∩ N jG ( v ) |

Original: =
Revised: =

Original: |N G ( u ) | − c
Revised: |N G ( u ) | − c

Original: j − b j = k 1 − c
Revised: j − b j = k 1 − c

Original: j − b j .
Revised: j − b j .

Original: Therefore,
Revised: Therefore,

Original: [Equation]
Revised: [Equation]

Original: where in the second last step we use the recursive relation of r j , and in the last step we use the fact that k j =k j − 1 b j
Revised: where in the second last step we use the recursive relation of r j , and in the last step we use the fact that k j =

Original:  − 1 c j for any j ∈[ D ( G )]
Revised: k j − 1 b j − 1 c j for any j ∈

Original:  (see e.g. van Dam et al.
Revised: [ D ( G )] (see e.g. van Dam et al.

Original: (2014, page 8)).
Revised: (2014, page 8)).

Original: • u ̸ = v and dis G ( u, v ) =
Revised: • u ̸ = v and dis G ( u, v ) =

Original: D ( G ) .
Revised: D ( G ) .

Original: This case is similar as the previous one.
Revised: This case is similar as the previous one.

Original: Denote j = dis G ( u, v ) , and N G ( u ) ∩ N dG ( v ) ̸
Revised: Denote j = dis G ( u, v ) , and N G ( u ) ∩ N dG ( v ) ̸

Original: = ∅ only when d ∈ { j − 1 , j } .
Revised: = ∅ only when d ∈ { j − 1 , j } .

Original: We have[ L
Revised: We have

Original: [Equation]

Original: R

Original: [Equation]
Revised: [Equation]

Original: where we again use k j = k j − 1 b j − 1 c j 
Revised: where we again use k j = k j − 1 b j − 1 c j .

Original: [Equation]

Original: Combining the above three cases, we conclude that L (cid:101) R = 2 n 11 ⊤ − 2 I , which finishes the proof.
Revised: Combining the above three cases, we conclude that L (cid:101) R = 2 n 11 ⊤ − 2 I , which finishes the proof.

Original: We are now ready to prove the main result.
Revised: We are now ready to prove the main result.

Original: Let G =
Revised: Let G =

Original: ( V G , E G ) and H =
Revised: ( V G , E G ) and H =

Original: ( V H , E H ) be two distanceregular graphs.
Revised: ( V H , E H ) be two distanceregular graphs.

Original: We first prove that if ι ( G ) =
Revised: We first prove that if ι ( G ) =

Original: ι ( H ) , then RD-WL cannot distinguish the two graphs.
Revised: ι ( H ) , then RD-WL cannot distinguish the two graphs.

Original: This is a simple consequence of Theorem C.61.
Revised: This is a simple consequence of Theorem C.61.

Original: Combined with the fact that κ ( G ) = κ ( H ) , we have { dis R G ( u, w ) : w ∈ V G } =
Revised: Combined with the fact that κ ( G ) = κ ( H ) , we have { dis R G ( u, w ) : w ∈ V G } =

Original: { dis R H ( v, w ) : w ∈ V H } for any nodes u ∈ V G and v ∈ V H .
Revised: { dis R H ( v, w ) : w ∈ V H } for any nodes u ∈ V G and v ∈ V H .

Original: Therefore, after the first iteration, the RD-WL color mappings χ 1 G and χ 1 H satisfy χ 1 G ( u ) = χ 1 H ( v ) for all u ∈ V G and v ∈ V H .
Revised: Therefore, after the first iteration, the RD-WL color mappings χ 1 G and χ 1 H satisfy χ 1 G ( u ) = χ 1 H ( v ) for all u ∈ V G and v ∈ V H .

Original: Similarly, after the t -th iteration we still have χ tG ( u ) =
Revised: Similarly, after the t -th iteration we still have χ tG ( u ) =

Original: χ tH ( v ) for all u ∈ V G and v ∈ V H and thus RD-WL cannot distinguish the two graphs.
Revised: χ tH ( v ) for all u ∈ V G and v ∈ V H and thus RD-WL cannot distinguish the two graphs.

Original: It remains to prove that if ι ( G ) ̸
Revised: It remains to prove that if ι ( G ) ̸

Original: = ι ( H ) , then RD-WL can distinguish the two graphs.
Revised: = ι ( H ) , then RD-WL can distinguish the two graphs.

Original: First observe that in Theorem C.61, r i < r j holds for any i < j .
Revised: First observe that in Theorem C.61, r i < r j holds for any i < j .

Original: Therefore, for any nodes u ∈ V G and v ∈ V H , { dis R G ( u, w ) : w ∈ V G } =
Revised: Therefore, for any nodes u ∈ V G and v ∈ V H , { dis R G ( u, w ) : w ∈ V G } =

Original: { dis R H ( v, w ) : w ∈ V H } if and only if {{{ r i ( G ) }}
Revised: { dis R H ( v, w ) : w ∈ V H } if and only if {{{ r i ( G ) [Equation]

Original: × k i ( G ):
Revised: × k i ( G )

Revised: [Equation]

Original: i ∈
Revised: i ∈

Original: [ D ( G )] } = {{{ r i ( H )}} × k i
Revised: [ D ( G )] [Equation] = {{{ r i ( H )

Original:  ( H ) :
Revised: [Equation] i ( H ) [Equation]

Original: i ∈
Revised: i ∈

Original: [ D ( H )] } , (22) where {{ r }} × k is a multiset containing k repeated elements of value r .
Revised: [ D ( H )] } , (22) where {{ r }} × k is a multiset containing k repeated elements of value r .

Original: If ι ( G ) ̸
Revised: If ι ( G ) ̸

Original: = ι ( H ) , then there exists a minimal index d such that b i ( G ) =
Revised: = ι ( H ) , then there exists a minimal index d such that b i ( G ) =

Original: b i ( H ) and c i +1 ( G ) =
Revised: b i ( H ) and c i +1 ( G ) =

Original: c i +1 ( H ) for all i <
Revised: c i +1 ( H ) for all i <

Original: d but b i ( G ) ̸
Revised: d but b i ( G ) ̸

Original: = b i ( H ) or c i +1 ( G ) ̸
Revised: = b i ( H ) or c i +1 ( G ) ̸

Original: = c i +1 ( H ) .
Revised: = c i +1 ( H ) .

Original: It follows by Theorem C.61 that r i ( G ) =
Revised: It follows by Theorem C.61 that r i ( G ) =

Original: r i ( H ) and k i ( G ) =
Revised: r i ( H ) and k i ( G ) =

Original: k i ( H ) for all i ≤ d but either r d +1 ( G ) ̸
Revised: k i ( H ) for all i ≤ d but either r d +1 ( G ) ̸

Original: = r d +1 ( H ) (if b d ( G ) ̸
Revised: = r d +1 ( H ) (if b d ( G ) ̸

Original: = b d ( H ) ) or k d +1 ( G ) ̸ = k d +1 ( H ) (if b d ( G )
Revised: = b d ( H ) ) or k d +1 ( G ) ̸ = k d +1 ( H ) (if b d ( G )

Original: =
Revised: =

Original: b d ( H ) and c d +1 ( G ) ̸ = c d +1 ( H ) ).
Revised: b d ( H ) and c d +1 ( G ) ̸ = c d +1 ( H ) ).

Original: Therefore, (22) does not hold and χ 1 G ( u ) ̸
Revised: Therefore, (22) does not hold and χ 1 G ( u ) ̸

Original: = χ 1 H ( v ) for any u ∈ V G and v ∈ V H , namely, RD-WL can distinguish the two graphs.
Revised: = χ 1 H ( v ) for any u ∈ V G and v ∈ V H , namely, RD-WL can distinguish the two graphs.

Original: Proof of the third item of Theorem C.58.
Revised: Proof of the third item of Theorem C.58.

Original: First, if ι ( G ) ̸
Revised: First, if ι ( G ) ̸

Original: = ι ( H ) , then 2-FWL can distinguish graphs
Revised: = ι ( H ) , then 2-FWL can distinguish graphs

Original: G and H .
Revised: G and H .

Original: This is simply due to the fact that 2-FWL is more powerful than RD-WL (Theorem 4.5).
Revised: This is simply due to the fact that 2-FWL is more powerful than RD-WL (Theorem 4.5).

Original: It remains to prove that if ι ( G ) =
Revised: It remains to prove that if ι ( G ) =

Original: ι ( H ) , then 2-FWL cannot distinguish graphs G and H .
Revised: ι ( H ) , then 2-FWL cannot distinguish graphs G and H .

Original: Let χ tG : V G × V G → C be the 2-FWL color mapping of graph G after t iterations.
Revised: Let χ tG : V G × V G → C be the 2-FWL color mapping of graph G after t iterations.

Original: We aim to prove that for any nodes u, v ∈ V G and w, x ∈ V H , if dis G ( u, v ) =
Revised: We aim to prove that for any nodes u, v ∈ V G and w, x ∈ V H , if dis G ( u, v ) =

Original: dis G ( w, x ) , then χ tG ( u, v )
Revised: dis G ( w, x ) , then χ tG ( u, v )

Original: =
Revised: =

Original: χ tH ( w, x ) for any t ∈ N .
Revised: χ tH ( w, x ) for any t ∈ N .

Original: We prove it by induction.
Revised: We prove it by induction.

Original: The base case of t = 0 trivially holds.
Revised: The base case of t = 0 trivially holds.

Original: Now suppose the case of t holds and let us consider the color mapping after t + 1 iterations.
Revised: Now suppose the case of t holds and let us consider the color mapping after t + 1 iterations.

Original: By the 2-FWL update rule (2),
Revised: By the 2-FWL update rule (2),

Original: [Equation]
Revised: [Equation]

Original: It thus suffices to prove that
Revised: It thus suffices to prove that

Original: [Equation]
Revised: [Equation]

Original: By Lemma C.60, we have
Revised: By Lemma C.60, we have

Original: [Equation]
Revised: [Equation]

Original: This already yields (24) by the induction result of iteration t .
Revised: This already yields (24) by the induction result of iteration t .

Original: We thus complete the proof.
Revised: We thus complete the proof.

Original: D F URTHER D ISCUSSIONS WITH P RIOR W ORKS D. K NOWN METRICS FOR MEASURING THE EXPRESSIVE POWER OF GNN S
Revised: D F URTHER D ISCUSSIONS WITH P RIOR W ORKS D. K NOWN METRICS FOR MEASURING THE EXPRESSIVE POWER OF GNN S

Original: In this subsection, we review existing metrics used in prior works to measure the expressiveness of
Revised: In this subsection, we review existing metrics used in prior works to measure the expressiveness of

Original: GNNs.
Revised: GNNs.

Original: We will discuss the limitations of these metrics and argue why biconnectivity may serve as a more reasonable and compelling criterion in designing powerful GNN architectures.
Revised: We will discuss the limitations of these metrics and argue why biconnectivity may serve as a more reasonable and compelling criterion in designing powerful GNN architectures.

Original: WL hierarchy .
Revised: WL hierarchy .

Original: Since the discovery of the relationship between MPNNs and 1-WL test (Xu et al., 2019; Morris et al., 2019), the WL hierarchy has been considered as the most standard metric to guide designing expressive GNNs.
Revised: Since the discovery of the relationship between MPNNs and 1-WL test (Xu et al., 2019; Morris et al., 2019), the WL hierarchy has been considered as the most standard metric to guide designing expressive GNNs.

Original: However, achieving an expressive power that matches the 2FWL test is already highly difficult.
Revised: However, achieving an expressive power that matches the 2FWL test is already highly difficult.

Original: Indeed, each iteration of the 2-FWL algorithm already requires a complexity of Ω( n 3 ) time and Θ( n 2 ) space for a graph with n vertices (Immerman & Lander, 1990).
Revised: Indeed, each iteration of the 2-FWL algorithm already requires a complexity of Ω( n 3 ) time and Θ( n 2 ) space for a graph with n vertices (Immerman & Lander, 1990).

Original: Therefore, it is impossible to design expressive GNNs using this metric while maintaining its computational efficiency.
Revised: Therefore, it is impossible to design expressive GNNs using this metric while maintaining its computational efficiency.

Original: Moreover, whether achieving higher-order WL expressiveness is necessary and helpful for real-world tasks has been questioned by recent works (Veliˇckovi´c, 2022).
Revised: Moreover, whether achieving higher-order WL expressiveness is necessary and helpful for real-world tasks has been questioned by recent works (Veli ˇ ckovi ´ c, 2022).

Original: Structural metrics .
Revised: Structural metrics .

Original: Another line of works thus sought different metrics to measure the expressive power of GNNs.
Revised: Another line of works thus sought different metrics to measure the expressive power of GNNs.

Original: Several popular choices are the ability of counting substructures (Arvind et al., 2020;
Revised: Several popular choices are the ability of counting substructures (Arvind et al., 2020;

Original: Chen et al., 2020; Bouritsas et al., 2022), detecting cycles (Loukas, 2020; Vignac et al., 2020), calculating the graph diameter (Garg et al., 2020; Loukas, 2020) or other graph-related (combinatorial) problems (Sato et al., 2019).
Revised: Chen et al., 2020; Bouritsas et al., 2022), detecting cycles (Loukas, 2020; Vignac et al., 2020; Huang et al., 2023), calculating the graph diameter (Garg et al., 2020; Loukas, 2020) or other graphrelated (combinatorial) problems (Sato et al., 2019).

Original: Yet, all these metrics have a common drawback: the corresponding problems may be too hard for GNNs to solve.
Revised: Yet, all these metrics have a common drawback: the corresponding problems may be too hard for GNNs to solve.

Original: Indeed, we show in Table 4 that solving any above task requires a computation complexity that grows super-linear w.r.t.
Revised: Indeed, we show in Tablethat solving any above task requires a computation complexity that grows super-linear w.r.t.

Original: the graph size even using advanced algorithms.
Revised: the graph size even using advanced algorithms.

Original: Therefore, it is quite natural that standard MPNNs are not expressive for these metrics, since no GNNs can solve these tasks while being efficient .
Revised: Therefore, it is quite natural that standard MPNNs are not expressive for these metrics, since no GNNs can solve these tasks while being efficient .

Original: Consequently, instead of using GNNs to directly learn these metrics, these works had to use a precomputation step which can be costly in the worst case. 
Revised: Consequently, instead of using GNNs to directly learn these metrics, these works had to use a precomputation step which can be costly in the worst case. [Table]

Revised: 376 , m 3 / 2 ))

Revised: [Table]

Revised: [Table]

Revised: ≥

Original: [Table]
Revised: [Table]

Revised: O (min( n 2 .

Revised: 376 , m 2 ))

Revised: (Alon et al., 1997)

Revised: Detecting

Revised: [Table]

Revised: k ≥

Revised: [Table]

Revised: O ( n 2 ) (Yuster & Zwick, 1997)

Revised: [Table]

Revised: O ( nm ) –

Revised: [Table]

Revised: Θ( n + m ) (Tarjan, 1972)

Original:  Due to the lack of proper metrics, most subsequent works mainly justify the expressive power of their proposed GNNs by focusing on regular graphs (Li et al., 2020; Bevilacqua et al., 2022; Bodnar et al., 2021b;
Revised: Detecting cut [Table] Θ( n + m ) (Tarjan, 1972) Due to the lack of proper metrics, most subsequent works mainly justify the expressive power of their proposed GNNs by focusing on regular graphs (Li et al., 2020; Bevilacqua et al., 2022; Bodnar et al., 2021b;

Original: Feng et al., 2022; Velingker et al., 2022, to list a few), which hardly appear in practice.
Revised: Feng et al., 2022; Velingker et al., 2022, to list a few), which hardly appear in practice.

Original: In contrast, the biconnectivity metrics proposed in this paper are different from all prior metrics, in that (i) it is a basic graph property and has significant values in both theory and applications; (i) it can be efficiently calculated with a complexity linear in the graph size, and thus it is reasonable to expect that these metrics should be learned by expressive GNNs.
Revised: In contrast, the biconnectivity metrics proposed in this paper are different from all prior metrics, in that (i) it is a basic graph property and has significant values in both theory and applications; (i) it can be efficiently calculated with a complexity linear in the graph size, and thus it is reasonable to expect that these metrics should be learned by expressive GNNs.

Original: D. GNN S WITH D ISTANCE ENCODING
Revised: D. GNN S WITH DISTANCE ENCODING

Original: In this subsection, we review prior works that are related to our proposed GD-WL.
Revised: In this subsection, we review prior works that are related to our proposed GD-WL.

Original: The idea of incorporating distanceinto GNNs first appeared in Li et al.
Revised: In the research field of expressive GNNs, the idea of incorporating distance first appeared in Li et al.

Original: (2020), where the authors mainly considered using distance encoding as node features and showed that distance can help distinguish regular graphs.
Revised: (2020), where the authors mainly considered using distance encoding as node features and showed that distance can help distinguish regular graphs.

Original: They also considered an approach similar to k -hop aggregation by incorporating distance into the message-passing procedure (but without a systematic study).
Revised: They also considered an approach similar to k -hop aggregation by incorporating distance into the message-passing procedure (but without a systematic study).

Original: Zhang & Li (2021) designed a subgraph GNN that also uses  distance encoding as node features in each subgraph. 
Revised: Zhang & Li (2021) designed a subgraph GNN that also uses (generalized) distance encoding as node features in each subgraph. Ying et al.

Revised: (2021a) designed a Transformer architecture that incorporates distance information and empirically showed excellent performance.

Original: Very recently, Feng et al.
Revised: Very recently, Feng et al.

Original: (2022) formally studied the expressive power of k -hop GNNs.
Revised: (2022) formally studied the expressive power of k -hop GNNs.

Original: Yet, they still restricted the analysis to regular graphs.
Revised: Yet, they still restricted the analysis to regular graphs.

Original: Ying et al.
Revised: The concurrent work of Abboud et al.

Original: (2021a) designed a Transformer architecture that incorporates distance information and empirically showed excellent performance.
Revised: (2022) designed the shortest path network which is highly similar to our proposed SPD-WL. They showed the resulting model can alleviate the bottlenecks and over-squashing problems for MPNNs (Alon & Yahav, 2021; Topping et al., 2022) due to the increased receptive field.

Original: Compared with prior works, our contribution lies in the following three aspects:
Revised: Compared with prior works, our contribution lies in the following three aspects:

Original: • We formalize the principled and more expressive GD-WL framework, which comprises SPD-WL as a special case.
Revised: • We formalize the principled and more expressive GD-WL framework, which comprises SPD-WL as a special case.

Original: Our framework is theoretically clean and generalizes all prior works in a unified manner.
Revised: Our framework is theoretically clean and generalizes all prior works in a unified manner.

Original: • We systematically and theoretically analyze the expressive power of SPD-WL for general graphs and highlight a fundamental advantage in distinguishing edge-biconnectivity.
Revised: • We systematically and theoretically analyze the expressive power of SPD-WL for general graphs and highlight a fundamental advantage in distinguishing edge-biconnectivity.

Original: • We design a Transformer-based GNN that is provably as expressive as GD-WL.
Revised: • We design a Transformer-based GNN that is provably as expressive as GD-WL.

Original: Thus, our framework is not only for theoretical analysis, but can also be easily implemented with good empirical performance on real-world tasks.
Revised: Thus, our framework is not only for theoretical analysis, but can also be easily implemented with good empirical performance on real-world tasks.

Original: Discussions with the concurrent work of Velingker et al.
Revised: Discussions with the concurrent work of Velingker et al.

Original: After the initial submission, we became aware of a concurrent work (Velingker et al., 2022) which also explored the use of Resistance
Revised: After the initial submission, we became aware of a concurrent work (Velingker et al., 2022) which also explored the use of Resistance

Original: Distance to enhance the expressiveness of standard MPNNs.
Revised: Distance to enhance the expressiveness of standard MPNNs.

Original: Here, we provide a comprehensive comparison of these two works.
Revised: Here, we provide a comprehensive comparison of these two works.

Original: Overall, the main difference is that their approach incorporates RD (and several related affinity measures) into node/edge features , while we combine RD to design a new WL aggregation procedure.
Revised: Overall, the main difference is that their approach incorporates RD (and several related affinity measures) into node/edge features (like Zhang & Li (2021)), while we combine RD to design a new WL aggregation procedure.

Original: As for the theoretical analysis, they only give a few toy examples of regular graphs to justify the expressive power beyond the 1-WL test, while we give a systematic analysis of the power of RD-WL for general graphs and point out that it is fully expressive for vertex-biconnectivity.
Revised: As for the theoretical analysis, they only give a few toy examples of regular graphs to justify the expressive power beyond the 1-WL test, while we give a systematic analysis of the power of RD-WL for general graphs and point out that it is fully expressive for vertex-biconnectivity.

Original: In Velingker et al.
Revised: In Velingker et al.

Original: , the authors also made comparisons to SPD and conjectured that RD may have additional advantages than SPD in terms of expressiveness.
Revised: , the authors also made comparisons to SPD and conjectured that RD may have additional advantages than SPD in terms of expressiveness.

Original: In fact, this question is formally answered in our work, by proving that RD-WL is expressive for vertexbiconnectivity while SPD-WL is not.
Revised: In fact, this question is formally answered in our work, by proving that RD-WL is expressive for vertex-biconnectivity while SPD-WL is not.

Original: Another important contribution of our work is that we provide an upper bound of the expressive power of RD-WL to be 2-FWL (3-WL), which reveals the limit of incorporating RD information.
Revised: Another important contribution of our work is that we provide an upper bound of the expressive power of RD-WL to be 2-FWL (3-WL), which reveals the limit of incorporating RD information.

Original: We also provide a precise and complete characterization for the expressiveness of RD-WL in distinguishing distance-regular graphs, which reveals that RD-WL can match the power of 2-FWL in distinguishing these hard graphs.
Revised: We also provide a precise and complete characterization for the expressiveness of RD-WL in distinguishing distance-regular graphs, which reveals that RD-WL can match the power of 2-FWL in distinguishing these hard graphs.

Original: E I MPLEMENTATION OF G ENERALIZED D ISTANCE W EISFEILER -L EHMAN
Revised: E I MPLEMENTATION OF G ENERALIZED D ISTANCE W EISFEILER -L EHMAN

Original: In this section, we give implementation details of GD-WL and our proposed GNN architecture.
Revised: In this section, we give implementation details of GD-WL and our proposed GNN architecture.

Original: We also give detailed analysis of its computation complexity.
Revised: We also give detailed analysis of its computation complexity.

Original: Below, assume the input graph G =
Revised: Below, assume the input graph G =

Original: ( V , E ) has n vertices and m edges.
Revised: ( V , E ) has n vertices and m edges.

Original: E. P REPROCESSING S HORTEST P ATH D ISTANCE
Revised: E. P REPROCESSING S HORTEST P ATH D ISTANCE

Original: Shortest Path Distance can be easily calculated using the Floyd-Warshall algorithm (Floyd, 1962), which has a complexity of Θ( n 3 ) .
Revised: Shortest Path Distance can be easily calculated using the Floyd-Warshall algorithm (Floyd, 1962), which has a complexity of Θ( n 3 ) .

Original: For sparse graphs typically encountered in practice (i.e. m =
Revised: For sparse graphs typically encountered in practice (i.e. m =

Original: o ( n 2 ) ), a more clever way is to use breadth-first search that computes the distance from a given node to all other nodes in the graph.
Revised: o ( n 2 ) ), a more clever way is to use breadth-first search that computes the distance from a given node to all other nodes in the graph.

Original: The time complexity can be improved to Θ( nm ) .
Revised: The time complexity can be improved to Θ( nm ) .

Original: E. P REPROCESSING R ESISTANCE D ISTANCE
Revised: E. P REPROCESSING R ESISTANCE D ISTANCE

Original: In this subsection, we first describe several important properties of Resistance Distance.
Revised: In this subsection, we first describe several important properties of Resistance Distance.

Original: Based on these properties, we give a simple yet efficient algorithm to calculate Resistance Distance.
Revised: Based on these properties, we give a simple yet efficient algorithm to calculate Resistance Distance.

Original: Equivalence between Resistance Distance (RD) and Commute Time Distance (CTD) .
Revised: Equivalence between Resistance Distance (RD) and Commute Time Distance (CTD) .

Original: Chandra et al.
Revised: Chandra et al.

Original: (1996) established an important relationship between RD and CTD, by proving that dis C G ( u, v )
Revised: (1996) established an important relationship between RD and CTD, by proving that dis C G ( u, v )

Original: = 2 m dis R G ( u, v ) holds for any graph G and any nodes u, v ∈ V .
Revised: = 2 m dis R G ( u, v ) holds for any graph G and any nodes u, v ∈ V .

Original: Here, the Commute
Revised: Here, the Commute

Original: Time Distance is defined as dis C G ( u, v ) :
Revised: Time Distance is defined as dis C G ( u, v ) :

Original: = h G ( u, v )+ h G ( v, u ) where h G ( u, v ) is the average hitting time from u to v in a random walk.
Revised: = h G ( u, v )+ h G ( v, u ) where h G ( u, v ) is the average hitting time from u to v in a random walk.

Original: Concretely, h G ( u, v ) is equal to the average number of edges passed in a random walk when starting from u and reaching v for the first time.
Revised: Concretely, h G ( u, v ) is equal to the average number of edges passed in a random walk when starting from u and reaching v for the first time.