Metamath Proof Explorer


Theorem grilcbri2

Description: Implications of two graphs being locally isomorphic. (Contributed by AV, 9-Jun-2025)

Ref Expression
Hypotheses dfgrlic2.v 𝑉 = ( Vtx ‘ 𝐺 )
dfgrlic2.w 𝑊 = ( Vtx ‘ 𝐻 )
dfgrlic3.i 𝐼 = ( iEdg ‘ 𝐺 )
dfgrlic3.j 𝐽 = ( iEdg ‘ 𝐻 )
grilcbri2.n 𝑁 = ( 𝐺 ClNeighbVtx 𝑋 )
grilcbri2.m 𝑀 = ( 𝐻 ClNeighbVtx ( 𝑓𝑋 ) )
grilcbri2.k 𝐾 = { 𝑥 ∈ dom 𝐼 ∣ ( 𝐼𝑥 ) ⊆ 𝑁 }
grilcbri2.l 𝐿 = { 𝑥 ∈ dom 𝐽 ∣ ( 𝐽𝑥 ) ⊆ 𝑀 }
Assertion grilcbri2 ( 𝐺𝑙𝑔𝑟 𝐻 → ∃ 𝑓 ( 𝑓 : 𝑉1-1-onto𝑊 ∧ ( 𝑋𝑉 → ∃ 𝑗 ( 𝑗 : 𝑁1-1-onto𝑀 ∧ ∃ 𝑔 ( 𝑔 : 𝐾1-1-onto𝐿 ∧ ∀ 𝑖𝐾 ( 𝑗 “ ( 𝐼𝑖 ) ) = ( 𝐽 ‘ ( 𝑔𝑖 ) ) ) ) ) ) )

Proof

