Proof of Theorem crctcsh
Step | Hyp | Ref
| Expression |
1 | | crctcsh.v |
. . . 4
⊢ 𝑉 = (Vtx‘𝐺) |
2 | | crctcsh.i |
. . . 4
⊢ 𝐼 = (iEdg‘𝐺) |
3 | | crctcsh.d |
. . . 4
⊢ (𝜑 → 𝐹(Circuits‘𝐺)𝑃) |
4 | | crctcsh.n |
. . . 4
⊢ 𝑁 = (#‘𝐹) |
5 | | crctcsh.s |
. . . 4
⊢ (𝜑 → 𝑆 ∈ (0..^𝑁)) |
6 | | crctcsh.h |
. . . 4
⊢ 𝐻 = (𝐹 cyclShift 𝑆) |
7 | | crctcsh.q |
. . . 4
⊢ 𝑄 = (𝑥 ∈ (0...𝑁) ↦ if(𝑥 ≤ (𝑁 − 𝑆), (𝑃‘(𝑥 + 𝑆)), (𝑃‘((𝑥 + 𝑆) − 𝑁)))) |
8 | 1, 2, 3, 4, 5, 6, 7 | crctcshlem4 26712 |
. . 3
⊢ ((𝜑 ∧ 𝑆 = 0) → (𝐻 = 𝐹 ∧ 𝑄 = 𝑃)) |
9 | | breq12 4658 |
. . . . 5
⊢ ((𝐻 = 𝐹 ∧ 𝑄 = 𝑃) → (𝐻(Circuits‘𝐺)𝑄 ↔ 𝐹(Circuits‘𝐺)𝑃)) |
10 | 3, 9 | syl5ibrcom 237 |
. . . 4
⊢ (𝜑 → ((𝐻 = 𝐹 ∧ 𝑄 = 𝑃) → 𝐻(Circuits‘𝐺)𝑄)) |
11 | 10 | adantr 481 |
. . 3
⊢ ((𝜑 ∧ 𝑆 = 0) → ((𝐻 = 𝐹 ∧ 𝑄 = 𝑃) → 𝐻(Circuits‘𝐺)𝑄)) |
12 | 8, 11 | mpd 15 |
. 2
⊢ ((𝜑 ∧ 𝑆 = 0) → 𝐻(Circuits‘𝐺)𝑄) |
13 | 1, 2, 3, 4, 5, 6, 7 | crctcshtrl 26715 |
. . . 4
⊢ (𝜑 → 𝐻(Trails‘𝐺)𝑄) |
14 | 13 | adantr 481 |
. . 3
⊢ ((𝜑 ∧ 𝑆 ≠ 0) → 𝐻(Trails‘𝐺)𝑄) |
15 | 7 | a1i 11 |
. . . . 5
⊢ ((𝜑 ∧ 𝑆 ≠ 0) → 𝑄 = (𝑥 ∈ (0...𝑁) ↦ if(𝑥 ≤ (𝑁 − 𝑆), (𝑃‘(𝑥 + 𝑆)), (𝑃‘((𝑥 + 𝑆) − 𝑁))))) |
16 | | breq1 4656 |
. . . . . . 7
⊢ (𝑥 = 0 → (𝑥 ≤ (𝑁 − 𝑆) ↔ 0 ≤ (𝑁 − 𝑆))) |
17 | | oveq1 6657 |
. . . . . . . 8
⊢ (𝑥 = 0 → (𝑥 + 𝑆) = (0 + 𝑆)) |
18 | 17 | fveq2d 6195 |
. . . . . . 7
⊢ (𝑥 = 0 → (𝑃‘(𝑥 + 𝑆)) = (𝑃‘(0 + 𝑆))) |
19 | 17 | oveq1d 6665 |
. . . . . . . 8
⊢ (𝑥 = 0 → ((𝑥 + 𝑆) − 𝑁) = ((0 + 𝑆) − 𝑁)) |
20 | 19 | fveq2d 6195 |
. . . . . . 7
⊢ (𝑥 = 0 → (𝑃‘((𝑥 + 𝑆) − 𝑁)) = (𝑃‘((0 + 𝑆) − 𝑁))) |
21 | 16, 18, 20 | ifbieq12d 4113 |
. . . . . 6
⊢ (𝑥 = 0 → if(𝑥 ≤ (𝑁 − 𝑆), (𝑃‘(𝑥 + 𝑆)), (𝑃‘((𝑥 + 𝑆) − 𝑁))) = if(0 ≤ (𝑁 − 𝑆), (𝑃‘(0 + 𝑆)), (𝑃‘((0 + 𝑆) − 𝑁)))) |
22 | | elfzo0le 12511 |
. . . . . . . . . 10
⊢ (𝑆 ∈ (0..^𝑁) → 𝑆 ≤ 𝑁) |
23 | 5, 22 | syl 17 |
. . . . . . . . 9
⊢ (𝜑 → 𝑆 ≤ 𝑁) |
24 | 1, 2, 3, 4 | crctcshlem1 26709 |
. . . . . . . . . . 11
⊢ (𝜑 → 𝑁 ∈
ℕ0) |
25 | 24 | nn0red 11352 |
. . . . . . . . . 10
⊢ (𝜑 → 𝑁 ∈ ℝ) |
26 | | elfzoelz 12470 |
. . . . . . . . . . . 12
⊢ (𝑆 ∈ (0..^𝑁) → 𝑆 ∈ ℤ) |
27 | 5, 26 | syl 17 |
. . . . . . . . . . 11
⊢ (𝜑 → 𝑆 ∈ ℤ) |
28 | 27 | zred 11482 |
. . . . . . . . . 10
⊢ (𝜑 → 𝑆 ∈ ℝ) |
29 | 25, 28 | subge0d 10617 |
. . . . . . . . 9
⊢ (𝜑 → (0 ≤ (𝑁 − 𝑆) ↔ 𝑆 ≤ 𝑁)) |
30 | 23, 29 | mpbird 247 |
. . . . . . . 8
⊢ (𝜑 → 0 ≤ (𝑁 − 𝑆)) |
31 | 30 | adantr 481 |
. . . . . . 7
⊢ ((𝜑 ∧ 𝑆 ≠ 0) → 0 ≤ (𝑁 − 𝑆)) |
32 | 31 | iftrued 4094 |
. . . . . 6
⊢ ((𝜑 ∧ 𝑆 ≠ 0) → if(0 ≤ (𝑁 − 𝑆), (𝑃‘(0 + 𝑆)), (𝑃‘((0 + 𝑆) − 𝑁))) = (𝑃‘(0 + 𝑆))) |
33 | 21, 32 | sylan9eqr 2678 |
. . . . 5
⊢ (((𝜑 ∧ 𝑆 ≠ 0) ∧ 𝑥 = 0) → if(𝑥 ≤ (𝑁 − 𝑆), (𝑃‘(𝑥 + 𝑆)), (𝑃‘((𝑥 + 𝑆) − 𝑁))) = (𝑃‘(0 + 𝑆))) |
34 | 3 | adantr 481 |
. . . . . . 7
⊢ ((𝜑 ∧ 𝑆 ≠ 0) → 𝐹(Circuits‘𝐺)𝑃) |
35 | 1, 2, 34, 4 | crctcshlem1 26709 |
. . . . . 6
⊢ ((𝜑 ∧ 𝑆 ≠ 0) → 𝑁 ∈
ℕ0) |
36 | | 0elfz 12436 |
. . . . . 6
⊢ (𝑁 ∈ ℕ0
→ 0 ∈ (0...𝑁)) |
37 | 35, 36 | syl 17 |
. . . . 5
⊢ ((𝜑 ∧ 𝑆 ≠ 0) → 0 ∈ (0...𝑁)) |
38 | | fvexd 6203 |
. . . . 5
⊢ ((𝜑 ∧ 𝑆 ≠ 0) → (𝑃‘(0 + 𝑆)) ∈ V) |
39 | 15, 33, 37, 38 | fvmptd 6288 |
. . . 4
⊢ ((𝜑 ∧ 𝑆 ≠ 0) → (𝑄‘0) = (𝑃‘(0 + 𝑆))) |
40 | | breq1 4656 |
. . . . . . . 8
⊢ (𝑥 = (#‘𝐻) → (𝑥 ≤ (𝑁 − 𝑆) ↔ (#‘𝐻) ≤ (𝑁 − 𝑆))) |
41 | | oveq1 6657 |
. . . . . . . . 9
⊢ (𝑥 = (#‘𝐻) → (𝑥 + 𝑆) = ((#‘𝐻) + 𝑆)) |
42 | 41 | fveq2d 6195 |
. . . . . . . 8
⊢ (𝑥 = (#‘𝐻) → (𝑃‘(𝑥 + 𝑆)) = (𝑃‘((#‘𝐻) + 𝑆))) |
43 | 41 | oveq1d 6665 |
. . . . . . . . 9
⊢ (𝑥 = (#‘𝐻) → ((𝑥 + 𝑆) − 𝑁) = (((#‘𝐻) + 𝑆) − 𝑁)) |
44 | 43 | fveq2d 6195 |
. . . . . . . 8
⊢ (𝑥 = (#‘𝐻) → (𝑃‘((𝑥 + 𝑆) − 𝑁)) = (𝑃‘(((#‘𝐻) + 𝑆) − 𝑁))) |
45 | 40, 42, 44 | ifbieq12d 4113 |
. . . . . . 7
⊢ (𝑥 = (#‘𝐻) → if(𝑥 ≤ (𝑁 − 𝑆), (𝑃‘(𝑥 + 𝑆)), (𝑃‘((𝑥 + 𝑆) − 𝑁))) = if((#‘𝐻) ≤ (𝑁 − 𝑆), (𝑃‘((#‘𝐻) + 𝑆)), (𝑃‘(((#‘𝐻) + 𝑆) − 𝑁)))) |
46 | | elfzoel2 12469 |
. . . . . . . . . . . 12
⊢ (𝑆 ∈ (0..^𝑁) → 𝑁 ∈ ℤ) |
47 | | elfzonn0 12512 |
. . . . . . . . . . . 12
⊢ (𝑆 ∈ (0..^𝑁) → 𝑆 ∈
ℕ0) |
48 | | simpr 477 |
. . . . . . . . . . . . . . . . 17
⊢ ((𝑁 ∈ ℤ ∧ 𝑆 ∈ ℕ0)
→ 𝑆 ∈
ℕ0) |
49 | 48 | anim1i 592 |
. . . . . . . . . . . . . . . 16
⊢ (((𝑁 ∈ ℤ ∧ 𝑆 ∈ ℕ0)
∧ 𝑆 ≠ 0) →
(𝑆 ∈
ℕ0 ∧ 𝑆
≠ 0)) |
50 | | elnnne0 11306 |
. . . . . . . . . . . . . . . 16
⊢ (𝑆 ∈ ℕ ↔ (𝑆 ∈ ℕ0
∧ 𝑆 ≠
0)) |
51 | 49, 50 | sylibr 224 |
. . . . . . . . . . . . . . 15
⊢ (((𝑁 ∈ ℤ ∧ 𝑆 ∈ ℕ0)
∧ 𝑆 ≠ 0) →
𝑆 ∈
ℕ) |
52 | 51 | nngt0d 11064 |
. . . . . . . . . . . . . 14
⊢ (((𝑁 ∈ ℤ ∧ 𝑆 ∈ ℕ0)
∧ 𝑆 ≠ 0) → 0
< 𝑆) |
53 | | zre 11381 |
. . . . . . . . . . . . . . . . 17
⊢ (𝑁 ∈ ℤ → 𝑁 ∈
ℝ) |
54 | | nn0re 11301 |
. . . . . . . . . . . . . . . . 17
⊢ (𝑆 ∈ ℕ0
→ 𝑆 ∈
ℝ) |
55 | 53, 54 | anim12ci 591 |
. . . . . . . . . . . . . . . 16
⊢ ((𝑁 ∈ ℤ ∧ 𝑆 ∈ ℕ0)
→ (𝑆 ∈ ℝ
∧ 𝑁 ∈
ℝ)) |
56 | 55 | adantr 481 |
. . . . . . . . . . . . . . 15
⊢ (((𝑁 ∈ ℤ ∧ 𝑆 ∈ ℕ0)
∧ 𝑆 ≠ 0) →
(𝑆 ∈ ℝ ∧
𝑁 ∈
ℝ)) |
57 | | ltsubpos 10520 |
. . . . . . . . . . . . . . . 16
⊢ ((𝑆 ∈ ℝ ∧ 𝑁 ∈ ℝ) → (0 <
𝑆 ↔ (𝑁 − 𝑆) < 𝑁)) |
58 | 57 | bicomd 213 |
. . . . . . . . . . . . . . 15
⊢ ((𝑆 ∈ ℝ ∧ 𝑁 ∈ ℝ) → ((𝑁 − 𝑆) < 𝑁 ↔ 0 < 𝑆)) |
59 | 56, 58 | syl 17 |
. . . . . . . . . . . . . 14
⊢ (((𝑁 ∈ ℤ ∧ 𝑆 ∈ ℕ0)
∧ 𝑆 ≠ 0) →
((𝑁 − 𝑆) < 𝑁 ↔ 0 < 𝑆)) |
60 | 52, 59 | mpbird 247 |
. . . . . . . . . . . . 13
⊢ (((𝑁 ∈ ℤ ∧ 𝑆 ∈ ℕ0)
∧ 𝑆 ≠ 0) →
(𝑁 − 𝑆) < 𝑁) |
61 | 60 | ex 450 |
. . . . . . . . . . . 12
⊢ ((𝑁 ∈ ℤ ∧ 𝑆 ∈ ℕ0)
→ (𝑆 ≠ 0 →
(𝑁 − 𝑆) < 𝑁)) |
62 | 46, 47, 61 | syl2anc 693 |
. . . . . . . . . . 11
⊢ (𝑆 ∈ (0..^𝑁) → (𝑆 ≠ 0 → (𝑁 − 𝑆) < 𝑁)) |
63 | 5, 62 | syl 17 |
. . . . . . . . . 10
⊢ (𝜑 → (𝑆 ≠ 0 → (𝑁 − 𝑆) < 𝑁)) |
64 | 63 | imp 445 |
. . . . . . . . 9
⊢ ((𝜑 ∧ 𝑆 ≠ 0) → (𝑁 − 𝑆) < 𝑁) |
65 | 5 | adantr 481 |
. . . . . . . . . . . . 13
⊢ ((𝜑 ∧ 𝑆 ≠ 0) → 𝑆 ∈ (0..^𝑁)) |
66 | 1, 2, 34, 4, 65, 6 | crctcshlem2 26710 |
. . . . . . . . . . . 12
⊢ ((𝜑 ∧ 𝑆 ≠ 0) → (#‘𝐻) = 𝑁) |
67 | 66 | breq1d 4663 |
. . . . . . . . . . 11
⊢ ((𝜑 ∧ 𝑆 ≠ 0) → ((#‘𝐻) ≤ (𝑁 − 𝑆) ↔ 𝑁 ≤ (𝑁 − 𝑆))) |
68 | 67 | notbid 308 |
. . . . . . . . . 10
⊢ ((𝜑 ∧ 𝑆 ≠ 0) → (¬ (#‘𝐻) ≤ (𝑁 − 𝑆) ↔ ¬ 𝑁 ≤ (𝑁 − 𝑆))) |
69 | 25, 28 | resubcld 10458 |
. . . . . . . . . . . . 13
⊢ (𝜑 → (𝑁 − 𝑆) ∈ ℝ) |
70 | 69, 25 | jca 554 |
. . . . . . . . . . . 12
⊢ (𝜑 → ((𝑁 − 𝑆) ∈ ℝ ∧ 𝑁 ∈ ℝ)) |
71 | 70 | adantr 481 |
. . . . . . . . . . 11
⊢ ((𝜑 ∧ 𝑆 ≠ 0) → ((𝑁 − 𝑆) ∈ ℝ ∧ 𝑁 ∈ ℝ)) |
72 | | ltnle 10117 |
. . . . . . . . . . 11
⊢ (((𝑁 − 𝑆) ∈ ℝ ∧ 𝑁 ∈ ℝ) → ((𝑁 − 𝑆) < 𝑁 ↔ ¬ 𝑁 ≤ (𝑁 − 𝑆))) |
73 | 71, 72 | syl 17 |
. . . . . . . . . 10
⊢ ((𝜑 ∧ 𝑆 ≠ 0) → ((𝑁 − 𝑆) < 𝑁 ↔ ¬ 𝑁 ≤ (𝑁 − 𝑆))) |
74 | 68, 73 | bitr4d 271 |
. . . . . . . . 9
⊢ ((𝜑 ∧ 𝑆 ≠ 0) → (¬ (#‘𝐻) ≤ (𝑁 − 𝑆) ↔ (𝑁 − 𝑆) < 𝑁)) |
75 | 64, 74 | mpbird 247 |
. . . . . . . 8
⊢ ((𝜑 ∧ 𝑆 ≠ 0) → ¬ (#‘𝐻) ≤ (𝑁 − 𝑆)) |
76 | 75 | iffalsed 4097 |
. . . . . . 7
⊢ ((𝜑 ∧ 𝑆 ≠ 0) → if((#‘𝐻) ≤ (𝑁 − 𝑆), (𝑃‘((#‘𝐻) + 𝑆)), (𝑃‘(((#‘𝐻) + 𝑆) − 𝑁))) = (𝑃‘(((#‘𝐻) + 𝑆) − 𝑁))) |
77 | 45, 76 | sylan9eqr 2678 |
. . . . . 6
⊢ (((𝜑 ∧ 𝑆 ≠ 0) ∧ 𝑥 = (#‘𝐻)) → if(𝑥 ≤ (𝑁 − 𝑆), (𝑃‘(𝑥 + 𝑆)), (𝑃‘((𝑥 + 𝑆) − 𝑁))) = (𝑃‘(((#‘𝐻) + 𝑆) − 𝑁))) |
78 | 1, 2, 3, 4, 5, 6 | crctcshlem2 26710 |
. . . . . . . . . . . . 13
⊢ (𝜑 → (#‘𝐻) = 𝑁) |
79 | 78, 24 | eqeltrd 2701 |
. . . . . . . . . . . 12
⊢ (𝜑 → (#‘𝐻) ∈
ℕ0) |
80 | 79 | nn0cnd 11353 |
. . . . . . . . . . 11
⊢ (𝜑 → (#‘𝐻) ∈ ℂ) |
81 | 27 | zcnd 11483 |
. . . . . . . . . . 11
⊢ (𝜑 → 𝑆 ∈ ℂ) |
82 | 24 | nn0cnd 11353 |
. . . . . . . . . . 11
⊢ (𝜑 → 𝑁 ∈ ℂ) |
83 | 80, 81, 82 | addsubd 10413 |
. . . . . . . . . 10
⊢ (𝜑 → (((#‘𝐻) + 𝑆) − 𝑁) = (((#‘𝐻) − 𝑁) + 𝑆)) |
84 | 78 | oveq1d 6665 |
. . . . . . . . . . . 12
⊢ (𝜑 → ((#‘𝐻) − 𝑁) = (𝑁 − 𝑁)) |
85 | 82 | subidd 10380 |
. . . . . . . . . . . 12
⊢ (𝜑 → (𝑁 − 𝑁) = 0) |
86 | 84, 85 | eqtrd 2656 |
. . . . . . . . . . 11
⊢ (𝜑 → ((#‘𝐻) − 𝑁) = 0) |
87 | 86 | oveq1d 6665 |
. . . . . . . . . 10
⊢ (𝜑 → (((#‘𝐻) − 𝑁) + 𝑆) = (0 + 𝑆)) |
88 | 83, 87 | eqtrd 2656 |
. . . . . . . . 9
⊢ (𝜑 → (((#‘𝐻) + 𝑆) − 𝑁) = (0 + 𝑆)) |
89 | 88 | fveq2d 6195 |
. . . . . . . 8
⊢ (𝜑 → (𝑃‘(((#‘𝐻) + 𝑆) − 𝑁)) = (𝑃‘(0 + 𝑆))) |
90 | 89 | adantr 481 |
. . . . . . 7
⊢ ((𝜑 ∧ 𝑆 ≠ 0) → (𝑃‘(((#‘𝐻) + 𝑆) − 𝑁)) = (𝑃‘(0 + 𝑆))) |
91 | 90 | adantr 481 |
. . . . . 6
⊢ (((𝜑 ∧ 𝑆 ≠ 0) ∧ 𝑥 = (#‘𝐻)) → (𝑃‘(((#‘𝐻) + 𝑆) − 𝑁)) = (𝑃‘(0 + 𝑆))) |
92 | 77, 91 | eqtrd 2656 |
. . . . 5
⊢ (((𝜑 ∧ 𝑆 ≠ 0) ∧ 𝑥 = (#‘𝐻)) → if(𝑥 ≤ (𝑁 − 𝑆), (𝑃‘(𝑥 + 𝑆)), (𝑃‘((𝑥 + 𝑆) − 𝑁))) = (𝑃‘(0 + 𝑆))) |
93 | 78 | adantr 481 |
. . . . . 6
⊢ ((𝜑 ∧ 𝑆 ≠ 0) → (#‘𝐻) = 𝑁) |
94 | | nn0fz0 12437 |
. . . . . . . 8
⊢ (𝑁 ∈ ℕ0
↔ 𝑁 ∈ (0...𝑁)) |
95 | 24, 94 | sylib 208 |
. . . . . . 7
⊢ (𝜑 → 𝑁 ∈ (0...𝑁)) |
96 | 95 | adantr 481 |
. . . . . 6
⊢ ((𝜑 ∧ 𝑆 ≠ 0) → 𝑁 ∈ (0...𝑁)) |
97 | 93, 96 | eqeltrd 2701 |
. . . . 5
⊢ ((𝜑 ∧ 𝑆 ≠ 0) → (#‘𝐻) ∈ (0...𝑁)) |
98 | 15, 92, 97, 38 | fvmptd 6288 |
. . . 4
⊢ ((𝜑 ∧ 𝑆 ≠ 0) → (𝑄‘(#‘𝐻)) = (𝑃‘(0 + 𝑆))) |
99 | 39, 98 | eqtr4d 2659 |
. . 3
⊢ ((𝜑 ∧ 𝑆 ≠ 0) → (𝑄‘0) = (𝑄‘(#‘𝐻))) |
100 | | iscrct 26685 |
. . 3
⊢ (𝐻(Circuits‘𝐺)𝑄 ↔ (𝐻(Trails‘𝐺)𝑄 ∧ (𝑄‘0) = (𝑄‘(#‘𝐻)))) |
101 | 14, 99, 100 | sylanbrc 698 |
. 2
⊢ ((𝜑 ∧ 𝑆 ≠ 0) → 𝐻(Circuits‘𝐺)𝑄) |
102 | 12, 101 | pm2.61dane 2881 |
1
⊢ (𝜑 → 𝐻(Circuits‘𝐺)𝑄) |