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

Theorem clwlkclwwlk 30364
Description: A closed walk as word of length at least 2 corresponds to a closed walk in a simple pseudograph. (Contributed by Alexander van der Vekens, 22-Jun-2018.) (Revised by AV, 24-Apr-2021.) (Revised by AV, 30-Oct-2022.)
Hypotheses
Ref Expression
clwlkclwwlk.v 𝑉 = (Vtx‘𝐺)
clwlkclwwlk.e 𝐸 = (iEdg‘𝐺)
Assertion
Ref Expression
clwlkclwwlk ((𝐺 ∈ USPGraph ∧ 𝑃 ∈ Word 𝑉 ∧ 2 ≤ (♯‘𝑃)) → (∃𝑓 𝑓(ClWalks‘𝐺)𝑃 ↔ ((lastS‘𝑃) = (𝑃‘0) ∧ (𝑃 prefix ((♯‘𝑃) − 1)) ∈ (ClWWalks‘𝐺))))
Distinct variable groups:   𝑓,𝐸   𝑃,𝑓   𝑓,𝑉   𝑓,𝐺

Proof of Theorem clwlkclwwlk
Dummy variable 𝑖 is distinct from all other variables.
StepHypRef Expression
1 clwlkclwwlk.e . . . . . 6 𝐸 = (iEdg‘𝐺)
21uspgrf1oedg 29534 . . . . 5 (𝐺 ∈ USPGraph → 𝐸:dom 𝐸1-1-onto→(Edg‘𝐺))
3 f1of1 6819 . . . . 5 (𝐸:dom 𝐸1-1-onto→(Edg‘𝐺) → 𝐸:dom 𝐸1-1→(Edg‘𝐺))
42, 3syl 18 . . . 4 (𝐺 ∈ USPGraph → 𝐸:dom 𝐸1-1→(Edg‘𝐺))
5 clwlkclwwlklem3 30363 . . . 4 ((𝐸:dom 𝐸1-1→(Edg‘𝐺) ∧ 𝑃 ∈ Word 𝑉 ∧ 2 ≤ (♯‘𝑃)) → (∃𝑓((𝑓 ∈ Word dom 𝐸𝑃:(0...(♯‘𝑓))⟶𝑉 ∧ ∀𝑖 ∈ (0..^(♯‘𝑓))(𝐸‘(𝑓𝑖)) = {(𝑃𝑖), (𝑃‘(𝑖 + 1))}) ∧ (𝑃‘0) = (𝑃‘(♯‘𝑓))) ↔ ((lastS‘𝑃) = (𝑃‘0) ∧ (∀𝑖 ∈ (0..^((((♯‘𝑃) − 1) − 0) − 1)){(𝑃𝑖), (𝑃‘(𝑖 + 1))} ∈ ran 𝐸 ∧ {(𝑃‘((♯‘𝑃) − 2)), (𝑃‘0)} ∈ ran 𝐸))))
64, 5syl3an1 1180 . . 3 ((𝐺 ∈ USPGraph ∧ 𝑃 ∈ Word 𝑉 ∧ 2 ≤ (♯‘𝑃)) → (∃𝑓((𝑓 ∈ Word dom 𝐸𝑃:(0...(♯‘𝑓))⟶𝑉 ∧ ∀𝑖 ∈ (0..^(♯‘𝑓))(𝐸‘(𝑓𝑖)) = {(𝑃𝑖), (𝑃‘(𝑖 + 1))}) ∧ (𝑃‘0) = (𝑃‘(♯‘𝑓))) ↔ ((lastS‘𝑃) = (𝑃‘0) ∧ (∀𝑖 ∈ (0..^((((♯‘𝑃) − 1) − 0) − 1)){(𝑃𝑖), (𝑃‘(𝑖 + 1))} ∈ ran 𝐸 ∧ {(𝑃‘((♯‘𝑃) − 2)), (𝑃‘0)} ∈ ran 𝐸))))
7 lencl 14577 . . . . . . . . . . . . . 14 (𝑃 ∈ Word 𝑉 → (♯‘𝑃) ∈ ℕ0)
8 ige2m1fz 13652 . . . . . . . . . . . . . 14 (((♯‘𝑃) ∈ ℕ0 ∧ 2 ≤ (♯‘𝑃)) → ((♯‘𝑃) − 1) ∈ (0...(♯‘𝑃)))
97, 8sylan 591 . . . . . . . . . . . . 13 ((𝑃 ∈ Word 𝑉 ∧ 2 ≤ (♯‘𝑃)) → ((♯‘𝑃) − 1) ∈ (0...(♯‘𝑃)))
10 pfxlen 14728 . . . . . . . . . . . . 13 ((𝑃 ∈ Word 𝑉 ∧ ((♯‘𝑃) − 1) ∈ (0...(♯‘𝑃))) → (♯‘(𝑃 prefix ((♯‘𝑃) − 1))) = ((♯‘𝑃) − 1))
119, 10syldan 602 . . . . . . . . . . . 12 ((𝑃 ∈ Word 𝑉 ∧ 2 ≤ (♯‘𝑃)) → (♯‘(𝑃 prefix ((♯‘𝑃) − 1))) = ((♯‘𝑃) − 1))
127nn0cnd 12573 . . . . . . . . . . . . . . . 16 (𝑃 ∈ Word 𝑉 → (♯‘𝑃) ∈ ℂ)
13 1cnd 11208 . . . . . . . . . . . . . . . 16 (𝑃 ∈ Word 𝑉 → 1 ∈ ℂ)
1412, 13subcld 11575 . . . . . . . . . . . . . . 15 (𝑃 ∈ Word 𝑉 → ((♯‘𝑃) − 1) ∈ ℂ)
1514subid1d 11564 . . . . . . . . . . . . . 14 (𝑃 ∈ Word 𝑉 → (((♯‘𝑃) − 1) − 0) = ((♯‘𝑃) − 1))
1615eqcomd 2768 . . . . . . . . . . . . 13 (𝑃 ∈ Word 𝑉 → ((♯‘𝑃) − 1) = (((♯‘𝑃) − 1) − 0))
1716adantr 485 . . . . . . . . . . . 12 ((𝑃 ∈ Word 𝑉 ∧ 2 ≤ (♯‘𝑃)) → ((♯‘𝑃) − 1) = (((♯‘𝑃) − 1) − 0))
1811, 17eqtrd 2797 . . . . . . . . . . 11 ((𝑃 ∈ Word 𝑉 ∧ 2 ≤ (♯‘𝑃)) → (♯‘(𝑃 prefix ((♯‘𝑃) − 1))) = (((♯‘𝑃) − 1) − 0))
1918oveq1d 7427 . . . . . . . . . 10 ((𝑃 ∈ Word 𝑉 ∧ 2 ≤ (♯‘𝑃)) → ((♯‘(𝑃 prefix ((♯‘𝑃) − 1))) − 1) = ((((♯‘𝑃) − 1) − 0) − 1))
2019oveq2d 7428 . . . . . . . . 9 ((𝑃 ∈ Word 𝑉 ∧ 2 ≤ (♯‘𝑃)) → (0..^((♯‘(𝑃 prefix ((♯‘𝑃) − 1))) − 1)) = (0..^((((♯‘𝑃) − 1) − 0) − 1)))
2111oveq1d 7427 . . . . . . . . . . . . 13 ((𝑃 ∈ Word 𝑉 ∧ 2 ≤ (♯‘𝑃)) → ((♯‘(𝑃 prefix ((♯‘𝑃) − 1))) − 1) = (((♯‘𝑃) − 1) − 1))
2221oveq2d 7428 . . . . . . . . . . . 12 ((𝑃 ∈ Word 𝑉 ∧ 2 ≤ (♯‘𝑃)) → (0..^((♯‘(𝑃 prefix ((♯‘𝑃) − 1))) − 1)) = (0..^(((♯‘𝑃) − 1) − 1)))
2322eleq2d 2848 . . . . . . . . . . 11 ((𝑃 ∈ Word 𝑉 ∧ 2 ≤ (♯‘𝑃)) → (𝑖 ∈ (0..^((♯‘(𝑃 prefix ((♯‘𝑃) − 1))) − 1)) ↔ 𝑖 ∈ (0..^(((♯‘𝑃) − 1) − 1))))
24 simpll 778 . . . . . . . . . . . . . . 15 (((𝑃 ∈ Word 𝑉 ∧ 2 ≤ (♯‘𝑃)) ∧ 𝑖 ∈ (0..^(((♯‘𝑃) − 1) − 1))) → 𝑃 ∈ Word 𝑉)
25 wrdlenge2n0 14596 . . . . . . . . . . . . . . . 16 ((𝑃 ∈ Word 𝑉 ∧ 2 ≤ (♯‘𝑃)) → 𝑃 ≠ ∅)
2625adantr 485 . . . . . . . . . . . . . . 15 (((𝑃 ∈ Word 𝑉 ∧ 2 ≤ (♯‘𝑃)) ∧ 𝑖 ∈ (0..^(((♯‘𝑃) − 1) − 1))) → 𝑃 ≠ ∅)
27 nn0z 12621 . . . . . . . . . . . . . . . . . . 19 ((♯‘𝑃) ∈ ℕ0 → (♯‘𝑃) ∈ ℤ)
28 peano2zm 12643 . . . . . . . . . . . . . . . . . . 19 ((♯‘𝑃) ∈ ℤ → ((♯‘𝑃) − 1) ∈ ℤ)
2927, 28syl 18 . . . . . . . . . . . . . . . . . 18 ((♯‘𝑃) ∈ ℕ0 → ((♯‘𝑃) − 1) ∈ ℤ)
307, 29syl 18 . . . . . . . . . . . . . . . . 17 (𝑃 ∈ Word 𝑉 → ((♯‘𝑃) − 1) ∈ ℤ)
3130adantr 485 . . . . . . . . . . . . . . . 16 ((𝑃 ∈ Word 𝑉 ∧ 2 ≤ (♯‘𝑃)) → ((♯‘𝑃) − 1) ∈ ℤ)
32 elfzom1elfzo 13769 . . . . . . . . . . . . . . . 16 ((((♯‘𝑃) − 1) ∈ ℤ ∧ 𝑖 ∈ (0..^(((♯‘𝑃) − 1) − 1))) → 𝑖 ∈ (0..^((♯‘𝑃) − 1)))
3331, 32sylan 591 . . . . . . . . . . . . . . 15 (((𝑃 ∈ Word 𝑉 ∧ 2 ≤ (♯‘𝑃)) ∧ 𝑖 ∈ (0..^(((♯‘𝑃) − 1) − 1))) → 𝑖 ∈ (0..^((♯‘𝑃) − 1)))
34 pfxtrcfv 14737 . . . . . . . . . . . . . . 15 ((𝑃 ∈ Word 𝑉𝑃 ≠ ∅ ∧ 𝑖 ∈ (0..^((♯‘𝑃) − 1))) → ((𝑃 prefix ((♯‘𝑃) − 1))‘𝑖) = (𝑃𝑖))
3524, 26, 33, 34syl3anc 1397 . . . . . . . . . . . . . 14 (((𝑃 ∈ Word 𝑉 ∧ 2 ≤ (♯‘𝑃)) ∧ 𝑖 ∈ (0..^(((♯‘𝑃) − 1) − 1))) → ((𝑃 prefix ((♯‘𝑃) − 1))‘𝑖) = (𝑃𝑖))
367adantr 485 . . . . . . . . . . . . . . . 16 ((𝑃 ∈ Word 𝑉 ∧ 2 ≤ (♯‘𝑃)) → (♯‘𝑃) ∈ ℕ0)
37 elfzom1elp1fzo 13768 . . . . . . . . . . . . . . . . 17 ((((♯‘𝑃) − 1) ∈ ℤ ∧ 𝑖 ∈ (0..^(((♯‘𝑃) − 1) − 1))) → (𝑖 + 1) ∈ (0..^((♯‘𝑃) − 1)))
3829, 37sylan 591 . . . . . . . . . . . . . . . 16 (((♯‘𝑃) ∈ ℕ0𝑖 ∈ (0..^(((♯‘𝑃) − 1) − 1))) → (𝑖 + 1) ∈ (0..^((♯‘𝑃) − 1)))
3936, 38sylan 591 . . . . . . . . . . . . . . 15 (((𝑃 ∈ Word 𝑉 ∧ 2 ≤ (♯‘𝑃)) ∧ 𝑖 ∈ (0..^(((♯‘𝑃) − 1) − 1))) → (𝑖 + 1) ∈ (0..^((♯‘𝑃) − 1)))
40 pfxtrcfv 14737 . . . . . . . . . . . . . . 15 ((𝑃 ∈ Word 𝑉𝑃 ≠ ∅ ∧ (𝑖 + 1) ∈ (0..^((♯‘𝑃) − 1))) → ((𝑃 prefix ((♯‘𝑃) − 1))‘(𝑖 + 1)) = (𝑃‘(𝑖 + 1)))
4124, 26, 39, 40syl3anc 1397 . . . . . . . . . . . . . 14 (((𝑃 ∈ Word 𝑉 ∧ 2 ≤ (♯‘𝑃)) ∧ 𝑖 ∈ (0..^(((♯‘𝑃) − 1) − 1))) → ((𝑃 prefix ((♯‘𝑃) − 1))‘(𝑖 + 1)) = (𝑃‘(𝑖 + 1)))
4235, 41preq12d 4706 . . . . . . . . . . . . 13 (((𝑃 ∈ Word 𝑉 ∧ 2 ≤ (♯‘𝑃)) ∧ 𝑖 ∈ (0..^(((♯‘𝑃) − 1) − 1))) → {((𝑃 prefix ((♯‘𝑃) − 1))‘𝑖), ((𝑃 prefix ((♯‘𝑃) − 1))‘(𝑖 + 1))} = {(𝑃𝑖), (𝑃‘(𝑖 + 1))})
4342eleq1d 2847 . . . . . . . . . . . 12 (((𝑃 ∈ Word 𝑉 ∧ 2 ≤ (♯‘𝑃)) ∧ 𝑖 ∈ (0..^(((♯‘𝑃) − 1) − 1))) → ({((𝑃 prefix ((♯‘𝑃) − 1))‘𝑖), ((𝑃 prefix ((♯‘𝑃) − 1))‘(𝑖 + 1))} ∈ ran 𝐸 ↔ {(𝑃𝑖), (𝑃‘(𝑖 + 1))} ∈ ran 𝐸))
4443ex 417 . . . . . . . . . . 11 ((𝑃 ∈ Word 𝑉 ∧ 2 ≤ (♯‘𝑃)) → (𝑖 ∈ (0..^(((♯‘𝑃) − 1) − 1)) → ({((𝑃 prefix ((♯‘𝑃) − 1))‘𝑖), ((𝑃 prefix ((♯‘𝑃) − 1))‘(𝑖 + 1))} ∈ ran 𝐸 ↔ {(𝑃𝑖), (𝑃‘(𝑖 + 1))} ∈ ran 𝐸)))
4523, 44sylbid 243 . . . . . . . . . 10 ((𝑃 ∈ Word 𝑉 ∧ 2 ≤ (♯‘𝑃)) → (𝑖 ∈ (0..^((♯‘(𝑃 prefix ((♯‘𝑃) − 1))) − 1)) → ({((𝑃 prefix ((♯‘𝑃) − 1))‘𝑖), ((𝑃 prefix ((♯‘𝑃) − 1))‘(𝑖 + 1))} ∈ ran 𝐸 ↔ {(𝑃𝑖), (𝑃‘(𝑖 + 1))} ∈ ran 𝐸)))
4645imp 411 . . . . . . . . 9 (((𝑃 ∈ Word 𝑉 ∧ 2 ≤ (♯‘𝑃)) ∧ 𝑖 ∈ (0..^((♯‘(𝑃 prefix ((♯‘𝑃) − 1))) − 1))) → ({((𝑃 prefix ((♯‘𝑃) − 1))‘𝑖), ((𝑃 prefix ((♯‘𝑃) − 1))‘(𝑖 + 1))} ∈ ran 𝐸 ↔ {(𝑃𝑖), (𝑃‘(𝑖 + 1))} ∈ ran 𝐸))
4720, 46raleqbidva 3328 . . . . . . . 8 ((𝑃 ∈ Word 𝑉 ∧ 2 ≤ (♯‘𝑃)) → (∀𝑖 ∈ (0..^((♯‘(𝑃 prefix ((♯‘𝑃) − 1))) − 1)){((𝑃 prefix ((♯‘𝑃) − 1))‘𝑖), ((𝑃 prefix ((♯‘𝑃) − 1))‘(𝑖 + 1))} ∈ ran 𝐸 ↔ ∀𝑖 ∈ (0..^((((♯‘𝑃) − 1) − 0) − 1)){(𝑃𝑖), (𝑃‘(𝑖 + 1))} ∈ ran 𝐸))
48 pfxtrcfvl 14741 . . . . . . . . . 10 ((𝑃 ∈ Word 𝑉 ∧ 2 ≤ (♯‘𝑃)) → (lastS‘(𝑃 prefix ((♯‘𝑃) − 1))) = (𝑃‘((♯‘𝑃) − 2)))
49 pfxtrcfv0 14738 . . . . . . . . . 10 ((𝑃 ∈ Word 𝑉 ∧ 2 ≤ (♯‘𝑃)) → ((𝑃 prefix ((♯‘𝑃) − 1))‘0) = (𝑃‘0))
5048, 49preq12d 4706 . . . . . . . . 9 ((𝑃 ∈ Word 𝑉 ∧ 2 ≤ (♯‘𝑃)) → {(lastS‘(𝑃 prefix ((♯‘𝑃) − 1))), ((𝑃 prefix ((♯‘𝑃) − 1))‘0)} = {(𝑃‘((♯‘𝑃) − 2)), (𝑃‘0)})
5150eleq1d 2847 . . . . . . . 8 ((𝑃 ∈ Word 𝑉 ∧ 2 ≤ (♯‘𝑃)) → ({(lastS‘(𝑃 prefix ((♯‘𝑃) − 1))), ((𝑃 prefix ((♯‘𝑃) − 1))‘0)} ∈ ran 𝐸 ↔ {(𝑃‘((♯‘𝑃) − 2)), (𝑃‘0)} ∈ ran 𝐸))
5247, 51anbi12d 643 . . . . . . 7 ((𝑃 ∈ Word 𝑉 ∧ 2 ≤ (♯‘𝑃)) → ((∀𝑖 ∈ (0..^((♯‘(𝑃 prefix ((♯‘𝑃) − 1))) − 1)){((𝑃 prefix ((♯‘𝑃) − 1))‘𝑖), ((𝑃 prefix ((♯‘𝑃) − 1))‘(𝑖 + 1))} ∈ ran 𝐸 ∧ {(lastS‘(𝑃 prefix ((♯‘𝑃) − 1))), ((𝑃 prefix ((♯‘𝑃) − 1))‘0)} ∈ ran 𝐸) ↔ (∀𝑖 ∈ (0..^((((♯‘𝑃) − 1) − 0) − 1)){(𝑃𝑖), (𝑃‘(𝑖 + 1))} ∈ ran 𝐸 ∧ {(𝑃‘((♯‘𝑃) − 2)), (𝑃‘0)} ∈ ran 𝐸)))
5352bicomd 226 . . . . . 6 ((𝑃 ∈ Word 𝑉 ∧ 2 ≤ (♯‘𝑃)) → ((∀𝑖 ∈ (0..^((((♯‘𝑃) − 1) − 0) − 1)){(𝑃𝑖), (𝑃‘(𝑖 + 1))} ∈ ran 𝐸 ∧ {(𝑃‘((♯‘𝑃) − 2)), (𝑃‘0)} ∈ ran 𝐸) ↔ (∀𝑖 ∈ (0..^((♯‘(𝑃 prefix ((♯‘𝑃) − 1))) − 1)){((𝑃 prefix ((♯‘𝑃) − 1))‘𝑖), ((𝑃 prefix ((♯‘𝑃) − 1))‘(𝑖 + 1))} ∈ ran 𝐸 ∧ {(lastS‘(𝑃 prefix ((♯‘𝑃) − 1))), ((𝑃 prefix ((♯‘𝑃) − 1))‘0)} ∈ ran 𝐸)))
54533adant1 1147 . . . . 5 ((𝐺 ∈ USPGraph ∧ 𝑃 ∈ Word 𝑉 ∧ 2 ≤ (♯‘𝑃)) → ((∀𝑖 ∈ (0..^((((♯‘𝑃) − 1) − 0) − 1)){(𝑃𝑖), (𝑃‘(𝑖 + 1))} ∈ ran 𝐸 ∧ {(𝑃‘((♯‘𝑃) − 2)), (𝑃‘0)} ∈ ran 𝐸) ↔ (∀𝑖 ∈ (0..^((♯‘(𝑃 prefix ((♯‘𝑃) − 1))) − 1)){((𝑃 prefix ((♯‘𝑃) − 1))‘𝑖), ((𝑃 prefix ((♯‘𝑃) − 1))‘(𝑖 + 1))} ∈ ran 𝐸 ∧ {(lastS‘(𝑃 prefix ((♯‘𝑃) − 1))), ((𝑃 prefix ((♯‘𝑃) − 1))‘0)} ∈ ran 𝐸)))
55 pfxcl 14722 . . . . . . 7 (𝑃 ∈ Word 𝑉 → (𝑃 prefix ((♯‘𝑃) − 1)) ∈ Word 𝑉)
56553ad2ant2 1151 . . . . . 6 ((𝐺 ∈ USPGraph ∧ 𝑃 ∈ Word 𝑉 ∧ 2 ≤ (♯‘𝑃)) → (𝑃 prefix ((♯‘𝑃) − 1)) ∈ Word 𝑉)
57563biant1d 1508 . . . . 5 ((𝐺 ∈ USPGraph ∧ 𝑃 ∈ Word 𝑉 ∧ 2 ≤ (♯‘𝑃)) → ((∀𝑖 ∈ (0..^((♯‘(𝑃 prefix ((♯‘𝑃) − 1))) − 1)){((𝑃 prefix ((♯‘𝑃) − 1))‘𝑖), ((𝑃 prefix ((♯‘𝑃) − 1))‘(𝑖 + 1))} ∈ ran 𝐸 ∧ {(lastS‘(𝑃 prefix ((♯‘𝑃) − 1))), ((𝑃 prefix ((♯‘𝑃) − 1))‘0)} ∈ ran 𝐸) ↔ ((𝑃 prefix ((♯‘𝑃) − 1)) ∈ Word 𝑉 ∧ ∀𝑖 ∈ (0..^((♯‘(𝑃 prefix ((♯‘𝑃) − 1))) − 1)){((𝑃 prefix ((♯‘𝑃) − 1))‘𝑖), ((𝑃 prefix ((♯‘𝑃) − 1))‘(𝑖 + 1))} ∈ ran 𝐸 ∧ {(lastS‘(𝑃 prefix ((♯‘𝑃) − 1))), ((𝑃 prefix ((♯‘𝑃) − 1))‘0)} ∈ ran 𝐸)))
5854, 57bitrd 282 . . . 4 ((𝐺 ∈ USPGraph ∧ 𝑃 ∈ Word 𝑉 ∧ 2 ≤ (♯‘𝑃)) → ((∀𝑖 ∈ (0..^((((♯‘𝑃) − 1) − 0) − 1)){(𝑃𝑖), (𝑃‘(𝑖 + 1))} ∈ ran 𝐸 ∧ {(𝑃‘((♯‘𝑃) − 2)), (𝑃‘0)} ∈ ran 𝐸) ↔ ((𝑃 prefix ((♯‘𝑃) − 1)) ∈ Word 𝑉 ∧ ∀𝑖 ∈ (0..^((♯‘(𝑃 prefix ((♯‘𝑃) − 1))) − 1)){((𝑃 prefix ((♯‘𝑃) − 1))‘𝑖), ((𝑃 prefix ((♯‘𝑃) − 1))‘(𝑖 + 1))} ∈ ran 𝐸 ∧ {(lastS‘(𝑃 prefix ((♯‘𝑃) − 1))), ((𝑃 prefix ((♯‘𝑃) − 1))‘0)} ∈ ran 𝐸)))
5958anbi2d 641 . . 3 ((𝐺 ∈ USPGraph ∧ 𝑃 ∈ Word 𝑉 ∧ 2 ≤ (♯‘𝑃)) → (((lastS‘𝑃) = (𝑃‘0) ∧ (∀𝑖 ∈ (0..^((((♯‘𝑃) − 1) − 0) − 1)){(𝑃𝑖), (𝑃‘(𝑖 + 1))} ∈ ran 𝐸 ∧ {(𝑃‘((♯‘𝑃) − 2)), (𝑃‘0)} ∈ ran 𝐸)) ↔ ((lastS‘𝑃) = (𝑃‘0) ∧ ((𝑃 prefix ((♯‘𝑃) − 1)) ∈ Word 𝑉 ∧ ∀𝑖 ∈ (0..^((♯‘(𝑃 prefix ((♯‘𝑃) − 1))) − 1)){((𝑃 prefix ((♯‘𝑃) − 1))‘𝑖), ((𝑃 prefix ((♯‘𝑃) − 1))‘(𝑖 + 1))} ∈ ran 𝐸 ∧ {(lastS‘(𝑃 prefix ((♯‘𝑃) − 1))), ((𝑃 prefix ((♯‘𝑃) − 1))‘0)} ∈ ran 𝐸))))
606, 59bitrd 282 . 2 ((𝐺 ∈ USPGraph ∧ 𝑃 ∈ Word 𝑉 ∧ 2 ≤ (♯‘𝑃)) → (∃𝑓((𝑓 ∈ Word dom 𝐸𝑃:(0...(♯‘𝑓))⟶𝑉 ∧ ∀𝑖 ∈ (0..^(♯‘𝑓))(𝐸‘(𝑓𝑖)) = {(𝑃𝑖), (𝑃‘(𝑖 + 1))}) ∧ (𝑃‘0) = (𝑃‘(♯‘𝑓))) ↔ ((lastS‘𝑃) = (𝑃‘0) ∧ ((𝑃 prefix ((♯‘𝑃) − 1)) ∈ Word 𝑉 ∧ ∀𝑖 ∈ (0..^((♯‘(𝑃 prefix ((♯‘𝑃) − 1))) − 1)){((𝑃 prefix ((♯‘𝑃) − 1))‘𝑖), ((𝑃 prefix ((♯‘𝑃) − 1))‘(𝑖 + 1))} ∈ ran 𝐸 ∧ {(lastS‘(𝑃 prefix ((♯‘𝑃) − 1))), ((𝑃 prefix ((♯‘𝑃) − 1))‘0)} ∈ ran 𝐸))))
61 uspgrupgr 29539 . . . . . 6 (𝐺 ∈ USPGraph → 𝐺 ∈ UPGraph)
62 clwlkclwwlk.v . . . . . . . 8 𝑉 = (Vtx‘𝐺)
6362, 1isclwlkupgr 30138 . . . . . . 7 (𝐺 ∈ UPGraph → (𝑓(ClWalks‘𝐺)𝑃 ↔ ((𝑓 ∈ Word dom 𝐸𝑃:(0...(♯‘𝑓))⟶𝑉) ∧ (∀𝑖 ∈ (0..^(♯‘𝑓))(𝐸‘(𝑓𝑖)) = {(𝑃𝑖), (𝑃‘(𝑖 + 1))} ∧ (𝑃‘0) = (𝑃‘(♯‘𝑓))))))
64 3an4anass 1121 . . . . . . 7 (((𝑓 ∈ Word dom 𝐸𝑃:(0...(♯‘𝑓))⟶𝑉 ∧ ∀𝑖 ∈ (0..^(♯‘𝑓))(𝐸‘(𝑓𝑖)) = {(𝑃𝑖), (𝑃‘(𝑖 + 1))}) ∧ (𝑃‘0) = (𝑃‘(♯‘𝑓))) ↔ ((𝑓 ∈ Word dom 𝐸𝑃:(0...(♯‘𝑓))⟶𝑉) ∧ (∀𝑖 ∈ (0..^(♯‘𝑓))(𝐸‘(𝑓𝑖)) = {(𝑃𝑖), (𝑃‘(𝑖 + 1))} ∧ (𝑃‘0) = (𝑃‘(♯‘𝑓)))))
6563, 64bitr4di 292 . . . . . 6 (𝐺 ∈ UPGraph → (𝑓(ClWalks‘𝐺)𝑃 ↔ ((𝑓 ∈ Word dom 𝐸𝑃:(0...(♯‘𝑓))⟶𝑉 ∧ ∀𝑖 ∈ (0..^(♯‘𝑓))(𝐸‘(𝑓𝑖)) = {(𝑃𝑖), (𝑃‘(𝑖 + 1))}) ∧ (𝑃‘0) = (𝑃‘(♯‘𝑓)))))
6661, 65syl 18 . . . . 5 (𝐺 ∈ USPGraph → (𝑓(ClWalks‘𝐺)𝑃 ↔ ((𝑓 ∈ Word dom 𝐸𝑃:(0...(♯‘𝑓))⟶𝑉 ∧ ∀𝑖 ∈ (0..^(♯‘𝑓))(𝐸‘(𝑓𝑖)) = {(𝑃𝑖), (𝑃‘(𝑖 + 1))}) ∧ (𝑃‘0) = (𝑃‘(♯‘𝑓)))))
6766adantr 485 . . . 4 ((𝐺 ∈ USPGraph ∧ 𝑃 ∈ Word 𝑉) → (𝑓(ClWalks‘𝐺)𝑃 ↔ ((𝑓 ∈ Word dom 𝐸𝑃:(0...(♯‘𝑓))⟶𝑉 ∧ ∀𝑖 ∈ (0..^(♯‘𝑓))(𝐸‘(𝑓𝑖)) = {(𝑃𝑖), (𝑃‘(𝑖 + 1))}) ∧ (𝑃‘0) = (𝑃‘(♯‘𝑓)))))
6867exbidv 1950 . . 3 ((𝐺 ∈ USPGraph ∧ 𝑃 ∈ Word 𝑉) → (∃𝑓 𝑓(ClWalks‘𝐺)𝑃 ↔ ∃𝑓((𝑓 ∈ Word dom 𝐸𝑃:(0...(♯‘𝑓))⟶𝑉 ∧ ∀𝑖 ∈ (0..^(♯‘𝑓))(𝐸‘(𝑓𝑖)) = {(𝑃𝑖), (𝑃‘(𝑖 + 1))}) ∧ (𝑃‘0) = (𝑃‘(♯‘𝑓)))))
69683adant3 1149 . 2 ((𝐺 ∈ USPGraph ∧ 𝑃 ∈ Word 𝑉 ∧ 2 ≤ (♯‘𝑃)) → (∃𝑓 𝑓(ClWalks‘𝐺)𝑃 ↔ ∃𝑓((𝑓 ∈ Word dom 𝐸𝑃:(0...(♯‘𝑓))⟶𝑉 ∧ ∀𝑖 ∈ (0..^(♯‘𝑓))(𝐸‘(𝑓𝑖)) = {(𝑃𝑖), (𝑃‘(𝑖 + 1))}) ∧ (𝑃‘0) = (𝑃‘(♯‘𝑓)))))
70 eqid 2762 . . . . . 6 (Edg‘𝐺) = (Edg‘𝐺)
7162, 70isclwwlk 30346 . . . . 5 ((𝑃 prefix ((♯‘𝑃) − 1)) ∈ (ClWWalks‘𝐺) ↔ (((𝑃 prefix ((♯‘𝑃) − 1)) ∈ Word 𝑉 ∧ (𝑃 prefix ((♯‘𝑃) − 1)) ≠ ∅) ∧ ∀𝑖 ∈ (0..^((♯‘(𝑃 prefix ((♯‘𝑃) − 1))) − 1)){((𝑃 prefix ((♯‘𝑃) − 1))‘𝑖), ((𝑃 prefix ((♯‘𝑃) − 1))‘(𝑖 + 1))} ∈ (Edg‘𝐺) ∧ {(lastS‘(𝑃 prefix ((♯‘𝑃) − 1))), ((𝑃 prefix ((♯‘𝑃) − 1))‘0)} ∈ (Edg‘𝐺)))
72 simpl 487 . . . . . . . . . . 11 ((𝑃 ∈ Word 𝑉 ∧ 2 ≤ (♯‘𝑃)) → 𝑃 ∈ Word 𝑉)
73 nn0ge2m1nn 12580 . . . . . . . . . . . 12 (((♯‘𝑃) ∈ ℕ0 ∧ 2 ≤ (♯‘𝑃)) → ((♯‘𝑃) − 1) ∈ ℕ)
747, 73sylan 591 . . . . . . . . . . 11 ((𝑃 ∈ Word 𝑉 ∧ 2 ≤ (♯‘𝑃)) → ((♯‘𝑃) − 1) ∈ ℕ)
75 nn0re 12519 . . . . . . . . . . . . . . 15 ((♯‘𝑃) ∈ ℕ0 → (♯‘𝑃) ∈ ℝ)
7675lem1d 12154 . . . . . . . . . . . . . 14 ((♯‘𝑃) ∈ ℕ0 → ((♯‘𝑃) − 1) ≤ (♯‘𝑃))
7776a1d 26 . . . . . . . . . . . . 13 ((♯‘𝑃) ∈ ℕ0 → (2 ≤ (♯‘𝑃) → ((♯‘𝑃) − 1) ≤ (♯‘𝑃)))
787, 77syl 18 . . . . . . . . . . . 12 (𝑃 ∈ Word 𝑉 → (2 ≤ (♯‘𝑃) → ((♯‘𝑃) − 1) ≤ (♯‘𝑃)))
7978imp 411 . . . . . . . . . . 11 ((𝑃 ∈ Word 𝑉 ∧ 2 ≤ (♯‘𝑃)) → ((♯‘𝑃) − 1) ≤ (♯‘𝑃))
8072, 74, 793jca 1145 . . . . . . . . . 10 ((𝑃 ∈ Word 𝑉 ∧ 2 ≤ (♯‘𝑃)) → (𝑃 ∈ Word 𝑉 ∧ ((♯‘𝑃) − 1) ∈ ℕ ∧ ((♯‘𝑃) − 1) ≤ (♯‘𝑃)))
81803adant1 1147 . . . . . . . . 9 ((𝐺 ∈ USPGraph ∧ 𝑃 ∈ Word 𝑉 ∧ 2 ≤ (♯‘𝑃)) → (𝑃 ∈ Word 𝑉 ∧ ((♯‘𝑃) − 1) ∈ ℕ ∧ ((♯‘𝑃) − 1) ≤ (♯‘𝑃)))
82 pfxn0 14731 . . . . . . . . 9 ((𝑃 ∈ Word 𝑉 ∧ ((♯‘𝑃) − 1) ∈ ℕ ∧ ((♯‘𝑃) − 1) ≤ (♯‘𝑃)) → (𝑃 prefix ((♯‘𝑃) − 1)) ≠ ∅)
8381, 82syl 18 . . . . . . . 8 ((𝐺 ∈ USPGraph ∧ 𝑃 ∈ Word 𝑉 ∧ 2 ≤ (♯‘𝑃)) → (𝑃 prefix ((♯‘𝑃) − 1)) ≠ ∅)
8483biantrud 540 . . . . . . 7 ((𝐺 ∈ USPGraph ∧ 𝑃 ∈ Word 𝑉 ∧ 2 ≤ (♯‘𝑃)) → ((𝑃 prefix ((♯‘𝑃) − 1)) ∈ Word 𝑉 ↔ ((𝑃 prefix ((♯‘𝑃) − 1)) ∈ Word 𝑉 ∧ (𝑃 prefix ((♯‘𝑃) − 1)) ≠ ∅)))
8584bicomd 226 . . . . . 6 ((𝐺 ∈ USPGraph ∧ 𝑃 ∈ Word 𝑉 ∧ 2 ≤ (♯‘𝑃)) → (((𝑃 prefix ((♯‘𝑃) − 1)) ∈ Word 𝑉 ∧ (𝑃 prefix ((♯‘𝑃) − 1)) ≠ ∅) ↔ (𝑃 prefix ((♯‘𝑃) − 1)) ∈ Word 𝑉))
86853anbi1d 1467 . . . . 5 ((𝐺 ∈ USPGraph ∧ 𝑃 ∈ Word 𝑉 ∧ 2 ≤ (♯‘𝑃)) → ((((𝑃 prefix ((♯‘𝑃) − 1)) ∈ Word 𝑉 ∧ (𝑃 prefix ((♯‘𝑃) − 1)) ≠ ∅) ∧ ∀𝑖 ∈ (0..^((♯‘(𝑃 prefix ((♯‘𝑃) − 1))) − 1)){((𝑃 prefix ((♯‘𝑃) − 1))‘𝑖), ((𝑃 prefix ((♯‘𝑃) − 1))‘(𝑖 + 1))} ∈ (Edg‘𝐺) ∧ {(lastS‘(𝑃 prefix ((♯‘𝑃) − 1))), ((𝑃 prefix ((♯‘𝑃) − 1))‘0)} ∈ (Edg‘𝐺)) ↔ ((𝑃 prefix ((♯‘𝑃) − 1)) ∈ Word 𝑉 ∧ ∀𝑖 ∈ (0..^((♯‘(𝑃 prefix ((♯‘𝑃) − 1))) − 1)){((𝑃 prefix ((♯‘𝑃) − 1))‘𝑖), ((𝑃 prefix ((♯‘𝑃) − 1))‘(𝑖 + 1))} ∈ (Edg‘𝐺) ∧ {(lastS‘(𝑃 prefix ((♯‘𝑃) − 1))), ((𝑃 prefix ((♯‘𝑃) − 1))‘0)} ∈ (Edg‘𝐺))))
8771, 86bitrid 286 . . . 4 ((𝐺 ∈ USPGraph ∧ 𝑃 ∈ Word 𝑉 ∧ 2 ≤ (♯‘𝑃)) → ((𝑃 prefix ((♯‘𝑃) − 1)) ∈ (ClWWalks‘𝐺) ↔ ((𝑃 prefix ((♯‘𝑃) − 1)) ∈ Word 𝑉 ∧ ∀𝑖 ∈ (0..^((♯‘(𝑃 prefix ((♯‘𝑃) − 1))) − 1)){((𝑃 prefix ((♯‘𝑃) − 1))‘𝑖), ((𝑃 prefix ((♯‘𝑃) − 1))‘(𝑖 + 1))} ∈ (Edg‘𝐺) ∧ {(lastS‘(𝑃 prefix ((♯‘𝑃) − 1))), ((𝑃 prefix ((♯‘𝑃) − 1))‘0)} ∈ (Edg‘𝐺))))
88 biid 264 . . . . 5 ((𝑃 prefix ((♯‘𝑃) − 1)) ∈ Word 𝑉 ↔ (𝑃 prefix ((♯‘𝑃) − 1)) ∈ Word 𝑉)
89 edgval 29410 . . . . . . . 8 (Edg‘𝐺) = ran (iEdg‘𝐺)
901eqcomi 2771 . . . . . . . . 9 (iEdg‘𝐺) = 𝐸
9190rneqi 5926 . . . . . . . 8 ran (iEdg‘𝐺) = ran 𝐸
9289, 91eqtri 2785 . . . . . . 7 (Edg‘𝐺) = ran 𝐸
9392eleq2i 2854 . . . . . 6 ({((𝑃 prefix ((♯‘𝑃) − 1))‘𝑖), ((𝑃 prefix ((♯‘𝑃) − 1))‘(𝑖 + 1))} ∈ (Edg‘𝐺) ↔ {((𝑃 prefix ((♯‘𝑃) − 1))‘𝑖), ((𝑃 prefix ((♯‘𝑃) − 1))‘(𝑖 + 1))} ∈ ran 𝐸)
9493ralbii 3110 . . . . 5 (∀𝑖 ∈ (0..^((♯‘(𝑃 prefix ((♯‘𝑃) − 1))) − 1)){((𝑃 prefix ((♯‘𝑃) − 1))‘𝑖), ((𝑃 prefix ((♯‘𝑃) − 1))‘(𝑖 + 1))} ∈ (Edg‘𝐺) ↔ ∀𝑖 ∈ (0..^((♯‘(𝑃 prefix ((♯‘𝑃) − 1))) − 1)){((𝑃 prefix ((♯‘𝑃) − 1))‘𝑖), ((𝑃 prefix ((♯‘𝑃) − 1))‘(𝑖 + 1))} ∈ ran 𝐸)
9592eleq2i 2854 . . . . 5 ({(lastS‘(𝑃 prefix ((♯‘𝑃) − 1))), ((𝑃 prefix ((♯‘𝑃) − 1))‘0)} ∈ (Edg‘𝐺) ↔ {(lastS‘(𝑃 prefix ((♯‘𝑃) − 1))), ((𝑃 prefix ((♯‘𝑃) − 1))‘0)} ∈ ran 𝐸)
9688, 94, 953anbi123i 1172 . . . 4 (((𝑃 prefix ((♯‘𝑃) − 1)) ∈ Word 𝑉 ∧ ∀𝑖 ∈ (0..^((♯‘(𝑃 prefix ((♯‘𝑃) − 1))) − 1)){((𝑃 prefix ((♯‘𝑃) − 1))‘𝑖), ((𝑃 prefix ((♯‘𝑃) − 1))‘(𝑖 + 1))} ∈ (Edg‘𝐺) ∧ {(lastS‘(𝑃 prefix ((♯‘𝑃) − 1))), ((𝑃 prefix ((♯‘𝑃) − 1))‘0)} ∈ (Edg‘𝐺)) ↔ ((𝑃 prefix ((♯‘𝑃) − 1)) ∈ Word 𝑉 ∧ ∀𝑖 ∈ (0..^((♯‘(𝑃 prefix ((♯‘𝑃) − 1))) − 1)){((𝑃 prefix ((♯‘𝑃) − 1))‘𝑖), ((𝑃 prefix ((♯‘𝑃) − 1))‘(𝑖 + 1))} ∈ ran 𝐸 ∧ {(lastS‘(𝑃 prefix ((♯‘𝑃) − 1))), ((𝑃 prefix ((♯‘𝑃) − 1))‘0)} ∈ ran 𝐸))
9787, 96bitrdi 290 . . 3 ((𝐺 ∈ USPGraph ∧ 𝑃 ∈ Word 𝑉 ∧ 2 ≤ (♯‘𝑃)) → ((𝑃 prefix ((♯‘𝑃) − 1)) ∈ (ClWWalks‘𝐺) ↔ ((𝑃 prefix ((♯‘𝑃) − 1)) ∈ Word 𝑉 ∧ ∀𝑖 ∈ (0..^((♯‘(𝑃 prefix ((♯‘𝑃) − 1))) − 1)){((𝑃 prefix ((♯‘𝑃) − 1))‘𝑖), ((𝑃 prefix ((♯‘𝑃) − 1))‘(𝑖 + 1))} ∈ ran 𝐸 ∧ {(lastS‘(𝑃 prefix ((♯‘𝑃) − 1))), ((𝑃 prefix ((♯‘𝑃) − 1))‘0)} ∈ ran 𝐸)))
9897anbi2d 641 . 2 ((𝐺 ∈ USPGraph ∧ 𝑃 ∈ Word 𝑉 ∧ 2 ≤ (♯‘𝑃)) → (((lastS‘𝑃) = (𝑃‘0) ∧ (𝑃 prefix ((♯‘𝑃) − 1)) ∈ (ClWWalks‘𝐺)) ↔ ((lastS‘𝑃) = (𝑃‘0) ∧ ((𝑃 prefix ((♯‘𝑃) − 1)) ∈ Word 𝑉 ∧ ∀𝑖 ∈ (0..^((♯‘(𝑃 prefix ((♯‘𝑃) − 1))) − 1)){((𝑃 prefix ((♯‘𝑃) − 1))‘𝑖), ((𝑃 prefix ((♯‘𝑃) − 1))‘(𝑖 + 1))} ∈ ran 𝐸 ∧ {(lastS‘(𝑃 prefix ((♯‘𝑃) − 1))), ((𝑃 prefix ((♯‘𝑃) − 1))‘0)} ∈ ran 𝐸))))
9960, 69, 983bitr4d 314 1 ((𝐺 ∈ USPGraph ∧ 𝑃 ∈ Word 𝑉 ∧ 2 ≤ (♯‘𝑃)) → (∃𝑓 𝑓(ClWalks‘𝐺)𝑃 ↔ ((lastS‘𝑃) = (𝑃‘0) ∧ (𝑃 prefix ((♯‘𝑃) − 1)) ∈ (ClWWalks‘𝐺))))
Colors of variables:    wff setvar class
This proof depends on syntax axioms:  wi 4  wb 209  wa 400  w3a 1102   = wceq 1569  wex 1808  wcel 2142  wne 2957  wral 3078  c0 4285  {cpr 4590   class class class wbr 5108  dom cdm 5660  ran crn 5661  wf 6532  1-1wf1 6533  1-1-ontowf1o 6535  cfv 6536  (class class class)co 7412  0cc0 11106  1c1 11107   + caddc 11109  cle 11250  cmin 11447  cn 12239  2c2 12301  0cn0 12510  cz 12597  ...cfz 13541  ..^cfzo 13689  chash 14373  Word cword 14557  lastSclsw 14606   prefix cpfx 14715  Vtxcvtx 29357  iEdgciedg 29358  Edgcedg 29408  UPGraphcupgr 29441  USPGraphcuspgr 29509  ClWalkscclwlks 30130  ClWWalkscclwwlk 30343
This proof depends on axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1824  ax-4 1838  ax-5 1939  ax-6 1996  ax-7 2037  ax-8 2144  ax-9 2152  ax-10 2175  ax-11 2191  ax-12 2212  ax-ext 2734  ax-rep 5237  ax-sep 5256  ax-nul 5268  ax-pow 5335  ax-pr 5403  ax-un 7734  ax-cnex 11162  ax-resscn 11163  ax-1cn 11164  ax-icn 11165  ax-addcl 11166  ax-addrcl 11167  ax-mulcl 11168  ax-mulrcl 11169  ax-mulcom 11170  ax-addass 11171  ax-mulass 11172  ax-distr 11173  ax-i2m1 11174  ax-1ne0 11175  ax-1rid 11176  ax-rnegex 11177  ax-rrecex 11178  ax-cnre 11179  ax-pre-lttri 11180  ax-pre-lttrn 11181  ax-pre-ltadd 11182  ax-pre-mulgt0 11183
This proof depends on definitions:  df-bi 210  df-an 401  df-or 861  df-ifp 1078  df-3or 1103  df-3an 1104  df-tru 1572  df-fal 1582  df-ex 1809  df-nf 1813  df-sb 2096  df-mo 2566  df-eu 2596  df-clab 2741  df-cleq 2754  df-clel 2837  df-nfc 2911  df-ne 2958  df-nel 3064  df-ral 3079  df-rex 3089  df-reu 3369  df-rab 3416  df-v 3456  df-sbc 3744  df-csb 3853  df-dif 3907  df-un 3909  df-in 3911  df-ss 3921  df-pss 3924  df-nul 4286  df-if 4487  df-pw 4563  df-sn 4589  df-pr 4591  df-op 4595  df-uni 4872  df-int 4912  df-iun 4957  df-br 5109  df-opab 5173  df-mpt 5192  df-tr 5218  df-id 5555  df-eprel 5560  df-po 5568  df-so 5569  df-fr 5613  df-we 5615  df-xp 5666  df-rel 5667  df-cnv 5668  df-co 5669  df-dm 5670  df-rn 5671  df-res 5672  df-ima 5673  df-pred 6302  df-ord 6363  df-on 6364  df-lim 6365  df-suc 6366  df-iota 6492  df-fun 6538  df-fn 6539  df-f 6540  df-f1 6541  df-fo 6542  df-f1o 6543  df-fv 6544  df-riota 7369  df-ov 7415  df-oprab 7416  df-mpo 7417  df-om 7861  df-1st 7984  df-2nd 7985  df-frecs 8276  df-wrecs 8307  df-recs 8356  df-rdg 8395  df-1o 8451  df-2o 8452  df-oadd 8455  df-er 8692  df-map 8824  df-pm 8825  df-en 8942  df-dom 8943  df-sdom 8944  df-fin 8945  df-dju 9894  df-card 9932  df-pnf 11251  df-mnf 11252  df-xr 11253  df-ltxr 11254  df-le 11255  df-sub 11449  df-neg 11450  df-nn 12240  df-2 12309  df-n0 12511  df-xnn0 12584  df-z 12598  df-uz 12869  df-fz 13542  df-fzo 13690  df-hash 14374  df-word 14558  df-lsw 14607  df-substr 14686  df-pfx 14716  df-edg 29409  df-uhgr 29419  df-upgr 29443  df-uspgr 29511  df-wlks 29960  df-clwlks 30131  df-clwwlk 30344
This theorem is used by:  clwlkclwwlk2  30365  clwlkclwwlkf  30370
  Copyright terms: Public domain W3C validator