Users' Mathboxes Mathbox for Alexander van der Vekens < Previous   Next >
Nearby theorems
Mirrors  >  Home  >  MPE Home  >  Th. List  >   Mathboxes  >  upgrimpths Structured version   Visualization version   GIF version

Theorem upgrimpths 48751
Description: Graph isomorphisms between simple pseudographs map paths onto paths. (Contributed by AV, 31-Oct-2025.)
Hypotheses
Ref Expression
upgrimwlk.i 𝐼 = (iEdg‘𝐺)
upgrimwlk.j 𝐽 = (iEdg‘𝐻)
upgrimwlk.g (𝜑𝐺 ∈ USPGraph)
upgrimwlk.h (𝜑𝐻 ∈ USPGraph)
upgrimwlk.n (𝜑𝑁 ∈ (𝐺 GraphIso 𝐻))
upgrimwlk.e 𝐸 = (𝑥 ∈ dom 𝐹 ↦ (𝐽‘(𝑁 “ (𝐼‘(𝐹𝑥)))))
upgrimpths.p (𝜑𝐹(Paths‘𝐺)𝑃)
Assertion
Ref Expression
upgrimpths (𝜑𝐸(Paths‘𝐻)(𝑁𝑃))
Distinct variable groups:   𝑥,𝐹   𝑥,𝐺   𝑥,𝐼   𝑥,𝐽   𝑥,𝑃   𝜑,𝑥   𝑥,𝐸   𝑥,𝑁
Allowed substitution hint:   𝐻(𝑥)