Step Hyp Ref Expression
1 dfgrlic2.v 𝑉 = ( Vtx ‘ 𝐺 )
2 dfgrlic2.w 𝑊 = ( Vtx ‘ 𝐻 )
3 dfgrlic3.i 𝐼 = ( iEdg ‘ 𝐺 )
4 dfgrlic3.j 𝐽 = ( iEdg ‘ 𝐻 )
5 grilcbri2.n 𝑁 = ( 𝐺 ClNeighbVtx 𝑋 )
6 grilcbri2.m 𝑀 = ( 𝐻 ClNeighbVtx ( 𝑓𝑋 ) )
7 grilcbri2.k 𝐾 = { 𝑥 ∈ dom 𝐼 ∣ ( 𝐼𝑥 ) ⊆ 𝑁 }
8 grilcbri2.l 𝐿 = { 𝑥 ∈ dom 𝐽 ∣ ( 𝐽𝑥 ) ⊆ 𝑀 }
9 brgrlic ( 𝐺𝑙𝑔𝑟 𝐻 ↔ ( 𝐺 GraphLocIso 𝐻 ) ≠ ∅ )
10 grlimdmrel Rel dom GraphLocIso
11 10 ovprc ( ¬ ( 𝐺 ∈ V ∧ 𝐻 ∈ V ) → ( 𝐺 GraphLocIso 𝐻 ) = ∅ )
12 11 necon1ai ( ( 𝐺 GraphLocIso 𝐻 ) ≠ ∅ → ( 𝐺 ∈ V ∧ 𝐻 ∈ V ) )
13 9 12 sylbi ( 𝐺𝑙𝑔𝑟 𝐻 → ( 𝐺 ∈ V ∧ 𝐻 ∈ V ) )
14 eqid ( 𝐺 ClNeighbVtx 𝑣 ) = ( 𝐺 ClNeighbVtx 𝑣 )
15 eqid ( 𝐻 ClNeighbVtx ( 𝑓𝑣 ) ) = ( 𝐻 ClNeighbVtx ( 𝑓𝑣 ) )
16 eqid { 𝑥 ∈ dom 𝐼 ∣ ( 𝐼𝑥 ) ⊆ ( 𝐺 ClNeighbVtx 𝑣 ) } = { 𝑥 ∈ dom 𝐼 ∣ ( 𝐼𝑥 ) ⊆ ( 𝐺 ClNeighbVtx 𝑣 ) }
17 eqid { 𝑥 ∈ dom 𝐽 ∣ ( 𝐽𝑥 ) ⊆ ( 𝐻 ClNeighbVtx ( 𝑓𝑣 ) ) } = { 𝑥 ∈ dom 𝐽 ∣ ( 𝐽𝑥 ) ⊆ ( 𝐻 ClNeighbVtx ( 𝑓𝑣 ) ) }
18 1 2 3 4 14 15 16 17 dfgrlic3 ( ( 𝐺 ∈ V ∧ 𝐻 ∈ V ) → ( 𝐺𝑙𝑔𝑟 𝐻 ↔ ∃ 𝑓 ( 𝑓 : 𝑉1-1-onto𝑊 ∧ ∀ 𝑣𝑉𝑗 ( 𝑗 : ( 𝐺 ClNeighbVtx 𝑣 ) –1-1-onto→ ( 𝐻 ClNeighbVtx ( 𝑓𝑣 ) ) ∧ ∃ 𝑔 ( 𝑔 : { 𝑥 ∈ dom 𝐼 ∣ ( 𝐼𝑥 ) ⊆ ( 𝐺 ClNeighbVtx 𝑣 ) } –1-1-onto→ { 𝑥 ∈ dom 𝐽 ∣ ( 𝐽𝑥 ) ⊆ ( 𝐻 ClNeighbVtx ( 𝑓𝑣 ) ) } ∧ ∀ 𝑖 ∈ { 𝑥 ∈ dom 𝐼 ∣ ( 𝐼𝑥 ) ⊆ ( 𝐺 ClNeighbVtx 𝑣 ) } ( 𝑗 “ ( 𝐼𝑖 ) ) = ( 𝐽 ‘ ( 𝑔𝑖 ) ) ) ) ) ) )
19 eqidd ( 𝑣 = 𝑋𝑗 = 𝑗 )
20 oveq2 ( 𝑣 = 𝑋 → ( 𝐺 ClNeighbVtx 𝑣 ) = ( 𝐺 ClNeighbVtx 𝑋 ) )
21 20 5 eqtr4di ( 𝑣 = 𝑋 → ( 𝐺 ClNeighbVtx 𝑣 ) = 𝑁 )
22 fveq2 ( 𝑣 = 𝑋 → ( 𝑓𝑣 ) = ( 𝑓𝑋 ) )
23 22 oveq2d ( 𝑣 = 𝑋 → ( 𝐻 ClNeighbVtx ( 𝑓𝑣 ) ) = ( 𝐻 ClNeighbVtx ( 𝑓𝑋 ) ) )
24 23 6 eqtr4di ( 𝑣 = 𝑋 → ( 𝐻 ClNeighbVtx ( 𝑓𝑣 ) ) = 𝑀 )
25 19 21 24 f1oeq123d ( 𝑣 = 𝑋 → ( 𝑗 : ( 𝐺 ClNeighbVtx 𝑣 ) –1-1-onto→ ( 𝐻 ClNeighbVtx ( 𝑓𝑣 ) ) ↔ 𝑗 : 𝑁1-1-onto𝑀 ) )
26 eqidd ( 𝑣 = 𝑋𝑔 = 𝑔 )
27 21 sseq2d ( 𝑣 = 𝑋 → ( ( 𝐼𝑥 ) ⊆ ( 𝐺 ClNeighbVtx 𝑣 ) ↔ ( 𝐼𝑥 ) ⊆ 𝑁 ) )
28 27 rabbidv ( 𝑣 = 𝑋 → { 𝑥 ∈ dom 𝐼 ∣ ( 𝐼𝑥 ) ⊆ ( 𝐺 ClNeighbVtx 𝑣 ) } = { 𝑥 ∈ dom 𝐼 ∣ ( 𝐼𝑥 ) ⊆ 𝑁 } )
29 28 7 eqtr4di ( 𝑣 = 𝑋 → { 𝑥 ∈ dom 𝐼 ∣ ( 𝐼𝑥 ) ⊆ ( 𝐺 ClNeighbVtx 𝑣 ) } = 𝐾 )
30 24 sseq2d ( 𝑣 = 𝑋 → ( ( 𝐽𝑥 ) ⊆ ( 𝐻 ClNeighbVtx ( 𝑓𝑣 ) ) ↔ ( 𝐽𝑥 ) ⊆ 𝑀 ) )
31 30 rabbidv ( 𝑣 = 𝑋 → { 𝑥 ∈ dom 𝐽 ∣ ( 𝐽𝑥 ) ⊆ ( 𝐻 ClNeighbVtx ( 𝑓𝑣 ) ) } = { 𝑥 ∈ dom 𝐽 ∣ ( 𝐽𝑥 ) ⊆ 𝑀 } )
32 31 8 eqtr4di ( 𝑣 = 𝑋 → { 𝑥 ∈ dom 𝐽 ∣ ( 𝐽𝑥 ) ⊆ ( 𝐻 ClNeighbVtx ( 𝑓𝑣 ) ) } = 𝐿 )
33 26 29 32 f1oeq123d ( 𝑣 = 𝑋 → ( 𝑔 : { 𝑥 ∈ dom 𝐼 ∣ ( 𝐼𝑥 ) ⊆ ( 𝐺 ClNeighbVtx 𝑣 ) } –1-1-onto→ { 𝑥 ∈ dom 𝐽 ∣ ( 𝐽𝑥 ) ⊆ ( 𝐻 ClNeighbVtx ( 𝑓𝑣 ) ) } ↔ 𝑔 : 𝐾1-1-onto𝐿 ) )
34 29 raleqdv ( 𝑣 = 𝑋 → ( ∀ 𝑖 ∈ { 𝑥 ∈ dom 𝐼 ∣ ( 𝐼𝑥 ) ⊆ ( 𝐺 ClNeighbVtx 𝑣 ) } ( 𝑗 “ ( 𝐼𝑖 ) ) = ( 𝐽 ‘ ( 𝑔𝑖 ) ) ↔ ∀ 𝑖𝐾 ( 𝑗 “ ( 𝐼𝑖 ) ) = ( 𝐽 ‘ ( 𝑔𝑖 ) ) ) )
35 33 34 anbi12d ( 𝑣 = 𝑋 → ( ( 𝑔 : { 𝑥 ∈ dom 𝐼 ∣ ( 𝐼𝑥 ) ⊆ ( 𝐺 ClNeighbVtx 𝑣 ) } –1-1-onto→ { 𝑥 ∈ dom 𝐽 ∣ ( 𝐽𝑥 ) ⊆ ( 𝐻 ClNeighbVtx ( 𝑓𝑣 ) ) } ∧ ∀ 𝑖 ∈ { 𝑥 ∈ dom 𝐼 ∣ ( 𝐼𝑥 ) ⊆ ( 𝐺 ClNeighbVtx 𝑣 ) } ( 𝑗 “ ( 𝐼𝑖 ) ) = ( 𝐽 ‘ ( 𝑔𝑖 ) ) ) ↔ ( 𝑔 : 𝐾1-1-onto𝐿 ∧ ∀ 𝑖𝐾 ( 𝑗 “ ( 𝐼𝑖 ) ) = ( 𝐽 ‘ ( 𝑔𝑖 ) ) ) ) )
36 35 exbidv ( 𝑣 = 𝑋 → ( ∃ 𝑔 ( 𝑔 : { 𝑥 ∈ dom 𝐼 ∣ ( 𝐼𝑥 ) ⊆ ( 𝐺 ClNeighbVtx 𝑣 ) } –1-1-onto→ { 𝑥 ∈ dom 𝐽 ∣ ( 𝐽𝑥 ) ⊆ ( 𝐻 ClNeighbVtx ( 𝑓𝑣 ) ) } ∧ ∀ 𝑖 ∈ { 𝑥 ∈ dom 𝐼 ∣ ( 𝐼𝑥 ) ⊆ ( 𝐺 ClNeighbVtx 𝑣 ) } ( 𝑗 “ ( 𝐼𝑖 ) ) = ( 𝐽 ‘ ( 𝑔𝑖 ) ) ) ↔ ∃ 𝑔 ( 𝑔 : 𝐾1-1-onto𝐿 ∧ ∀ 𝑖𝐾 ( 𝑗 “ ( 𝐼𝑖 ) ) = ( 𝐽 ‘ ( 𝑔𝑖 ) ) ) ) )
37 25 36 anbi12d ( 𝑣 = 𝑋 → ( ( 𝑗 : ( 𝐺 ClNeighbVtx 𝑣 ) –1-1-onto→ ( 𝐻 ClNeighbVtx ( 𝑓𝑣 ) ) ∧ ∃ 𝑔 ( 𝑔 : { 𝑥 ∈ dom 𝐼 ∣ ( 𝐼𝑥 ) ⊆ ( 𝐺 ClNeighbVtx 𝑣 ) } –1-1-onto→ { 𝑥 ∈ dom 𝐽 ∣ ( 𝐽𝑥 ) ⊆ ( 𝐻 ClNeighbVtx ( 𝑓𝑣 ) ) } ∧ ∀ 𝑖 ∈ { 𝑥 ∈ dom 𝐼 ∣ ( 𝐼𝑥 ) ⊆ ( 𝐺 ClNeighbVtx 𝑣 ) } ( 𝑗 “ ( 𝐼𝑖 ) ) = ( 𝐽 ‘ ( 𝑔𝑖 ) ) ) ) ↔ ( 𝑗 : 𝑁1-1-onto𝑀 ∧ ∃ 𝑔 ( 𝑔 : 𝐾1-1-onto𝐿 ∧ ∀ 𝑖𝐾 ( 𝑗 “ ( 𝐼𝑖 ) ) = ( 𝐽 ‘ ( 𝑔𝑖 ) ) ) ) ) )
38 37 exbidv ( 𝑣 = 𝑋 → ( ∃ 𝑗 ( 𝑗 : ( 𝐺 ClNeighbVtx 𝑣 ) –1-1-onto→ ( 𝐻 ClNeighbVtx ( 𝑓𝑣 ) ) ∧ ∃ 𝑔 ( 𝑔 : { 𝑥 ∈ dom 𝐼 ∣ ( 𝐼𝑥 ) ⊆ ( 𝐺 ClNeighbVtx 𝑣 ) } –1-1-onto→ { 𝑥 ∈ dom 𝐽 ∣ ( 𝐽𝑥 ) ⊆ ( 𝐻 ClNeighbVtx ( 𝑓𝑣 ) ) } ∧ ∀ 𝑖 ∈ { 𝑥 ∈ dom 𝐼 ∣ ( 𝐼𝑥 ) ⊆ ( 𝐺 ClNeighbVtx 𝑣 ) } ( 𝑗 “ ( 𝐼𝑖 ) ) = ( 𝐽 ‘ ( 𝑔𝑖 ) ) ) ) ↔ ∃ 𝑗 ( 𝑗 : 𝑁1-1-onto𝑀 ∧ ∃ 𝑔 ( 𝑔 : 𝐾1-1-onto𝐿 ∧ ∀ 𝑖𝐾 ( 𝑗 “ ( 𝐼𝑖 ) ) = ( 𝐽 ‘ ( 𝑔𝑖 ) ) ) ) ) )
39 38 rspcv ( 𝑋𝑉 → ( ∀ 𝑣𝑉𝑗 ( 𝑗 : ( 𝐺 ClNeighbVtx 𝑣 ) –1-1-onto→ ( 𝐻 ClNeighbVtx ( 𝑓𝑣 ) ) ∧ ∃ 𝑔 ( 𝑔 : { 𝑥 ∈ dom 𝐼 ∣ ( 𝐼𝑥 ) ⊆ ( 𝐺 ClNeighbVtx 𝑣 ) } –1-1-onto→ { 𝑥 ∈ dom 𝐽 ∣ ( 𝐽𝑥 ) ⊆ ( 𝐻 ClNeighbVtx ( 𝑓𝑣 ) ) } ∧ ∀ 𝑖 ∈ { 𝑥 ∈ dom 𝐼 ∣ ( 𝐼𝑥 ) ⊆ ( 𝐺 ClNeighbVtx 𝑣 ) } ( 𝑗 “ ( 𝐼𝑖 ) ) = ( 𝐽 ‘ ( 𝑔𝑖 ) ) ) ) → ∃ 𝑗 ( 𝑗 : 𝑁1-1-onto𝑀 ∧ ∃ 𝑔 ( 𝑔 : 𝐾1-1-onto𝐿 ∧ ∀ 𝑖𝐾 ( 𝑗 “ ( 𝐼𝑖 ) ) = ( 𝐽 ‘ ( 𝑔𝑖 ) ) ) ) ) )
40 39 com12 ( ∀ 𝑣𝑉𝑗 ( 𝑗 : ( 𝐺 ClNeighbVtx 𝑣 ) –1-1-onto→ ( 𝐻 ClNeighbVtx ( 𝑓𝑣 ) ) ∧ ∃ 𝑔 ( 𝑔 : { 𝑥 ∈ dom 𝐼 ∣ ( 𝐼𝑥 ) ⊆ ( 𝐺 ClNeighbVtx 𝑣 ) } –1-1-onto→ { 𝑥 ∈ dom 𝐽 ∣ ( 𝐽𝑥 ) ⊆ ( 𝐻 ClNeighbVtx ( 𝑓𝑣 ) ) } ∧ ∀ 𝑖 ∈ { 𝑥 ∈ dom 𝐼 ∣ ( 𝐼𝑥 ) ⊆ ( 𝐺 ClNeighbVtx 𝑣 ) } ( 𝑗 “ ( 𝐼𝑖 ) ) = ( 𝐽 ‘ ( 𝑔𝑖 ) ) ) ) → ( 𝑋𝑉 → ∃ 𝑗 ( 𝑗 : 𝑁1-1-onto𝑀 ∧ ∃ 𝑔 ( 𝑔 : 𝐾1-1-onto𝐿 ∧ ∀ 𝑖𝐾 ( 𝑗 “ ( 𝐼𝑖 ) ) = ( 𝐽 ‘ ( 𝑔𝑖 ) ) ) ) ) )
41 40 a1i ( ( 𝐺 ∈ V ∧ 𝐻 ∈ V ) → ( ∀ 𝑣𝑉𝑗 ( 𝑗 : ( 𝐺 ClNeighbVtx 𝑣 ) –1-1-onto→ ( 𝐻 ClNeighbVtx ( 𝑓𝑣 ) ) ∧ ∃ 𝑔 ( 𝑔 : { 𝑥 ∈ dom 𝐼 ∣ ( 𝐼𝑥 ) ⊆ ( 𝐺 ClNeighbVtx 𝑣 ) } –1-1-onto→ { 𝑥 ∈ dom 𝐽 ∣ ( 𝐽𝑥 ) ⊆ ( 𝐻 ClNeighbVtx ( 𝑓𝑣 ) ) } ∧ ∀ 𝑖 ∈ { 𝑥 ∈ dom 𝐼 ∣ ( 𝐼𝑥 ) ⊆ ( 𝐺 ClNeighbVtx 𝑣 ) } ( 𝑗 “ ( 𝐼𝑖 ) ) = ( 𝐽 ‘ ( 𝑔𝑖 ) ) ) ) → ( 𝑋𝑉 → ∃ 𝑗 ( 𝑗 : 𝑁1-1-onto𝑀 ∧ ∃ 𝑔 ( 𝑔 : 𝐾1-1-onto𝐿 ∧ ∀ 𝑖𝐾 ( 𝑗 “ ( 𝐼𝑖 ) ) = ( 𝐽 ‘ ( 𝑔𝑖 ) ) ) ) ) ) )
42 41 anim2d ( ( 𝐺 ∈ V ∧ 𝐻 ∈ V ) → ( ( 𝑓 : 𝑉1-1-onto𝑊 ∧ ∀ 𝑣𝑉𝑗 ( 𝑗 : ( 𝐺 ClNeighbVtx 𝑣 ) –1-1-onto→ ( 𝐻 ClNeighbVtx ( 𝑓𝑣 ) ) ∧ ∃ 𝑔 ( 𝑔 : { 𝑥 ∈ dom 𝐼 ∣ ( 𝐼𝑥 ) ⊆ ( 𝐺 ClNeighbVtx 𝑣 ) } –1-1-onto→ { 𝑥 ∈ dom 𝐽 ∣ ( 𝐽𝑥 ) ⊆ ( 𝐻 ClNeighbVtx ( 𝑓𝑣 ) ) } ∧ ∀ 𝑖 ∈ { 𝑥 ∈ dom 𝐼 ∣ ( 𝐼𝑥 ) ⊆ ( 𝐺 ClNeighbVtx 𝑣 ) } ( 𝑗 “ ( 𝐼𝑖 ) ) = ( 𝐽 ‘ ( 𝑔𝑖 ) ) ) ) ) → ( 𝑓 : 𝑉1-1-onto𝑊 ∧ ( 𝑋𝑉 → ∃ 𝑗 ( 𝑗 : 𝑁1-1-onto𝑀 ∧ ∃ 𝑔 ( 𝑔 : 𝐾1-1-onto𝐿 ∧ ∀ 𝑖𝐾 ( 𝑗 “ ( 𝐼𝑖 ) ) = ( 𝐽 ‘ ( 𝑔𝑖 ) ) ) ) ) ) ) )
43 42 eximdv ( ( 𝐺 ∈ V ∧ 𝐻 ∈ V ) → ( ∃ 𝑓 ( 𝑓 : 𝑉1-1-onto𝑊 ∧ ∀ 𝑣𝑉𝑗 ( 𝑗 : ( 𝐺 ClNeighbVtx 𝑣 ) –1-1-onto→ ( 𝐻 ClNeighbVtx ( 𝑓𝑣 ) ) ∧ ∃ 𝑔 ( 𝑔 : { 𝑥 ∈ dom 𝐼 ∣ ( 𝐼𝑥 ) ⊆ ( 𝐺 ClNeighbVtx 𝑣 ) } –1-1-onto→ { 𝑥 ∈ dom 𝐽 ∣ ( 𝐽𝑥 ) ⊆ ( 𝐻 ClNeighbVtx ( 𝑓𝑣 ) ) } ∧ ∀ 𝑖 ∈ { 𝑥 ∈ dom 𝐼 ∣ ( 𝐼𝑥 ) ⊆ ( 𝐺 ClNeighbVtx 𝑣 ) } ( 𝑗 “ ( 𝐼𝑖 ) ) = ( 𝐽 ‘ ( 𝑔𝑖 ) ) ) ) ) → ∃ 𝑓 ( 𝑓 : 𝑉1-1-onto𝑊 ∧ ( 𝑋𝑉 → ∃ 𝑗 ( 𝑗 : 𝑁1-1-onto𝑀 ∧ ∃ 𝑔 ( 𝑔 : 𝐾1-1-onto𝐿 ∧ ∀ 𝑖𝐾 ( 𝑗 “ ( 𝐼𝑖 ) ) = ( 𝐽 ‘ ( 𝑔𝑖 ) ) ) ) ) ) ) )
44 18 43 sylbid ( ( 𝐺 ∈ V ∧ 𝐻 ∈ V ) → ( 𝐺𝑙𝑔𝑟 𝐻 → ∃ 𝑓 ( 𝑓 : 𝑉1-1-onto𝑊 ∧ ( 𝑋𝑉 → ∃ 𝑗 ( 𝑗 : 𝑁1-1-onto𝑀 ∧ ∃ 𝑔 ( 𝑔 : 𝐾1-1-onto𝐿 ∧ ∀ 𝑖𝐾 ( 𝑗 “ ( 𝐼𝑖 ) ) = ( 𝐽 ‘ ( 𝑔𝑖 ) ) ) ) ) ) ) )
45 13 44 mpcom ( 𝐺𝑙𝑔𝑟 𝐻 → ∃ 𝑓 ( 𝑓 : 𝑉1-1-onto𝑊 ∧ ( 𝑋𝑉 → ∃ 𝑗 ( 𝑗 : 𝑁1-1-onto𝑀 ∧ ∃ 𝑔 ( 𝑔 : 𝐾1-1-onto𝐿 ∧ ∀ 𝑖𝐾 ( 𝑗 “ ( 𝐼𝑖 ) ) = ( 𝐽 ‘ ( 𝑔𝑖 ) ) ) ) ) ) )