Step |
Hyp |
Ref |
Expression |
1 |
|
crctcsh.v |
⊢ 𝑉 = ( Vtx ‘ 𝐺 ) |
2 |
|
crctcsh.i |
⊢ 𝐼 = ( iEdg ‘ 𝐺 ) |
3 |
|
crctcsh.d |
⊢ ( 𝜑 → 𝐹 ( Circuits ‘ 𝐺 ) 𝑃 ) |
4 |
|
crctcsh.n |
⊢ 𝑁 = ( ♯ ‘ 𝐹 ) |
5 |
|
crctcsh.s |
⊢ ( 𝜑 → 𝑆 ∈ ( 0 ..^ 𝑁 ) ) |
6 |
|
crctcsh.h |
⊢ 𝐻 = ( 𝐹 cyclShift 𝑆 ) |
7 |
|
crctcsh.q |
⊢ 𝑄 = ( 𝑥 ∈ ( 0 ... 𝑁 ) ↦ if ( 𝑥 ≤ ( 𝑁 − 𝑆 ) , ( 𝑃 ‘ ( 𝑥 + 𝑆 ) ) , ( 𝑃 ‘ ( ( 𝑥 + 𝑆 ) − 𝑁 ) ) ) ) |
8 |
1 2 3 4 5 6 7
|
crctcshlem4 |
⊢ ( ( 𝜑 ∧ 𝑆 = 0 ) → ( 𝐻 = 𝐹 ∧ 𝑄 = 𝑃 ) ) |
9 |
|
breq12 |
⊢ ( ( 𝐻 = 𝐹 ∧ 𝑄 = 𝑃 ) → ( 𝐻 ( Circuits ‘ 𝐺 ) 𝑄 ↔ 𝐹 ( Circuits ‘ 𝐺 ) 𝑃 ) ) |
10 |
3 9
|
syl5ibrcom |
⊢ ( 𝜑 → ( ( 𝐻 = 𝐹 ∧ 𝑄 = 𝑃 ) → 𝐻 ( Circuits ‘ 𝐺 ) 𝑄 ) ) |
11 |
10
|
adantr |
⊢ ( ( 𝜑 ∧ 𝑆 = 0 ) → ( ( 𝐻 = 𝐹 ∧ 𝑄 = 𝑃 ) → 𝐻 ( Circuits ‘ 𝐺 ) 𝑄 ) ) |
12 |
8 11
|
mpd |
⊢ ( ( 𝜑 ∧ 𝑆 = 0 ) → 𝐻 ( Circuits ‘ 𝐺 ) 𝑄 ) |
13 |
1 2 3 4 5 6 7
|
crctcshtrl |
⊢ ( 𝜑 → 𝐻 ( Trails ‘ 𝐺 ) 𝑄 ) |
14 |
13
|
adantr |
⊢ ( ( 𝜑 ∧ 𝑆 ≠ 0 ) → 𝐻 ( Trails ‘ 𝐺 ) 𝑄 ) |
15 |
|
breq1 |
⊢ ( 𝑥 = 0 → ( 𝑥 ≤ ( 𝑁 − 𝑆 ) ↔ 0 ≤ ( 𝑁 − 𝑆 ) ) ) |
16 |
|
oveq1 |
⊢ ( 𝑥 = 0 → ( 𝑥 + 𝑆 ) = ( 0 + 𝑆 ) ) |
17 |
16
|
fveq2d |
⊢ ( 𝑥 = 0 → ( 𝑃 ‘ ( 𝑥 + 𝑆 ) ) = ( 𝑃 ‘ ( 0 + 𝑆 ) ) ) |
18 |
16
|
fvoveq1d |
⊢ ( 𝑥 = 0 → ( 𝑃 ‘ ( ( 𝑥 + 𝑆 ) − 𝑁 ) ) = ( 𝑃 ‘ ( ( 0 + 𝑆 ) − 𝑁 ) ) ) |
19 |
15 17 18
|
ifbieq12d |
⊢ ( 𝑥 = 0 → if ( 𝑥 ≤ ( 𝑁 − 𝑆 ) , ( 𝑃 ‘ ( 𝑥 + 𝑆 ) ) , ( 𝑃 ‘ ( ( 𝑥 + 𝑆 ) − 𝑁 ) ) ) = if ( 0 ≤ ( 𝑁 − 𝑆 ) , ( 𝑃 ‘ ( 0 + 𝑆 ) ) , ( 𝑃 ‘ ( ( 0 + 𝑆 ) − 𝑁 ) ) ) ) |
20 |
|
elfzo0le |
⊢ ( 𝑆 ∈ ( 0 ..^ 𝑁 ) → 𝑆 ≤ 𝑁 ) |
21 |
5 20
|
syl |
⊢ ( 𝜑 → 𝑆 ≤ 𝑁 ) |
22 |
1 2 3 4
|
crctcshlem1 |
⊢ ( 𝜑 → 𝑁 ∈ ℕ0 ) |
23 |
22
|
nn0red |
⊢ ( 𝜑 → 𝑁 ∈ ℝ ) |
24 |
|
elfzoelz |
⊢ ( 𝑆 ∈ ( 0 ..^ 𝑁 ) → 𝑆 ∈ ℤ ) |
25 |
5 24
|
syl |
⊢ ( 𝜑 → 𝑆 ∈ ℤ ) |
26 |
25
|
zred |
⊢ ( 𝜑 → 𝑆 ∈ ℝ ) |
27 |
23 26
|
subge0d |
⊢ ( 𝜑 → ( 0 ≤ ( 𝑁 − 𝑆 ) ↔ 𝑆 ≤ 𝑁 ) ) |
28 |
21 27
|
mpbird |
⊢ ( 𝜑 → 0 ≤ ( 𝑁 − 𝑆 ) ) |
29 |
28
|
adantr |
⊢ ( ( 𝜑 ∧ 𝑆 ≠ 0 ) → 0 ≤ ( 𝑁 − 𝑆 ) ) |
30 |
29
|
iftrued |
⊢ ( ( 𝜑 ∧ 𝑆 ≠ 0 ) → if ( 0 ≤ ( 𝑁 − 𝑆 ) , ( 𝑃 ‘ ( 0 + 𝑆 ) ) , ( 𝑃 ‘ ( ( 0 + 𝑆 ) − 𝑁 ) ) ) = ( 𝑃 ‘ ( 0 + 𝑆 ) ) ) |
31 |
19 30
|
sylan9eqr |
⊢ ( ( ( 𝜑 ∧ 𝑆 ≠ 0 ) ∧ 𝑥 = 0 ) → if ( 𝑥 ≤ ( 𝑁 − 𝑆 ) , ( 𝑃 ‘ ( 𝑥 + 𝑆 ) ) , ( 𝑃 ‘ ( ( 𝑥 + 𝑆 ) − 𝑁 ) ) ) = ( 𝑃 ‘ ( 0 + 𝑆 ) ) ) |
32 |
3
|
adantr |
⊢ ( ( 𝜑 ∧ 𝑆 ≠ 0 ) → 𝐹 ( Circuits ‘ 𝐺 ) 𝑃 ) |
33 |
1 2 32 4
|
crctcshlem1 |
⊢ ( ( 𝜑 ∧ 𝑆 ≠ 0 ) → 𝑁 ∈ ℕ0 ) |
34 |
|
0elfz |
⊢ ( 𝑁 ∈ ℕ0 → 0 ∈ ( 0 ... 𝑁 ) ) |
35 |
33 34
|
syl |
⊢ ( ( 𝜑 ∧ 𝑆 ≠ 0 ) → 0 ∈ ( 0 ... 𝑁 ) ) |
36 |
|
fvexd |
⊢ ( ( 𝜑 ∧ 𝑆 ≠ 0 ) → ( 𝑃 ‘ ( 0 + 𝑆 ) ) ∈ V ) |
37 |
7 31 35 36
|
fvmptd2 |
⊢ ( ( 𝜑 ∧ 𝑆 ≠ 0 ) → ( 𝑄 ‘ 0 ) = ( 𝑃 ‘ ( 0 + 𝑆 ) ) ) |
38 |
|
breq1 |
⊢ ( 𝑥 = ( ♯ ‘ 𝐻 ) → ( 𝑥 ≤ ( 𝑁 − 𝑆 ) ↔ ( ♯ ‘ 𝐻 ) ≤ ( 𝑁 − 𝑆 ) ) ) |
39 |
|
oveq1 |
⊢ ( 𝑥 = ( ♯ ‘ 𝐻 ) → ( 𝑥 + 𝑆 ) = ( ( ♯ ‘ 𝐻 ) + 𝑆 ) ) |
40 |
39
|
fveq2d |
⊢ ( 𝑥 = ( ♯ ‘ 𝐻 ) → ( 𝑃 ‘ ( 𝑥 + 𝑆 ) ) = ( 𝑃 ‘ ( ( ♯ ‘ 𝐻 ) + 𝑆 ) ) ) |
41 |
39
|
fvoveq1d |
⊢ ( 𝑥 = ( ♯ ‘ 𝐻 ) → ( 𝑃 ‘ ( ( 𝑥 + 𝑆 ) − 𝑁 ) ) = ( 𝑃 ‘ ( ( ( ♯ ‘ 𝐻 ) + 𝑆 ) − 𝑁 ) ) ) |
42 |
38 40 41
|
ifbieq12d |
⊢ ( 𝑥 = ( ♯ ‘ 𝐻 ) → if ( 𝑥 ≤ ( 𝑁 − 𝑆 ) , ( 𝑃 ‘ ( 𝑥 + 𝑆 ) ) , ( 𝑃 ‘ ( ( 𝑥 + 𝑆 ) − 𝑁 ) ) ) = if ( ( ♯ ‘ 𝐻 ) ≤ ( 𝑁 − 𝑆 ) , ( 𝑃 ‘ ( ( ♯ ‘ 𝐻 ) + 𝑆 ) ) , ( 𝑃 ‘ ( ( ( ♯ ‘ 𝐻 ) + 𝑆 ) − 𝑁 ) ) ) ) |
43 |
|
elfzoel2 |
⊢ ( 𝑆 ∈ ( 0 ..^ 𝑁 ) → 𝑁 ∈ ℤ ) |
44 |
|
elfzonn0 |
⊢ ( 𝑆 ∈ ( 0 ..^ 𝑁 ) → 𝑆 ∈ ℕ0 ) |
45 |
|
simpr |
⊢ ( ( 𝑁 ∈ ℤ ∧ 𝑆 ∈ ℕ0 ) → 𝑆 ∈ ℕ0 ) |
46 |
45
|
anim1i |
⊢ ( ( ( 𝑁 ∈ ℤ ∧ 𝑆 ∈ ℕ0 ) ∧ 𝑆 ≠ 0 ) → ( 𝑆 ∈ ℕ0 ∧ 𝑆 ≠ 0 ) ) |
47 |
|
elnnne0 |
⊢ ( 𝑆 ∈ ℕ ↔ ( 𝑆 ∈ ℕ0 ∧ 𝑆 ≠ 0 ) ) |
48 |
46 47
|
sylibr |
⊢ ( ( ( 𝑁 ∈ ℤ ∧ 𝑆 ∈ ℕ0 ) ∧ 𝑆 ≠ 0 ) → 𝑆 ∈ ℕ ) |
49 |
48
|
nngt0d |
⊢ ( ( ( 𝑁 ∈ ℤ ∧ 𝑆 ∈ ℕ0 ) ∧ 𝑆 ≠ 0 ) → 0 < 𝑆 ) |
50 |
|
zre |
⊢ ( 𝑁 ∈ ℤ → 𝑁 ∈ ℝ ) |
51 |
|
nn0re |
⊢ ( 𝑆 ∈ ℕ0 → 𝑆 ∈ ℝ ) |
52 |
50 51
|
anim12ci |
⊢ ( ( 𝑁 ∈ ℤ ∧ 𝑆 ∈ ℕ0 ) → ( 𝑆 ∈ ℝ ∧ 𝑁 ∈ ℝ ) ) |
53 |
52
|
adantr |
⊢ ( ( ( 𝑁 ∈ ℤ ∧ 𝑆 ∈ ℕ0 ) ∧ 𝑆 ≠ 0 ) → ( 𝑆 ∈ ℝ ∧ 𝑁 ∈ ℝ ) ) |
54 |
|
ltsubpos |
⊢ ( ( 𝑆 ∈ ℝ ∧ 𝑁 ∈ ℝ ) → ( 0 < 𝑆 ↔ ( 𝑁 − 𝑆 ) < 𝑁 ) ) |
55 |
54
|
bicomd |
⊢ ( ( 𝑆 ∈ ℝ ∧ 𝑁 ∈ ℝ ) → ( ( 𝑁 − 𝑆 ) < 𝑁 ↔ 0 < 𝑆 ) ) |
56 |
53 55
|
syl |
⊢ ( ( ( 𝑁 ∈ ℤ ∧ 𝑆 ∈ ℕ0 ) ∧ 𝑆 ≠ 0 ) → ( ( 𝑁 − 𝑆 ) < 𝑁 ↔ 0 < 𝑆 ) ) |
57 |
49 56
|
mpbird |
⊢ ( ( ( 𝑁 ∈ ℤ ∧ 𝑆 ∈ ℕ0 ) ∧ 𝑆 ≠ 0 ) → ( 𝑁 − 𝑆 ) < 𝑁 ) |
58 |
57
|
ex |
⊢ ( ( 𝑁 ∈ ℤ ∧ 𝑆 ∈ ℕ0 ) → ( 𝑆 ≠ 0 → ( 𝑁 − 𝑆 ) < 𝑁 ) ) |
59 |
43 44 58
|
syl2anc |
⊢ ( 𝑆 ∈ ( 0 ..^ 𝑁 ) → ( 𝑆 ≠ 0 → ( 𝑁 − 𝑆 ) < 𝑁 ) ) |
60 |
5 59
|
syl |
⊢ ( 𝜑 → ( 𝑆 ≠ 0 → ( 𝑁 − 𝑆 ) < 𝑁 ) ) |
61 |
60
|
imp |
⊢ ( ( 𝜑 ∧ 𝑆 ≠ 0 ) → ( 𝑁 − 𝑆 ) < 𝑁 ) |
62 |
5
|
adantr |
⊢ ( ( 𝜑 ∧ 𝑆 ≠ 0 ) → 𝑆 ∈ ( 0 ..^ 𝑁 ) ) |
63 |
1 2 32 4 62 6
|
crctcshlem2 |
⊢ ( ( 𝜑 ∧ 𝑆 ≠ 0 ) → ( ♯ ‘ 𝐻 ) = 𝑁 ) |
64 |
63
|
breq1d |
⊢ ( ( 𝜑 ∧ 𝑆 ≠ 0 ) → ( ( ♯ ‘ 𝐻 ) ≤ ( 𝑁 − 𝑆 ) ↔ 𝑁 ≤ ( 𝑁 − 𝑆 ) ) ) |
65 |
64
|
notbid |
⊢ ( ( 𝜑 ∧ 𝑆 ≠ 0 ) → ( ¬ ( ♯ ‘ 𝐻 ) ≤ ( 𝑁 − 𝑆 ) ↔ ¬ 𝑁 ≤ ( 𝑁 − 𝑆 ) ) ) |
66 |
23 26
|
resubcld |
⊢ ( 𝜑 → ( 𝑁 − 𝑆 ) ∈ ℝ ) |
67 |
66 23
|
jca |
⊢ ( 𝜑 → ( ( 𝑁 − 𝑆 ) ∈ ℝ ∧ 𝑁 ∈ ℝ ) ) |
68 |
67
|
adantr |
⊢ ( ( 𝜑 ∧ 𝑆 ≠ 0 ) → ( ( 𝑁 − 𝑆 ) ∈ ℝ ∧ 𝑁 ∈ ℝ ) ) |
69 |
|
ltnle |
⊢ ( ( ( 𝑁 − 𝑆 ) ∈ ℝ ∧ 𝑁 ∈ ℝ ) → ( ( 𝑁 − 𝑆 ) < 𝑁 ↔ ¬ 𝑁 ≤ ( 𝑁 − 𝑆 ) ) ) |
70 |
68 69
|
syl |
⊢ ( ( 𝜑 ∧ 𝑆 ≠ 0 ) → ( ( 𝑁 − 𝑆 ) < 𝑁 ↔ ¬ 𝑁 ≤ ( 𝑁 − 𝑆 ) ) ) |
71 |
65 70
|
bitr4d |
⊢ ( ( 𝜑 ∧ 𝑆 ≠ 0 ) → ( ¬ ( ♯ ‘ 𝐻 ) ≤ ( 𝑁 − 𝑆 ) ↔ ( 𝑁 − 𝑆 ) < 𝑁 ) ) |
72 |
61 71
|
mpbird |
⊢ ( ( 𝜑 ∧ 𝑆 ≠ 0 ) → ¬ ( ♯ ‘ 𝐻 ) ≤ ( 𝑁 − 𝑆 ) ) |
73 |
72
|
iffalsed |
⊢ ( ( 𝜑 ∧ 𝑆 ≠ 0 ) → if ( ( ♯ ‘ 𝐻 ) ≤ ( 𝑁 − 𝑆 ) , ( 𝑃 ‘ ( ( ♯ ‘ 𝐻 ) + 𝑆 ) ) , ( 𝑃 ‘ ( ( ( ♯ ‘ 𝐻 ) + 𝑆 ) − 𝑁 ) ) ) = ( 𝑃 ‘ ( ( ( ♯ ‘ 𝐻 ) + 𝑆 ) − 𝑁 ) ) ) |
74 |
42 73
|
sylan9eqr |
⊢ ( ( ( 𝜑 ∧ 𝑆 ≠ 0 ) ∧ 𝑥 = ( ♯ ‘ 𝐻 ) ) → if ( 𝑥 ≤ ( 𝑁 − 𝑆 ) , ( 𝑃 ‘ ( 𝑥 + 𝑆 ) ) , ( 𝑃 ‘ ( ( 𝑥 + 𝑆 ) − 𝑁 ) ) ) = ( 𝑃 ‘ ( ( ( ♯ ‘ 𝐻 ) + 𝑆 ) − 𝑁 ) ) ) |
75 |
1 2 3 4 5 6
|
crctcshlem2 |
⊢ ( 𝜑 → ( ♯ ‘ 𝐻 ) = 𝑁 ) |
76 |
75 22
|
eqeltrd |
⊢ ( 𝜑 → ( ♯ ‘ 𝐻 ) ∈ ℕ0 ) |
77 |
76
|
nn0cnd |
⊢ ( 𝜑 → ( ♯ ‘ 𝐻 ) ∈ ℂ ) |
78 |
25
|
zcnd |
⊢ ( 𝜑 → 𝑆 ∈ ℂ ) |
79 |
22
|
nn0cnd |
⊢ ( 𝜑 → 𝑁 ∈ ℂ ) |
80 |
77 78 79
|
addsubd |
⊢ ( 𝜑 → ( ( ( ♯ ‘ 𝐻 ) + 𝑆 ) − 𝑁 ) = ( ( ( ♯ ‘ 𝐻 ) − 𝑁 ) + 𝑆 ) ) |
81 |
75
|
oveq1d |
⊢ ( 𝜑 → ( ( ♯ ‘ 𝐻 ) − 𝑁 ) = ( 𝑁 − 𝑁 ) ) |
82 |
79
|
subidd |
⊢ ( 𝜑 → ( 𝑁 − 𝑁 ) = 0 ) |
83 |
81 82
|
eqtrd |
⊢ ( 𝜑 → ( ( ♯ ‘ 𝐻 ) − 𝑁 ) = 0 ) |
84 |
83
|
oveq1d |
⊢ ( 𝜑 → ( ( ( ♯ ‘ 𝐻 ) − 𝑁 ) + 𝑆 ) = ( 0 + 𝑆 ) ) |
85 |
80 84
|
eqtrd |
⊢ ( 𝜑 → ( ( ( ♯ ‘ 𝐻 ) + 𝑆 ) − 𝑁 ) = ( 0 + 𝑆 ) ) |
86 |
85
|
fveq2d |
⊢ ( 𝜑 → ( 𝑃 ‘ ( ( ( ♯ ‘ 𝐻 ) + 𝑆 ) − 𝑁 ) ) = ( 𝑃 ‘ ( 0 + 𝑆 ) ) ) |
87 |
86
|
adantr |
⊢ ( ( 𝜑 ∧ 𝑆 ≠ 0 ) → ( 𝑃 ‘ ( ( ( ♯ ‘ 𝐻 ) + 𝑆 ) − 𝑁 ) ) = ( 𝑃 ‘ ( 0 + 𝑆 ) ) ) |
88 |
87
|
adantr |
⊢ ( ( ( 𝜑 ∧ 𝑆 ≠ 0 ) ∧ 𝑥 = ( ♯ ‘ 𝐻 ) ) → ( 𝑃 ‘ ( ( ( ♯ ‘ 𝐻 ) + 𝑆 ) − 𝑁 ) ) = ( 𝑃 ‘ ( 0 + 𝑆 ) ) ) |
89 |
74 88
|
eqtrd |
⊢ ( ( ( 𝜑 ∧ 𝑆 ≠ 0 ) ∧ 𝑥 = ( ♯ ‘ 𝐻 ) ) → if ( 𝑥 ≤ ( 𝑁 − 𝑆 ) , ( 𝑃 ‘ ( 𝑥 + 𝑆 ) ) , ( 𝑃 ‘ ( ( 𝑥 + 𝑆 ) − 𝑁 ) ) ) = ( 𝑃 ‘ ( 0 + 𝑆 ) ) ) |
90 |
75
|
adantr |
⊢ ( ( 𝜑 ∧ 𝑆 ≠ 0 ) → ( ♯ ‘ 𝐻 ) = 𝑁 ) |
91 |
|
nn0fz0 |
⊢ ( 𝑁 ∈ ℕ0 ↔ 𝑁 ∈ ( 0 ... 𝑁 ) ) |
92 |
22 91
|
sylib |
⊢ ( 𝜑 → 𝑁 ∈ ( 0 ... 𝑁 ) ) |
93 |
92
|
adantr |
⊢ ( ( 𝜑 ∧ 𝑆 ≠ 0 ) → 𝑁 ∈ ( 0 ... 𝑁 ) ) |
94 |
90 93
|
eqeltrd |
⊢ ( ( 𝜑 ∧ 𝑆 ≠ 0 ) → ( ♯ ‘ 𝐻 ) ∈ ( 0 ... 𝑁 ) ) |
95 |
7 89 94 36
|
fvmptd2 |
⊢ ( ( 𝜑 ∧ 𝑆 ≠ 0 ) → ( 𝑄 ‘ ( ♯ ‘ 𝐻 ) ) = ( 𝑃 ‘ ( 0 + 𝑆 ) ) ) |
96 |
37 95
|
eqtr4d |
⊢ ( ( 𝜑 ∧ 𝑆 ≠ 0 ) → ( 𝑄 ‘ 0 ) = ( 𝑄 ‘ ( ♯ ‘ 𝐻 ) ) ) |
97 |
|
iscrct |
⊢ ( 𝐻 ( Circuits ‘ 𝐺 ) 𝑄 ↔ ( 𝐻 ( Trails ‘ 𝐺 ) 𝑄 ∧ ( 𝑄 ‘ 0 ) = ( 𝑄 ‘ ( ♯ ‘ 𝐻 ) ) ) ) |
98 |
14 96 97
|
sylanbrc |
⊢ ( ( 𝜑 ∧ 𝑆 ≠ 0 ) → 𝐻 ( Circuits ‘ 𝐺 ) 𝑄 ) |
99 |
12 98
|
pm2.61dane |
⊢ ( 𝜑 → 𝐻 ( Circuits ‘ 𝐺 ) 𝑄 ) |