Metamath Proof Explorer


Theorem eucrct2eupth

Description: Removing one edge ( I( FJ ) ) from a graph G with an Eulerian circuit <. F , P >. results in a graph S with an Eulerian path <. H , Q >. . (Contributed by AV, 17-Mar-2021) Hypothesis revised using the prefix operation. (Revised by AV, 30-Nov-2022)

Ref Expression
Hypotheses eucrct2eupth1.v 𝑉 = ( Vtx ‘ 𝐺 )
eucrct2eupth1.i 𝐼 = ( iEdg ‘ 𝐺 )
eucrct2eupth1.d ( 𝜑𝐹 ( EulerPaths ‘ 𝐺 ) 𝑃 )
eucrct2eupth1.c ( 𝜑𝐹 ( Circuits ‘ 𝐺 ) 𝑃 )
eucrct2eupth1.s ( Vtx ‘ 𝑆 ) = 𝑉
eucrct2eupth.n ( 𝜑𝑁 = ( ♯ ‘ 𝐹 ) )
eucrct2eupth.j ( 𝜑𝐽 ∈ ( 0 ..^ 𝑁 ) )
eucrct2eupth.e ( 𝜑 → ( iEdg ‘ 𝑆 ) = ( 𝐼 ↾ ( 𝐹 “ ( ( 0 ..^ 𝑁 ) ∖ { 𝐽 } ) ) ) )
eucrct2eupth.k 𝐾 = ( 𝐽 + 1 )
eucrct2eupth.h 𝐻 = ( ( 𝐹 cyclShift 𝐾 ) prefix ( 𝑁 − 1 ) )
eucrct2eupth.q 𝑄 = ( 𝑥 ∈ ( 0 ..^ 𝑁 ) ↦ if ( 𝑥 ≤ ( 𝑁𝐾 ) , ( 𝑃 ‘ ( 𝑥 + 𝐾 ) ) , ( 𝑃 ‘ ( ( 𝑥 + 𝐾 ) − 𝑁 ) ) ) )
Assertion eucrct2eupth ( 𝜑𝐻 ( EulerPaths ‘ 𝑆 ) 𝑄 )

Proof

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 ‘ 𝑆 ) 𝑄 )