Proof of Theorem crctcshlem4
| Step | Hyp | Ref
| Expression |
| 1 | | crctcsh.h |
. . 3
⊢ 𝐻 = (𝐹 cyclShift 𝑆) |
| 2 | | oveq2 6658 |
. . . 4
⊢ (𝑆 = 0 → (𝐹 cyclShift 𝑆) = (𝐹 cyclShift 0)) |
| 3 | | crctcsh.d |
. . . . . 6
⊢ (𝜑 → 𝐹(Circuits‘𝐺)𝑃) |
| 4 | | crctiswlk 26691 |
. . . . . 6
⊢ (𝐹(Circuits‘𝐺)𝑃 → 𝐹(Walks‘𝐺)𝑃) |
| 5 | | crctcsh.i |
. . . . . . 7
⊢ 𝐼 = (iEdg‘𝐺) |
| 6 | 5 | wlkf 26510 |
. . . . . 6
⊢ (𝐹(Walks‘𝐺)𝑃 → 𝐹 ∈ Word dom 𝐼) |
| 7 | 3, 4, 6 | 3syl 18 |
. . . . 5
⊢ (𝜑 → 𝐹 ∈ Word dom 𝐼) |
| 8 | | cshw0 13540 |
. . . . 5
⊢ (𝐹 ∈ Word dom 𝐼 → (𝐹 cyclShift 0) = 𝐹) |
| 9 | 7, 8 | syl 17 |
. . . 4
⊢ (𝜑 → (𝐹 cyclShift 0) = 𝐹) |
| 10 | 2, 9 | sylan9eqr 2678 |
. . 3
⊢ ((𝜑 ∧ 𝑆 = 0) → (𝐹 cyclShift 𝑆) = 𝐹) |
| 11 | 1, 10 | syl5eq 2668 |
. 2
⊢ ((𝜑 ∧ 𝑆 = 0) → 𝐻 = 𝐹) |
| 12 | | crctcsh.q |
. . 3
⊢ 𝑄 = (𝑥 ∈ (0...𝑁) ↦ if(𝑥 ≤ (𝑁 − 𝑆), (𝑃‘(𝑥 + 𝑆)), (𝑃‘((𝑥 + 𝑆) − 𝑁)))) |
| 13 | | oveq2 6658 |
. . . . . . . . 9
⊢ (𝑆 = 0 → (𝑁 − 𝑆) = (𝑁 − 0)) |
| 14 | | crctcsh.v |
. . . . . . . . . . . 12
⊢ 𝑉 = (Vtx‘𝐺) |
| 15 | | crctcsh.n |
. . . . . . . . . . . 12
⊢ 𝑁 = (#‘𝐹) |
| 16 | 14, 5, 3, 15 | crctcshlem1 26709 |
. . . . . . . . . . 11
⊢ (𝜑 → 𝑁 ∈
ℕ0) |
| 17 | 16 | nn0cnd 11353 |
. . . . . . . . . 10
⊢ (𝜑 → 𝑁 ∈ ℂ) |
| 18 | 17 | subid1d 10381 |
. . . . . . . . 9
⊢ (𝜑 → (𝑁 − 0) = 𝑁) |
| 19 | 13, 18 | sylan9eqr 2678 |
. . . . . . . 8
⊢ ((𝜑 ∧ 𝑆 = 0) → (𝑁 − 𝑆) = 𝑁) |
| 20 | 19 | breq2d 4665 |
. . . . . . 7
⊢ ((𝜑 ∧ 𝑆 = 0) → (𝑥 ≤ (𝑁 − 𝑆) ↔ 𝑥 ≤ 𝑁)) |
| 21 | 20 | adantr 481 |
. . . . . 6
⊢ (((𝜑 ∧ 𝑆 = 0) ∧ 𝑥 ∈ (0...𝑁)) → (𝑥 ≤ (𝑁 − 𝑆) ↔ 𝑥 ≤ 𝑁)) |
| 22 | | oveq2 6658 |
. . . . . . . . 9
⊢ (𝑆 = 0 → (𝑥 + 𝑆) = (𝑥 + 0)) |
| 23 | 22 | adantl 482 |
. . . . . . . 8
⊢ ((𝜑 ∧ 𝑆 = 0) → (𝑥 + 𝑆) = (𝑥 + 0)) |
| 24 | | elfzelz 12342 |
. . . . . . . . . 10
⊢ (𝑥 ∈ (0...𝑁) → 𝑥 ∈ ℤ) |
| 25 | 24 | zcnd 11483 |
. . . . . . . . 9
⊢ (𝑥 ∈ (0...𝑁) → 𝑥 ∈ ℂ) |
| 26 | 25 | addid1d 10236 |
. . . . . . . 8
⊢ (𝑥 ∈ (0...𝑁) → (𝑥 + 0) = 𝑥) |
| 27 | 23, 26 | sylan9eq 2676 |
. . . . . . 7
⊢ (((𝜑 ∧ 𝑆 = 0) ∧ 𝑥 ∈ (0...𝑁)) → (𝑥 + 𝑆) = 𝑥) |
| 28 | 27 | fveq2d 6195 |
. . . . . 6
⊢ (((𝜑 ∧ 𝑆 = 0) ∧ 𝑥 ∈ (0...𝑁)) → (𝑃‘(𝑥 + 𝑆)) = (𝑃‘𝑥)) |
| 29 | 27 | oveq1d 6665 |
. . . . . . 7
⊢ (((𝜑 ∧ 𝑆 = 0) ∧ 𝑥 ∈ (0...𝑁)) → ((𝑥 + 𝑆) − 𝑁) = (𝑥 − 𝑁)) |
| 30 | 29 | fveq2d 6195 |
. . . . . 6
⊢ (((𝜑 ∧ 𝑆 = 0) ∧ 𝑥 ∈ (0...𝑁)) → (𝑃‘((𝑥 + 𝑆) − 𝑁)) = (𝑃‘(𝑥 − 𝑁))) |
| 31 | 21, 28, 30 | ifbieq12d 4113 |
. . . . 5
⊢ (((𝜑 ∧ 𝑆 = 0) ∧ 𝑥 ∈ (0...𝑁)) → if(𝑥 ≤ (𝑁 − 𝑆), (𝑃‘(𝑥 + 𝑆)), (𝑃‘((𝑥 + 𝑆) − 𝑁))) = if(𝑥 ≤ 𝑁, (𝑃‘𝑥), (𝑃‘(𝑥 − 𝑁)))) |
| 32 | 31 | mpteq2dva 4744 |
. . . 4
⊢ ((𝜑 ∧ 𝑆 = 0) → (𝑥 ∈ (0...𝑁) ↦ if(𝑥 ≤ (𝑁 − 𝑆), (𝑃‘(𝑥 + 𝑆)), (𝑃‘((𝑥 + 𝑆) − 𝑁)))) = (𝑥 ∈ (0...𝑁) ↦ if(𝑥 ≤ 𝑁, (𝑃‘𝑥), (𝑃‘(𝑥 − 𝑁))))) |
| 33 | | elfzle2 12345 |
. . . . . . . . 9
⊢ (𝑥 ∈ (0...𝑁) → 𝑥 ≤ 𝑁) |
| 34 | 33 | adantl 482 |
. . . . . . . 8
⊢ ((𝜑 ∧ 𝑥 ∈ (0...𝑁)) → 𝑥 ≤ 𝑁) |
| 35 | 34 | iftrued 4094 |
. . . . . . 7
⊢ ((𝜑 ∧ 𝑥 ∈ (0...𝑁)) → if(𝑥 ≤ 𝑁, (𝑃‘𝑥), (𝑃‘(𝑥 − 𝑁))) = (𝑃‘𝑥)) |
| 36 | 35 | mpteq2dva 4744 |
. . . . . 6
⊢ (𝜑 → (𝑥 ∈ (0...𝑁) ↦ if(𝑥 ≤ 𝑁, (𝑃‘𝑥), (𝑃‘(𝑥 − 𝑁)))) = (𝑥 ∈ (0...𝑁) ↦ (𝑃‘𝑥))) |
| 37 | 14 | wlkp 26512 |
. . . . . . . 8
⊢ (𝐹(Walks‘𝐺)𝑃 → 𝑃:(0...(#‘𝐹))⟶𝑉) |
| 38 | 3, 4, 37 | 3syl 18 |
. . . . . . 7
⊢ (𝜑 → 𝑃:(0...(#‘𝐹))⟶𝑉) |
| 39 | | ffn 6045 |
. . . . . . . . . . 11
⊢ (𝑃:(0...(#‘𝐹))⟶𝑉 → 𝑃 Fn (0...(#‘𝐹))) |
| 40 | 15 | eqcomi 2631 |
. . . . . . . . . . . . 13
⊢
(#‘𝐹) = 𝑁 |
| 41 | 40 | oveq2i 6661 |
. . . . . . . . . . . 12
⊢
(0...(#‘𝐹)) =
(0...𝑁) |
| 42 | 41 | fneq2i 5986 |
. . . . . . . . . . 11
⊢ (𝑃 Fn (0...(#‘𝐹)) ↔ 𝑃 Fn (0...𝑁)) |
| 43 | 39, 42 | sylib 208 |
. . . . . . . . . 10
⊢ (𝑃:(0...(#‘𝐹))⟶𝑉 → 𝑃 Fn (0...𝑁)) |
| 44 | 43 | adantl 482 |
. . . . . . . . 9
⊢ ((𝜑 ∧ 𝑃:(0...(#‘𝐹))⟶𝑉) → 𝑃 Fn (0...𝑁)) |
| 45 | | dffn5 6241 |
. . . . . . . . 9
⊢ (𝑃 Fn (0...𝑁) ↔ 𝑃 = (𝑥 ∈ (0...𝑁) ↦ (𝑃‘𝑥))) |
| 46 | 44, 45 | sylib 208 |
. . . . . . . 8
⊢ ((𝜑 ∧ 𝑃:(0...(#‘𝐹))⟶𝑉) → 𝑃 = (𝑥 ∈ (0...𝑁) ↦ (𝑃‘𝑥))) |
| 47 | 46 | eqcomd 2628 |
. . . . . . 7
⊢ ((𝜑 ∧ 𝑃:(0...(#‘𝐹))⟶𝑉) → (𝑥 ∈ (0...𝑁) ↦ (𝑃‘𝑥)) = 𝑃) |
| 48 | 38, 47 | mpdan 702 |
. . . . . 6
⊢ (𝜑 → (𝑥 ∈ (0...𝑁) ↦ (𝑃‘𝑥)) = 𝑃) |
| 49 | 36, 48 | eqtrd 2656 |
. . . . 5
⊢ (𝜑 → (𝑥 ∈ (0...𝑁) ↦ if(𝑥 ≤ 𝑁, (𝑃‘𝑥), (𝑃‘(𝑥 − 𝑁)))) = 𝑃) |
| 50 | 49 | adantr 481 |
. . . 4
⊢ ((𝜑 ∧ 𝑆 = 0) → (𝑥 ∈ (0...𝑁) ↦ if(𝑥 ≤ 𝑁, (𝑃‘𝑥), (𝑃‘(𝑥 − 𝑁)))) = 𝑃) |
| 51 | 32, 50 | eqtrd 2656 |
. . 3
⊢ ((𝜑 ∧ 𝑆 = 0) → (𝑥 ∈ (0...𝑁) ↦ if(𝑥 ≤ (𝑁 − 𝑆), (𝑃‘(𝑥 + 𝑆)), (𝑃‘((𝑥 + 𝑆) − 𝑁)))) = 𝑃) |
| 52 | 12, 51 | syl5eq 2668 |
. 2
⊢ ((𝜑 ∧ 𝑆 = 0) → 𝑄 = 𝑃) |
| 53 | 11, 52 | jca 554 |
1
⊢ ((𝜑 ∧ 𝑆 = 0) → (𝐻 = 𝐹 ∧ 𝑄 = 𝑃)) |