Proof of Theorem eleclclwwlksnlem2
| Step | Hyp | Ref
| Expression |
| 1 | | simpl 473 |
. . . . 5
⊢ ((𝑘 ∈ (0...𝑁) ∧ 𝑋 = (𝑥 cyclShift 𝑘)) → 𝑘 ∈ (0...𝑁)) |
| 2 | 1 | anim1i 592 |
. . . 4
⊢ (((𝑘 ∈ (0...𝑁) ∧ 𝑋 = (𝑥 cyclShift 𝑘)) ∧ (𝑋 ∈ 𝑊 ∧ 𝑥 ∈ 𝑊)) → (𝑘 ∈ (0...𝑁) ∧ (𝑋 ∈ 𝑊 ∧ 𝑥 ∈ 𝑊))) |
| 3 | 2 | adantr 481 |
. . 3
⊢ ((((𝑘 ∈ (0...𝑁) ∧ 𝑋 = (𝑥 cyclShift 𝑘)) ∧ (𝑋 ∈ 𝑊 ∧ 𝑥 ∈ 𝑊)) ∧ ∃𝑚 ∈ (0...𝑁)𝑌 = (𝑥 cyclShift 𝑚)) → (𝑘 ∈ (0...𝑁) ∧ (𝑋 ∈ 𝑊 ∧ 𝑥 ∈ 𝑊))) |
| 4 | | simpr 477 |
. . . . 5
⊢ ((𝑘 ∈ (0...𝑁) ∧ 𝑋 = (𝑥 cyclShift 𝑘)) → 𝑋 = (𝑥 cyclShift 𝑘)) |
| 5 | 4 | adantr 481 |
. . . 4
⊢ (((𝑘 ∈ (0...𝑁) ∧ 𝑋 = (𝑥 cyclShift 𝑘)) ∧ (𝑋 ∈ 𝑊 ∧ 𝑥 ∈ 𝑊)) → 𝑋 = (𝑥 cyclShift 𝑘)) |
| 6 | 5 | anim1i 592 |
. . 3
⊢ ((((𝑘 ∈ (0...𝑁) ∧ 𝑋 = (𝑥 cyclShift 𝑘)) ∧ (𝑋 ∈ 𝑊 ∧ 𝑥 ∈ 𝑊)) ∧ ∃𝑚 ∈ (0...𝑁)𝑌 = (𝑥 cyclShift 𝑚)) → (𝑋 = (𝑥 cyclShift 𝑘) ∧ ∃𝑚 ∈ (0...𝑁)𝑌 = (𝑥 cyclShift 𝑚))) |
| 7 | | erclwwlksn1.w |
. . . 4
⊢ 𝑊 = (𝑁 ClWWalksN 𝐺) |
| 8 | 7 | eleclclwwlksnlem1 26938 |
. . 3
⊢ ((𝑘 ∈ (0...𝑁) ∧ (𝑋 ∈ 𝑊 ∧ 𝑥 ∈ 𝑊)) → ((𝑋 = (𝑥 cyclShift 𝑘) ∧ ∃𝑚 ∈ (0...𝑁)𝑌 = (𝑥 cyclShift 𝑚)) → ∃𝑛 ∈ (0...𝑁)𝑌 = (𝑋 cyclShift 𝑛))) |
| 9 | 3, 6, 8 | sylc 65 |
. 2
⊢ ((((𝑘 ∈ (0...𝑁) ∧ 𝑋 = (𝑥 cyclShift 𝑘)) ∧ (𝑋 ∈ 𝑊 ∧ 𝑥 ∈ 𝑊)) ∧ ∃𝑚 ∈ (0...𝑁)𝑌 = (𝑥 cyclShift 𝑚)) → ∃𝑛 ∈ (0...𝑁)𝑌 = (𝑋 cyclShift 𝑛)) |
| 10 | | eqid 2622 |
. . . . . . . . . . . 12
⊢
(Vtx‘𝐺) =
(Vtx‘𝐺) |
| 11 | 10 | clwwlknbp 26885 |
. . . . . . . . . . 11
⊢ (𝑥 ∈ (𝑁 ClWWalksN 𝐺) → (𝑥 ∈ Word (Vtx‘𝐺) ∧ (#‘𝑥) = 𝑁)) |
| 12 | 11, 7 | eleq2s 2719 |
. . . . . . . . . 10
⊢ (𝑥 ∈ 𝑊 → (𝑥 ∈ Word (Vtx‘𝐺) ∧ (#‘𝑥) = 𝑁)) |
| 13 | | fznn0sub2 12446 |
. . . . . . . . . . . 12
⊢ (𝑘 ∈ (0...𝑁) → (𝑁 − 𝑘) ∈ (0...𝑁)) |
| 14 | | oveq1 6657 |
. . . . . . . . . . . . 13
⊢
((#‘𝑥) = 𝑁 → ((#‘𝑥) − 𝑘) = (𝑁 − 𝑘)) |
| 15 | 14 | eleq1d 2686 |
. . . . . . . . . . . 12
⊢
((#‘𝑥) = 𝑁 → (((#‘𝑥) − 𝑘) ∈ (0...𝑁) ↔ (𝑁 − 𝑘) ∈ (0...𝑁))) |
| 16 | 13, 15 | syl5ibr 236 |
. . . . . . . . . . 11
⊢
((#‘𝑥) = 𝑁 → (𝑘 ∈ (0...𝑁) → ((#‘𝑥) − 𝑘) ∈ (0...𝑁))) |
| 17 | 16 | adantl 482 |
. . . . . . . . . 10
⊢ ((𝑥 ∈ Word (Vtx‘𝐺) ∧ (#‘𝑥) = 𝑁) → (𝑘 ∈ (0...𝑁) → ((#‘𝑥) − 𝑘) ∈ (0...𝑁))) |
| 18 | 12, 17 | syl 17 |
. . . . . . . . 9
⊢ (𝑥 ∈ 𝑊 → (𝑘 ∈ (0...𝑁) → ((#‘𝑥) − 𝑘) ∈ (0...𝑁))) |
| 19 | 18 | adantl 482 |
. . . . . . . 8
⊢ ((𝑋 ∈ 𝑊 ∧ 𝑥 ∈ 𝑊) → (𝑘 ∈ (0...𝑁) → ((#‘𝑥) − 𝑘) ∈ (0...𝑁))) |
| 20 | 19 | com12 32 |
. . . . . . 7
⊢ (𝑘 ∈ (0...𝑁) → ((𝑋 ∈ 𝑊 ∧ 𝑥 ∈ 𝑊) → ((#‘𝑥) − 𝑘) ∈ (0...𝑁))) |
| 21 | 20 | adantr 481 |
. . . . . 6
⊢ ((𝑘 ∈ (0...𝑁) ∧ 𝑋 = (𝑥 cyclShift 𝑘)) → ((𝑋 ∈ 𝑊 ∧ 𝑥 ∈ 𝑊) → ((#‘𝑥) − 𝑘) ∈ (0...𝑁))) |
| 22 | 21 | imp 445 |
. . . . 5
⊢ (((𝑘 ∈ (0...𝑁) ∧ 𝑋 = (𝑥 cyclShift 𝑘)) ∧ (𝑋 ∈ 𝑊 ∧ 𝑥 ∈ 𝑊)) → ((#‘𝑥) − 𝑘) ∈ (0...𝑁)) |
| 23 | 22 | adantr 481 |
. . . 4
⊢ ((((𝑘 ∈ (0...𝑁) ∧ 𝑋 = (𝑥 cyclShift 𝑘)) ∧ (𝑋 ∈ 𝑊 ∧ 𝑥 ∈ 𝑊)) ∧ ∃𝑛 ∈ (0...𝑁)𝑌 = (𝑋 cyclShift 𝑛)) → ((#‘𝑥) − 𝑘) ∈ (0...𝑁)) |
| 24 | | simpr 477 |
. . . . . 6
⊢ (((𝑘 ∈ (0...𝑁) ∧ 𝑋 = (𝑥 cyclShift 𝑘)) ∧ (𝑋 ∈ 𝑊 ∧ 𝑥 ∈ 𝑊)) → (𝑋 ∈ 𝑊 ∧ 𝑥 ∈ 𝑊)) |
| 25 | 24 | ancomd 467 |
. . . . 5
⊢ (((𝑘 ∈ (0...𝑁) ∧ 𝑋 = (𝑥 cyclShift 𝑘)) ∧ (𝑋 ∈ 𝑊 ∧ 𝑥 ∈ 𝑊)) → (𝑥 ∈ 𝑊 ∧ 𝑋 ∈ 𝑊)) |
| 26 | 25 | adantr 481 |
. . . 4
⊢ ((((𝑘 ∈ (0...𝑁) ∧ 𝑋 = (𝑥 cyclShift 𝑘)) ∧ (𝑋 ∈ 𝑊 ∧ 𝑥 ∈ 𝑊)) ∧ ∃𝑛 ∈ (0...𝑁)𝑌 = (𝑋 cyclShift 𝑛)) → (𝑥 ∈ 𝑊 ∧ 𝑋 ∈ 𝑊)) |
| 27 | 23, 26 | jca 554 |
. . 3
⊢ ((((𝑘 ∈ (0...𝑁) ∧ 𝑋 = (𝑥 cyclShift 𝑘)) ∧ (𝑋 ∈ 𝑊 ∧ 𝑥 ∈ 𝑊)) ∧ ∃𝑛 ∈ (0...𝑁)𝑌 = (𝑋 cyclShift 𝑛)) → (((#‘𝑥) − 𝑘) ∈ (0...𝑁) ∧ (𝑥 ∈ 𝑊 ∧ 𝑋 ∈ 𝑊))) |
| 28 | | simpll 790 |
. . . . . . . . . . . . 13
⊢ (((𝑥 ∈ Word (Vtx‘𝐺) ∧ (#‘𝑥) = 𝑁) ∧ 𝑘 ∈ (0...𝑁)) → 𝑥 ∈ Word (Vtx‘𝐺)) |
| 29 | | oveq2 6658 |
. . . . . . . . . . . . . . . . 17
⊢ (𝑁 = (#‘𝑥) → (0...𝑁) = (0...(#‘𝑥))) |
| 30 | 29 | eleq2d 2687 |
. . . . . . . . . . . . . . . 16
⊢ (𝑁 = (#‘𝑥) → (𝑘 ∈ (0...𝑁) ↔ 𝑘 ∈ (0...(#‘𝑥)))) |
| 31 | 30 | eqcoms 2630 |
. . . . . . . . . . . . . . 15
⊢
((#‘𝑥) = 𝑁 → (𝑘 ∈ (0...𝑁) ↔ 𝑘 ∈ (0...(#‘𝑥)))) |
| 32 | 31 | adantl 482 |
. . . . . . . . . . . . . 14
⊢ ((𝑥 ∈ Word (Vtx‘𝐺) ∧ (#‘𝑥) = 𝑁) → (𝑘 ∈ (0...𝑁) ↔ 𝑘 ∈ (0...(#‘𝑥)))) |
| 33 | 32 | biimpa 501 |
. . . . . . . . . . . . 13
⊢ (((𝑥 ∈ Word (Vtx‘𝐺) ∧ (#‘𝑥) = 𝑁) ∧ 𝑘 ∈ (0...𝑁)) → 𝑘 ∈ (0...(#‘𝑥))) |
| 34 | 28, 33 | jca 554 |
. . . . . . . . . . . 12
⊢ (((𝑥 ∈ Word (Vtx‘𝐺) ∧ (#‘𝑥) = 𝑁) ∧ 𝑘 ∈ (0...𝑁)) → (𝑥 ∈ Word (Vtx‘𝐺) ∧ 𝑘 ∈ (0...(#‘𝑥)))) |
| 35 | 34 | ex 450 |
. . . . . . . . . . 11
⊢ ((𝑥 ∈ Word (Vtx‘𝐺) ∧ (#‘𝑥) = 𝑁) → (𝑘 ∈ (0...𝑁) → (𝑥 ∈ Word (Vtx‘𝐺) ∧ 𝑘 ∈ (0...(#‘𝑥))))) |
| 36 | 12, 35 | syl 17 |
. . . . . . . . . 10
⊢ (𝑥 ∈ 𝑊 → (𝑘 ∈ (0...𝑁) → (𝑥 ∈ Word (Vtx‘𝐺) ∧ 𝑘 ∈ (0...(#‘𝑥))))) |
| 37 | 36 | adantl 482 |
. . . . . . . . 9
⊢ ((𝑋 ∈ 𝑊 ∧ 𝑥 ∈ 𝑊) → (𝑘 ∈ (0...𝑁) → (𝑥 ∈ Word (Vtx‘𝐺) ∧ 𝑘 ∈ (0...(#‘𝑥))))) |
| 38 | 37 | com12 32 |
. . . . . . . 8
⊢ (𝑘 ∈ (0...𝑁) → ((𝑋 ∈ 𝑊 ∧ 𝑥 ∈ 𝑊) → (𝑥 ∈ Word (Vtx‘𝐺) ∧ 𝑘 ∈ (0...(#‘𝑥))))) |
| 39 | 38 | adantr 481 |
. . . . . . 7
⊢ ((𝑘 ∈ (0...𝑁) ∧ 𝑋 = (𝑥 cyclShift 𝑘)) → ((𝑋 ∈ 𝑊 ∧ 𝑥 ∈ 𝑊) → (𝑥 ∈ Word (Vtx‘𝐺) ∧ 𝑘 ∈ (0...(#‘𝑥))))) |
| 40 | 39 | imp 445 |
. . . . . 6
⊢ (((𝑘 ∈ (0...𝑁) ∧ 𝑋 = (𝑥 cyclShift 𝑘)) ∧ (𝑋 ∈ 𝑊 ∧ 𝑥 ∈ 𝑊)) → (𝑥 ∈ Word (Vtx‘𝐺) ∧ 𝑘 ∈ (0...(#‘𝑥)))) |
| 41 | 4 | eqcomd 2628 |
. . . . . . 7
⊢ ((𝑘 ∈ (0...𝑁) ∧ 𝑋 = (𝑥 cyclShift 𝑘)) → (𝑥 cyclShift 𝑘) = 𝑋) |
| 42 | 41 | adantr 481 |
. . . . . 6
⊢ (((𝑘 ∈ (0...𝑁) ∧ 𝑋 = (𝑥 cyclShift 𝑘)) ∧ (𝑋 ∈ 𝑊 ∧ 𝑥 ∈ 𝑊)) → (𝑥 cyclShift 𝑘) = 𝑋) |
| 43 | | oveq1 6657 |
. . . . . . . 8
⊢ (𝑋 = (𝑥 cyclShift 𝑘) → (𝑋 cyclShift ((#‘𝑥) − 𝑘)) = ((𝑥 cyclShift 𝑘) cyclShift ((#‘𝑥) − 𝑘))) |
| 44 | 43 | eqcoms 2630 |
. . . . . . 7
⊢ ((𝑥 cyclShift 𝑘) = 𝑋 → (𝑋 cyclShift ((#‘𝑥) − 𝑘)) = ((𝑥 cyclShift 𝑘) cyclShift ((#‘𝑥) − 𝑘))) |
| 45 | | elfzelz 12342 |
. . . . . . . 8
⊢ (𝑘 ∈ (0...(#‘𝑥)) → 𝑘 ∈ ℤ) |
| 46 | | 2cshwid 13560 |
. . . . . . . 8
⊢ ((𝑥 ∈ Word (Vtx‘𝐺) ∧ 𝑘 ∈ ℤ) → ((𝑥 cyclShift 𝑘) cyclShift ((#‘𝑥) − 𝑘)) = 𝑥) |
| 47 | 45, 46 | sylan2 491 |
. . . . . . 7
⊢ ((𝑥 ∈ Word (Vtx‘𝐺) ∧ 𝑘 ∈ (0...(#‘𝑥))) → ((𝑥 cyclShift 𝑘) cyclShift ((#‘𝑥) − 𝑘)) = 𝑥) |
| 48 | 44, 47 | sylan9eqr 2678 |
. . . . . 6
⊢ (((𝑥 ∈ Word (Vtx‘𝐺) ∧ 𝑘 ∈ (0...(#‘𝑥))) ∧ (𝑥 cyclShift 𝑘) = 𝑋) → (𝑋 cyclShift ((#‘𝑥) − 𝑘)) = 𝑥) |
| 49 | 40, 42, 48 | syl2anc 693 |
. . . . 5
⊢ (((𝑘 ∈ (0...𝑁) ∧ 𝑋 = (𝑥 cyclShift 𝑘)) ∧ (𝑋 ∈ 𝑊 ∧ 𝑥 ∈ 𝑊)) → (𝑋 cyclShift ((#‘𝑥) − 𝑘)) = 𝑥) |
| 50 | 49 | eqcomd 2628 |
. . . 4
⊢ (((𝑘 ∈ (0...𝑁) ∧ 𝑋 = (𝑥 cyclShift 𝑘)) ∧ (𝑋 ∈ 𝑊 ∧ 𝑥 ∈ 𝑊)) → 𝑥 = (𝑋 cyclShift ((#‘𝑥) − 𝑘))) |
| 51 | 50 | anim1i 592 |
. . 3
⊢ ((((𝑘 ∈ (0...𝑁) ∧ 𝑋 = (𝑥 cyclShift 𝑘)) ∧ (𝑋 ∈ 𝑊 ∧ 𝑥 ∈ 𝑊)) ∧ ∃𝑛 ∈ (0...𝑁)𝑌 = (𝑋 cyclShift 𝑛)) → (𝑥 = (𝑋 cyclShift ((#‘𝑥) − 𝑘)) ∧ ∃𝑛 ∈ (0...𝑁)𝑌 = (𝑋 cyclShift 𝑛))) |
| 52 | 7 | eleclclwwlksnlem1 26938 |
. . 3
⊢
((((#‘𝑥)
− 𝑘) ∈
(0...𝑁) ∧ (𝑥 ∈ 𝑊 ∧ 𝑋 ∈ 𝑊)) → ((𝑥 = (𝑋 cyclShift ((#‘𝑥) − 𝑘)) ∧ ∃𝑛 ∈ (0...𝑁)𝑌 = (𝑋 cyclShift 𝑛)) → ∃𝑚 ∈ (0...𝑁)𝑌 = (𝑥 cyclShift 𝑚))) |
| 53 | 27, 51, 52 | sylc 65 |
. 2
⊢ ((((𝑘 ∈ (0...𝑁) ∧ 𝑋 = (𝑥 cyclShift 𝑘)) ∧ (𝑋 ∈ 𝑊 ∧ 𝑥 ∈ 𝑊)) ∧ ∃𝑛 ∈ (0...𝑁)𝑌 = (𝑋 cyclShift 𝑛)) → ∃𝑚 ∈ (0...𝑁)𝑌 = (𝑥 cyclShift 𝑚)) |
| 54 | 9, 53 | impbida 877 |
1
⊢ (((𝑘 ∈ (0...𝑁) ∧ 𝑋 = (𝑥 cyclShift 𝑘)) ∧ (𝑋 ∈ 𝑊 ∧ 𝑥 ∈ 𝑊)) → (∃𝑚 ∈ (0...𝑁)𝑌 = (𝑥 cyclShift 𝑚) ↔ ∃𝑛 ∈ (0...𝑁)𝑌 = (𝑋 cyclShift 𝑛))) |