Metamath Proof Explorer


Theorem grlictr

Description: Graph local isomorphism is transitive. (Contributed by AV, 10-Jun-2025)

Ref Expression
Assertion grlictr ( ( 𝑅𝑙𝑔𝑟 𝑆𝑆𝑙𝑔𝑟 𝑇 ) → 𝑅𝑙𝑔𝑟 𝑇 )

Proof

Step Hyp Ref Expression
1 grlicrcl ( 𝑅𝑙𝑔𝑟 𝑆 → ( 𝑅 ∈ V ∧ 𝑆 ∈ V ) )
2 grlicrcl ( 𝑆𝑙𝑔𝑟 𝑇 → ( 𝑆 ∈ V ∧ 𝑇 ∈ V ) )
3 1 2 anim12i ( ( 𝑅𝑙𝑔𝑟 𝑆𝑆𝑙𝑔𝑟 𝑇 ) → ( ( 𝑅 ∈ V ∧ 𝑆 ∈ V ) ∧ ( 𝑆 ∈ V ∧ 𝑇 ∈ V ) ) )
4 eqid ( Vtx ‘ 𝑅 ) = ( Vtx ‘ 𝑅 )
5 eqid ( Vtx ‘ 𝑆 ) = ( Vtx ‘ 𝑆 )
6 4 5 grilcbri ( 𝑅𝑙𝑔𝑟 𝑆 → ∃ 𝑔 ( 𝑔 : ( Vtx ‘ 𝑅 ) –1-1-onto→ ( Vtx ‘ 𝑆 ) ∧ ∀ 𝑟 ∈ ( Vtx ‘ 𝑅 ) ( 𝑅 ISubGr ( 𝑅 ClNeighbVtx 𝑟 ) ) ≃𝑔𝑟 ( 𝑆 ISubGr ( 𝑆 ClNeighbVtx ( 𝑔𝑟 ) ) ) ) )
7 eqid ( Vtx ‘ 𝑇 ) = ( Vtx ‘ 𝑇 )
8 5 7 grilcbri ( 𝑆𝑙𝑔𝑟 𝑇 → ∃ ( : ( Vtx ‘ 𝑆 ) –1-1-onto→ ( Vtx ‘ 𝑇 ) ∧ ∀ 𝑠 ∈ ( Vtx ‘ 𝑆 ) ( 𝑆 ISubGr ( 𝑆 ClNeighbVtx 𝑠 ) ) ≃𝑔𝑟 ( 𝑇 ISubGr ( 𝑇 ClNeighbVtx ( 𝑠 ) ) ) ) )
9 vex ∈ V
10 vex 𝑔 ∈ V
11 9 10 coex ( 𝑔 ) ∈ V
12 11 a1i ( ( ( : ( Vtx ‘ 𝑆 ) –1-1-onto→ ( Vtx ‘ 𝑇 ) ∧ ∀ 𝑠 ∈ ( Vtx ‘ 𝑆 ) ( 𝑆 ISubGr ( 𝑆 ClNeighbVtx 𝑠 ) ) ≃𝑔𝑟 ( 𝑇 ISubGr ( 𝑇 ClNeighbVtx ( 𝑠 ) ) ) ) ∧ ( 𝑔 : ( Vtx ‘ 𝑅 ) –1-1-onto→ ( Vtx ‘ 𝑆 ) ∧ ∀ 𝑟 ∈ ( Vtx ‘ 𝑅 ) ( 𝑅 ISubGr ( 𝑅 ClNeighbVtx 𝑟 ) ) ≃𝑔𝑟 ( 𝑆 ISubGr ( 𝑆 ClNeighbVtx ( 𝑔𝑟 ) ) ) ) ) → ( 𝑔 ) ∈ V )
13 f1oco ( ( : ( Vtx ‘ 𝑆 ) –1-1-onto→ ( Vtx ‘ 𝑇 ) ∧ 𝑔 : ( Vtx ‘ 𝑅 ) –1-1-onto→ ( Vtx ‘ 𝑆 ) ) → ( 𝑔 ) : ( Vtx ‘ 𝑅 ) –1-1-onto→ ( Vtx ‘ 𝑇 ) )
14 13 ad2ant2r ( ( ( : ( Vtx ‘ 𝑆 ) –1-1-onto→ ( Vtx ‘ 𝑇 ) ∧ ∀ 𝑠 ∈ ( Vtx ‘ 𝑆 ) ( 𝑆 ISubGr ( 𝑆 ClNeighbVtx 𝑠 ) ) ≃𝑔𝑟 ( 𝑇 ISubGr ( 𝑇 ClNeighbVtx ( 𝑠 ) ) ) ) ∧ ( 𝑔 : ( Vtx ‘ 𝑅 ) –1-1-onto→ ( Vtx ‘ 𝑆 ) ∧ ∀ 𝑟 ∈ ( Vtx ‘ 𝑅 ) ( 𝑅 ISubGr ( 𝑅 ClNeighbVtx 𝑟 ) ) ≃𝑔𝑟 ( 𝑆 ISubGr ( 𝑆 ClNeighbVtx ( 𝑔𝑟 ) ) ) ) ) → ( 𝑔 ) : ( Vtx ‘ 𝑅 ) –1-1-onto→ ( Vtx ‘ 𝑇 ) )
15 f1of ( 𝑔 : ( Vtx ‘ 𝑅 ) –1-1-onto→ ( Vtx ‘ 𝑆 ) → 𝑔 : ( Vtx ‘ 𝑅 ) ⟶ ( Vtx ‘ 𝑆 ) )
16 15 ffvelcdmda ( ( 𝑔 : ( Vtx ‘ 𝑅 ) –1-1-onto→ ( Vtx ‘ 𝑆 ) ∧ 𝑟 ∈ ( Vtx ‘ 𝑅 ) ) → ( 𝑔𝑟 ) ∈ ( Vtx ‘ 𝑆 ) )
17 oveq2 ( 𝑠 = ( 𝑔𝑟 ) → ( 𝑆 ClNeighbVtx 𝑠 ) = ( 𝑆 ClNeighbVtx ( 𝑔𝑟 ) ) )
18 17 oveq2d ( 𝑠 = ( 𝑔𝑟 ) → ( 𝑆 ISubGr ( 𝑆 ClNeighbVtx 𝑠 ) ) = ( 𝑆 ISubGr ( 𝑆 ClNeighbVtx ( 𝑔𝑟 ) ) ) )
19 fveq2 ( 𝑠 = ( 𝑔𝑟 ) → ( 𝑠 ) = ( ‘ ( 𝑔𝑟 ) ) )
20 19 oveq2d ( 𝑠 = ( 𝑔𝑟 ) → ( 𝑇 ClNeighbVtx ( 𝑠 ) ) = ( 𝑇 ClNeighbVtx ( ‘ ( 𝑔𝑟 ) ) ) )
21 20 oveq2d ( 𝑠 = ( 𝑔𝑟 ) → ( 𝑇 ISubGr ( 𝑇 ClNeighbVtx ( 𝑠 ) ) ) = ( 𝑇 ISubGr ( 𝑇 ClNeighbVtx ( ‘ ( 𝑔𝑟 ) ) ) ) )
22 18 21 breq12d ( 𝑠 = ( 𝑔𝑟 ) → ( ( 𝑆 ISubGr ( 𝑆 ClNeighbVtx 𝑠 ) ) ≃𝑔𝑟 ( 𝑇 ISubGr ( 𝑇 ClNeighbVtx ( 𝑠 ) ) ) ↔ ( 𝑆 ISubGr ( 𝑆 ClNeighbVtx ( 𝑔𝑟 ) ) ) ≃𝑔𝑟 ( 𝑇 ISubGr ( 𝑇 ClNeighbVtx ( ‘ ( 𝑔𝑟 ) ) ) ) ) )
23 22 rspcv ( ( 𝑔𝑟 ) ∈ ( Vtx ‘ 𝑆 ) → ( ∀ 𝑠 ∈ ( Vtx ‘ 𝑆 ) ( 𝑆 ISubGr ( 𝑆 ClNeighbVtx 𝑠 ) ) ≃𝑔𝑟 ( 𝑇 ISubGr ( 𝑇 ClNeighbVtx ( 𝑠 ) ) ) → ( 𝑆 ISubGr ( 𝑆 ClNeighbVtx ( 𝑔𝑟 ) ) ) ≃𝑔𝑟 ( 𝑇 ISubGr ( 𝑇 ClNeighbVtx ( ‘ ( 𝑔𝑟 ) ) ) ) ) )
24 16 23 syl ( ( 𝑔 : ( Vtx ‘ 𝑅 ) –1-1-onto→ ( Vtx ‘ 𝑆 ) ∧ 𝑟 ∈ ( Vtx ‘ 𝑅 ) ) → ( ∀ 𝑠 ∈ ( Vtx ‘ 𝑆 ) ( 𝑆 ISubGr ( 𝑆 ClNeighbVtx 𝑠 ) ) ≃𝑔𝑟 ( 𝑇 ISubGr ( 𝑇 ClNeighbVtx ( 𝑠 ) ) ) → ( 𝑆 ISubGr ( 𝑆 ClNeighbVtx ( 𝑔𝑟 ) ) ) ≃𝑔𝑟 ( 𝑇 ISubGr ( 𝑇 ClNeighbVtx ( ‘ ( 𝑔𝑟 ) ) ) ) ) )
25 fvco3 ( ( 𝑔 : ( Vtx ‘ 𝑅 ) ⟶ ( Vtx ‘ 𝑆 ) ∧ 𝑟 ∈ ( Vtx ‘ 𝑅 ) ) → ( ( 𝑔 ) ‘ 𝑟 ) = ( ‘ ( 𝑔𝑟 ) ) )
26 15 25 sylan ( ( 𝑔 : ( Vtx ‘ 𝑅 ) –1-1-onto→ ( Vtx ‘ 𝑆 ) ∧ 𝑟 ∈ ( Vtx ‘ 𝑅 ) ) → ( ( 𝑔 ) ‘ 𝑟 ) = ( ‘ ( 𝑔𝑟 ) ) )
27 26 eqcomd ( ( 𝑔 : ( Vtx ‘ 𝑅 ) –1-1-onto→ ( Vtx ‘ 𝑆 ) ∧ 𝑟 ∈ ( Vtx ‘ 𝑅 ) ) → ( ‘ ( 𝑔𝑟 ) ) = ( ( 𝑔 ) ‘ 𝑟 ) )
28 27 oveq2d ( ( 𝑔 : ( Vtx ‘ 𝑅 ) –1-1-onto→ ( Vtx ‘ 𝑆 ) ∧ 𝑟 ∈ ( Vtx ‘ 𝑅 ) ) → ( 𝑇 ClNeighbVtx ( ‘ ( 𝑔𝑟 ) ) ) = ( 𝑇 ClNeighbVtx ( ( 𝑔 ) ‘ 𝑟 ) ) )
29 28 oveq2d ( ( 𝑔 : ( Vtx ‘ 𝑅 ) –1-1-onto→ ( Vtx ‘ 𝑆 ) ∧ 𝑟 ∈ ( Vtx ‘ 𝑅 ) ) → ( 𝑇 ISubGr ( 𝑇 ClNeighbVtx ( ‘ ( 𝑔𝑟 ) ) ) ) = ( 𝑇 ISubGr ( 𝑇 ClNeighbVtx ( ( 𝑔 ) ‘ 𝑟 ) ) ) )
30 29 breq2d ( ( 𝑔 : ( Vtx ‘ 𝑅 ) –1-1-onto→ ( Vtx ‘ 𝑆 ) ∧ 𝑟 ∈ ( Vtx ‘ 𝑅 ) ) → ( ( 𝑆 ISubGr ( 𝑆 ClNeighbVtx ( 𝑔𝑟 ) ) ) ≃𝑔𝑟 ( 𝑇 ISubGr ( 𝑇 ClNeighbVtx ( ‘ ( 𝑔𝑟 ) ) ) ) ↔ ( 𝑆 ISubGr ( 𝑆 ClNeighbVtx ( 𝑔𝑟 ) ) ) ≃𝑔𝑟 ( 𝑇 ISubGr ( 𝑇 ClNeighbVtx ( ( 𝑔 ) ‘ 𝑟 ) ) ) ) )
31 24 30 sylibd ( ( 𝑔 : ( Vtx ‘ 𝑅 ) –1-1-onto→ ( Vtx ‘ 𝑆 ) ∧ 𝑟 ∈ ( Vtx ‘ 𝑅 ) ) → ( ∀ 𝑠 ∈ ( Vtx ‘ 𝑆 ) ( 𝑆 ISubGr ( 𝑆 ClNeighbVtx 𝑠 ) ) ≃𝑔𝑟 ( 𝑇 ISubGr ( 𝑇 ClNeighbVtx ( 𝑠 ) ) ) → ( 𝑆 ISubGr ( 𝑆 ClNeighbVtx ( 𝑔𝑟 ) ) ) ≃𝑔𝑟 ( 𝑇 ISubGr ( 𝑇 ClNeighbVtx ( ( 𝑔 ) ‘ 𝑟 ) ) ) ) )
32 31 ex ( 𝑔 : ( Vtx ‘ 𝑅 ) –1-1-onto→ ( Vtx ‘ 𝑆 ) → ( 𝑟 ∈ ( Vtx ‘ 𝑅 ) → ( ∀ 𝑠 ∈ ( Vtx ‘ 𝑆 ) ( 𝑆 ISubGr ( 𝑆 ClNeighbVtx 𝑠 ) ) ≃𝑔𝑟 ( 𝑇 ISubGr ( 𝑇 ClNeighbVtx ( 𝑠 ) ) ) → ( 𝑆 ISubGr ( 𝑆 ClNeighbVtx ( 𝑔𝑟 ) ) ) ≃𝑔𝑟 ( 𝑇 ISubGr ( 𝑇 ClNeighbVtx ( ( 𝑔 ) ‘ 𝑟 ) ) ) ) ) )
33 32 com3r ( ∀ 𝑠 ∈ ( Vtx ‘ 𝑆 ) ( 𝑆 ISubGr ( 𝑆 ClNeighbVtx 𝑠 ) ) ≃𝑔𝑟 ( 𝑇 ISubGr ( 𝑇 ClNeighbVtx ( 𝑠 ) ) ) → ( 𝑔 : ( Vtx ‘ 𝑅 ) –1-1-onto→ ( Vtx ‘ 𝑆 ) → ( 𝑟 ∈ ( Vtx ‘ 𝑅 ) → ( 𝑆 ISubGr ( 𝑆 ClNeighbVtx ( 𝑔𝑟 ) ) ) ≃𝑔𝑟 ( 𝑇 ISubGr ( 𝑇 ClNeighbVtx ( ( 𝑔 ) ‘ 𝑟 ) ) ) ) ) )
34 33 imp31 ( ( ( ∀ 𝑠 ∈ ( Vtx ‘ 𝑆 ) ( 𝑆 ISubGr ( 𝑆 ClNeighbVtx 𝑠 ) ) ≃𝑔𝑟 ( 𝑇 ISubGr ( 𝑇 ClNeighbVtx ( 𝑠 ) ) ) ∧ 𝑔 : ( Vtx ‘ 𝑅 ) –1-1-onto→ ( Vtx ‘ 𝑆 ) ) ∧ 𝑟 ∈ ( Vtx ‘ 𝑅 ) ) → ( 𝑆 ISubGr ( 𝑆 ClNeighbVtx ( 𝑔𝑟 ) ) ) ≃𝑔𝑟 ( 𝑇 ISubGr ( 𝑇 ClNeighbVtx ( ( 𝑔 ) ‘ 𝑟 ) ) ) )
35 34 anim1ci ( ( ( ( ∀ 𝑠 ∈ ( Vtx ‘ 𝑆 ) ( 𝑆 ISubGr ( 𝑆 ClNeighbVtx 𝑠 ) ) ≃𝑔𝑟 ( 𝑇 ISubGr ( 𝑇 ClNeighbVtx ( 𝑠 ) ) ) ∧ 𝑔 : ( Vtx ‘ 𝑅 ) –1-1-onto→ ( Vtx ‘ 𝑆 ) ) ∧ 𝑟 ∈ ( Vtx ‘ 𝑅 ) ) ∧ ( 𝑅 ISubGr ( 𝑅 ClNeighbVtx 𝑟 ) ) ≃𝑔𝑟 ( 𝑆 ISubGr ( 𝑆 ClNeighbVtx ( 𝑔𝑟 ) ) ) ) → ( ( 𝑅 ISubGr ( 𝑅 ClNeighbVtx 𝑟 ) ) ≃𝑔𝑟 ( 𝑆 ISubGr ( 𝑆 ClNeighbVtx ( 𝑔𝑟 ) ) ) ∧ ( 𝑆 ISubGr ( 𝑆 ClNeighbVtx ( 𝑔𝑟 ) ) ) ≃𝑔𝑟 ( 𝑇 ISubGr ( 𝑇 ClNeighbVtx ( ( 𝑔 ) ‘ 𝑟 ) ) ) ) )
36 grictr ( ( ( 𝑅 ISubGr ( 𝑅 ClNeighbVtx 𝑟 ) ) ≃𝑔𝑟 ( 𝑆 ISubGr ( 𝑆 ClNeighbVtx ( 𝑔𝑟 ) ) ) ∧ ( 𝑆 ISubGr ( 𝑆 ClNeighbVtx ( 𝑔𝑟 ) ) ) ≃𝑔𝑟 ( 𝑇 ISubGr ( 𝑇 ClNeighbVtx ( ( 𝑔 ) ‘ 𝑟 ) ) ) ) → ( 𝑅 ISubGr ( 𝑅 ClNeighbVtx 𝑟 ) ) ≃𝑔𝑟 ( 𝑇 ISubGr ( 𝑇 ClNeighbVtx ( ( 𝑔 ) ‘ 𝑟 ) ) ) )
37 35 36 syl ( ( ( ( ∀ 𝑠 ∈ ( Vtx ‘ 𝑆 ) ( 𝑆 ISubGr ( 𝑆 ClNeighbVtx 𝑠 ) ) ≃𝑔𝑟 ( 𝑇 ISubGr ( 𝑇 ClNeighbVtx ( 𝑠 ) ) ) ∧ 𝑔 : ( Vtx ‘ 𝑅 ) –1-1-onto→ ( Vtx ‘ 𝑆 ) ) ∧ 𝑟 ∈ ( Vtx ‘ 𝑅 ) ) ∧ ( 𝑅 ISubGr ( 𝑅 ClNeighbVtx 𝑟 ) ) ≃𝑔𝑟 ( 𝑆 ISubGr ( 𝑆 ClNeighbVtx ( 𝑔𝑟 ) ) ) ) → ( 𝑅 ISubGr ( 𝑅 ClNeighbVtx 𝑟 ) ) ≃𝑔𝑟 ( 𝑇 ISubGr ( 𝑇 ClNeighbVtx ( ( 𝑔 ) ‘ 𝑟 ) ) ) )
38 37 ex ( ( ( ∀ 𝑠 ∈ ( Vtx ‘ 𝑆 ) ( 𝑆 ISubGr ( 𝑆 ClNeighbVtx 𝑠 ) ) ≃𝑔𝑟 ( 𝑇 ISubGr ( 𝑇 ClNeighbVtx ( 𝑠 ) ) ) ∧ 𝑔 : ( Vtx ‘ 𝑅 ) –1-1-onto→ ( Vtx ‘ 𝑆 ) ) ∧ 𝑟 ∈ ( Vtx ‘ 𝑅 ) ) → ( ( 𝑅 ISubGr ( 𝑅 ClNeighbVtx 𝑟 ) ) ≃𝑔𝑟 ( 𝑆 ISubGr ( 𝑆 ClNeighbVtx ( 𝑔𝑟 ) ) ) → ( 𝑅 ISubGr ( 𝑅 ClNeighbVtx 𝑟 ) ) ≃𝑔𝑟 ( 𝑇 ISubGr ( 𝑇 ClNeighbVtx ( ( 𝑔 ) ‘ 𝑟 ) ) ) ) )
39 38 ralimdva ( ( ∀ 𝑠 ∈ ( Vtx ‘ 𝑆 ) ( 𝑆 ISubGr ( 𝑆 ClNeighbVtx 𝑠 ) ) ≃𝑔𝑟 ( 𝑇 ISubGr ( 𝑇 ClNeighbVtx ( 𝑠 ) ) ) ∧ 𝑔 : ( Vtx ‘ 𝑅 ) –1-1-onto→ ( Vtx ‘ 𝑆 ) ) → ( ∀ 𝑟 ∈ ( Vtx ‘ 𝑅 ) ( 𝑅 ISubGr ( 𝑅 ClNeighbVtx 𝑟 ) ) ≃𝑔𝑟 ( 𝑆 ISubGr ( 𝑆 ClNeighbVtx ( 𝑔𝑟 ) ) ) → ∀ 𝑟 ∈ ( Vtx ‘ 𝑅 ) ( 𝑅 ISubGr ( 𝑅 ClNeighbVtx 𝑟 ) ) ≃𝑔𝑟 ( 𝑇 ISubGr ( 𝑇 ClNeighbVtx ( ( 𝑔 ) ‘ 𝑟 ) ) ) ) )
40 39 expimpd ( ∀ 𝑠 ∈ ( Vtx ‘ 𝑆 ) ( 𝑆 ISubGr ( 𝑆 ClNeighbVtx 𝑠 ) ) ≃𝑔𝑟 ( 𝑇 ISubGr ( 𝑇 ClNeighbVtx ( 𝑠 ) ) ) → ( ( 𝑔 : ( Vtx ‘ 𝑅 ) –1-1-onto→ ( Vtx ‘ 𝑆 ) ∧ ∀ 𝑟 ∈ ( Vtx ‘ 𝑅 ) ( 𝑅 ISubGr ( 𝑅 ClNeighbVtx 𝑟 ) ) ≃𝑔𝑟 ( 𝑆 ISubGr ( 𝑆 ClNeighbVtx ( 𝑔𝑟 ) ) ) ) → ∀ 𝑟 ∈ ( Vtx ‘ 𝑅 ) ( 𝑅 ISubGr ( 𝑅 ClNeighbVtx 𝑟 ) ) ≃𝑔𝑟 ( 𝑇 ISubGr ( 𝑇 ClNeighbVtx ( ( 𝑔 ) ‘ 𝑟 ) ) ) ) )
41 40 adantl ( ( : ( Vtx ‘ 𝑆 ) –1-1-onto→ ( Vtx ‘ 𝑇 ) ∧ ∀ 𝑠 ∈ ( Vtx ‘ 𝑆 ) ( 𝑆 ISubGr ( 𝑆 ClNeighbVtx 𝑠 ) ) ≃𝑔𝑟 ( 𝑇 ISubGr ( 𝑇 ClNeighbVtx ( 𝑠 ) ) ) ) → ( ( 𝑔 : ( Vtx ‘ 𝑅 ) –1-1-onto→ ( Vtx ‘ 𝑆 ) ∧ ∀ 𝑟 ∈ ( Vtx ‘ 𝑅 ) ( 𝑅 ISubGr ( 𝑅 ClNeighbVtx 𝑟 ) ) ≃𝑔𝑟 ( 𝑆 ISubGr ( 𝑆 ClNeighbVtx ( 𝑔𝑟 ) ) ) ) → ∀ 𝑟 ∈ ( Vtx ‘ 𝑅 ) ( 𝑅 ISubGr ( 𝑅 ClNeighbVtx 𝑟 ) ) ≃𝑔𝑟 ( 𝑇 ISubGr ( 𝑇 ClNeighbVtx ( ( 𝑔 ) ‘ 𝑟 ) ) ) ) )
42 41 imp ( ( ( : ( Vtx ‘ 𝑆 ) –1-1-onto→ ( Vtx ‘ 𝑇 ) ∧ ∀ 𝑠 ∈ ( Vtx ‘ 𝑆 ) ( 𝑆 ISubGr ( 𝑆 ClNeighbVtx 𝑠 ) ) ≃𝑔𝑟 ( 𝑇 ISubGr ( 𝑇 ClNeighbVtx ( 𝑠 ) ) ) ) ∧ ( 𝑔 : ( Vtx ‘ 𝑅 ) –1-1-onto→ ( Vtx ‘ 𝑆 ) ∧ ∀ 𝑟 ∈ ( Vtx ‘ 𝑅 ) ( 𝑅 ISubGr ( 𝑅 ClNeighbVtx 𝑟 ) ) ≃𝑔𝑟 ( 𝑆 ISubGr ( 𝑆 ClNeighbVtx ( 𝑔𝑟 ) ) ) ) ) → ∀ 𝑟 ∈ ( Vtx ‘ 𝑅 ) ( 𝑅 ISubGr ( 𝑅 ClNeighbVtx 𝑟 ) ) ≃𝑔𝑟 ( 𝑇 ISubGr ( 𝑇 ClNeighbVtx ( ( 𝑔 ) ‘ 𝑟 ) ) ) )
43 14 42 jca ( ( ( : ( Vtx ‘ 𝑆 ) –1-1-onto→ ( Vtx ‘ 𝑇 ) ∧ ∀ 𝑠 ∈ ( Vtx ‘ 𝑆 ) ( 𝑆 ISubGr ( 𝑆 ClNeighbVtx 𝑠 ) ) ≃𝑔𝑟 ( 𝑇 ISubGr ( 𝑇 ClNeighbVtx ( 𝑠 ) ) ) ) ∧ ( 𝑔 : ( Vtx ‘ 𝑅 ) –1-1-onto→ ( Vtx ‘ 𝑆 ) ∧ ∀ 𝑟 ∈ ( Vtx ‘ 𝑅 ) ( 𝑅 ISubGr ( 𝑅 ClNeighbVtx 𝑟 ) ) ≃𝑔𝑟 ( 𝑆 ISubGr ( 𝑆 ClNeighbVtx ( 𝑔𝑟 ) ) ) ) ) → ( ( 𝑔 ) : ( Vtx ‘ 𝑅 ) –1-1-onto→ ( Vtx ‘ 𝑇 ) ∧ ∀ 𝑟 ∈ ( Vtx ‘ 𝑅 ) ( 𝑅 ISubGr ( 𝑅 ClNeighbVtx 𝑟 ) ) ≃𝑔𝑟 ( 𝑇 ISubGr ( 𝑇 ClNeighbVtx ( ( 𝑔 ) ‘ 𝑟 ) ) ) ) )
44 f1oeq1 ( 𝑓 = ( 𝑔 ) → ( 𝑓 : ( Vtx ‘ 𝑅 ) –1-1-onto→ ( Vtx ‘ 𝑇 ) ↔ ( 𝑔 ) : ( Vtx ‘ 𝑅 ) –1-1-onto→ ( Vtx ‘ 𝑇 ) ) )
45 fveq1 ( 𝑓 = ( 𝑔 ) → ( 𝑓𝑟 ) = ( ( 𝑔 ) ‘ 𝑟 ) )
46 45 oveq2d ( 𝑓 = ( 𝑔 ) → ( 𝑇 ClNeighbVtx ( 𝑓𝑟 ) ) = ( 𝑇 ClNeighbVtx ( ( 𝑔 ) ‘ 𝑟 ) ) )
47 46 oveq2d ( 𝑓 = ( 𝑔 ) → ( 𝑇 ISubGr ( 𝑇 ClNeighbVtx ( 𝑓𝑟 ) ) ) = ( 𝑇 ISubGr ( 𝑇 ClNeighbVtx ( ( 𝑔 ) ‘ 𝑟 ) ) ) )
48 47 breq2d ( 𝑓 = ( 𝑔 ) → ( ( 𝑅 ISubGr ( 𝑅 ClNeighbVtx 𝑟 ) ) ≃𝑔𝑟 ( 𝑇 ISubGr ( 𝑇 ClNeighbVtx ( 𝑓𝑟 ) ) ) ↔ ( 𝑅 ISubGr ( 𝑅 ClNeighbVtx 𝑟 ) ) ≃𝑔𝑟 ( 𝑇 ISubGr ( 𝑇 ClNeighbVtx ( ( 𝑔 ) ‘ 𝑟 ) ) ) ) )
49 48 ralbidv ( 𝑓 = ( 𝑔 ) → ( ∀ 𝑟 ∈ ( Vtx ‘ 𝑅 ) ( 𝑅 ISubGr ( 𝑅 ClNeighbVtx 𝑟 ) ) ≃𝑔𝑟 ( 𝑇 ISubGr ( 𝑇 ClNeighbVtx ( 𝑓𝑟 ) ) ) ↔ ∀ 𝑟 ∈ ( Vtx ‘ 𝑅 ) ( 𝑅 ISubGr ( 𝑅 ClNeighbVtx 𝑟 ) ) ≃𝑔𝑟 ( 𝑇 ISubGr ( 𝑇 ClNeighbVtx ( ( 𝑔 ) ‘ 𝑟 ) ) ) ) )
50 44 49 anbi12d ( 𝑓 = ( 𝑔 ) → ( ( 𝑓 : ( Vtx ‘ 𝑅 ) –1-1-onto→ ( Vtx ‘ 𝑇 ) ∧ ∀ 𝑟 ∈ ( Vtx ‘ 𝑅 ) ( 𝑅 ISubGr ( 𝑅 ClNeighbVtx 𝑟 ) ) ≃𝑔𝑟 ( 𝑇 ISubGr ( 𝑇 ClNeighbVtx ( 𝑓𝑟 ) ) ) ) ↔ ( ( 𝑔 ) : ( Vtx ‘ 𝑅 ) –1-1-onto→ ( Vtx ‘ 𝑇 ) ∧ ∀ 𝑟 ∈ ( Vtx ‘ 𝑅 ) ( 𝑅 ISubGr ( 𝑅 ClNeighbVtx 𝑟 ) ) ≃𝑔𝑟 ( 𝑇 ISubGr ( 𝑇 ClNeighbVtx ( ( 𝑔 ) ‘ 𝑟 ) ) ) ) ) )
51 12 43 50 spcedv ( ( ( : ( Vtx ‘ 𝑆 ) –1-1-onto→ ( Vtx ‘ 𝑇 ) ∧ ∀ 𝑠 ∈ ( Vtx ‘ 𝑆 ) ( 𝑆 ISubGr ( 𝑆 ClNeighbVtx 𝑠 ) ) ≃𝑔𝑟 ( 𝑇 ISubGr ( 𝑇 ClNeighbVtx ( 𝑠 ) ) ) ) ∧ ( 𝑔 : ( Vtx ‘ 𝑅 ) –1-1-onto→ ( Vtx ‘ 𝑆 ) ∧ ∀ 𝑟 ∈ ( Vtx ‘ 𝑅 ) ( 𝑅 ISubGr ( 𝑅 ClNeighbVtx 𝑟 ) ) ≃𝑔𝑟 ( 𝑆 ISubGr ( 𝑆 ClNeighbVtx ( 𝑔𝑟 ) ) ) ) ) → ∃ 𝑓 ( 𝑓 : ( Vtx ‘ 𝑅 ) –1-1-onto→ ( Vtx ‘ 𝑇 ) ∧ ∀ 𝑟 ∈ ( Vtx ‘ 𝑅 ) ( 𝑅 ISubGr ( 𝑅 ClNeighbVtx 𝑟 ) ) ≃𝑔𝑟 ( 𝑇 ISubGr ( 𝑇 ClNeighbVtx ( 𝑓𝑟 ) ) ) ) )
52 51 ex ( ( : ( Vtx ‘ 𝑆 ) –1-1-onto→ ( Vtx ‘ 𝑇 ) ∧ ∀ 𝑠 ∈ ( Vtx ‘ 𝑆 ) ( 𝑆 ISubGr ( 𝑆 ClNeighbVtx 𝑠 ) ) ≃𝑔𝑟 ( 𝑇 ISubGr ( 𝑇 ClNeighbVtx ( 𝑠 ) ) ) ) → ( ( 𝑔 : ( Vtx ‘ 𝑅 ) –1-1-onto→ ( Vtx ‘ 𝑆 ) ∧ ∀ 𝑟 ∈ ( Vtx ‘ 𝑅 ) ( 𝑅 ISubGr ( 𝑅 ClNeighbVtx 𝑟 ) ) ≃𝑔𝑟 ( 𝑆 ISubGr ( 𝑆 ClNeighbVtx ( 𝑔𝑟 ) ) ) ) → ∃ 𝑓 ( 𝑓 : ( Vtx ‘ 𝑅 ) –1-1-onto→ ( Vtx ‘ 𝑇 ) ∧ ∀ 𝑟 ∈ ( Vtx ‘ 𝑅 ) ( 𝑅 ISubGr ( 𝑅 ClNeighbVtx 𝑟 ) ) ≃𝑔𝑟 ( 𝑇 ISubGr ( 𝑇 ClNeighbVtx ( 𝑓𝑟 ) ) ) ) ) )
53 52 exlimiv ( ∃ ( : ( Vtx ‘ 𝑆 ) –1-1-onto→ ( Vtx ‘ 𝑇 ) ∧ ∀ 𝑠 ∈ ( Vtx ‘ 𝑆 ) ( 𝑆 ISubGr ( 𝑆 ClNeighbVtx 𝑠 ) ) ≃𝑔𝑟 ( 𝑇 ISubGr ( 𝑇 ClNeighbVtx ( 𝑠 ) ) ) ) → ( ( 𝑔 : ( Vtx ‘ 𝑅 ) –1-1-onto→ ( Vtx ‘ 𝑆 ) ∧ ∀ 𝑟 ∈ ( Vtx ‘ 𝑅 ) ( 𝑅 ISubGr ( 𝑅 ClNeighbVtx 𝑟 ) ) ≃𝑔𝑟 ( 𝑆 ISubGr ( 𝑆 ClNeighbVtx ( 𝑔𝑟 ) ) ) ) → ∃ 𝑓 ( 𝑓 : ( Vtx ‘ 𝑅 ) –1-1-onto→ ( Vtx ‘ 𝑇 ) ∧ ∀ 𝑟 ∈ ( Vtx ‘ 𝑅 ) ( 𝑅 ISubGr ( 𝑅 ClNeighbVtx 𝑟 ) ) ≃𝑔𝑟 ( 𝑇 ISubGr ( 𝑇 ClNeighbVtx ( 𝑓𝑟 ) ) ) ) ) )
54 53 com12 ( ( 𝑔 : ( Vtx ‘ 𝑅 ) –1-1-onto→ ( Vtx ‘ 𝑆 ) ∧ ∀ 𝑟 ∈ ( Vtx ‘ 𝑅 ) ( 𝑅 ISubGr ( 𝑅 ClNeighbVtx 𝑟 ) ) ≃𝑔𝑟 ( 𝑆 ISubGr ( 𝑆 ClNeighbVtx ( 𝑔𝑟 ) ) ) ) → ( ∃ ( : ( Vtx ‘ 𝑆 ) –1-1-onto→ ( Vtx ‘ 𝑇 ) ∧ ∀ 𝑠 ∈ ( Vtx ‘ 𝑆 ) ( 𝑆 ISubGr ( 𝑆 ClNeighbVtx 𝑠 ) ) ≃𝑔𝑟 ( 𝑇 ISubGr ( 𝑇 ClNeighbVtx ( 𝑠 ) ) ) ) → ∃ 𝑓 ( 𝑓 : ( Vtx ‘ 𝑅 ) –1-1-onto→ ( Vtx ‘ 𝑇 ) ∧ ∀ 𝑟 ∈ ( Vtx ‘ 𝑅 ) ( 𝑅 ISubGr ( 𝑅 ClNeighbVtx 𝑟 ) ) ≃𝑔𝑟 ( 𝑇 ISubGr ( 𝑇 ClNeighbVtx ( 𝑓𝑟 ) ) ) ) ) )
55 54 exlimiv ( ∃ 𝑔 ( 𝑔 : ( Vtx ‘ 𝑅 ) –1-1-onto→ ( Vtx ‘ 𝑆 ) ∧ ∀ 𝑟 ∈ ( Vtx ‘ 𝑅 ) ( 𝑅 ISubGr ( 𝑅 ClNeighbVtx 𝑟 ) ) ≃𝑔𝑟 ( 𝑆 ISubGr ( 𝑆 ClNeighbVtx ( 𝑔𝑟 ) ) ) ) → ( ∃ ( : ( Vtx ‘ 𝑆 ) –1-1-onto→ ( Vtx ‘ 𝑇 ) ∧ ∀ 𝑠 ∈ ( Vtx ‘ 𝑆 ) ( 𝑆 ISubGr ( 𝑆 ClNeighbVtx 𝑠 ) ) ≃𝑔𝑟 ( 𝑇 ISubGr ( 𝑇 ClNeighbVtx ( 𝑠 ) ) ) ) → ∃ 𝑓 ( 𝑓 : ( Vtx ‘ 𝑅 ) –1-1-onto→ ( Vtx ‘ 𝑇 ) ∧ ∀ 𝑟 ∈ ( Vtx ‘ 𝑅 ) ( 𝑅 ISubGr ( 𝑅 ClNeighbVtx 𝑟 ) ) ≃𝑔𝑟 ( 𝑇 ISubGr ( 𝑇 ClNeighbVtx ( 𝑓𝑟 ) ) ) ) ) )
56 55 imp ( ( ∃ 𝑔 ( 𝑔 : ( Vtx ‘ 𝑅 ) –1-1-onto→ ( Vtx ‘ 𝑆 ) ∧ ∀ 𝑟 ∈ ( Vtx ‘ 𝑅 ) ( 𝑅 ISubGr ( 𝑅 ClNeighbVtx 𝑟 ) ) ≃𝑔𝑟 ( 𝑆 ISubGr ( 𝑆 ClNeighbVtx ( 𝑔𝑟 ) ) ) ) ∧ ∃ ( : ( Vtx ‘ 𝑆 ) –1-1-onto→ ( Vtx ‘ 𝑇 ) ∧ ∀ 𝑠 ∈ ( Vtx ‘ 𝑆 ) ( 𝑆 ISubGr ( 𝑆 ClNeighbVtx 𝑠 ) ) ≃𝑔𝑟 ( 𝑇 ISubGr ( 𝑇 ClNeighbVtx ( 𝑠 ) ) ) ) ) → ∃ 𝑓 ( 𝑓 : ( Vtx ‘ 𝑅 ) –1-1-onto→ ( Vtx ‘ 𝑇 ) ∧ ∀ 𝑟 ∈ ( Vtx ‘ 𝑅 ) ( 𝑅 ISubGr ( 𝑅 ClNeighbVtx 𝑟 ) ) ≃𝑔𝑟 ( 𝑇 ISubGr ( 𝑇 ClNeighbVtx ( 𝑓𝑟 ) ) ) ) )
57 6 8 56 syl2an ( ( 𝑅𝑙𝑔𝑟 𝑆𝑆𝑙𝑔𝑟 𝑇 ) → ∃ 𝑓 ( 𝑓 : ( Vtx ‘ 𝑅 ) –1-1-onto→ ( Vtx ‘ 𝑇 ) ∧ ∀ 𝑟 ∈ ( Vtx ‘ 𝑅 ) ( 𝑅 ISubGr ( 𝑅 ClNeighbVtx 𝑟 ) ) ≃𝑔𝑟 ( 𝑇 ISubGr ( 𝑇 ClNeighbVtx ( 𝑓𝑟 ) ) ) ) )
58 57 adantr ( ( ( 𝑅𝑙𝑔𝑟 𝑆𝑆𝑙𝑔𝑟 𝑇 ) ∧ ( ( 𝑅 ∈ V ∧ 𝑆 ∈ V ) ∧ ( 𝑆 ∈ V ∧ 𝑇 ∈ V ) ) ) → ∃ 𝑓 ( 𝑓 : ( Vtx ‘ 𝑅 ) –1-1-onto→ ( Vtx ‘ 𝑇 ) ∧ ∀ 𝑟 ∈ ( Vtx ‘ 𝑅 ) ( 𝑅 ISubGr ( 𝑅 ClNeighbVtx 𝑟 ) ) ≃𝑔𝑟 ( 𝑇 ISubGr ( 𝑇 ClNeighbVtx ( 𝑓𝑟 ) ) ) ) )
59 4 7 dfgrlic2 ( ( 𝑅 ∈ V ∧ 𝑇 ∈ V ) → ( 𝑅𝑙𝑔𝑟 𝑇 ↔ ∃ 𝑓 ( 𝑓 : ( Vtx ‘ 𝑅 ) –1-1-onto→ ( Vtx ‘ 𝑇 ) ∧ ∀ 𝑟 ∈ ( Vtx ‘ 𝑅 ) ( 𝑅 ISubGr ( 𝑅 ClNeighbVtx 𝑟 ) ) ≃𝑔𝑟 ( 𝑇 ISubGr ( 𝑇 ClNeighbVtx ( 𝑓𝑟 ) ) ) ) ) )
60 59 ad2ant2rl ( ( ( 𝑅 ∈ V ∧ 𝑆 ∈ V ) ∧ ( 𝑆 ∈ V ∧ 𝑇 ∈ V ) ) → ( 𝑅𝑙𝑔𝑟 𝑇 ↔ ∃ 𝑓 ( 𝑓 : ( Vtx ‘ 𝑅 ) –1-1-onto→ ( Vtx ‘ 𝑇 ) ∧ ∀ 𝑟 ∈ ( Vtx ‘ 𝑅 ) ( 𝑅 ISubGr ( 𝑅 ClNeighbVtx 𝑟 ) ) ≃𝑔𝑟 ( 𝑇 ISubGr ( 𝑇 ClNeighbVtx ( 𝑓𝑟 ) ) ) ) ) )
61 60 adantl ( ( ( 𝑅𝑙𝑔𝑟 𝑆𝑆𝑙𝑔𝑟 𝑇 ) ∧ ( ( 𝑅 ∈ V ∧ 𝑆 ∈ V ) ∧ ( 𝑆 ∈ V ∧ 𝑇 ∈ V ) ) ) → ( 𝑅𝑙𝑔𝑟 𝑇 ↔ ∃ 𝑓 ( 𝑓 : ( Vtx ‘ 𝑅 ) –1-1-onto→ ( Vtx ‘ 𝑇 ) ∧ ∀ 𝑟 ∈ ( Vtx ‘ 𝑅 ) ( 𝑅 ISubGr ( 𝑅 ClNeighbVtx 𝑟 ) ) ≃𝑔𝑟 ( 𝑇 ISubGr ( 𝑇 ClNeighbVtx ( 𝑓𝑟 ) ) ) ) ) )
62 58 61 mpbird ( ( ( 𝑅𝑙𝑔𝑟 𝑆𝑆𝑙𝑔𝑟 𝑇 ) ∧ ( ( 𝑅 ∈ V ∧ 𝑆 ∈ V ) ∧ ( 𝑆 ∈ V ∧ 𝑇 ∈ V ) ) ) → 𝑅𝑙𝑔𝑟 𝑇 )
63 3 62 mpdan ( ( 𝑅𝑙𝑔𝑟 𝑆𝑆𝑙𝑔𝑟 𝑇 ) → 𝑅𝑙𝑔𝑟 𝑇 )