MPE Home Metamath Proof Explorer < Previous   Next >
Nearby theorems
Mirrors  >  Home  >  MPE Home  >  Th. List  >  uspgr2wlkeqi Structured version   Visualization version   GIF version

Theorem uspgr2wlkeqi 30161
Description: Conditions for two walks within the same simple pseudograph to be identical. It is sufficient that the vertices (in the same order) are identical. (Contributed by AV, 6-May-2021.)
Assertion
Ref Expression
uspgr2wlkeqi ((𝐺 ∈ USPGraph ∧ (𝐴 ∈ (Walks‘𝐺) ∧ 𝐵 ∈ (Walks‘𝐺)) ∧ (2nd𝐴) = (2nd𝐵)) → 𝐴 = 𝐵)

Proof of Theorem uspgr2wlkeqi
StepHypRef Expression
1 wlkcpr 30142 . . . . 5 (𝐴 ∈ (Walks‘𝐺) ↔ (1st𝐴)(Walks‘𝐺)(2nd𝐴))
2 wlkcpr 30142 . . . . . 6 (𝐵 ∈ (Walks‘𝐺) ↔ (1st𝐵)(Walks‘𝐺)(2nd𝐵))
3 wlkcl 30129 . . . . . . 7 ((1st𝐴)(Walks‘𝐺)(2nd𝐴) → (♯‘(1st𝐴)) ∈ ℕ0)
4 fveq2 6873 . . . . . . . . . . . . 13 ((2nd𝐴) = (2nd𝐵) → (♯‘(2nd𝐴)) = (♯‘(2nd𝐵)))
54oveq1d 7423 . . . . . . . . . . . 12 ((2nd𝐴) = (2nd𝐵) → ((♯‘(2nd𝐴)) − 1) = ((♯‘(2nd𝐵)) − 1))
65eqcomd 2766 . . . . . . . . . . 11 ((2nd𝐴) = (2nd𝐵) → ((♯‘(2nd𝐵)) − 1) = ((♯‘(2nd𝐴)) − 1))
76adantl 487 . . . . . . . . . 10 ((((1st𝐴)(Walks‘𝐺)(2nd𝐴) ∧ (1st𝐵)(Walks‘𝐺)(2nd𝐵)) ∧ (2nd𝐴) = (2nd𝐵)) → ((♯‘(2nd𝐵)) − 1) = ((♯‘(2nd𝐴)) − 1))
8 wlklenvm1 30135 . . . . . . . . . . . 12 ((1st𝐵)(Walks‘𝐺)(2nd𝐵) → (♯‘(1st𝐵)) = ((♯‘(2nd𝐵)) − 1))
9 wlklenvm1 30135 . . . . . . . . . . . 12 ((1st𝐴)(Walks‘𝐺)(2nd𝐴) → (♯‘(1st𝐴)) = ((♯‘(2nd𝐴)) − 1))
108, 9eqeqan12rd 2775 . . . . . . . . . . 11 (((1st𝐴)(Walks‘𝐺)(2nd𝐴) ∧ (1st𝐵)(Walks‘𝐺)(2nd𝐵)) → ((♯‘(1st𝐵)) = (♯‘(1st𝐴)) ↔ ((♯‘(2nd𝐵)) − 1) = ((♯‘(2nd𝐴)) − 1)))
1110adantr 486 . . . . . . . . . 10 ((((1st𝐴)(Walks‘𝐺)(2nd𝐴) ∧ (1st𝐵)(Walks‘𝐺)(2nd𝐵)) ∧ (2nd𝐴) = (2nd𝐵)) → ((♯‘(1st𝐵)) = (♯‘(1st𝐴)) ↔ ((♯‘(2nd𝐵)) − 1) = ((♯‘(2nd𝐴)) − 1)))
127, 11mpbird 260 . . . . . . . . 9 ((((1st𝐴)(Walks‘𝐺)(2nd𝐴) ∧ (1st𝐵)(Walks‘𝐺)(2nd𝐵)) ∧ (2nd𝐴) = (2nd𝐵)) → (♯‘(1st𝐵)) = (♯‘(1st𝐴)))
1312anim2i 629 . . . . . . . 8 (((♯‘(1st𝐴)) ∈ ℕ0 ∧ (((1st𝐴)(Walks‘𝐺)(2nd𝐴) ∧ (1st𝐵)(Walks‘𝐺)(2nd𝐵)) ∧ (2nd𝐴) = (2nd𝐵))) → ((♯‘(1st𝐴)) ∈ ℕ0 ∧ (♯‘(1st𝐵)) = (♯‘(1st𝐴))))
1413exp44 443 . . . . . . 7 ((♯‘(1st𝐴)) ∈ ℕ0 → ((1st𝐴)(Walks‘𝐺)(2nd𝐴) → ((1st𝐵)(Walks‘𝐺)(2nd𝐵) → ((2nd𝐴) = (2nd𝐵) → ((♯‘(1st𝐴)) ∈ ℕ0 ∧ (♯‘(1st𝐵)) = (♯‘(1st𝐴)))))))
153, 14mpcom 39 . . . . . 6 ((1st𝐴)(Walks‘𝐺)(2nd𝐴) → ((1st𝐵)(Walks‘𝐺)(2nd𝐵) → ((2nd𝐴) = (2nd𝐵) → ((♯‘(1st𝐴)) ∈ ℕ0 ∧ (♯‘(1st𝐵)) = (♯‘(1st𝐴))))))
162, 15biimtrid 245 . . . . 5 ((1st𝐴)(Walks‘𝐺)(2nd𝐴) → (𝐵 ∈ (Walks‘𝐺) → ((2nd𝐴) = (2nd𝐵) → ((♯‘(1st𝐴)) ∈ ℕ0 ∧ (♯‘(1st𝐵)) = (♯‘(1st𝐴))))))
171, 16sylbi 220 . . . 4 (𝐴 ∈ (Walks‘𝐺) → (𝐵 ∈ (Walks‘𝐺) → ((2nd𝐴) = (2nd𝐵) → ((♯‘(1st𝐴)) ∈ ℕ0 ∧ (♯‘(1st𝐵)) = (♯‘(1st𝐴))))))
1817imp31 423 . . 3 (((𝐴 ∈ (Walks‘𝐺) ∧ 𝐵 ∈ (Walks‘𝐺)) ∧ (2nd𝐴) = (2nd𝐵)) → ((♯‘(1st𝐴)) ∈ ℕ0 ∧ (♯‘(1st𝐵)) = (♯‘(1st𝐴))))
19183adant1 1148 . 2 ((𝐺 ∈ USPGraph ∧ (𝐴 ∈ (Walks‘𝐺) ∧ 𝐵 ∈ (Walks‘𝐺)) ∧ (2nd𝐴) = (2nd𝐵)) → ((♯‘(1st𝐴)) ∈ ℕ0 ∧ (♯‘(1st𝐵)) = (♯‘(1st𝐴))))
20 simpl 488 . . . . . . 7 ((𝐺 ∈ USPGraph ∧ (𝐴 ∈ (Walks‘𝐺) ∧ 𝐵 ∈ (Walks‘𝐺))) → 𝐺 ∈ USPGraph)
21 simpl 488 . . . . . . 7 (((♯‘(1st𝐴)) ∈ ℕ0 ∧ (♯‘(1st𝐵)) = (♯‘(1st𝐴))) → (♯‘(1st𝐴)) ∈ ℕ0)
2220, 21anim12i 625 . . . . . 6 (((𝐺 ∈ USPGraph ∧ (𝐴 ∈ (Walks‘𝐺) ∧ 𝐵 ∈ (Walks‘𝐺))) ∧ ((♯‘(1st𝐴)) ∈ ℕ0 ∧ (♯‘(1st𝐵)) = (♯‘(1st𝐴)))) → (𝐺 ∈ USPGraph ∧ (♯‘(1st𝐴)) ∈ ℕ0))
23 simpl 488 . . . . . . . 8 ((𝐴 ∈ (Walks‘𝐺) ∧ 𝐵 ∈ (Walks‘𝐺)) → 𝐴 ∈ (Walks‘𝐺))
2423adantl 487 . . . . . . 7 ((𝐺 ∈ USPGraph ∧ (𝐴 ∈ (Walks‘𝐺) ∧ 𝐵 ∈ (Walks‘𝐺))) → 𝐴 ∈ (Walks‘𝐺))
25 eqidd 2761 . . . . . . 7 (((♯‘(1st𝐴)) ∈ ℕ0 ∧ (♯‘(1st𝐵)) = (♯‘(1st𝐴))) → (♯‘(1st𝐴)) = (♯‘(1st𝐴)))
2624, 25anim12i 625 . . . . . 6 (((𝐺 ∈ USPGraph ∧ (𝐴 ∈ (Walks‘𝐺) ∧ 𝐵 ∈ (Walks‘𝐺))) ∧ ((♯‘(1st𝐴)) ∈ ℕ0 ∧ (♯‘(1st𝐵)) = (♯‘(1st𝐴)))) → (𝐴 ∈ (Walks‘𝐺) ∧ (♯‘(1st𝐴)) = (♯‘(1st𝐴))))
27 simpr 490 . . . . . . . 8 ((𝐴 ∈ (Walks‘𝐺) ∧ 𝐵 ∈ (Walks‘𝐺)) → 𝐵 ∈ (Walks‘𝐺))
2827adantl 487 . . . . . . 7 ((𝐺 ∈ USPGraph ∧ (𝐴 ∈ (Walks‘𝐺) ∧ 𝐵 ∈ (Walks‘𝐺))) → 𝐵 ∈ (Walks‘𝐺))
29 simpr 490 . . . . . . 7 (((♯‘(1st𝐴)) ∈ ℕ0 ∧ (♯‘(1st𝐵)) = (♯‘(1st𝐴))) → (♯‘(1st𝐵)) = (♯‘(1st𝐴)))
3028, 29anim12i 625 . . . . . 6 (((𝐺 ∈ USPGraph ∧ (𝐴 ∈ (Walks‘𝐺) ∧ 𝐵 ∈ (Walks‘𝐺))) ∧ ((♯‘(1st𝐴)) ∈ ℕ0 ∧ (♯‘(1st𝐵)) = (♯‘(1st𝐴)))) → (𝐵 ∈ (Walks‘𝐺) ∧ (♯‘(1st𝐵)) = (♯‘(1st𝐴))))
31 uspgr2wlkeq2 30160 . . . . . 6 (((𝐺 ∈ USPGraph ∧ (♯‘(1st𝐴)) ∈ ℕ0) ∧ (𝐴 ∈ (Walks‘𝐺) ∧ (♯‘(1st𝐴)) = (♯‘(1st𝐴))) ∧ (𝐵 ∈ (Walks‘𝐺) ∧ (♯‘(1st𝐵)) = (♯‘(1st𝐴)))) → ((2nd𝐴) = (2nd𝐵) → 𝐴 = 𝐵))
3222, 26, 30, 31syl3anc 1398 . . . . 5 (((𝐺 ∈ USPGraph ∧ (𝐴 ∈ (Walks‘𝐺) ∧ 𝐵 ∈ (Walks‘𝐺))) ∧ ((♯‘(1st𝐴)) ∈ ℕ0 ∧ (♯‘(1st𝐵)) = (♯‘(1st𝐴)))) → ((2nd𝐴) = (2nd𝐵) → 𝐴 = 𝐵))
3332ex 418 . . . 4 ((𝐺 ∈ USPGraph ∧ (𝐴 ∈ (Walks‘𝐺) ∧ 𝐵 ∈ (Walks‘𝐺))) → (((♯‘(1st𝐴)) ∈ ℕ0 ∧ (♯‘(1st𝐵)) = (♯‘(1st𝐴))) → ((2nd𝐴) = (2nd𝐵) → 𝐴 = 𝐵)))
3433com23 87 . . 3 ((𝐺 ∈ USPGraph ∧ (𝐴 ∈ (Walks‘𝐺) ∧ 𝐵 ∈ (Walks‘𝐺))) → ((2nd𝐴) = (2nd𝐵) → (((♯‘(1st𝐴)) ∈ ℕ0 ∧ (♯‘(1st𝐵)) = (♯‘(1st𝐴))) → 𝐴 = 𝐵)))
35343impia 1135 . 2 ((𝐺 ∈ USPGraph ∧ (𝐴 ∈ (Walks‘𝐺) ∧ 𝐵 ∈ (Walks‘𝐺)) ∧ (2nd𝐴) = (2nd𝐵)) → (((♯‘(1st𝐴)) ∈ ℕ0 ∧ (♯‘(1st𝐵)) = (♯‘(1st𝐴))) → 𝐴 = 𝐵))
3619, 35mpd 16 1 ((𝐺 ∈ USPGraph ∧ (𝐴 ∈ (Walks‘𝐺) ∧ 𝐵 ∈ (Walks‘𝐺)) ∧ (2nd𝐴) = (2nd𝐵)) → 𝐴 = 𝐵)
Colors of variables:    wff setvar class
This proof depends on syntax axioms:  wi 4  wb 209  wa 401  w3a 1103   = wceq 1570  wcel 2145   class class class wbr 5102  cfv 6527  (class class class)co 7408  1st c1st 7982  2nd c2nd 7983  1c1 11172  cmin 11512  0cn0 12575  chash 14441  USPGraphcuspgr 29662  Walkscwlks 30110
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 2147  ax-9 2155  ax-10 2178  ax-11 2194  ax-12 2213  ax-ext 2732  ax-rep 5231  ax-sep 5248  ax-nul 5259  ax-pow 5326  ax-pr 5390  ax-un 7734  ax-cnex 11227  ax-resscn 11228  ax-1cn 11229  ax-icn 11230  ax-addcl 11231  ax-addrcl 11232  ax-mulcl 11233  ax-mulrcl 11234  ax-mulcom 11235  ax-addass 11236  ax-mulass 11237  ax-distr 11238  ax-i2m1 11239  ax-1ne0 11240  ax-1rid 11241  ax-rnegex 11242  ax-rrecex 11243  ax-cnre 11244  ax-pre-lttri 11245  ax-pre-lttrn 11246  ax-pre-ltadd 11247  ax-pre-mulgt0 11248
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 2564  df-eu 2594  df-clab 2739  df-cleq 2752  df-clel 2835  df-nfc 2909  df-ne 2956  df-nel 3062  df-ral 3077  df-rex 3087  df-reu 3366  df-rab 3413  df-v 3452  df-sbc 3739  df-csb 3847  df-dif 3901  df-un 3903  df-in 3905  df-ss 3915  df-pss 3918  df-nul 4279  df-if 4482  df-pw 4558  df-sn 4584  df-pr 4586  df-op 4590  df-uni 4867  df-int 4907  df-iun 4952  df-br 5103  df-opab 5167  df-mpt 5186  df-tr 5212  df-id 5542  df-eprel 5547  df-po 5555  df-so 5556  df-fr 5600  df-we 5602  df-xp 5653  df-rel 5654  df-cnv 5655  df-co 5656  df-dm 5657  df-rn 5658  df-res 5659  df-ima 5660  df-pred 6293  df-ord 6354  df-on 6355  df-lim 6356  df-suc 6357  df-iota 6483  df-fun 6529  df-fn 6530  df-f 6531  df-f1 6532  df-fo 6533  df-f1o 6534  df-fv 6535  df-riota 7365  df-ov 7411  df-oprab 7412  df-mpo 7413  df-om 7861  df-1st 7984  df-2nd 7985  df-frecs 8277  df-wrecs 8308  df-recs 8357  df-rdg 8396  df-1o 8454  df-2o 8455  df-oadd 8458  df-er 8695  df-map 8827  df-pm 8828  df-en 8952  df-dom 8953  df-sdom 8954  df-fin 8955  df-dju 9953  df-card 9991  df-pnf 11316  df-mnf 11317  df-xr 11318  df-ltxr 11319  df-le 11320  df-sub 11514  df-neg 11515  df-nn 12305  df-2 12374  df-n0 12576  df-xnn0 12649  df-z 12663  df-uz 12935  df-fz 13609  df-fzo 13757  df-hash 14442  df-word 14626  df-edg 29559  df-uhgr 29569  df-upgr 29593  df-uspgr 29664  df-wlks 30113
This theorem is used by:  wlkswwlksf1o  30401
  Copyright terms: Public domain W3C validator