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

 Description: Alternate proof for usgra2adedgwlkon 26143, using usgra2adedgwlk 26142, but with a longer proof! In an undirected simple graph, two adjacent edges form a walk between two (different) vertices. (Contributed by Alexander van der Vekens, 18-Feb-2018.) (Proof modification is discouraged.) (New usage is discouraged.)
Hypotheses
Ref Expression
usgra2adedgspth.f 𝐹 = {⟨0, (𝐸‘{𝐴, 𝐵})⟩, ⟨1, (𝐸‘{𝐵, 𝐶})⟩}
usgra2adedgspth.p 𝑃 = {⟨0, 𝐴⟩, ⟨1, 𝐵⟩, ⟨2, 𝐶⟩}
Assertion
Ref Expression
usgra2adedgwlkonALT (𝑉 USGrph 𝐸 → (({𝐴, 𝐵} ∈ ran 𝐸 ∧ {𝐵, 𝐶} ∈ ran 𝐸) → 𝐹(𝐴(𝑉 WalkOn 𝐸)𝐶)𝑃))

StepHypRef Expression
1 usgra2adedgspth.f . . 3 𝐹 = {⟨0, (𝐸‘{𝐴, 𝐵})⟩, ⟨1, (𝐸‘{𝐵, 𝐶})⟩}
2 usgra2adedgspth.p . . 3 𝑃 = {⟨0, 𝐴⟩, ⟨1, 𝐵⟩, ⟨2, 𝐶⟩}
31, 2usgra2adedgwlk 26142 . 2 (𝑉 USGrph 𝐸 → (({𝐴, 𝐵} ∈ ran 𝐸 ∧ {𝐵, 𝐶} ∈ ran 𝐸) → (𝐹(𝑉 Walks 𝐸)𝑃 ∧ (#‘𝐹) = 2 ∧ (𝐴 = (𝑃‘0) ∧ 𝐵 = (𝑃‘1) ∧ 𝐶 = (𝑃‘2)))))
4 simp1 1054 . . . 4 ((𝐹(𝑉 Walks 𝐸)𝑃 ∧ (#‘𝐹) = 2 ∧ (𝐴 = (𝑃‘0) ∧ 𝐵 = (𝑃‘1) ∧ 𝐶 = (𝑃‘2))) → 𝐹(𝑉 Walks 𝐸)𝑃)
5 eqcom 2617 . . . . . . 7 (𝐴 = (𝑃‘0) ↔ (𝑃‘0) = 𝐴)
65biimpi 205 . . . . . 6 (𝐴 = (𝑃‘0) → (𝑃‘0) = 𝐴)
763ad2ant1 1075 . . . . 5 ((𝐴 = (𝑃‘0) ∧ 𝐵 = (𝑃‘1) ∧ 𝐶 = (𝑃‘2)) → (𝑃‘0) = 𝐴)
873ad2ant3 1077 . . . 4 ((𝐹(𝑉 Walks 𝐸)𝑃 ∧ (#‘𝐹) = 2 ∧ (𝐴 = (𝑃‘0) ∧ 𝐵 = (𝑃‘1) ∧ 𝐶 = (𝑃‘2))) → (𝑃‘0) = 𝐴)
9 fveq2 6103 . . . . . 6 ((#‘𝐹) = 2 → (𝑃‘(#‘𝐹)) = (𝑃‘2))
10 eqcom 2617 . . . . . . . 8 (𝐶 = (𝑃‘2) ↔ (𝑃‘2) = 𝐶)
1110biimpi 205 . . . . . . 7 (𝐶 = (𝑃‘2) → (𝑃‘2) = 𝐶)
12113ad2ant3 1077 . . . . . 6 ((𝐴 = (𝑃‘0) ∧ 𝐵 = (𝑃‘1) ∧ 𝐶 = (𝑃‘2)) → (𝑃‘2) = 𝐶)
139, 12sylan9eq 2664 . . . . 5 (((#‘𝐹) = 2 ∧ (𝐴 = (𝑃‘0) ∧ 𝐵 = (𝑃‘1) ∧ 𝐶 = (𝑃‘2))) → (𝑃‘(#‘𝐹)) = 𝐶)
14133adant1 1072 . . . 4 ((𝐹(𝑉 Walks 𝐸)𝑃 ∧ (#‘𝐹) = 2 ∧ (𝐴 = (𝑃‘0) ∧ 𝐵 = (𝑃‘1) ∧ 𝐶 = (𝑃‘2))) → (𝑃‘(#‘𝐹)) = 𝐶)
154, 8, 143jca 1235 . . 3 ((𝐹(𝑉 Walks 𝐸)𝑃 ∧ (#‘𝐹) = 2 ∧ (𝐴 = (𝑃‘0) ∧ 𝐵 = (𝑃‘1) ∧ 𝐶 = (𝑃‘2))) → (𝐹(𝑉 Walks 𝐸)𝑃 ∧ (𝑃‘0) = 𝐴 ∧ (𝑃‘(#‘𝐹)) = 𝐶))
16 wlkbprop 26051 . . . . . 6 (𝐹(𝑉 Walks 𝐸)𝑃 → ((#‘𝐹) ∈ ℕ0 ∧ (𝑉 ∈ V ∧ 𝐸 ∈ V) ∧ (𝐹 ∈ V ∧ 𝑃 ∈ V)))
17 2mwlk 26049 . . . . . 6 (𝐹(𝑉 Walks 𝐸)𝑃 → (𝐹 ∈ Word dom 𝐸𝑃:(0...(#‘𝐹))⟶𝑉))
18 simp-4l 802 . . . . . . . . 9 ((((((𝑉 ∈ V ∧ 𝐸 ∈ V) ∧ (𝐹 ∈ V ∧ 𝑃 ∈ V)) ∧ (𝐹 ∈ Word dom 𝐸𝑃:(0...(#‘𝐹))⟶𝑉)) ∧ (#‘𝐹) = 2) ∧ (𝐴 = (𝑃‘0) ∧ 𝐵 = (𝑃‘1) ∧ 𝐶 = (𝑃‘2))) → (𝑉 ∈ V ∧ 𝐸 ∈ V))
19 simp-4r 803 . . . . . . . . 9 ((((((𝑉 ∈ V ∧ 𝐸 ∈ V) ∧ (𝐹 ∈ V ∧ 𝑃 ∈ V)) ∧ (𝐹 ∈ Word dom 𝐸𝑃:(0...(#‘𝐹))⟶𝑉)) ∧ (#‘𝐹) = 2) ∧ (𝐴 = (𝑃‘0) ∧ 𝐵 = (𝑃‘1) ∧ 𝐶 = (𝑃‘2))) → (𝐹 ∈ V ∧ 𝑃 ∈ V))
20 oveq2 6557 . . . . . . . . . . . . . . . 16 ((#‘𝐹) = 2 → (0...(#‘𝐹)) = (0...2))
2120feq2d 5944 . . . . . . . . . . . . . . 15 ((#‘𝐹) = 2 → (𝑃:(0...(#‘𝐹))⟶𝑉𝑃:(0...2)⟶𝑉))
2221anbi2d 736 . . . . . . . . . . . . . 14 ((#‘𝐹) = 2 → ((𝐹 ∈ Word dom 𝐸𝑃:(0...(#‘𝐹))⟶𝑉) ↔ (𝐹 ∈ Word dom 𝐸𝑃:(0...2)⟶𝑉)))
2322anbi2d 736 . . . . . . . . . . . . 13 ((#‘𝐹) = 2 → ((((𝑉 ∈ V ∧ 𝐸 ∈ V) ∧ (𝐹 ∈ V ∧ 𝑃 ∈ V)) ∧ (𝐹 ∈ Word dom 𝐸𝑃:(0...(#‘𝐹))⟶𝑉)) ↔ (((𝑉 ∈ V ∧ 𝐸 ∈ V) ∧ (𝐹 ∈ V ∧ 𝑃 ∈ V)) ∧ (𝐹 ∈ Word dom 𝐸𝑃:(0...2)⟶𝑉))))
24 c0ex 9913 . . . . . . . . . . . . . . . . . . 19 0 ∈ V
2524tpid1 4246 . . . . . . . . . . . . . . . . . 18 0 ∈ {0, 1, 2}
26 fz0tp 12309 . . . . . . . . . . . . . . . . . 18 (0...2) = {0, 1, 2}
2725, 26eleqtrri 2687 . . . . . . . . . . . . . . . . 17 0 ∈ (0...2)
28 ffvelrn 6265 . . . . . . . . . . . . . . . . 17 ((𝑃:(0...2)⟶𝑉 ∧ 0 ∈ (0...2)) → (𝑃‘0) ∈ 𝑉)
2927, 28mpan2 703 . . . . . . . . . . . . . . . 16 (𝑃:(0...2)⟶𝑉 → (𝑃‘0) ∈ 𝑉)
30 2z 11286 . . . . . . . . . . . . . . . . . . . 20 2 ∈ ℤ
3130elexi 3186 . . . . . . . . . . . . . . . . . . 19 2 ∈ V
3231tpid3 4250 . . . . . . . . . . . . . . . . . 18 2 ∈ {0, 1, 2}
3332, 26eleqtrri 2687 . . . . . . . . . . . . . . . . 17 2 ∈ (0...2)
34 ffvelrn 6265 . . . . . . . . . . . . . . . . 17 ((𝑃:(0...2)⟶𝑉 ∧ 2 ∈ (0...2)) → (𝑃‘2) ∈ 𝑉)
3533, 34mpan2 703 . . . . . . . . . . . . . . . 16 (𝑃:(0...2)⟶𝑉 → (𝑃‘2) ∈ 𝑉)
3629, 35jca 553 . . . . . . . . . . . . . . 15 (𝑃:(0...2)⟶𝑉 → ((𝑃‘0) ∈ 𝑉 ∧ (𝑃‘2) ∈ 𝑉))
3736adantl 481 . . . . . . . . . . . . . 14 ((𝐹 ∈ Word dom 𝐸𝑃:(0...2)⟶𝑉) → ((𝑃‘0) ∈ 𝑉 ∧ (𝑃‘2) ∈ 𝑉))
3837adantl 481 . . . . . . . . . . . . 13 ((((𝑉 ∈ V ∧ 𝐸 ∈ V) ∧ (𝐹 ∈ V ∧ 𝑃 ∈ V)) ∧ (𝐹 ∈ Word dom 𝐸𝑃:(0...2)⟶𝑉)) → ((𝑃‘0) ∈ 𝑉 ∧ (𝑃‘2) ∈ 𝑉))
3923, 38syl6bi 242 . . . . . . . . . . . 12 ((#‘𝐹) = 2 → ((((𝑉 ∈ V ∧ 𝐸 ∈ V) ∧ (𝐹 ∈ V ∧ 𝑃 ∈ V)) ∧ (𝐹 ∈ Word dom 𝐸𝑃:(0...(#‘𝐹))⟶𝑉)) → ((𝑃‘0) ∈ 𝑉 ∧ (𝑃‘2) ∈ 𝑉)))
4039impcom 445 . . . . . . . . . . 11 (((((𝑉 ∈ V ∧ 𝐸 ∈ V) ∧ (𝐹 ∈ V ∧ 𝑃 ∈ V)) ∧ (𝐹 ∈ Word dom 𝐸𝑃:(0...(#‘𝐹))⟶𝑉)) ∧ (#‘𝐹) = 2) → ((𝑃‘0) ∈ 𝑉 ∧ (𝑃‘2) ∈ 𝑉))
4140adantr 480 . . . . . . . . . 10 ((((((𝑉 ∈ V ∧ 𝐸 ∈ V) ∧ (𝐹 ∈ V ∧ 𝑃 ∈ V)) ∧ (𝐹 ∈ Word dom 𝐸𝑃:(0...(#‘𝐹))⟶𝑉)) ∧ (#‘𝐹) = 2) ∧ (𝐴 = (𝑃‘0) ∧ 𝐵 = (𝑃‘1) ∧ 𝐶 = (𝑃‘2))) → ((𝑃‘0) ∈ 𝑉 ∧ (𝑃‘2) ∈ 𝑉))
42 eleq1 2676 . . . . . . . . . . . . 13 (𝐴 = (𝑃‘0) → (𝐴𝑉 ↔ (𝑃‘0) ∈ 𝑉))
43 eleq1 2676 . . . . . . . . . . . . 13 (𝐶 = (𝑃‘2) → (𝐶𝑉 ↔ (𝑃‘2) ∈ 𝑉))
4442, 43bi2anan9 913 . . . . . . . . . . . 12 ((𝐴 = (𝑃‘0) ∧ 𝐶 = (𝑃‘2)) → ((𝐴𝑉𝐶𝑉) ↔ ((𝑃‘0) ∈ 𝑉 ∧ (𝑃‘2) ∈ 𝑉)))
45443adant2 1073 . . . . . . . . . . 11 ((𝐴 = (𝑃‘0) ∧ 𝐵 = (𝑃‘1) ∧ 𝐶 = (𝑃‘2)) → ((𝐴𝑉𝐶𝑉) ↔ ((𝑃‘0) ∈ 𝑉 ∧ (𝑃‘2) ∈ 𝑉)))
4645adantl 481 . . . . . . . . . 10 ((((((𝑉 ∈ V ∧ 𝐸 ∈ V) ∧ (𝐹 ∈ V ∧ 𝑃 ∈ V)) ∧ (𝐹 ∈ Word dom 𝐸𝑃:(0...(#‘𝐹))⟶𝑉)) ∧ (#‘𝐹) = 2) ∧ (𝐴 = (𝑃‘0) ∧ 𝐵 = (𝑃‘1) ∧ 𝐶 = (𝑃‘2))) → ((𝐴𝑉𝐶𝑉) ↔ ((𝑃‘0) ∈ 𝑉 ∧ (𝑃‘2) ∈ 𝑉)))
4741, 46mpbird 246 . . . . . . . . 9 ((((((𝑉 ∈ V ∧ 𝐸 ∈ V) ∧ (𝐹 ∈ V ∧ 𝑃 ∈ V)) ∧ (𝐹 ∈ Word dom 𝐸𝑃:(0...(#‘𝐹))⟶𝑉)) ∧ (#‘𝐹) = 2) ∧ (𝐴 = (𝑃‘0) ∧ 𝐵 = (𝑃‘1) ∧ 𝐶 = (𝑃‘2))) → (𝐴𝑉𝐶𝑉))
4818, 19, 473jca 1235 . . . . . . . 8 ((((((𝑉 ∈ V ∧ 𝐸 ∈ V) ∧ (𝐹 ∈ V ∧ 𝑃 ∈ V)) ∧ (𝐹 ∈ Word dom 𝐸𝑃:(0...(#‘𝐹))⟶𝑉)) ∧ (#‘𝐹) = 2) ∧ (𝐴 = (𝑃‘0) ∧ 𝐵 = (𝑃‘1) ∧ 𝐶 = (𝑃‘2))) → ((𝑉 ∈ V ∧ 𝐸 ∈ V) ∧ (𝐹 ∈ V ∧ 𝑃 ∈ V) ∧ (𝐴𝑉𝐶𝑉)))
4948exp41 636 . . . . . . 7 (((𝑉 ∈ V ∧ 𝐸 ∈ V) ∧ (𝐹 ∈ V ∧ 𝑃 ∈ V)) → ((𝐹 ∈ Word dom 𝐸𝑃:(0...(#‘𝐹))⟶𝑉) → ((#‘𝐹) = 2 → ((𝐴 = (𝑃‘0) ∧ 𝐵 = (𝑃‘1) ∧ 𝐶 = (𝑃‘2)) → ((𝑉 ∈ V ∧ 𝐸 ∈ V) ∧ (𝐹 ∈ V ∧ 𝑃 ∈ V) ∧ (𝐴𝑉𝐶𝑉))))))
50493adant1 1072 . . . . . 6 (((#‘𝐹) ∈ ℕ0 ∧ (𝑉 ∈ V ∧ 𝐸 ∈ V) ∧ (𝐹 ∈ V ∧ 𝑃 ∈ V)) → ((𝐹 ∈ Word dom 𝐸𝑃:(0...(#‘𝐹))⟶𝑉) → ((#‘𝐹) = 2 → ((𝐴 = (𝑃‘0) ∧ 𝐵 = (𝑃‘1) ∧ 𝐶 = (𝑃‘2)) → ((𝑉 ∈ V ∧ 𝐸 ∈ V) ∧ (𝐹 ∈ V ∧ 𝑃 ∈ V) ∧ (𝐴𝑉𝐶𝑉))))))
5116, 17, 50sylc 63 . . . . 5 (𝐹(𝑉 Walks 𝐸)𝑃 → ((#‘𝐹) = 2 → ((𝐴 = (𝑃‘0) ∧ 𝐵 = (𝑃‘1) ∧ 𝐶 = (𝑃‘2)) → ((𝑉 ∈ V ∧ 𝐸 ∈ V) ∧ (𝐹 ∈ V ∧ 𝑃 ∈ V) ∧ (𝐴𝑉𝐶𝑉)))))
52513imp 1249 . . . 4 ((𝐹(𝑉 Walks 𝐸)𝑃 ∧ (#‘𝐹) = 2 ∧ (𝐴 = (𝑃‘0) ∧ 𝐵 = (𝑃‘1) ∧ 𝐶 = (𝑃‘2))) → ((𝑉 ∈ V ∧ 𝐸 ∈ V) ∧ (𝐹 ∈ V ∧ 𝑃 ∈ V) ∧ (𝐴𝑉𝐶𝑉)))
53 iswlkon 26062 . . . 4 (((𝑉 ∈ V ∧ 𝐸 ∈ V) ∧ (𝐹 ∈ V ∧ 𝑃 ∈ V) ∧ (𝐴𝑉𝐶𝑉)) → (𝐹(𝐴(𝑉 WalkOn 𝐸)𝐶)𝑃 ↔ (𝐹(𝑉 Walks 𝐸)𝑃 ∧ (𝑃‘0) = 𝐴 ∧ (𝑃‘(#‘𝐹)) = 𝐶)))
5452, 53syl 17 . . 3 ((𝐹(𝑉 Walks 𝐸)𝑃 ∧ (#‘𝐹) = 2 ∧ (𝐴 = (𝑃‘0) ∧ 𝐵 = (𝑃‘1) ∧ 𝐶 = (𝑃‘2))) → (𝐹(𝐴(𝑉 WalkOn 𝐸)𝐶)𝑃 ↔ (𝐹(𝑉 Walks 𝐸)𝑃 ∧ (𝑃‘0) = 𝐴 ∧ (𝑃‘(#‘𝐹)) = 𝐶)))
5515, 54mpbird 246 . 2 ((𝐹(𝑉 Walks 𝐸)𝑃 ∧ (#‘𝐹) = 2 ∧ (𝐴 = (𝑃‘0) ∧ 𝐵 = (𝑃‘1) ∧ 𝐶 = (𝑃‘2))) → 𝐹(𝐴(𝑉 WalkOn 𝐸)𝐶)𝑃)
563, 55syl6 34 1 (𝑉 USGrph 𝐸 → (({𝐴, 𝐵} ∈ ran 𝐸 ∧ {𝐵, 𝐶} ∈ ran 𝐸) → 𝐹(𝐴(𝑉 WalkOn 𝐸)𝐶)𝑃))
 Colors of variables: wff setvar class Syntax hints:   → wi 4   ↔ wb 195   ∧ wa 383   ∧ w3a 1031   = wceq 1475   ∈ wcel 1977  Vcvv 3173  {cpr 4127  {ctp 4129  ⟨cop 4131   class class class wbr 4583  ◡ccnv 5037  dom cdm 5038  ran crn 5039  ⟶wf 5800  ‘cfv 5804  (class class class)co 6549  0cc0 9815  1c1 9816  2c2 10947  ℕ0cn0 11169  ℤcz 11254  ...cfz 12197  #chash 12979  Word cword 13146   USGrph cusg 25859   Walks cwalk 26026   WalkOn cwlkon 26030 This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1713  ax-4 1728  ax-5 1827  ax-6 1875  ax-7 1922  ax-8 1979  ax-9 1986  ax-10 2006  ax-11 2021  ax-12 2034  ax-13 2234  ax-ext 2590  ax-rep 4699  ax-sep 4709  ax-nul 4717  ax-pow 4769  ax-pr 4833  ax-un 6847  ax-cnex 9871  ax-resscn 9872  ax-1cn 9873  ax-icn 9874  ax-addcl 9875  ax-addrcl 9876  ax-mulcl 9877  ax-mulrcl 9878  ax-mulcom 9879  ax-addass 9880  ax-mulass 9881  ax-distr 9882  ax-i2m1 9883  ax-1ne0 9884  ax-1rid 9885  ax-rnegex 9886  ax-rrecex 9887  ax-cnre 9888  ax-pre-lttri 9889  ax-pre-lttrn 9890  ax-pre-ltadd 9891  ax-pre-mulgt0 9892 This theorem depends on definitions:  df-bi 196  df-or 384  df-an 385  df-3or 1032  df-3an 1033  df-tru 1478  df-ex 1696  df-nf 1701  df-sb 1868  df-eu 2462  df-mo 2463  df-clab 2597  df-cleq 2603  df-clel 2606  df-nfc 2740  df-ne 2782  df-nel 2783  df-ral 2901  df-rex 2902  df-reu 2903  df-rmo 2904  df-rab 2905  df-v 3175  df-sbc 3403  df-csb 3500  df-dif 3543  df-un 3545  df-in 3547  df-ss 3554  df-pss 3556  df-nul 3875  df-if 4037  df-pw 4110  df-sn 4126  df-pr 4128  df-tp 4130  df-op 4132  df-uni 4373  df-int 4411  df-iun 4457  df-br 4584  df-opab 4644  df-mpt 4645  df-tr 4681  df-eprel 4949  df-id 4953  df-po 4959  df-so 4960  df-fr 4997  df-we 4999  df-xp 5044  df-rel 5045  df-cnv 5046  df-co 5047  df-dm 5048  df-rn 5049  df-res 5050  df-ima 5051  df-pred 5597  df-ord 5643  df-on 5644  df-lim 5645  df-suc 5646  df-iota 5768  df-fun 5806  df-fn 5807  df-f 5808  df-f1 5809  df-fo 5810  df-f1o 5811  df-fv 5812  df-riota 6511  df-ov 6552  df-oprab 6553  df-mpt2 6554  df-om 6958  df-1st 7059  df-2nd 7060  df-wrecs 7294  df-recs 7355  df-rdg 7393  df-1o 7447  df-oadd 7451  df-er 7629  df-map 7746  df-pm 7747  df-en 7842  df-dom 7843  df-sdom 7844  df-fin 7845  df-card 8648  df-cda 8873  df-pnf 9955  df-mnf 9956  df-xr 9957  df-ltxr 9958  df-le 9959  df-sub 10147  df-neg 10148  df-nn 10898  df-2 10956  df-n0 11170  df-z 11255  df-uz 11564  df-fz 12198  df-fzo 12335  df-hash 12980  df-word 13154  df-usgra 25862  df-wlk 26036  df-wlkon 26042 This theorem is referenced by: (None)
 Copyright terms: Public domain W3C validator