1 Introduction  
1.1 Notations  
1.2 Problem Setting  
1.3 Graph Neural Networks  
2 Graphs That GNNs Cannot Distinguish  
3 Connection with The WL Algorithm  
3.1 Weisfeiler-Lehman Algorithm  
3.2 Connection between GNNs And The WL Algorithm  
3.3 Higher Order Graph Neural Networks  
3.4 Relational Pooling  
4 Connection with Combinatorial Problems  
4.1 Distributed Local Algorithms  
4.2 Connection with Local Algorithms  
4.3 Random Features Strengthen GNNs  
4.4 Time Complexity  
5 XS Correspondence  
6 Conclusion