Step |
Hyp |
Ref |
Expression |
1 |
|
eucrct2eupth1.v |
⊢ 𝑉 = ( Vtx ‘ 𝐺 ) |
2 |
|
eucrct2eupth1.i |
⊢ 𝐼 = ( iEdg ‘ 𝐺 ) |
3 |
|
eucrct2eupth1.d |
⊢ ( 𝜑 → 𝐹 ( EulerPaths ‘ 𝐺 ) 𝑃 ) |
4 |
|
eucrct2eupth1.c |
⊢ ( 𝜑 → 𝐹 ( Circuits ‘ 𝐺 ) 𝑃 ) |
5 |
|
eucrct2eupth1.s |
⊢ ( Vtx ‘ 𝑆 ) = 𝑉 |
6 |
|
eucrct2eupth.n |
⊢ ( 𝜑 → 𝑁 = ( ♯ ‘ 𝐹 ) ) |
7 |
|
eucrct2eupth.j |
⊢ ( 𝜑 → 𝐽 ∈ ( 0 ..^ 𝑁 ) ) |
8 |
|
eucrct2eupth.e |
⊢ ( 𝜑 → ( iEdg ‘ 𝑆 ) = ( 𝐼 ↾ ( 𝐹 “ ( ( 0 ..^ 𝑁 ) ∖ { 𝐽 } ) ) ) ) |
9 |
|
eucrct2eupth.k |
⊢ 𝐾 = ( 𝐽 + 1 ) |
10 |
|
eucrct2eupth.h |
⊢ 𝐻 = ( ( 𝐹 cyclShift 𝐾 ) prefix ( 𝑁 − 1 ) ) |
11 |
|
eucrct2eupth.q |
⊢ 𝑄 = ( 𝑥 ∈ ( 0 ..^ 𝑁 ) ↦ if ( 𝑥 ≤ ( 𝑁 − 𝐾 ) , ( 𝑃 ‘ ( 𝑥 + 𝐾 ) ) , ( 𝑃 ‘ ( ( 𝑥 + 𝐾 ) − 𝑁 ) ) ) ) |
12 |
3
|
adantl |
⊢ ( ( 𝐽 = ( 𝑁 − 1 ) ∧ 𝜑 ) → 𝐹 ( EulerPaths ‘ 𝐺 ) 𝑃 ) |
13 |
9
|
eqcomi |
⊢ ( 𝐽 + 1 ) = 𝐾 |
14 |
13
|
oveq2i |
⊢ ( 𝐹 cyclShift ( 𝐽 + 1 ) ) = ( 𝐹 cyclShift 𝐾 ) |
15 |
|
oveq1 |
⊢ ( 𝐽 = ( 𝑁 − 1 ) → ( 𝐽 + 1 ) = ( ( 𝑁 − 1 ) + 1 ) ) |
16 |
|
elfzo0 |
⊢ ( 𝐽 ∈ ( 0 ..^ 𝑁 ) ↔ ( 𝐽 ∈ ℕ0 ∧ 𝑁 ∈ ℕ ∧ 𝐽 < 𝑁 ) ) |
17 |
|
nncn |
⊢ ( 𝑁 ∈ ℕ → 𝑁 ∈ ℂ ) |
18 |
17
|
3ad2ant2 |
⊢ ( ( 𝐽 ∈ ℕ0 ∧ 𝑁 ∈ ℕ ∧ 𝐽 < 𝑁 ) → 𝑁 ∈ ℂ ) |
19 |
16 18
|
sylbi |
⊢ ( 𝐽 ∈ ( 0 ..^ 𝑁 ) → 𝑁 ∈ ℂ ) |
20 |
|
npcan1 |
⊢ ( 𝑁 ∈ ℂ → ( ( 𝑁 − 1 ) + 1 ) = 𝑁 ) |
21 |
7 19 20
|
3syl |
⊢ ( 𝜑 → ( ( 𝑁 − 1 ) + 1 ) = 𝑁 ) |
22 |
15 21
|
sylan9eq |
⊢ ( ( 𝐽 = ( 𝑁 − 1 ) ∧ 𝜑 ) → ( 𝐽 + 1 ) = 𝑁 ) |
23 |
22
|
oveq2d |
⊢ ( ( 𝐽 = ( 𝑁 − 1 ) ∧ 𝜑 ) → ( 𝐹 cyclShift ( 𝐽 + 1 ) ) = ( 𝐹 cyclShift 𝑁 ) ) |
24 |
6
|
oveq2d |
⊢ ( 𝜑 → ( 𝐹 cyclShift 𝑁 ) = ( 𝐹 cyclShift ( ♯ ‘ 𝐹 ) ) ) |
25 |
|
crctiswlk |
⊢ ( 𝐹 ( Circuits ‘ 𝐺 ) 𝑃 → 𝐹 ( Walks ‘ 𝐺 ) 𝑃 ) |
26 |
2
|
wlkf |
⊢ ( 𝐹 ( Walks ‘ 𝐺 ) 𝑃 → 𝐹 ∈ Word dom 𝐼 ) |
27 |
25 26
|
syl |
⊢ ( 𝐹 ( Circuits ‘ 𝐺 ) 𝑃 → 𝐹 ∈ Word dom 𝐼 ) |
28 |
4 27
|
syl |
⊢ ( 𝜑 → 𝐹 ∈ Word dom 𝐼 ) |
29 |
|
cshwn |
⊢ ( 𝐹 ∈ Word dom 𝐼 → ( 𝐹 cyclShift ( ♯ ‘ 𝐹 ) ) = 𝐹 ) |
30 |
28 29
|
syl |
⊢ ( 𝜑 → ( 𝐹 cyclShift ( ♯ ‘ 𝐹 ) ) = 𝐹 ) |
31 |
24 30
|
eqtrd |
⊢ ( 𝜑 → ( 𝐹 cyclShift 𝑁 ) = 𝐹 ) |
32 |
31
|
adantl |
⊢ ( ( 𝐽 = ( 𝑁 − 1 ) ∧ 𝜑 ) → ( 𝐹 cyclShift 𝑁 ) = 𝐹 ) |
33 |
23 32
|
eqtrd |
⊢ ( ( 𝐽 = ( 𝑁 − 1 ) ∧ 𝜑 ) → ( 𝐹 cyclShift ( 𝐽 + 1 ) ) = 𝐹 ) |
34 |
14 33
|
eqtr3id |
⊢ ( ( 𝐽 = ( 𝑁 − 1 ) ∧ 𝜑 ) → ( 𝐹 cyclShift 𝐾 ) = 𝐹 ) |
35 |
|
eqid |
⊢ ( ♯ ‘ 𝐹 ) = ( ♯ ‘ 𝐹 ) |
36 |
1 2 4 35
|
crctcshlem1 |
⊢ ( 𝜑 → ( ♯ ‘ 𝐹 ) ∈ ℕ0 ) |
37 |
|
fz0sn0fz1 |
⊢ ( ( ♯ ‘ 𝐹 ) ∈ ℕ0 → ( 0 ... ( ♯ ‘ 𝐹 ) ) = ( { 0 } ∪ ( 1 ... ( ♯ ‘ 𝐹 ) ) ) ) |
38 |
36 37
|
syl |
⊢ ( 𝜑 → ( 0 ... ( ♯ ‘ 𝐹 ) ) = ( { 0 } ∪ ( 1 ... ( ♯ ‘ 𝐹 ) ) ) ) |
39 |
38
|
eleq2d |
⊢ ( 𝜑 → ( 𝑥 ∈ ( 0 ... ( ♯ ‘ 𝐹 ) ) ↔ 𝑥 ∈ ( { 0 } ∪ ( 1 ... ( ♯ ‘ 𝐹 ) ) ) ) ) |
40 |
|
elun |
⊢ ( 𝑥 ∈ ( { 0 } ∪ ( 1 ... ( ♯ ‘ 𝐹 ) ) ) ↔ ( 𝑥 ∈ { 0 } ∨ 𝑥 ∈ ( 1 ... ( ♯ ‘ 𝐹 ) ) ) ) |
41 |
39 40
|
bitrdi |
⊢ ( 𝜑 → ( 𝑥 ∈ ( 0 ... ( ♯ ‘ 𝐹 ) ) ↔ ( 𝑥 ∈ { 0 } ∨ 𝑥 ∈ ( 1 ... ( ♯ ‘ 𝐹 ) ) ) ) ) |
42 |
|
elsni |
⊢ ( 𝑥 ∈ { 0 } → 𝑥 = 0 ) |
43 |
|
0le0 |
⊢ 0 ≤ 0 |
44 |
42 43
|
eqbrtrdi |
⊢ ( 𝑥 ∈ { 0 } → 𝑥 ≤ 0 ) |
45 |
44
|
adantl |
⊢ ( ( 𝜑 ∧ 𝑥 ∈ { 0 } ) → 𝑥 ≤ 0 ) |
46 |
45
|
iftrued |
⊢ ( ( 𝜑 ∧ 𝑥 ∈ { 0 } ) → if ( 𝑥 ≤ 0 , ( 𝑃 ‘ ( 𝑥 + 𝑁 ) ) , ( 𝑃 ‘ ( ( 𝑥 + 𝑁 ) − 𝑁 ) ) ) = ( 𝑃 ‘ ( 𝑥 + 𝑁 ) ) ) |
47 |
6
|
fveq2d |
⊢ ( 𝜑 → ( 𝑃 ‘ 𝑁 ) = ( 𝑃 ‘ ( ♯ ‘ 𝐹 ) ) ) |
48 |
|
crctprop |
⊢ ( 𝐹 ( Circuits ‘ 𝐺 ) 𝑃 → ( 𝐹 ( Trails ‘ 𝐺 ) 𝑃 ∧ ( 𝑃 ‘ 0 ) = ( 𝑃 ‘ ( ♯ ‘ 𝐹 ) ) ) ) |
49 |
|
simpr |
⊢ ( ( 𝐹 ( Trails ‘ 𝐺 ) 𝑃 ∧ ( 𝑃 ‘ 0 ) = ( 𝑃 ‘ ( ♯ ‘ 𝐹 ) ) ) → ( 𝑃 ‘ 0 ) = ( 𝑃 ‘ ( ♯ ‘ 𝐹 ) ) ) |
50 |
49
|
eqcomd |
⊢ ( ( 𝐹 ( Trails ‘ 𝐺 ) 𝑃 ∧ ( 𝑃 ‘ 0 ) = ( 𝑃 ‘ ( ♯ ‘ 𝐹 ) ) ) → ( 𝑃 ‘ ( ♯ ‘ 𝐹 ) ) = ( 𝑃 ‘ 0 ) ) |
51 |
4 48 50
|
3syl |
⊢ ( 𝜑 → ( 𝑃 ‘ ( ♯ ‘ 𝐹 ) ) = ( 𝑃 ‘ 0 ) ) |
52 |
47 51
|
eqtrd |
⊢ ( 𝜑 → ( 𝑃 ‘ 𝑁 ) = ( 𝑃 ‘ 0 ) ) |
53 |
52
|
adantr |
⊢ ( ( 𝜑 ∧ 𝑥 = 0 ) → ( 𝑃 ‘ 𝑁 ) = ( 𝑃 ‘ 0 ) ) |
54 |
|
oveq1 |
⊢ ( 𝑥 = 0 → ( 𝑥 + 𝑁 ) = ( 0 + 𝑁 ) ) |
55 |
7 19
|
syl |
⊢ ( 𝜑 → 𝑁 ∈ ℂ ) |
56 |
55
|
addid2d |
⊢ ( 𝜑 → ( 0 + 𝑁 ) = 𝑁 ) |
57 |
54 56
|
sylan9eqr |
⊢ ( ( 𝜑 ∧ 𝑥 = 0 ) → ( 𝑥 + 𝑁 ) = 𝑁 ) |
58 |
57
|
fveq2d |
⊢ ( ( 𝜑 ∧ 𝑥 = 0 ) → ( 𝑃 ‘ ( 𝑥 + 𝑁 ) ) = ( 𝑃 ‘ 𝑁 ) ) |
59 |
|
fveq2 |
⊢ ( 𝑥 = 0 → ( 𝑃 ‘ 𝑥 ) = ( 𝑃 ‘ 0 ) ) |
60 |
59
|
adantl |
⊢ ( ( 𝜑 ∧ 𝑥 = 0 ) → ( 𝑃 ‘ 𝑥 ) = ( 𝑃 ‘ 0 ) ) |
61 |
53 58 60
|
3eqtr4d |
⊢ ( ( 𝜑 ∧ 𝑥 = 0 ) → ( 𝑃 ‘ ( 𝑥 + 𝑁 ) ) = ( 𝑃 ‘ 𝑥 ) ) |
62 |
42 61
|
sylan2 |
⊢ ( ( 𝜑 ∧ 𝑥 ∈ { 0 } ) → ( 𝑃 ‘ ( 𝑥 + 𝑁 ) ) = ( 𝑃 ‘ 𝑥 ) ) |
63 |
46 62
|
eqtrd |
⊢ ( ( 𝜑 ∧ 𝑥 ∈ { 0 } ) → if ( 𝑥 ≤ 0 , ( 𝑃 ‘ ( 𝑥 + 𝑁 ) ) , ( 𝑃 ‘ ( ( 𝑥 + 𝑁 ) − 𝑁 ) ) ) = ( 𝑃 ‘ 𝑥 ) ) |
64 |
63
|
ex |
⊢ ( 𝜑 → ( 𝑥 ∈ { 0 } → if ( 𝑥 ≤ 0 , ( 𝑃 ‘ ( 𝑥 + 𝑁 ) ) , ( 𝑃 ‘ ( ( 𝑥 + 𝑁 ) − 𝑁 ) ) ) = ( 𝑃 ‘ 𝑥 ) ) ) |
65 |
|
elfznn |
⊢ ( 𝑥 ∈ ( 1 ... ( ♯ ‘ 𝐹 ) ) → 𝑥 ∈ ℕ ) |
66 |
|
nnnle0 |
⊢ ( 𝑥 ∈ ℕ → ¬ 𝑥 ≤ 0 ) |
67 |
65 66
|
syl |
⊢ ( 𝑥 ∈ ( 1 ... ( ♯ ‘ 𝐹 ) ) → ¬ 𝑥 ≤ 0 ) |
68 |
67
|
adantl |
⊢ ( ( 𝜑 ∧ 𝑥 ∈ ( 1 ... ( ♯ ‘ 𝐹 ) ) ) → ¬ 𝑥 ≤ 0 ) |
69 |
68
|
iffalsed |
⊢ ( ( 𝜑 ∧ 𝑥 ∈ ( 1 ... ( ♯ ‘ 𝐹 ) ) ) → if ( 𝑥 ≤ 0 , ( 𝑃 ‘ ( 𝑥 + 𝑁 ) ) , ( 𝑃 ‘ ( ( 𝑥 + 𝑁 ) − 𝑁 ) ) ) = ( 𝑃 ‘ ( ( 𝑥 + 𝑁 ) − 𝑁 ) ) ) |
70 |
65
|
nncnd |
⊢ ( 𝑥 ∈ ( 1 ... ( ♯ ‘ 𝐹 ) ) → 𝑥 ∈ ℂ ) |
71 |
70
|
adantl |
⊢ ( ( 𝜑 ∧ 𝑥 ∈ ( 1 ... ( ♯ ‘ 𝐹 ) ) ) → 𝑥 ∈ ℂ ) |
72 |
55
|
adantr |
⊢ ( ( 𝜑 ∧ 𝑥 ∈ ( 1 ... ( ♯ ‘ 𝐹 ) ) ) → 𝑁 ∈ ℂ ) |
73 |
71 72
|
pncand |
⊢ ( ( 𝜑 ∧ 𝑥 ∈ ( 1 ... ( ♯ ‘ 𝐹 ) ) ) → ( ( 𝑥 + 𝑁 ) − 𝑁 ) = 𝑥 ) |
74 |
73
|
fveq2d |
⊢ ( ( 𝜑 ∧ 𝑥 ∈ ( 1 ... ( ♯ ‘ 𝐹 ) ) ) → ( 𝑃 ‘ ( ( 𝑥 + 𝑁 ) − 𝑁 ) ) = ( 𝑃 ‘ 𝑥 ) ) |
75 |
69 74
|
eqtrd |
⊢ ( ( 𝜑 ∧ 𝑥 ∈ ( 1 ... ( ♯ ‘ 𝐹 ) ) ) → if ( 𝑥 ≤ 0 , ( 𝑃 ‘ ( 𝑥 + 𝑁 ) ) , ( 𝑃 ‘ ( ( 𝑥 + 𝑁 ) − 𝑁 ) ) ) = ( 𝑃 ‘ 𝑥 ) ) |
76 |
75
|
ex |
⊢ ( 𝜑 → ( 𝑥 ∈ ( 1 ... ( ♯ ‘ 𝐹 ) ) → if ( 𝑥 ≤ 0 , ( 𝑃 ‘ ( 𝑥 + 𝑁 ) ) , ( 𝑃 ‘ ( ( 𝑥 + 𝑁 ) − 𝑁 ) ) ) = ( 𝑃 ‘ 𝑥 ) ) ) |
77 |
64 76
|
jaod |
⊢ ( 𝜑 → ( ( 𝑥 ∈ { 0 } ∨ 𝑥 ∈ ( 1 ... ( ♯ ‘ 𝐹 ) ) ) → if ( 𝑥 ≤ 0 , ( 𝑃 ‘ ( 𝑥 + 𝑁 ) ) , ( 𝑃 ‘ ( ( 𝑥 + 𝑁 ) − 𝑁 ) ) ) = ( 𝑃 ‘ 𝑥 ) ) ) |
78 |
41 77
|
sylbid |
⊢ ( 𝜑 → ( 𝑥 ∈ ( 0 ... ( ♯ ‘ 𝐹 ) ) → if ( 𝑥 ≤ 0 , ( 𝑃 ‘ ( 𝑥 + 𝑁 ) ) , ( 𝑃 ‘ ( ( 𝑥 + 𝑁 ) − 𝑁 ) ) ) = ( 𝑃 ‘ 𝑥 ) ) ) |
79 |
78
|
imp |
⊢ ( ( 𝜑 ∧ 𝑥 ∈ ( 0 ... ( ♯ ‘ 𝐹 ) ) ) → if ( 𝑥 ≤ 0 , ( 𝑃 ‘ ( 𝑥 + 𝑁 ) ) , ( 𝑃 ‘ ( ( 𝑥 + 𝑁 ) − 𝑁 ) ) ) = ( 𝑃 ‘ 𝑥 ) ) |
80 |
79
|
mpteq2dva |
⊢ ( 𝜑 → ( 𝑥 ∈ ( 0 ... ( ♯ ‘ 𝐹 ) ) ↦ if ( 𝑥 ≤ 0 , ( 𝑃 ‘ ( 𝑥 + 𝑁 ) ) , ( 𝑃 ‘ ( ( 𝑥 + 𝑁 ) − 𝑁 ) ) ) ) = ( 𝑥 ∈ ( 0 ... ( ♯ ‘ 𝐹 ) ) ↦ ( 𝑃 ‘ 𝑥 ) ) ) |
81 |
80
|
adantl |
⊢ ( ( 𝐽 = ( 𝑁 − 1 ) ∧ 𝜑 ) → ( 𝑥 ∈ ( 0 ... ( ♯ ‘ 𝐹 ) ) ↦ if ( 𝑥 ≤ 0 , ( 𝑃 ‘ ( 𝑥 + 𝑁 ) ) , ( 𝑃 ‘ ( ( 𝑥 + 𝑁 ) − 𝑁 ) ) ) ) = ( 𝑥 ∈ ( 0 ... ( ♯ ‘ 𝐹 ) ) ↦ ( 𝑃 ‘ 𝑥 ) ) ) |
82 |
9
|
oveq2i |
⊢ ( 𝑁 − 𝐾 ) = ( 𝑁 − ( 𝐽 + 1 ) ) |
83 |
15
|
oveq2d |
⊢ ( 𝐽 = ( 𝑁 − 1 ) → ( 𝑁 − ( 𝐽 + 1 ) ) = ( 𝑁 − ( ( 𝑁 − 1 ) + 1 ) ) ) |
84 |
21
|
oveq2d |
⊢ ( 𝜑 → ( 𝑁 − ( ( 𝑁 − 1 ) + 1 ) ) = ( 𝑁 − 𝑁 ) ) |
85 |
55
|
subidd |
⊢ ( 𝜑 → ( 𝑁 − 𝑁 ) = 0 ) |
86 |
84 85
|
eqtrd |
⊢ ( 𝜑 → ( 𝑁 − ( ( 𝑁 − 1 ) + 1 ) ) = 0 ) |
87 |
83 86
|
sylan9eq |
⊢ ( ( 𝐽 = ( 𝑁 − 1 ) ∧ 𝜑 ) → ( 𝑁 − ( 𝐽 + 1 ) ) = 0 ) |
88 |
82 87
|
eqtrid |
⊢ ( ( 𝐽 = ( 𝑁 − 1 ) ∧ 𝜑 ) → ( 𝑁 − 𝐾 ) = 0 ) |
89 |
88
|
breq2d |
⊢ ( ( 𝐽 = ( 𝑁 − 1 ) ∧ 𝜑 ) → ( 𝑥 ≤ ( 𝑁 − 𝐾 ) ↔ 𝑥 ≤ 0 ) ) |
90 |
9
|
oveq2i |
⊢ ( 𝑥 + 𝐾 ) = ( 𝑥 + ( 𝐽 + 1 ) ) |
91 |
90
|
fveq2i |
⊢ ( 𝑃 ‘ ( 𝑥 + 𝐾 ) ) = ( 𝑃 ‘ ( 𝑥 + ( 𝐽 + 1 ) ) ) |
92 |
15
|
oveq2d |
⊢ ( 𝐽 = ( 𝑁 − 1 ) → ( 𝑥 + ( 𝐽 + 1 ) ) = ( 𝑥 + ( ( 𝑁 − 1 ) + 1 ) ) ) |
93 |
21
|
oveq2d |
⊢ ( 𝜑 → ( 𝑥 + ( ( 𝑁 − 1 ) + 1 ) ) = ( 𝑥 + 𝑁 ) ) |
94 |
92 93
|
sylan9eq |
⊢ ( ( 𝐽 = ( 𝑁 − 1 ) ∧ 𝜑 ) → ( 𝑥 + ( 𝐽 + 1 ) ) = ( 𝑥 + 𝑁 ) ) |
95 |
94
|
fveq2d |
⊢ ( ( 𝐽 = ( 𝑁 − 1 ) ∧ 𝜑 ) → ( 𝑃 ‘ ( 𝑥 + ( 𝐽 + 1 ) ) ) = ( 𝑃 ‘ ( 𝑥 + 𝑁 ) ) ) |
96 |
91 95
|
eqtrid |
⊢ ( ( 𝐽 = ( 𝑁 − 1 ) ∧ 𝜑 ) → ( 𝑃 ‘ ( 𝑥 + 𝐾 ) ) = ( 𝑃 ‘ ( 𝑥 + 𝑁 ) ) ) |
97 |
90
|
oveq1i |
⊢ ( ( 𝑥 + 𝐾 ) − 𝑁 ) = ( ( 𝑥 + ( 𝐽 + 1 ) ) − 𝑁 ) |
98 |
97
|
fveq2i |
⊢ ( 𝑃 ‘ ( ( 𝑥 + 𝐾 ) − 𝑁 ) ) = ( 𝑃 ‘ ( ( 𝑥 + ( 𝐽 + 1 ) ) − 𝑁 ) ) |
99 |
92
|
oveq1d |
⊢ ( 𝐽 = ( 𝑁 − 1 ) → ( ( 𝑥 + ( 𝐽 + 1 ) ) − 𝑁 ) = ( ( 𝑥 + ( ( 𝑁 − 1 ) + 1 ) ) − 𝑁 ) ) |
100 |
93
|
oveq1d |
⊢ ( 𝜑 → ( ( 𝑥 + ( ( 𝑁 − 1 ) + 1 ) ) − 𝑁 ) = ( ( 𝑥 + 𝑁 ) − 𝑁 ) ) |
101 |
99 100
|
sylan9eq |
⊢ ( ( 𝐽 = ( 𝑁 − 1 ) ∧ 𝜑 ) → ( ( 𝑥 + ( 𝐽 + 1 ) ) − 𝑁 ) = ( ( 𝑥 + 𝑁 ) − 𝑁 ) ) |
102 |
101
|
fveq2d |
⊢ ( ( 𝐽 = ( 𝑁 − 1 ) ∧ 𝜑 ) → ( 𝑃 ‘ ( ( 𝑥 + ( 𝐽 + 1 ) ) − 𝑁 ) ) = ( 𝑃 ‘ ( ( 𝑥 + 𝑁 ) − 𝑁 ) ) ) |
103 |
98 102
|
eqtrid |
⊢ ( ( 𝐽 = ( 𝑁 − 1 ) ∧ 𝜑 ) → ( 𝑃 ‘ ( ( 𝑥 + 𝐾 ) − 𝑁 ) ) = ( 𝑃 ‘ ( ( 𝑥 + 𝑁 ) − 𝑁 ) ) ) |
104 |
89 96 103
|
ifbieq12d |
⊢ ( ( 𝐽 = ( 𝑁 − 1 ) ∧ 𝜑 ) → if ( 𝑥 ≤ ( 𝑁 − 𝐾 ) , ( 𝑃 ‘ ( 𝑥 + 𝐾 ) ) , ( 𝑃 ‘ ( ( 𝑥 + 𝐾 ) − 𝑁 ) ) ) = if ( 𝑥 ≤ 0 , ( 𝑃 ‘ ( 𝑥 + 𝑁 ) ) , ( 𝑃 ‘ ( ( 𝑥 + 𝑁 ) − 𝑁 ) ) ) ) |
105 |
104
|
mpteq2dv |
⊢ ( ( 𝐽 = ( 𝑁 − 1 ) ∧ 𝜑 ) → ( 𝑥 ∈ ( 0 ... ( ♯ ‘ 𝐹 ) ) ↦ if ( 𝑥 ≤ ( 𝑁 − 𝐾 ) , ( 𝑃 ‘ ( 𝑥 + 𝐾 ) ) , ( 𝑃 ‘ ( ( 𝑥 + 𝐾 ) − 𝑁 ) ) ) ) = ( 𝑥 ∈ ( 0 ... ( ♯ ‘ 𝐹 ) ) ↦ if ( 𝑥 ≤ 0 , ( 𝑃 ‘ ( 𝑥 + 𝑁 ) ) , ( 𝑃 ‘ ( ( 𝑥 + 𝑁 ) − 𝑁 ) ) ) ) ) |
106 |
4 25
|
syl |
⊢ ( 𝜑 → 𝐹 ( Walks ‘ 𝐺 ) 𝑃 ) |
107 |
1
|
wlkp |
⊢ ( 𝐹 ( Walks ‘ 𝐺 ) 𝑃 → 𝑃 : ( 0 ... ( ♯ ‘ 𝐹 ) ) ⟶ 𝑉 ) |
108 |
|
ffn |
⊢ ( 𝑃 : ( 0 ... ( ♯ ‘ 𝐹 ) ) ⟶ 𝑉 → 𝑃 Fn ( 0 ... ( ♯ ‘ 𝐹 ) ) ) |
109 |
106 107 108
|
3syl |
⊢ ( 𝜑 → 𝑃 Fn ( 0 ... ( ♯ ‘ 𝐹 ) ) ) |
110 |
109
|
adantl |
⊢ ( ( 𝐽 = ( 𝑁 − 1 ) ∧ 𝜑 ) → 𝑃 Fn ( 0 ... ( ♯ ‘ 𝐹 ) ) ) |
111 |
|
dffn5 |
⊢ ( 𝑃 Fn ( 0 ... ( ♯ ‘ 𝐹 ) ) ↔ 𝑃 = ( 𝑥 ∈ ( 0 ... ( ♯ ‘ 𝐹 ) ) ↦ ( 𝑃 ‘ 𝑥 ) ) ) |
112 |
110 111
|
sylib |
⊢ ( ( 𝐽 = ( 𝑁 − 1 ) ∧ 𝜑 ) → 𝑃 = ( 𝑥 ∈ ( 0 ... ( ♯ ‘ 𝐹 ) ) ↦ ( 𝑃 ‘ 𝑥 ) ) ) |
113 |
81 105 112
|
3eqtr4d |
⊢ ( ( 𝐽 = ( 𝑁 − 1 ) ∧ 𝜑 ) → ( 𝑥 ∈ ( 0 ... ( ♯ ‘ 𝐹 ) ) ↦ if ( 𝑥 ≤ ( 𝑁 − 𝐾 ) , ( 𝑃 ‘ ( 𝑥 + 𝐾 ) ) , ( 𝑃 ‘ ( ( 𝑥 + 𝐾 ) − 𝑁 ) ) ) ) = 𝑃 ) |
114 |
12 34 113
|
3brtr4d |
⊢ ( ( 𝐽 = ( 𝑁 − 1 ) ∧ 𝜑 ) → ( 𝐹 cyclShift 𝐾 ) ( EulerPaths ‘ 𝐺 ) ( 𝑥 ∈ ( 0 ... ( ♯ ‘ 𝐹 ) ) ↦ if ( 𝑥 ≤ ( 𝑁 − 𝐾 ) , ( 𝑃 ‘ ( 𝑥 + 𝐾 ) ) , ( 𝑃 ‘ ( ( 𝑥 + 𝐾 ) − 𝑁 ) ) ) ) ) |
115 |
4
|
adantl |
⊢ ( ( 𝐽 = ( 𝑁 − 1 ) ∧ 𝜑 ) → 𝐹 ( Circuits ‘ 𝐺 ) 𝑃 ) |
116 |
115 34 113
|
3brtr4d |
⊢ ( ( 𝐽 = ( 𝑁 − 1 ) ∧ 𝜑 ) → ( 𝐹 cyclShift 𝐾 ) ( Circuits ‘ 𝐺 ) ( 𝑥 ∈ ( 0 ... ( ♯ ‘ 𝐹 ) ) ↦ if ( 𝑥 ≤ ( 𝑁 − 𝐾 ) , ( 𝑃 ‘ ( 𝑥 + 𝐾 ) ) , ( 𝑃 ‘ ( ( 𝑥 + 𝐾 ) − 𝑁 ) ) ) ) ) |
117 |
|
elfzolt3 |
⊢ ( 𝐽 ∈ ( 0 ..^ 𝑁 ) → 0 < 𝑁 ) |
118 |
7 117
|
syl |
⊢ ( 𝜑 → 0 < 𝑁 ) |
119 |
|
elfzoelz |
⊢ ( 𝐽 ∈ ( 0 ..^ 𝑁 ) → 𝐽 ∈ ℤ ) |
120 |
7 119
|
syl |
⊢ ( 𝜑 → 𝐽 ∈ ℤ ) |
121 |
120
|
peano2zd |
⊢ ( 𝜑 → ( 𝐽 + 1 ) ∈ ℤ ) |
122 |
9 121
|
eqeltrid |
⊢ ( 𝜑 → 𝐾 ∈ ℤ ) |
123 |
|
cshwlen |
⊢ ( ( 𝐹 ∈ Word dom 𝐼 ∧ 𝐾 ∈ ℤ ) → ( ♯ ‘ ( 𝐹 cyclShift 𝐾 ) ) = ( ♯ ‘ 𝐹 ) ) |
124 |
123
|
eqcomd |
⊢ ( ( 𝐹 ∈ Word dom 𝐼 ∧ 𝐾 ∈ ℤ ) → ( ♯ ‘ 𝐹 ) = ( ♯ ‘ ( 𝐹 cyclShift 𝐾 ) ) ) |
125 |
28 122 124
|
syl2anc |
⊢ ( 𝜑 → ( ♯ ‘ 𝐹 ) = ( ♯ ‘ ( 𝐹 cyclShift 𝐾 ) ) ) |
126 |
6 125
|
eqtrd |
⊢ ( 𝜑 → 𝑁 = ( ♯ ‘ ( 𝐹 cyclShift 𝐾 ) ) ) |
127 |
118 126
|
breqtrd |
⊢ ( 𝜑 → 0 < ( ♯ ‘ ( 𝐹 cyclShift 𝐾 ) ) ) |
128 |
127
|
adantl |
⊢ ( ( 𝐽 = ( 𝑁 − 1 ) ∧ 𝜑 ) → 0 < ( ♯ ‘ ( 𝐹 cyclShift 𝐾 ) ) ) |
129 |
126
|
adantl |
⊢ ( ( 𝐽 = ( 𝑁 − 1 ) ∧ 𝜑 ) → 𝑁 = ( ♯ ‘ ( 𝐹 cyclShift 𝐾 ) ) ) |
130 |
129
|
oveq1d |
⊢ ( ( 𝐽 = ( 𝑁 − 1 ) ∧ 𝜑 ) → ( 𝑁 − 1 ) = ( ( ♯ ‘ ( 𝐹 cyclShift 𝐾 ) ) − 1 ) ) |
131 |
8
|
adantl |
⊢ ( ( 𝐽 = ( 𝑁 − 1 ) ∧ 𝜑 ) → ( iEdg ‘ 𝑆 ) = ( 𝐼 ↾ ( 𝐹 “ ( ( 0 ..^ 𝑁 ) ∖ { 𝐽 } ) ) ) ) |
132 |
28 6 7
|
3jca |
⊢ ( 𝜑 → ( 𝐹 ∈ Word dom 𝐼 ∧ 𝑁 = ( ♯ ‘ 𝐹 ) ∧ 𝐽 ∈ ( 0 ..^ 𝑁 ) ) ) |
133 |
132
|
adantl |
⊢ ( ( 𝐽 = ( 𝑁 − 1 ) ∧ 𝜑 ) → ( 𝐹 ∈ Word dom 𝐼 ∧ 𝑁 = ( ♯ ‘ 𝐹 ) ∧ 𝐽 ∈ ( 0 ..^ 𝑁 ) ) ) |
134 |
|
cshimadifsn0 |
⊢ ( ( 𝐹 ∈ Word dom 𝐼 ∧ 𝑁 = ( ♯ ‘ 𝐹 ) ∧ 𝐽 ∈ ( 0 ..^ 𝑁 ) ) → ( 𝐹 “ ( ( 0 ..^ 𝑁 ) ∖ { 𝐽 } ) ) = ( ( 𝐹 cyclShift ( 𝐽 + 1 ) ) “ ( 0 ..^ ( 𝑁 − 1 ) ) ) ) |
135 |
133 134
|
syl |
⊢ ( ( 𝐽 = ( 𝑁 − 1 ) ∧ 𝜑 ) → ( 𝐹 “ ( ( 0 ..^ 𝑁 ) ∖ { 𝐽 } ) ) = ( ( 𝐹 cyclShift ( 𝐽 + 1 ) ) “ ( 0 ..^ ( 𝑁 − 1 ) ) ) ) |
136 |
14
|
imaeq1i |
⊢ ( ( 𝐹 cyclShift ( 𝐽 + 1 ) ) “ ( 0 ..^ ( 𝑁 − 1 ) ) ) = ( ( 𝐹 cyclShift 𝐾 ) “ ( 0 ..^ ( 𝑁 − 1 ) ) ) |
137 |
135 136
|
eqtrdi |
⊢ ( ( 𝐽 = ( 𝑁 − 1 ) ∧ 𝜑 ) → ( 𝐹 “ ( ( 0 ..^ 𝑁 ) ∖ { 𝐽 } ) ) = ( ( 𝐹 cyclShift 𝐾 ) “ ( 0 ..^ ( 𝑁 − 1 ) ) ) ) |
138 |
137
|
reseq2d |
⊢ ( ( 𝐽 = ( 𝑁 − 1 ) ∧ 𝜑 ) → ( 𝐼 ↾ ( 𝐹 “ ( ( 0 ..^ 𝑁 ) ∖ { 𝐽 } ) ) ) = ( 𝐼 ↾ ( ( 𝐹 cyclShift 𝐾 ) “ ( 0 ..^ ( 𝑁 − 1 ) ) ) ) ) |
139 |
131 138
|
eqtrd |
⊢ ( ( 𝐽 = ( 𝑁 − 1 ) ∧ 𝜑 ) → ( iEdg ‘ 𝑆 ) = ( 𝐼 ↾ ( ( 𝐹 cyclShift 𝐾 ) “ ( 0 ..^ ( 𝑁 − 1 ) ) ) ) ) |
140 |
|
eqid |
⊢ ( ( 𝐹 cyclShift 𝐾 ) prefix ( 𝑁 − 1 ) ) = ( ( 𝐹 cyclShift 𝐾 ) prefix ( 𝑁 − 1 ) ) |
141 |
|
eqid |
⊢ ( ( 𝑥 ∈ ( 0 ... ( ♯ ‘ 𝐹 ) ) ↦ if ( 𝑥 ≤ ( 𝑁 − 𝐾 ) , ( 𝑃 ‘ ( 𝑥 + 𝐾 ) ) , ( 𝑃 ‘ ( ( 𝑥 + 𝐾 ) − 𝑁 ) ) ) ) ↾ ( 0 ... ( 𝑁 − 1 ) ) ) = ( ( 𝑥 ∈ ( 0 ... ( ♯ ‘ 𝐹 ) ) ↦ if ( 𝑥 ≤ ( 𝑁 − 𝐾 ) , ( 𝑃 ‘ ( 𝑥 + 𝐾 ) ) , ( 𝑃 ‘ ( ( 𝑥 + 𝐾 ) − 𝑁 ) ) ) ) ↾ ( 0 ... ( 𝑁 − 1 ) ) ) |
142 |
1 2 114 116 5 128 130 139 140 141
|
eucrct2eupth1 |
⊢ ( ( 𝐽 = ( 𝑁 − 1 ) ∧ 𝜑 ) → ( ( 𝐹 cyclShift 𝐾 ) prefix ( 𝑁 − 1 ) ) ( EulerPaths ‘ 𝑆 ) ( ( 𝑥 ∈ ( 0 ... ( ♯ ‘ 𝐹 ) ) ↦ if ( 𝑥 ≤ ( 𝑁 − 𝐾 ) , ( 𝑃 ‘ ( 𝑥 + 𝐾 ) ) , ( 𝑃 ‘ ( ( 𝑥 + 𝐾 ) − 𝑁 ) ) ) ) ↾ ( 0 ... ( 𝑁 − 1 ) ) ) ) |
143 |
10
|
a1i |
⊢ ( ( 𝐽 = ( 𝑁 − 1 ) ∧ 𝜑 ) → 𝐻 = ( ( 𝐹 cyclShift 𝐾 ) prefix ( 𝑁 − 1 ) ) ) |
144 |
|
fzossfz |
⊢ ( 0 ..^ 𝑁 ) ⊆ ( 0 ... 𝑁 ) |
145 |
6
|
oveq2d |
⊢ ( 𝜑 → ( 0 ... 𝑁 ) = ( 0 ... ( ♯ ‘ 𝐹 ) ) ) |
146 |
144 145
|
sseqtrid |
⊢ ( 𝜑 → ( 0 ..^ 𝑁 ) ⊆ ( 0 ... ( ♯ ‘ 𝐹 ) ) ) |
147 |
146
|
resmptd |
⊢ ( 𝜑 → ( ( 𝑥 ∈ ( 0 ... ( ♯ ‘ 𝐹 ) ) ↦ if ( 𝑥 ≤ ( 𝑁 − 𝐾 ) , ( 𝑃 ‘ ( 𝑥 + 𝐾 ) ) , ( 𝑃 ‘ ( ( 𝑥 + 𝐾 ) − 𝑁 ) ) ) ) ↾ ( 0 ..^ 𝑁 ) ) = ( 𝑥 ∈ ( 0 ..^ 𝑁 ) ↦ if ( 𝑥 ≤ ( 𝑁 − 𝐾 ) , ( 𝑃 ‘ ( 𝑥 + 𝐾 ) ) , ( 𝑃 ‘ ( ( 𝑥 + 𝐾 ) − 𝑁 ) ) ) ) ) |
148 |
|
elfzoel2 |
⊢ ( 𝐽 ∈ ( 0 ..^ 𝑁 ) → 𝑁 ∈ ℤ ) |
149 |
|
fzoval |
⊢ ( 𝑁 ∈ ℤ → ( 0 ..^ 𝑁 ) = ( 0 ... ( 𝑁 − 1 ) ) ) |
150 |
7 148 149
|
3syl |
⊢ ( 𝜑 → ( 0 ..^ 𝑁 ) = ( 0 ... ( 𝑁 − 1 ) ) ) |
151 |
150
|
reseq2d |
⊢ ( 𝜑 → ( ( 𝑥 ∈ ( 0 ... ( ♯ ‘ 𝐹 ) ) ↦ if ( 𝑥 ≤ ( 𝑁 − 𝐾 ) , ( 𝑃 ‘ ( 𝑥 + 𝐾 ) ) , ( 𝑃 ‘ ( ( 𝑥 + 𝐾 ) − 𝑁 ) ) ) ) ↾ ( 0 ..^ 𝑁 ) ) = ( ( 𝑥 ∈ ( 0 ... ( ♯ ‘ 𝐹 ) ) ↦ if ( 𝑥 ≤ ( 𝑁 − 𝐾 ) , ( 𝑃 ‘ ( 𝑥 + 𝐾 ) ) , ( 𝑃 ‘ ( ( 𝑥 + 𝐾 ) − 𝑁 ) ) ) ) ↾ ( 0 ... ( 𝑁 − 1 ) ) ) ) |
152 |
147 151
|
eqtr3d |
⊢ ( 𝜑 → ( 𝑥 ∈ ( 0 ..^ 𝑁 ) ↦ if ( 𝑥 ≤ ( 𝑁 − 𝐾 ) , ( 𝑃 ‘ ( 𝑥 + 𝐾 ) ) , ( 𝑃 ‘ ( ( 𝑥 + 𝐾 ) − 𝑁 ) ) ) ) = ( ( 𝑥 ∈ ( 0 ... ( ♯ ‘ 𝐹 ) ) ↦ if ( 𝑥 ≤ ( 𝑁 − 𝐾 ) , ( 𝑃 ‘ ( 𝑥 + 𝐾 ) ) , ( 𝑃 ‘ ( ( 𝑥 + 𝐾 ) − 𝑁 ) ) ) ) ↾ ( 0 ... ( 𝑁 − 1 ) ) ) ) |
153 |
11 152
|
eqtrid |
⊢ ( 𝜑 → 𝑄 = ( ( 𝑥 ∈ ( 0 ... ( ♯ ‘ 𝐹 ) ) ↦ if ( 𝑥 ≤ ( 𝑁 − 𝐾 ) , ( 𝑃 ‘ ( 𝑥 + 𝐾 ) ) , ( 𝑃 ‘ ( ( 𝑥 + 𝐾 ) − 𝑁 ) ) ) ) ↾ ( 0 ... ( 𝑁 − 1 ) ) ) ) |
154 |
153
|
adantl |
⊢ ( ( 𝐽 = ( 𝑁 − 1 ) ∧ 𝜑 ) → 𝑄 = ( ( 𝑥 ∈ ( 0 ... ( ♯ ‘ 𝐹 ) ) ↦ if ( 𝑥 ≤ ( 𝑁 − 𝐾 ) , ( 𝑃 ‘ ( 𝑥 + 𝐾 ) ) , ( 𝑃 ‘ ( ( 𝑥 + 𝐾 ) − 𝑁 ) ) ) ) ↾ ( 0 ... ( 𝑁 − 1 ) ) ) ) |
155 |
142 143 154
|
3brtr4d |
⊢ ( ( 𝐽 = ( 𝑁 − 1 ) ∧ 𝜑 ) → 𝐻 ( EulerPaths ‘ 𝑆 ) 𝑄 ) |
156 |
4
|
adantl |
⊢ ( ( ¬ 𝐽 = ( 𝑁 − 1 ) ∧ 𝜑 ) → 𝐹 ( Circuits ‘ 𝐺 ) 𝑃 ) |
157 |
|
peano2nn0 |
⊢ ( 𝐽 ∈ ℕ0 → ( 𝐽 + 1 ) ∈ ℕ0 ) |
158 |
157
|
3ad2ant1 |
⊢ ( ( 𝐽 ∈ ℕ0 ∧ 𝑁 ∈ ℕ ∧ 𝐽 < 𝑁 ) → ( 𝐽 + 1 ) ∈ ℕ0 ) |
159 |
158
|
adantr |
⊢ ( ( ( 𝐽 ∈ ℕ0 ∧ 𝑁 ∈ ℕ ∧ 𝐽 < 𝑁 ) ∧ ¬ 𝐽 = ( 𝑁 − 1 ) ) → ( 𝐽 + 1 ) ∈ ℕ0 ) |
160 |
|
simpl2 |
⊢ ( ( ( 𝐽 ∈ ℕ0 ∧ 𝑁 ∈ ℕ ∧ 𝐽 < 𝑁 ) ∧ ¬ 𝐽 = ( 𝑁 − 1 ) ) → 𝑁 ∈ ℕ ) |
161 |
|
1cnd |
⊢ ( ( 𝐽 ∈ ℕ0 ∧ 𝑁 ∈ ℕ ∧ 𝐽 < 𝑁 ) → 1 ∈ ℂ ) |
162 |
|
nn0cn |
⊢ ( 𝐽 ∈ ℕ0 → 𝐽 ∈ ℂ ) |
163 |
162
|
3ad2ant1 |
⊢ ( ( 𝐽 ∈ ℕ0 ∧ 𝑁 ∈ ℕ ∧ 𝐽 < 𝑁 ) → 𝐽 ∈ ℂ ) |
164 |
18 161 163
|
subadd2d |
⊢ ( ( 𝐽 ∈ ℕ0 ∧ 𝑁 ∈ ℕ ∧ 𝐽 < 𝑁 ) → ( ( 𝑁 − 1 ) = 𝐽 ↔ ( 𝐽 + 1 ) = 𝑁 ) ) |
165 |
|
eqcom |
⊢ ( 𝐽 = ( 𝑁 − 1 ) ↔ ( 𝑁 − 1 ) = 𝐽 ) |
166 |
|
eqcom |
⊢ ( 𝑁 = ( 𝐽 + 1 ) ↔ ( 𝐽 + 1 ) = 𝑁 ) |
167 |
164 165 166
|
3bitr4g |
⊢ ( ( 𝐽 ∈ ℕ0 ∧ 𝑁 ∈ ℕ ∧ 𝐽 < 𝑁 ) → ( 𝐽 = ( 𝑁 − 1 ) ↔ 𝑁 = ( 𝐽 + 1 ) ) ) |
168 |
167
|
necon3bbid |
⊢ ( ( 𝐽 ∈ ℕ0 ∧ 𝑁 ∈ ℕ ∧ 𝐽 < 𝑁 ) → ( ¬ 𝐽 = ( 𝑁 − 1 ) ↔ 𝑁 ≠ ( 𝐽 + 1 ) ) ) |
169 |
157
|
nn0red |
⊢ ( 𝐽 ∈ ℕ0 → ( 𝐽 + 1 ) ∈ ℝ ) |
170 |
169
|
3ad2ant1 |
⊢ ( ( 𝐽 ∈ ℕ0 ∧ 𝑁 ∈ ℕ ∧ 𝐽 < 𝑁 ) → ( 𝐽 + 1 ) ∈ ℝ ) |
171 |
|
nnre |
⊢ ( 𝑁 ∈ ℕ → 𝑁 ∈ ℝ ) |
172 |
171
|
3ad2ant2 |
⊢ ( ( 𝐽 ∈ ℕ0 ∧ 𝑁 ∈ ℕ ∧ 𝐽 < 𝑁 ) → 𝑁 ∈ ℝ ) |
173 |
|
nn0z |
⊢ ( 𝐽 ∈ ℕ0 → 𝐽 ∈ ℤ ) |
174 |
|
nnz |
⊢ ( 𝑁 ∈ ℕ → 𝑁 ∈ ℤ ) |
175 |
|
zltp1le |
⊢ ( ( 𝐽 ∈ ℤ ∧ 𝑁 ∈ ℤ ) → ( 𝐽 < 𝑁 ↔ ( 𝐽 + 1 ) ≤ 𝑁 ) ) |
176 |
173 174 175
|
syl2an |
⊢ ( ( 𝐽 ∈ ℕ0 ∧ 𝑁 ∈ ℕ ) → ( 𝐽 < 𝑁 ↔ ( 𝐽 + 1 ) ≤ 𝑁 ) ) |
177 |
176
|
biimp3a |
⊢ ( ( 𝐽 ∈ ℕ0 ∧ 𝑁 ∈ ℕ ∧ 𝐽 < 𝑁 ) → ( 𝐽 + 1 ) ≤ 𝑁 ) |
178 |
170 172 177
|
leltned |
⊢ ( ( 𝐽 ∈ ℕ0 ∧ 𝑁 ∈ ℕ ∧ 𝐽 < 𝑁 ) → ( ( 𝐽 + 1 ) < 𝑁 ↔ 𝑁 ≠ ( 𝐽 + 1 ) ) ) |
179 |
178
|
biimprd |
⊢ ( ( 𝐽 ∈ ℕ0 ∧ 𝑁 ∈ ℕ ∧ 𝐽 < 𝑁 ) → ( 𝑁 ≠ ( 𝐽 + 1 ) → ( 𝐽 + 1 ) < 𝑁 ) ) |
180 |
168 179
|
sylbid |
⊢ ( ( 𝐽 ∈ ℕ0 ∧ 𝑁 ∈ ℕ ∧ 𝐽 < 𝑁 ) → ( ¬ 𝐽 = ( 𝑁 − 1 ) → ( 𝐽 + 1 ) < 𝑁 ) ) |
181 |
180
|
imp |
⊢ ( ( ( 𝐽 ∈ ℕ0 ∧ 𝑁 ∈ ℕ ∧ 𝐽 < 𝑁 ) ∧ ¬ 𝐽 = ( 𝑁 − 1 ) ) → ( 𝐽 + 1 ) < 𝑁 ) |
182 |
159 160 181
|
3jca |
⊢ ( ( ( 𝐽 ∈ ℕ0 ∧ 𝑁 ∈ ℕ ∧ 𝐽 < 𝑁 ) ∧ ¬ 𝐽 = ( 𝑁 − 1 ) ) → ( ( 𝐽 + 1 ) ∈ ℕ0 ∧ 𝑁 ∈ ℕ ∧ ( 𝐽 + 1 ) < 𝑁 ) ) |
183 |
182
|
ex |
⊢ ( ( 𝐽 ∈ ℕ0 ∧ 𝑁 ∈ ℕ ∧ 𝐽 < 𝑁 ) → ( ¬ 𝐽 = ( 𝑁 − 1 ) → ( ( 𝐽 + 1 ) ∈ ℕ0 ∧ 𝑁 ∈ ℕ ∧ ( 𝐽 + 1 ) < 𝑁 ) ) ) |
184 |
16 183
|
sylbi |
⊢ ( 𝐽 ∈ ( 0 ..^ 𝑁 ) → ( ¬ 𝐽 = ( 𝑁 − 1 ) → ( ( 𝐽 + 1 ) ∈ ℕ0 ∧ 𝑁 ∈ ℕ ∧ ( 𝐽 + 1 ) < 𝑁 ) ) ) |
185 |
|
elfzo0 |
⊢ ( ( 𝐽 + 1 ) ∈ ( 0 ..^ 𝑁 ) ↔ ( ( 𝐽 + 1 ) ∈ ℕ0 ∧ 𝑁 ∈ ℕ ∧ ( 𝐽 + 1 ) < 𝑁 ) ) |
186 |
184 185
|
syl6ibr |
⊢ ( 𝐽 ∈ ( 0 ..^ 𝑁 ) → ( ¬ 𝐽 = ( 𝑁 − 1 ) → ( 𝐽 + 1 ) ∈ ( 0 ..^ 𝑁 ) ) ) |
187 |
7 186
|
syl |
⊢ ( 𝜑 → ( ¬ 𝐽 = ( 𝑁 − 1 ) → ( 𝐽 + 1 ) ∈ ( 0 ..^ 𝑁 ) ) ) |
188 |
187
|
impcom |
⊢ ( ( ¬ 𝐽 = ( 𝑁 − 1 ) ∧ 𝜑 ) → ( 𝐽 + 1 ) ∈ ( 0 ..^ 𝑁 ) ) |
189 |
9
|
a1i |
⊢ ( ( ¬ 𝐽 = ( 𝑁 − 1 ) ∧ 𝜑 ) → 𝐾 = ( 𝐽 + 1 ) ) |
190 |
6
|
eqcomd |
⊢ ( 𝜑 → ( ♯ ‘ 𝐹 ) = 𝑁 ) |
191 |
190
|
oveq2d |
⊢ ( 𝜑 → ( 0 ..^ ( ♯ ‘ 𝐹 ) ) = ( 0 ..^ 𝑁 ) ) |
192 |
191
|
adantl |
⊢ ( ( ¬ 𝐽 = ( 𝑁 − 1 ) ∧ 𝜑 ) → ( 0 ..^ ( ♯ ‘ 𝐹 ) ) = ( 0 ..^ 𝑁 ) ) |
193 |
188 189 192
|
3eltr4d |
⊢ ( ( ¬ 𝐽 = ( 𝑁 − 1 ) ∧ 𝜑 ) → 𝐾 ∈ ( 0 ..^ ( ♯ ‘ 𝐹 ) ) ) |
194 |
|
eqid |
⊢ ( 𝐹 cyclShift 𝐾 ) = ( 𝐹 cyclShift 𝐾 ) |
195 |
|
eqid |
⊢ ( 𝑥 ∈ ( 0 ... ( ♯ ‘ 𝐹 ) ) ↦ if ( 𝑥 ≤ ( ( ♯ ‘ 𝐹 ) − 𝐾 ) , ( 𝑃 ‘ ( 𝑥 + 𝐾 ) ) , ( 𝑃 ‘ ( ( 𝑥 + 𝐾 ) − ( ♯ ‘ 𝐹 ) ) ) ) ) = ( 𝑥 ∈ ( 0 ... ( ♯ ‘ 𝐹 ) ) ↦ if ( 𝑥 ≤ ( ( ♯ ‘ 𝐹 ) − 𝐾 ) , ( 𝑃 ‘ ( 𝑥 + 𝐾 ) ) , ( 𝑃 ‘ ( ( 𝑥 + 𝐾 ) − ( ♯ ‘ 𝐹 ) ) ) ) ) |
196 |
3
|
adantl |
⊢ ( ( ¬ 𝐽 = ( 𝑁 − 1 ) ∧ 𝜑 ) → 𝐹 ( EulerPaths ‘ 𝐺 ) 𝑃 ) |
197 |
1 2 156 35 193 194 195 196
|
eucrctshift |
⊢ ( ( ¬ 𝐽 = ( 𝑁 − 1 ) ∧ 𝜑 ) → ( ( 𝐹 cyclShift 𝐾 ) ( EulerPaths ‘ 𝐺 ) ( 𝑥 ∈ ( 0 ... ( ♯ ‘ 𝐹 ) ) ↦ if ( 𝑥 ≤ ( ( ♯ ‘ 𝐹 ) − 𝐾 ) , ( 𝑃 ‘ ( 𝑥 + 𝐾 ) ) , ( 𝑃 ‘ ( ( 𝑥 + 𝐾 ) − ( ♯ ‘ 𝐹 ) ) ) ) ) ∧ ( 𝐹 cyclShift 𝐾 ) ( Circuits ‘ 𝐺 ) ( 𝑥 ∈ ( 0 ... ( ♯ ‘ 𝐹 ) ) ↦ if ( 𝑥 ≤ ( ( ♯ ‘ 𝐹 ) − 𝐾 ) , ( 𝑃 ‘ ( 𝑥 + 𝐾 ) ) , ( 𝑃 ‘ ( ( 𝑥 + 𝐾 ) − ( ♯ ‘ 𝐹 ) ) ) ) ) ) ) |
198 |
|
simprl |
⊢ ( ( ( ¬ 𝐽 = ( 𝑁 − 1 ) ∧ 𝜑 ) ∧ ( ( 𝐹 cyclShift 𝐾 ) ( EulerPaths ‘ 𝐺 ) ( 𝑥 ∈ ( 0 ... ( ♯ ‘ 𝐹 ) ) ↦ if ( 𝑥 ≤ ( ( ♯ ‘ 𝐹 ) − 𝐾 ) , ( 𝑃 ‘ ( 𝑥 + 𝐾 ) ) , ( 𝑃 ‘ ( ( 𝑥 + 𝐾 ) − ( ♯ ‘ 𝐹 ) ) ) ) ) ∧ ( 𝐹 cyclShift 𝐾 ) ( Circuits ‘ 𝐺 ) ( 𝑥 ∈ ( 0 ... ( ♯ ‘ 𝐹 ) ) ↦ if ( 𝑥 ≤ ( ( ♯ ‘ 𝐹 ) − 𝐾 ) , ( 𝑃 ‘ ( 𝑥 + 𝐾 ) ) , ( 𝑃 ‘ ( ( 𝑥 + 𝐾 ) − ( ♯ ‘ 𝐹 ) ) ) ) ) ) ) → ( 𝐹 cyclShift 𝐾 ) ( EulerPaths ‘ 𝐺 ) ( 𝑥 ∈ ( 0 ... ( ♯ ‘ 𝐹 ) ) ↦ if ( 𝑥 ≤ ( ( ♯ ‘ 𝐹 ) − 𝐾 ) , ( 𝑃 ‘ ( 𝑥 + 𝐾 ) ) , ( 𝑃 ‘ ( ( 𝑥 + 𝐾 ) − ( ♯ ‘ 𝐹 ) ) ) ) ) ) |
199 |
|
simprr |
⊢ ( ( ( ¬ 𝐽 = ( 𝑁 − 1 ) ∧ 𝜑 ) ∧ ( ( 𝐹 cyclShift 𝐾 ) ( EulerPaths ‘ 𝐺 ) ( 𝑥 ∈ ( 0 ... ( ♯ ‘ 𝐹 ) ) ↦ if ( 𝑥 ≤ ( ( ♯ ‘ 𝐹 ) − 𝐾 ) , ( 𝑃 ‘ ( 𝑥 + 𝐾 ) ) , ( 𝑃 ‘ ( ( 𝑥 + 𝐾 ) − ( ♯ ‘ 𝐹 ) ) ) ) ) ∧ ( 𝐹 cyclShift 𝐾 ) ( Circuits ‘ 𝐺 ) ( 𝑥 ∈ ( 0 ... ( ♯ ‘ 𝐹 ) ) ↦ if ( 𝑥 ≤ ( ( ♯ ‘ 𝐹 ) − 𝐾 ) , ( 𝑃 ‘ ( 𝑥 + 𝐾 ) ) , ( 𝑃 ‘ ( ( 𝑥 + 𝐾 ) − ( ♯ ‘ 𝐹 ) ) ) ) ) ) ) → ( 𝐹 cyclShift 𝐾 ) ( Circuits ‘ 𝐺 ) ( 𝑥 ∈ ( 0 ... ( ♯ ‘ 𝐹 ) ) ↦ if ( 𝑥 ≤ ( ( ♯ ‘ 𝐹 ) − 𝐾 ) , ( 𝑃 ‘ ( 𝑥 + 𝐾 ) ) , ( 𝑃 ‘ ( ( 𝑥 + 𝐾 ) − ( ♯ ‘ 𝐹 ) ) ) ) ) ) |
200 |
127
|
ad2antlr |
⊢ ( ( ( ¬ 𝐽 = ( 𝑁 − 1 ) ∧ 𝜑 ) ∧ ( ( 𝐹 cyclShift 𝐾 ) ( EulerPaths ‘ 𝐺 ) ( 𝑥 ∈ ( 0 ... ( ♯ ‘ 𝐹 ) ) ↦ if ( 𝑥 ≤ ( ( ♯ ‘ 𝐹 ) − 𝐾 ) , ( 𝑃 ‘ ( 𝑥 + 𝐾 ) ) , ( 𝑃 ‘ ( ( 𝑥 + 𝐾 ) − ( ♯ ‘ 𝐹 ) ) ) ) ) ∧ ( 𝐹 cyclShift 𝐾 ) ( Circuits ‘ 𝐺 ) ( 𝑥 ∈ ( 0 ... ( ♯ ‘ 𝐹 ) ) ↦ if ( 𝑥 ≤ ( ( ♯ ‘ 𝐹 ) − 𝐾 ) , ( 𝑃 ‘ ( 𝑥 + 𝐾 ) ) , ( 𝑃 ‘ ( ( 𝑥 + 𝐾 ) − ( ♯ ‘ 𝐹 ) ) ) ) ) ) ) → 0 < ( ♯ ‘ ( 𝐹 cyclShift 𝐾 ) ) ) |
201 |
126
|
oveq1d |
⊢ ( 𝜑 → ( 𝑁 − 1 ) = ( ( ♯ ‘ ( 𝐹 cyclShift 𝐾 ) ) − 1 ) ) |
202 |
201
|
ad2antlr |
⊢ ( ( ( ¬ 𝐽 = ( 𝑁 − 1 ) ∧ 𝜑 ) ∧ ( ( 𝐹 cyclShift 𝐾 ) ( EulerPaths ‘ 𝐺 ) ( 𝑥 ∈ ( 0 ... ( ♯ ‘ 𝐹 ) ) ↦ if ( 𝑥 ≤ ( ( ♯ ‘ 𝐹 ) − 𝐾 ) , ( 𝑃 ‘ ( 𝑥 + 𝐾 ) ) , ( 𝑃 ‘ ( ( 𝑥 + 𝐾 ) − ( ♯ ‘ 𝐹 ) ) ) ) ) ∧ ( 𝐹 cyclShift 𝐾 ) ( Circuits ‘ 𝐺 ) ( 𝑥 ∈ ( 0 ... ( ♯ ‘ 𝐹 ) ) ↦ if ( 𝑥 ≤ ( ( ♯ ‘ 𝐹 ) − 𝐾 ) , ( 𝑃 ‘ ( 𝑥 + 𝐾 ) ) , ( 𝑃 ‘ ( ( 𝑥 + 𝐾 ) − ( ♯ ‘ 𝐹 ) ) ) ) ) ) ) → ( 𝑁 − 1 ) = ( ( ♯ ‘ ( 𝐹 cyclShift 𝐾 ) ) − 1 ) ) |
203 |
8
|
adantl |
⊢ ( ( ¬ 𝐽 = ( 𝑁 − 1 ) ∧ 𝜑 ) → ( iEdg ‘ 𝑆 ) = ( 𝐼 ↾ ( 𝐹 “ ( ( 0 ..^ 𝑁 ) ∖ { 𝐽 } ) ) ) ) |
204 |
132
|
adantl |
⊢ ( ( ¬ 𝐽 = ( 𝑁 − 1 ) ∧ 𝜑 ) → ( 𝐹 ∈ Word dom 𝐼 ∧ 𝑁 = ( ♯ ‘ 𝐹 ) ∧ 𝐽 ∈ ( 0 ..^ 𝑁 ) ) ) |
205 |
204 134
|
syl |
⊢ ( ( ¬ 𝐽 = ( 𝑁 − 1 ) ∧ 𝜑 ) → ( 𝐹 “ ( ( 0 ..^ 𝑁 ) ∖ { 𝐽 } ) ) = ( ( 𝐹 cyclShift ( 𝐽 + 1 ) ) “ ( 0 ..^ ( 𝑁 − 1 ) ) ) ) |
206 |
205 136
|
eqtrdi |
⊢ ( ( ¬ 𝐽 = ( 𝑁 − 1 ) ∧ 𝜑 ) → ( 𝐹 “ ( ( 0 ..^ 𝑁 ) ∖ { 𝐽 } ) ) = ( ( 𝐹 cyclShift 𝐾 ) “ ( 0 ..^ ( 𝑁 − 1 ) ) ) ) |
207 |
206
|
reseq2d |
⊢ ( ( ¬ 𝐽 = ( 𝑁 − 1 ) ∧ 𝜑 ) → ( 𝐼 ↾ ( 𝐹 “ ( ( 0 ..^ 𝑁 ) ∖ { 𝐽 } ) ) ) = ( 𝐼 ↾ ( ( 𝐹 cyclShift 𝐾 ) “ ( 0 ..^ ( 𝑁 − 1 ) ) ) ) ) |
208 |
203 207
|
eqtrd |
⊢ ( ( ¬ 𝐽 = ( 𝑁 − 1 ) ∧ 𝜑 ) → ( iEdg ‘ 𝑆 ) = ( 𝐼 ↾ ( ( 𝐹 cyclShift 𝐾 ) “ ( 0 ..^ ( 𝑁 − 1 ) ) ) ) ) |
209 |
208
|
adantr |
⊢ ( ( ( ¬ 𝐽 = ( 𝑁 − 1 ) ∧ 𝜑 ) ∧ ( ( 𝐹 cyclShift 𝐾 ) ( EulerPaths ‘ 𝐺 ) ( 𝑥 ∈ ( 0 ... ( ♯ ‘ 𝐹 ) ) ↦ if ( 𝑥 ≤ ( ( ♯ ‘ 𝐹 ) − 𝐾 ) , ( 𝑃 ‘ ( 𝑥 + 𝐾 ) ) , ( 𝑃 ‘ ( ( 𝑥 + 𝐾 ) − ( ♯ ‘ 𝐹 ) ) ) ) ) ∧ ( 𝐹 cyclShift 𝐾 ) ( Circuits ‘ 𝐺 ) ( 𝑥 ∈ ( 0 ... ( ♯ ‘ 𝐹 ) ) ↦ if ( 𝑥 ≤ ( ( ♯ ‘ 𝐹 ) − 𝐾 ) , ( 𝑃 ‘ ( 𝑥 + 𝐾 ) ) , ( 𝑃 ‘ ( ( 𝑥 + 𝐾 ) − ( ♯ ‘ 𝐹 ) ) ) ) ) ) ) → ( iEdg ‘ 𝑆 ) = ( 𝐼 ↾ ( ( 𝐹 cyclShift 𝐾 ) “ ( 0 ..^ ( 𝑁 − 1 ) ) ) ) ) |
210 |
|
eqid |
⊢ ( ( 𝑥 ∈ ( 0 ... ( ♯ ‘ 𝐹 ) ) ↦ if ( 𝑥 ≤ ( ( ♯ ‘ 𝐹 ) − 𝐾 ) , ( 𝑃 ‘ ( 𝑥 + 𝐾 ) ) , ( 𝑃 ‘ ( ( 𝑥 + 𝐾 ) − ( ♯ ‘ 𝐹 ) ) ) ) ) ↾ ( 0 ... ( 𝑁 − 1 ) ) ) = ( ( 𝑥 ∈ ( 0 ... ( ♯ ‘ 𝐹 ) ) ↦ if ( 𝑥 ≤ ( ( ♯ ‘ 𝐹 ) − 𝐾 ) , ( 𝑃 ‘ ( 𝑥 + 𝐾 ) ) , ( 𝑃 ‘ ( ( 𝑥 + 𝐾 ) − ( ♯ ‘ 𝐹 ) ) ) ) ) ↾ ( 0 ... ( 𝑁 − 1 ) ) ) |
211 |
1 2 198 199 5 200 202 209 140 210
|
eucrct2eupth1 |
⊢ ( ( ( ¬ 𝐽 = ( 𝑁 − 1 ) ∧ 𝜑 ) ∧ ( ( 𝐹 cyclShift 𝐾 ) ( EulerPaths ‘ 𝐺 ) ( 𝑥 ∈ ( 0 ... ( ♯ ‘ 𝐹 ) ) ↦ if ( 𝑥 ≤ ( ( ♯ ‘ 𝐹 ) − 𝐾 ) , ( 𝑃 ‘ ( 𝑥 + 𝐾 ) ) , ( 𝑃 ‘ ( ( 𝑥 + 𝐾 ) − ( ♯ ‘ 𝐹 ) ) ) ) ) ∧ ( 𝐹 cyclShift 𝐾 ) ( Circuits ‘ 𝐺 ) ( 𝑥 ∈ ( 0 ... ( ♯ ‘ 𝐹 ) ) ↦ if ( 𝑥 ≤ ( ( ♯ ‘ 𝐹 ) − 𝐾 ) , ( 𝑃 ‘ ( 𝑥 + 𝐾 ) ) , ( 𝑃 ‘ ( ( 𝑥 + 𝐾 ) − ( ♯ ‘ 𝐹 ) ) ) ) ) ) ) → ( ( 𝐹 cyclShift 𝐾 ) prefix ( 𝑁 − 1 ) ) ( EulerPaths ‘ 𝑆 ) ( ( 𝑥 ∈ ( 0 ... ( ♯ ‘ 𝐹 ) ) ↦ if ( 𝑥 ≤ ( ( ♯ ‘ 𝐹 ) − 𝐾 ) , ( 𝑃 ‘ ( 𝑥 + 𝐾 ) ) , ( 𝑃 ‘ ( ( 𝑥 + 𝐾 ) − ( ♯ ‘ 𝐹 ) ) ) ) ) ↾ ( 0 ... ( 𝑁 − 1 ) ) ) ) |
212 |
10
|
a1i |
⊢ ( ( ( ¬ 𝐽 = ( 𝑁 − 1 ) ∧ 𝜑 ) ∧ ( ( 𝐹 cyclShift 𝐾 ) ( EulerPaths ‘ 𝐺 ) ( 𝑥 ∈ ( 0 ... ( ♯ ‘ 𝐹 ) ) ↦ if ( 𝑥 ≤ ( ( ♯ ‘ 𝐹 ) − 𝐾 ) , ( 𝑃 ‘ ( 𝑥 + 𝐾 ) ) , ( 𝑃 ‘ ( ( 𝑥 + 𝐾 ) − ( ♯ ‘ 𝐹 ) ) ) ) ) ∧ ( 𝐹 cyclShift 𝐾 ) ( Circuits ‘ 𝐺 ) ( 𝑥 ∈ ( 0 ... ( ♯ ‘ 𝐹 ) ) ↦ if ( 𝑥 ≤ ( ( ♯ ‘ 𝐹 ) − 𝐾 ) , ( 𝑃 ‘ ( 𝑥 + 𝐾 ) ) , ( 𝑃 ‘ ( ( 𝑥 + 𝐾 ) − ( ♯ ‘ 𝐹 ) ) ) ) ) ) ) → 𝐻 = ( ( 𝐹 cyclShift 𝐾 ) prefix ( 𝑁 − 1 ) ) ) |
213 |
190
|
oveq1d |
⊢ ( 𝜑 → ( ( ♯ ‘ 𝐹 ) − 𝐾 ) = ( 𝑁 − 𝐾 ) ) |
214 |
213
|
breq2d |
⊢ ( 𝜑 → ( 𝑥 ≤ ( ( ♯ ‘ 𝐹 ) − 𝐾 ) ↔ 𝑥 ≤ ( 𝑁 − 𝐾 ) ) ) |
215 |
214
|
adantl |
⊢ ( ( ¬ 𝐽 = ( 𝑁 − 1 ) ∧ 𝜑 ) → ( 𝑥 ≤ ( ( ♯ ‘ 𝐹 ) − 𝐾 ) ↔ 𝑥 ≤ ( 𝑁 − 𝐾 ) ) ) |
216 |
190
|
oveq2d |
⊢ ( 𝜑 → ( ( 𝑥 + 𝐾 ) − ( ♯ ‘ 𝐹 ) ) = ( ( 𝑥 + 𝐾 ) − 𝑁 ) ) |
217 |
216
|
fveq2d |
⊢ ( 𝜑 → ( 𝑃 ‘ ( ( 𝑥 + 𝐾 ) − ( ♯ ‘ 𝐹 ) ) ) = ( 𝑃 ‘ ( ( 𝑥 + 𝐾 ) − 𝑁 ) ) ) |
218 |
217
|
adantl |
⊢ ( ( ¬ 𝐽 = ( 𝑁 − 1 ) ∧ 𝜑 ) → ( 𝑃 ‘ ( ( 𝑥 + 𝐾 ) − ( ♯ ‘ 𝐹 ) ) ) = ( 𝑃 ‘ ( ( 𝑥 + 𝐾 ) − 𝑁 ) ) ) |
219 |
215 218
|
ifbieq2d |
⊢ ( ( ¬ 𝐽 = ( 𝑁 − 1 ) ∧ 𝜑 ) → if ( 𝑥 ≤ ( ( ♯ ‘ 𝐹 ) − 𝐾 ) , ( 𝑃 ‘ ( 𝑥 + 𝐾 ) ) , ( 𝑃 ‘ ( ( 𝑥 + 𝐾 ) − ( ♯ ‘ 𝐹 ) ) ) ) = if ( 𝑥 ≤ ( 𝑁 − 𝐾 ) , ( 𝑃 ‘ ( 𝑥 + 𝐾 ) ) , ( 𝑃 ‘ ( ( 𝑥 + 𝐾 ) − 𝑁 ) ) ) ) |
220 |
219
|
mpteq2dv |
⊢ ( ( ¬ 𝐽 = ( 𝑁 − 1 ) ∧ 𝜑 ) → ( 𝑥 ∈ ( 0 ... ( ♯ ‘ 𝐹 ) ) ↦ if ( 𝑥 ≤ ( ( ♯ ‘ 𝐹 ) − 𝐾 ) , ( 𝑃 ‘ ( 𝑥 + 𝐾 ) ) , ( 𝑃 ‘ ( ( 𝑥 + 𝐾 ) − ( ♯ ‘ 𝐹 ) ) ) ) ) = ( 𝑥 ∈ ( 0 ... ( ♯ ‘ 𝐹 ) ) ↦ if ( 𝑥 ≤ ( 𝑁 − 𝐾 ) , ( 𝑃 ‘ ( 𝑥 + 𝐾 ) ) , ( 𝑃 ‘ ( ( 𝑥 + 𝐾 ) − 𝑁 ) ) ) ) ) |
221 |
150
|
eqcomd |
⊢ ( 𝜑 → ( 0 ... ( 𝑁 − 1 ) ) = ( 0 ..^ 𝑁 ) ) |
222 |
221
|
adantl |
⊢ ( ( ¬ 𝐽 = ( 𝑁 − 1 ) ∧ 𝜑 ) → ( 0 ... ( 𝑁 − 1 ) ) = ( 0 ..^ 𝑁 ) ) |
223 |
220 222
|
reseq12d |
⊢ ( ( ¬ 𝐽 = ( 𝑁 − 1 ) ∧ 𝜑 ) → ( ( 𝑥 ∈ ( 0 ... ( ♯ ‘ 𝐹 ) ) ↦ if ( 𝑥 ≤ ( ( ♯ ‘ 𝐹 ) − 𝐾 ) , ( 𝑃 ‘ ( 𝑥 + 𝐾 ) ) , ( 𝑃 ‘ ( ( 𝑥 + 𝐾 ) − ( ♯ ‘ 𝐹 ) ) ) ) ) ↾ ( 0 ... ( 𝑁 − 1 ) ) ) = ( ( 𝑥 ∈ ( 0 ... ( ♯ ‘ 𝐹 ) ) ↦ if ( 𝑥 ≤ ( 𝑁 − 𝐾 ) , ( 𝑃 ‘ ( 𝑥 + 𝐾 ) ) , ( 𝑃 ‘ ( ( 𝑥 + 𝐾 ) − 𝑁 ) ) ) ) ↾ ( 0 ..^ 𝑁 ) ) ) |
224 |
6
|
adantl |
⊢ ( ( ¬ 𝐽 = ( 𝑁 − 1 ) ∧ 𝜑 ) → 𝑁 = ( ♯ ‘ 𝐹 ) ) |
225 |
224
|
oveq2d |
⊢ ( ( ¬ 𝐽 = ( 𝑁 − 1 ) ∧ 𝜑 ) → ( 0 ... 𝑁 ) = ( 0 ... ( ♯ ‘ 𝐹 ) ) ) |
226 |
144 225
|
sseqtrid |
⊢ ( ( ¬ 𝐽 = ( 𝑁 − 1 ) ∧ 𝜑 ) → ( 0 ..^ 𝑁 ) ⊆ ( 0 ... ( ♯ ‘ 𝐹 ) ) ) |
227 |
226
|
resmptd |
⊢ ( ( ¬ 𝐽 = ( 𝑁 − 1 ) ∧ 𝜑 ) → ( ( 𝑥 ∈ ( 0 ... ( ♯ ‘ 𝐹 ) ) ↦ if ( 𝑥 ≤ ( 𝑁 − 𝐾 ) , ( 𝑃 ‘ ( 𝑥 + 𝐾 ) ) , ( 𝑃 ‘ ( ( 𝑥 + 𝐾 ) − 𝑁 ) ) ) ) ↾ ( 0 ..^ 𝑁 ) ) = ( 𝑥 ∈ ( 0 ..^ 𝑁 ) ↦ if ( 𝑥 ≤ ( 𝑁 − 𝐾 ) , ( 𝑃 ‘ ( 𝑥 + 𝐾 ) ) , ( 𝑃 ‘ ( ( 𝑥 + 𝐾 ) − 𝑁 ) ) ) ) ) |
228 |
223 227
|
eqtrd |
⊢ ( ( ¬ 𝐽 = ( 𝑁 − 1 ) ∧ 𝜑 ) → ( ( 𝑥 ∈ ( 0 ... ( ♯ ‘ 𝐹 ) ) ↦ if ( 𝑥 ≤ ( ( ♯ ‘ 𝐹 ) − 𝐾 ) , ( 𝑃 ‘ ( 𝑥 + 𝐾 ) ) , ( 𝑃 ‘ ( ( 𝑥 + 𝐾 ) − ( ♯ ‘ 𝐹 ) ) ) ) ) ↾ ( 0 ... ( 𝑁 − 1 ) ) ) = ( 𝑥 ∈ ( 0 ..^ 𝑁 ) ↦ if ( 𝑥 ≤ ( 𝑁 − 𝐾 ) , ( 𝑃 ‘ ( 𝑥 + 𝐾 ) ) , ( 𝑃 ‘ ( ( 𝑥 + 𝐾 ) − 𝑁 ) ) ) ) ) |
229 |
11 228
|
eqtr4id |
⊢ ( ( ¬ 𝐽 = ( 𝑁 − 1 ) ∧ 𝜑 ) → 𝑄 = ( ( 𝑥 ∈ ( 0 ... ( ♯ ‘ 𝐹 ) ) ↦ if ( 𝑥 ≤ ( ( ♯ ‘ 𝐹 ) − 𝐾 ) , ( 𝑃 ‘ ( 𝑥 + 𝐾 ) ) , ( 𝑃 ‘ ( ( 𝑥 + 𝐾 ) − ( ♯ ‘ 𝐹 ) ) ) ) ) ↾ ( 0 ... ( 𝑁 − 1 ) ) ) ) |
230 |
229
|
adantr |
⊢ ( ( ( ¬ 𝐽 = ( 𝑁 − 1 ) ∧ 𝜑 ) ∧ ( ( 𝐹 cyclShift 𝐾 ) ( EulerPaths ‘ 𝐺 ) ( 𝑥 ∈ ( 0 ... ( ♯ ‘ 𝐹 ) ) ↦ if ( 𝑥 ≤ ( ( ♯ ‘ 𝐹 ) − 𝐾 ) , ( 𝑃 ‘ ( 𝑥 + 𝐾 ) ) , ( 𝑃 ‘ ( ( 𝑥 + 𝐾 ) − ( ♯ ‘ 𝐹 ) ) ) ) ) ∧ ( 𝐹 cyclShift 𝐾 ) ( Circuits ‘ 𝐺 ) ( 𝑥 ∈ ( 0 ... ( ♯ ‘ 𝐹 ) ) ↦ if ( 𝑥 ≤ ( ( ♯ ‘ 𝐹 ) − 𝐾 ) , ( 𝑃 ‘ ( 𝑥 + 𝐾 ) ) , ( 𝑃 ‘ ( ( 𝑥 + 𝐾 ) − ( ♯ ‘ 𝐹 ) ) ) ) ) ) ) → 𝑄 = ( ( 𝑥 ∈ ( 0 ... ( ♯ ‘ 𝐹 ) ) ↦ if ( 𝑥 ≤ ( ( ♯ ‘ 𝐹 ) − 𝐾 ) , ( 𝑃 ‘ ( 𝑥 + 𝐾 ) ) , ( 𝑃 ‘ ( ( 𝑥 + 𝐾 ) − ( ♯ ‘ 𝐹 ) ) ) ) ) ↾ ( 0 ... ( 𝑁 − 1 ) ) ) ) |
231 |
211 212 230
|
3brtr4d |
⊢ ( ( ( ¬ 𝐽 = ( 𝑁 − 1 ) ∧ 𝜑 ) ∧ ( ( 𝐹 cyclShift 𝐾 ) ( EulerPaths ‘ 𝐺 ) ( 𝑥 ∈ ( 0 ... ( ♯ ‘ 𝐹 ) ) ↦ if ( 𝑥 ≤ ( ( ♯ ‘ 𝐹 ) − 𝐾 ) , ( 𝑃 ‘ ( 𝑥 + 𝐾 ) ) , ( 𝑃 ‘ ( ( 𝑥 + 𝐾 ) − ( ♯ ‘ 𝐹 ) ) ) ) ) ∧ ( 𝐹 cyclShift 𝐾 ) ( Circuits ‘ 𝐺 ) ( 𝑥 ∈ ( 0 ... ( ♯ ‘ 𝐹 ) ) ↦ if ( 𝑥 ≤ ( ( ♯ ‘ 𝐹 ) − 𝐾 ) , ( 𝑃 ‘ ( 𝑥 + 𝐾 ) ) , ( 𝑃 ‘ ( ( 𝑥 + 𝐾 ) − ( ♯ ‘ 𝐹 ) ) ) ) ) ) ) → 𝐻 ( EulerPaths ‘ 𝑆 ) 𝑄 ) |
232 |
197 231
|
mpdan |
⊢ ( ( ¬ 𝐽 = ( 𝑁 − 1 ) ∧ 𝜑 ) → 𝐻 ( EulerPaths ‘ 𝑆 ) 𝑄 ) |
233 |
155 232
|
pm2.61ian |
⊢ ( 𝜑 → 𝐻 ( EulerPaths ‘ 𝑆 ) 𝑄 ) |