Proof of Theorem upgrimpths
Dummy variable 𝑦 is distinct from all other variables.
StepHypRef Expression
1 upgrimwlk.i . . . 4 𝐼 = (iEdg‘𝐺)
2 upgrimwlk.j . . . 4 𝐽 = (iEdg‘𝐻)
3 upgrimwlk.g . . . 4 (𝜑𝐺 ∈ USPGraph)
4 upgrimwlk.h . . . 4 (𝜑𝐻 ∈ USPGraph)
5 upgrimwlk.n . . . 4 (𝜑𝑁 ∈ (𝐺 GraphIso 𝐻))
6 upgrimwlk.e . . . 4 𝐸 = (𝑥 ∈ dom 𝐹 ↦ (𝐽‘(𝑁 “ (𝐼‘(𝐹𝑥)))))
7 upgrimpths.p . . . . 5 (𝜑𝐹(Paths‘𝐺)𝑃)
8 pthistrl 30139 . . . . 5 (𝐹(Paths‘𝐺)𝑃𝐹(Trails‘𝐺)𝑃)
97, 8syl 18 . . . 4 (𝜑𝐹(Trails‘𝐺)𝑃)
101, 2, 3, 4, 5, 6, 9upgrimtrls 48748 . . 3 (𝜑𝐸(Trails‘𝐻)(𝑁𝑃))
111, 2, 3, 4, 5, 6, 7upgrimpthslem1 48749 . . 3 (𝜑 → Fun ((𝑁𝑃) ↾ (1..^(♯‘𝐹))))
12 pthiswlk 30141 . . . . . . . . . . . 12 (𝐹(Paths‘𝐺)𝑃𝐹(Walks‘𝐺)𝑃)
131wlkf 30026 . . . . . . . . . . . 12 (𝐹(Walks‘𝐺)𝑃𝐹 ∈ Word dom 𝐼)
147, 12, 133syl 19 . . . . . . . . . . 11 (𝜑𝐹 ∈ Word dom 𝐼)
15 eqid 2765 . . . . . . . . . . . . 13 (Vtx‘𝐺) = (Vtx‘𝐺)
1615wlkp 30028 . . . . . . . . . . . 12 (𝐹(Walks‘𝐺)𝑃𝑃:(0...(♯‘𝐹))⟶(Vtx‘𝐺))
177, 12, 163syl 19 . . . . . . . . . . 11 (𝜑𝑃:(0...(♯‘𝐹))⟶(Vtx‘𝐺))
181, 2, 3, 4, 5, 6, 14, 17upgrimwlklem4 48742 . . . . . . . . . 10 (𝜑 → (𝑁𝑃):(0...(♯‘𝐸))⟶(Vtx‘𝐻))
1918ffnd 6710 . . . . . . . . 9 (𝜑 → (𝑁𝑃) Fn (0...(♯‘𝐸)))
201, 2, 3, 4, 5, 6, 14upgrimwlklem1 48739 . . . . . . . . . . 11 (𝜑 → (♯‘𝐸) = (♯‘𝐹))
21 wlkcl 30027 . . . . . . . . . . . 12 (𝐹(Walks‘𝐺)𝑃 → (♯‘𝐹) ∈ ℕ0)
227, 12, 213syl 19 . . . . . . . . . . 11 (𝜑 → (♯‘𝐹) ∈ ℕ0)
2320, 22eqeltrd 2865 . . . . . . . . . 10 (𝜑 → (♯‘𝐸) ∈ ℕ0)
24 0elfz 13673 . . . . . . . . . 10 ((♯‘𝐸) ∈ ℕ0 → 0 ∈ (0...(♯‘𝐸)))
2523, 24syl 18 . . . . . . . . 9 (𝜑 → 0 ∈ (0...(♯‘𝐸)))
26 nn0fz0 13674 . . . . . . . . . . 11 ((♯‘𝐹) ∈ ℕ0 ↔ (♯‘𝐹) ∈ (0...(♯‘𝐹)))
2722, 26sylib 221 . . . . . . . . . 10 (𝜑 → (♯‘𝐹) ∈ (0...(♯‘𝐹)))
2820oveq2d 7435 . . . . . . . . . 10 (𝜑 → (0...(♯‘𝐸)) = (0...(♯‘𝐹)))
2927, 28eleqtrrd 2868 . . . . . . . . 9 (𝜑 → (♯‘𝐹) ∈ (0...(♯‘𝐸)))
30 fnimapr 6968 . . . . . . . . 9 (((𝑁𝑃) Fn (0...(♯‘𝐸)) ∧ 0 ∈ (0...(♯‘𝐸)) ∧ (♯‘𝐹) ∈ (0...(♯‘𝐸))) → ((𝑁𝑃) “ {0, (♯‘𝐹)}) = {((𝑁𝑃)‘0), ((𝑁𝑃)‘(♯‘𝐹))})
3119, 25, 29, 30syl3anc 1398 . . . . . . . 8 (𝜑 → ((𝑁𝑃) “ {0, (♯‘𝐹)}) = {((𝑁𝑃)‘0), ((𝑁𝑃)‘(♯‘𝐹))})
3231eleq2d 2851 . . . . . . 7 (𝜑 → (𝑥 ∈ ((𝑁𝑃) “ {0, (♯‘𝐹)}) ↔ 𝑥 ∈ {((𝑁𝑃)‘0), ((𝑁𝑃)‘(♯‘𝐹))}))
33 vex 3461 . . . . . . . 8 𝑥 ∈ V
3433elpr 4616 . . . . . . 7 (𝑥 ∈ {((𝑁𝑃)‘0), ((𝑁𝑃)‘(♯‘𝐹))} ↔ (𝑥 = ((𝑁𝑃)‘0) ∨ 𝑥 = ((𝑁𝑃)‘(♯‘𝐹))))
3532, 34bitrdi 290 . . . . . 6 (𝜑 → (𝑥 ∈ ((𝑁𝑃) “ {0, (♯‘𝐹)}) ↔ (𝑥 = ((𝑁𝑃)‘0) ∨ 𝑥 = ((𝑁𝑃)‘(♯‘𝐹)))))
361, 2, 3, 4, 5, 6, 7upgrimpthslem2 48750 . . . . . . . . . . . . . 14 ((𝜑𝑦 ∈ (1..^(♯‘𝐹))) → (¬ ((𝑁𝑃)‘𝑦) = ((𝑁𝑃)‘0) ∧ ¬ ((𝑁𝑃)‘𝑦) = ((𝑁𝑃)‘(♯‘𝐹))))
3736simpld 500 . . . . . . . . . . . . 13 ((𝜑𝑦 ∈ (1..^(♯‘𝐹))) → ¬ ((𝑁𝑃)‘𝑦) = ((𝑁𝑃)‘0))
38 eqeq2 2777 . . . . . . . . . . . . . 14 (𝑥 = ((𝑁𝑃)‘0) → (((𝑁𝑃)‘𝑦) = 𝑥 ↔ ((𝑁𝑃)‘𝑦) = ((𝑁𝑃)‘0)))
3938notbid 321 . . . . . . . . . . . . 13 (𝑥 = ((𝑁𝑃)‘0) → (¬ ((𝑁𝑃)‘𝑦) = 𝑥 ↔ ¬ ((𝑁𝑃)‘𝑦) = ((𝑁𝑃)‘0)))
4037, 39syl5ibrcom 250 . . . . . . . . . . . 12 ((𝜑𝑦 ∈ (1..^(♯‘𝐹))) → (𝑥 = ((𝑁𝑃)‘0) → ¬ ((𝑁𝑃)‘𝑦) = 𝑥))
4136simprd 501 . . . . . . . . . . . . 13 ((𝜑𝑦 ∈ (1..^(♯‘𝐹))) → ¬ ((𝑁𝑃)‘𝑦) = ((𝑁𝑃)‘(♯‘𝐹)))
42 eqeq2 2777 . . . . . . . . . . . . . 14 (𝑥 = ((𝑁𝑃)‘(♯‘𝐹)) → (((𝑁𝑃)‘𝑦) = 𝑥 ↔ ((𝑁𝑃)‘𝑦) = ((𝑁𝑃)‘(♯‘𝐹))))
4342notbid 321 . . . . . . . . . . . . 13 (𝑥 = ((𝑁𝑃)‘(♯‘𝐹)) → (¬ ((𝑁𝑃)‘𝑦) = 𝑥 ↔ ¬ ((𝑁𝑃)‘𝑦) = ((𝑁𝑃)‘(♯‘𝐹))))
4441, 43syl5ibrcom 250 . . . . . . . . . . . 12 ((𝜑𝑦 ∈ (1..^(♯‘𝐹))) → (𝑥 = ((𝑁𝑃)‘(♯‘𝐹)) → ¬ ((𝑁𝑃)‘𝑦) = 𝑥))
4540, 44jaod 873 . . . . . . . . . . 11 ((𝜑𝑦 ∈ (1..^(♯‘𝐹))) → ((𝑥 = ((𝑁𝑃)‘0) ∨ 𝑥 = ((𝑁𝑃)‘(♯‘𝐹))) → ¬ ((𝑁𝑃)‘𝑦) = 𝑥))
4645impancom 457 . . . . . . . . . 10 ((𝜑 ∧ (𝑥 = ((𝑁𝑃)‘0) ∨ 𝑥 = ((𝑁𝑃)‘(♯‘𝐹)))) → (𝑦 ∈ (1..^(♯‘𝐹)) → ¬ ((𝑁𝑃)‘𝑦) = 𝑥))
4746imp 412 . . . . . . . . 9 (((𝜑 ∧ (𝑥 = ((𝑁𝑃)‘0) ∨ 𝑥 = ((𝑁𝑃)‘(♯‘𝐹)))) ∧ 𝑦 ∈ (1..^(♯‘𝐹))) → ¬ ((𝑁𝑃)‘𝑦) = 𝑥)
4847nrexdv 3162 . . . . . . . 8 ((𝜑 ∧ (𝑥 = ((𝑁𝑃)‘0) ∨ 𝑥 = ((𝑁𝑃)‘(♯‘𝐹)))) → ¬ ∃𝑦 ∈ (1..^(♯‘𝐹))((𝑁𝑃)‘𝑦) = 𝑥)
4920eqcomd 2771 . . . . . . . . . . . . . 14 (𝜑 → (♯‘𝐹) = (♯‘𝐸))
5049oveq2d 7435 . . . . . . . . . . . . 13 (𝜑 → (0...(♯‘𝐹)) = (0...(♯‘𝐸)))
5150feq2d 6693 . . . . . . . . . . . 12 (𝜑 → ((𝑁𝑃):(0...(♯‘𝐹))⟶(Vtx‘𝐻) ↔ (𝑁𝑃):(0...(♯‘𝐸))⟶(Vtx‘𝐻)))
5218, 51mpbird 260 . . . . . . . . . . 11 (𝜑 → (𝑁𝑃):(0...(♯‘𝐹))⟶(Vtx‘𝐻))
5352ffnd 6710 . . . . . . . . . 10 (𝜑 → (𝑁𝑃) Fn (0...(♯‘𝐹)))
5453adantr 486 . . . . . . . . 9 ((𝜑 ∧ (𝑥 = ((𝑁𝑃)‘0) ∨ 𝑥 = ((𝑁𝑃)‘(♯‘𝐹)))) → (𝑁𝑃) Fn (0...(♯‘𝐹)))
55 fzo0ss1 13739 . . . . . . . . . . 11 (1..^(♯‘𝐹)) ⊆ (0..^(♯‘𝐹))
56 fzossfz 13728 . . . . . . . . . . 11 (0..^(♯‘𝐹)) ⊆ (0...(♯‘𝐹))
5755, 56sstri 3947 . . . . . . . . . 10 (1..^(♯‘𝐹)) ⊆ (0...(♯‘𝐹))
5857a1i 11 . . . . . . . . 9 ((𝜑 ∧ (𝑥 = ((𝑁𝑃)‘0) ∨ 𝑥 = ((𝑁𝑃)‘(♯‘𝐹)))) → (1..^(♯‘𝐹)) ⊆ (0...(♯‘𝐹)))
5954, 58fvelimabd 6958 . . . . . . . 8 ((𝜑 ∧ (𝑥 = ((𝑁𝑃)‘0) ∨ 𝑥 = ((𝑁𝑃)‘(♯‘𝐹)))) → (𝑥 ∈ ((𝑁𝑃) “ (1..^(♯‘𝐹))) ↔ ∃𝑦 ∈ (1..^(♯‘𝐹))((𝑁𝑃)‘𝑦) = 𝑥))
6048, 59mtbird 328 . . . . . . 7 ((𝜑 ∧ (𝑥 = ((𝑁𝑃)‘0) ∨ 𝑥 = ((𝑁𝑃)‘(♯‘𝐹)))) → ¬ 𝑥 ∈ ((𝑁𝑃) “ (1..^(♯‘𝐹))))
6160ex 418 . . . . . 6 (𝜑 → ((𝑥 = ((𝑁𝑃)‘0) ∨ 𝑥 = ((𝑁𝑃)‘(♯‘𝐹))) → ¬ 𝑥 ∈ ((𝑁𝑃) “ (1..^(♯‘𝐹)))))
6235, 61sylbid 243 . . . . 5 (𝜑 → (𝑥 ∈ ((𝑁𝑃) “ {0, (♯‘𝐹)}) → ¬ 𝑥 ∈ ((𝑁𝑃) “ (1..^(♯‘𝐹)))))
6362ralrimiv 3158 . . . 4 (𝜑 → ∀𝑥 ∈ ((𝑁𝑃) “ {0, (♯‘𝐹)}) ¬ 𝑥 ∈ ((𝑁𝑃) “ (1..^(♯‘𝐹))))
64 disj 4410 . . . 4 ((((𝑁𝑃) “ {0, (♯‘𝐹)}) ∩ ((𝑁𝑃) “ (1..^(♯‘𝐹)))) = ∅ ↔ ∀𝑥 ∈ ((𝑁𝑃) “ {0, (♯‘𝐹)}) ¬ 𝑥 ∈ ((𝑁𝑃) “ (1..^(♯‘𝐹))))
6563, 64sylibr 237 . . 3 (𝜑 → (((𝑁𝑃) “ {0, (♯‘𝐹)}) ∩ ((𝑁𝑃) “ (1..^(♯‘𝐹)))) = ∅)
6620oveq2d 7435 . . . . . . 7 (𝜑 → (1..^(♯‘𝐸)) = (1..^(♯‘𝐹)))
6766reseq2d 5980 . . . . . 6 (𝜑 → ((𝑁𝑃) ↾ (1..^(♯‘𝐸))) = ((𝑁𝑃) ↾ (1..^(♯‘𝐹))))
6867cnveqd 5863 . . . . 5 (𝜑((𝑁𝑃) ↾ (1..^(♯‘𝐸))) = ((𝑁𝑃) ↾ (1..^(♯‘𝐹))))
6968funeqd 6562 . . . 4 (𝜑 → (Fun ((𝑁𝑃) ↾ (1..^(♯‘𝐸))) ↔ Fun ((𝑁𝑃) ↾ (1..^(♯‘𝐹)))))
70 preq2 4702 . . . . . . . 8 ((♯‘𝐸) = (♯‘𝐹) → {0, (♯‘𝐸)} = {0, (♯‘𝐹)})
7170imaeq2d 6064 . . . . . . 7 ((♯‘𝐸) = (♯‘𝐹) → ((𝑁𝑃) “ {0, (♯‘𝐸)}) = ((𝑁𝑃) “ {0, (♯‘𝐹)}))
72 oveq2 7427 . . . . . . . 8 ((♯‘𝐸) = (♯‘𝐹) → (1..^(♯‘𝐸)) = (1..^(♯‘𝐹)))
7372imaeq2d 6064 . . . . . . 7 ((♯‘𝐸) = (♯‘𝐹) → ((𝑁𝑃) “ (1..^(♯‘𝐸))) = ((𝑁𝑃) “ (1..^(♯‘𝐹))))
7471, 73ineq12d 4174 . . . . . 6 ((♯‘𝐸) = (♯‘𝐹) → (((𝑁𝑃) “ {0, (♯‘𝐸)}) ∩ ((𝑁𝑃) “ (1..^(♯‘𝐸)))) = (((𝑁𝑃) “ {0, (♯‘𝐹)}) ∩ ((𝑁𝑃) “ (1..^(♯‘𝐹)))))
7574eqeq1d 2767 . . . . 5 ((♯‘𝐸) = (♯‘𝐹) → ((((𝑁𝑃) “ {0, (♯‘𝐸)}) ∩ ((𝑁𝑃) “ (1..^(♯‘𝐸)))) = ∅ ↔ (((𝑁𝑃) “ {0, (♯‘𝐹)}) ∩ ((𝑁𝑃) “ (1..^(♯‘𝐹)))) = ∅))
7620, 75syl 18 . . . 4 (𝜑 → ((((𝑁𝑃) “ {0, (♯‘𝐸)}) ∩ ((𝑁𝑃) “ (1..^(♯‘𝐸)))) = ∅ ↔ (((𝑁𝑃) “ {0, (♯‘𝐹)}) ∩ ((𝑁𝑃) “ (1..^(♯‘𝐹)))) = ∅))
7769, 763anbi23d 1467 . . 3 (𝜑 → ((𝐸(Trails‘𝐻)(𝑁𝑃) ∧ Fun ((𝑁𝑃) ↾ (1..^(♯‘𝐸))) ∧ (((𝑁𝑃) “ {0, (♯‘𝐸)}) ∩ ((𝑁𝑃) “ (1..^(♯‘𝐸)))) = ∅) ↔ (𝐸(Trails‘𝐻)(𝑁𝑃) ∧ Fun ((𝑁𝑃) ↾ (1..^(♯‘𝐹))) ∧ (((𝑁𝑃) “ {0, (♯‘𝐹)}) ∩ ((𝑁𝑃) “ (1..^(♯‘𝐹)))) = ∅)))
7810, 11, 65, 77mpbir3and 1361 . 2 (𝜑 → (𝐸(Trails‘𝐻)(𝑁𝑃) ∧ Fun ((𝑁𝑃) ↾ (1..^(♯‘𝐸))) ∧ (((𝑁𝑃) “ {0, (♯‘𝐸)}) ∩ ((𝑁𝑃) “ (1..^(♯‘𝐸)))) = ∅))
79 ispth 30137 . 2 (𝐸(Paths‘𝐻)(𝑁𝑃) ↔ (𝐸(Trails‘𝐻)(𝑁𝑃) ∧ Fun ((𝑁𝑃) ↾ (1..^(♯‘𝐸))) ∧ (((𝑁𝑃) “ {0, (♯‘𝐸)}) ∩ ((𝑁𝑃) “ (1..^(♯‘𝐸)))) = ∅))
8078, 79sylibr 237 1 (𝜑𝐸(Paths‘𝐻)(𝑁𝑃))
Colors of variables:    wff setvar class
This proof depends on syntax axioms:  ¬ wn 3  wi 4  wb 209  wa 401  wo 861  w3a 1103   = wceq 1570  wcel 2146  wral 3081  wrex 3091  cin 3905  wss 3906  c0 4286  {cpr 4593   class class class wbr 5111  cmpt 5194  ccnv 5662  dom cdm 5663  cres 5665  cima 5666  ccom 5667  Fun wfun 6534   Fn wfn 6535  wf 6536  cfv 6540  (class class class)co 7419  0cc0 11119  1c1 11120  0cn0 12523  ...cfz 13555  ..^cfzo 13703  chash 14388  Word cword 14572  Vtxcvtx 29405  iEdgciedg 29406  USPGraphcuspgr 29560  Walkscwlks 30008  Trailsctrls 30104  Pathscpths 30126   GraphIso cgrim 48717
This proof depends on axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1828  ax-4 1842  ax-5 1943  ax-6 2000  ax-7 2041  ax-8 2148  ax-9 2156  ax-10 2179  ax-11 2195  ax-12 2216  ax-ext 2737  ax-rep 5240  ax-sep 5259  ax-nul 5271  ax-pow 5338  ax-pr 5406  ax-un 7742  ax-cnex 11175  ax-resscn 11176  ax-1cn 11177  ax-icn 11178  ax-addcl 11179  ax-addrcl 11180  ax-mulcl 11181  ax-mulrcl 11182  ax-mulcom 11183  ax-addass 11184  ax-mulass 11185  ax-distr 11186  ax-i2m1 11187  ax-1ne0 11188  ax-1rid 11189  ax-rnegex 11190  ax-rrecex 11191  ax-cnre 11192  ax-pre-lttri 11193  ax-pre-lttrn 11194  ax-pre-ltadd 11195  ax-pre-mulgt0 11196
This proof depends on definitions:  df-bi 210  df-an 402  df-or 862  df-ifp 1079  df-3or 1104  df-3an 1105  df-tru 1573  df-fal 1583  df-ex 1813  df-nf 1817  df-sb 2100  df-mo 2569  df-eu 2599  df-clab 2744  df-cleq 2757  df-clel 2840  df-nfc 2914  df-ne 2961  df-nel 3067  df-ral 3082  df-rex 3092  df-reu 3372  df-rab 3419  df-v 3459  df-sbc 3747  df-csb 3855  df-dif 3909  df-un 3911  df-in 3913  df-ss 3923  df-pss 3926  df-nul 4287  df-if 4490  df-pw 4566  df-sn 4592  df-pr 4594  df-op 4598  df-uni 4875  df-int 4915  df-iun 4960  df-br 5112  df-opab 5176  df-mpt 5195  df-tr 5221  df-id 5558  df-eprel 5563  df-po 5571  df-so 5572  df-fr 5616  df-we 5618  df-xp 5669  df-rel 5670  df-cnv 5671  df-co 5672  df-dm 5673  df-rn 5674  df-res 5675  df-ima 5676  df-pred 6306  df-ord 6367  df-on 6368  df-lim 6369  df-suc 6370  df-iota 6496  df-fun 6542  df-fn 6543  df-f 6544  df-f1 6545  df-fo 6546  df-f1o 6547  df-fv 6548  df-riota 7376  df-ov 7422  df-oprab 7423  df-mpo 7424  df-om 7869  df-1st 7992  df-2nd 7993  df-frecs 8284  df-wrecs 8315  df-recs 8364  df-rdg 8403  df-1o 8459  df-2o 8460  df-oadd 8463  df-er 8700  df-map 8832  df-pm 8833  df-en 8950  df-dom 8951  df-sdom 8952  df-fin 8953  df-dju 9903  df-card 9941  df-pnf 11264  df-mnf 11265  df-xr 11266  df-ltxr 11267  df-le 11268  df-sub 11462  df-neg 11463  df-nn 12253  df-2 12322  df-n0 12524  df-xnn0 12597  df-z 12611  df-uz 12883  df-fz 13556  df-fzo 13704  df-hash 14389  df-word 14573  df-edg 29457  df-uhgr 29467  df-upgr 29491  df-uspgr 29562  df-wlks 30011  df-trls 30106  df-pths 30130  df-grim 48720
This theorem is used by:  upgrimcycls  48753
  Copyright terms: Public domain W3C validator