Step |
Hyp |
Ref |
Expression |
1 |
|
eucrctshift.v |
|- V = ( Vtx ` G ) |
2 |
|
eucrctshift.i |
|- I = ( iEdg ` G ) |
3 |
|
eucrctshift.c |
|- ( ph -> F ( Circuits ` G ) P ) |
4 |
|
eucrctshift.n |
|- N = ( # ` F ) |
5 |
|
eucrctshift.s |
|- ( ph -> S e. ( 0 ..^ N ) ) |
6 |
|
eucrctshift.h |
|- H = ( F cyclShift S ) |
7 |
|
eucrctshift.q |
|- Q = ( x e. ( 0 ... N ) |-> if ( x <_ ( N - S ) , ( P ` ( x + S ) ) , ( P ` ( ( x + S ) - N ) ) ) ) |
8 |
|
eucrctshift.e |
|- ( ph -> F ( EulerPaths ` G ) P ) |
9 |
1 2 3 4 5 6 7
|
crctcshtrl |
|- ( ph -> H ( Trails ` G ) Q ) |
10 |
|
simpr |
|- ( ( ph /\ H ( Trails ` G ) Q ) -> H ( Trails ` G ) Q ) |
11 |
2
|
eupthf1o |
|- ( F ( EulerPaths ` G ) P -> F : ( 0 ..^ ( # ` F ) ) -1-1-onto-> dom I ) |
12 |
8 11
|
syl |
|- ( ph -> F : ( 0 ..^ ( # ` F ) ) -1-1-onto-> dom I ) |
13 |
12
|
adantr |
|- ( ( ph /\ H ( Trails ` G ) Q ) -> F : ( 0 ..^ ( # ` F ) ) -1-1-onto-> dom I ) |
14 |
|
trliswlk |
|- ( H ( Trails ` G ) Q -> H ( Walks ` G ) Q ) |
15 |
2
|
wlkf |
|- ( H ( Walks ` G ) Q -> H e. Word dom I ) |
16 |
|
wrdf |
|- ( H e. Word dom I -> H : ( 0 ..^ ( # ` H ) ) --> dom I ) |
17 |
|
df-f1o |
|- ( F : ( 0 ..^ ( # ` F ) ) -1-1-onto-> dom I <-> ( F : ( 0 ..^ ( # ` F ) ) -1-1-> dom I /\ F : ( 0 ..^ ( # ` F ) ) -onto-> dom I ) ) |
18 |
|
dffo3 |
|- ( F : ( 0 ..^ ( # ` F ) ) -onto-> dom I <-> ( F : ( 0 ..^ ( # ` F ) ) --> dom I /\ A. i e. dom I E. y e. ( 0 ..^ ( # ` F ) ) i = ( F ` y ) ) ) |
19 |
|
crctiswlk |
|- ( F ( Circuits ` G ) P -> F ( Walks ` G ) P ) |
20 |
2
|
wlkf |
|- ( F ( Walks ` G ) P -> F e. Word dom I ) |
21 |
|
lencl |
|- ( F e. Word dom I -> ( # ` F ) e. NN0 ) |
22 |
4
|
oveq2i |
|- ( 0 ..^ N ) = ( 0 ..^ ( # ` F ) ) |
23 |
22
|
eleq2i |
|- ( S e. ( 0 ..^ N ) <-> S e. ( 0 ..^ ( # ` F ) ) ) |
24 |
|
elfzonn0 |
|- ( S e. ( 0 ..^ ( # ` F ) ) -> S e. NN0 ) |
25 |
24
|
adantl |
|- ( ( ( # ` F ) e. NN0 /\ S e. ( 0 ..^ ( # ` F ) ) ) -> S e. NN0 ) |
26 |
|
elfzonn0 |
|- ( y e. ( 0 ..^ ( # ` F ) ) -> y e. NN0 ) |
27 |
|
nn0sub |
|- ( ( S e. NN0 /\ y e. NN0 ) -> ( S <_ y <-> ( y - S ) e. NN0 ) ) |
28 |
25 26 27
|
syl2an |
|- ( ( ( ( # ` F ) e. NN0 /\ S e. ( 0 ..^ ( # ` F ) ) ) /\ y e. ( 0 ..^ ( # ` F ) ) ) -> ( S <_ y <-> ( y - S ) e. NN0 ) ) |
29 |
28
|
biimpac |
|- ( ( S <_ y /\ ( ( ( # ` F ) e. NN0 /\ S e. ( 0 ..^ ( # ` F ) ) ) /\ y e. ( 0 ..^ ( # ` F ) ) ) ) -> ( y - S ) e. NN0 ) |
30 |
|
elfzo0 |
|- ( y e. ( 0 ..^ ( # ` F ) ) <-> ( y e. NN0 /\ ( # ` F ) e. NN /\ y < ( # ` F ) ) ) |
31 |
|
simp2 |
|- ( ( y e. NN0 /\ ( # ` F ) e. NN /\ y < ( # ` F ) ) -> ( # ` F ) e. NN ) |
32 |
30 31
|
sylbi |
|- ( y e. ( 0 ..^ ( # ` F ) ) -> ( # ` F ) e. NN ) |
33 |
32
|
ad2antll |
|- ( ( S <_ y /\ ( ( ( # ` F ) e. NN0 /\ S e. ( 0 ..^ ( # ` F ) ) ) /\ y e. ( 0 ..^ ( # ` F ) ) ) ) -> ( # ` F ) e. NN ) |
34 |
|
nn0re |
|- ( y e. NN0 -> y e. RR ) |
35 |
34
|
ad2antrr |
|- ( ( ( y e. NN0 /\ ( # ` F ) e. NN ) /\ S e. ( 0 ..^ ( # ` F ) ) ) -> y e. RR ) |
36 |
|
nnre |
|- ( ( # ` F ) e. NN -> ( # ` F ) e. RR ) |
37 |
36
|
adantl |
|- ( ( y e. NN0 /\ ( # ` F ) e. NN ) -> ( # ` F ) e. RR ) |
38 |
37
|
adantr |
|- ( ( ( y e. NN0 /\ ( # ` F ) e. NN ) /\ S e. ( 0 ..^ ( # ` F ) ) ) -> ( # ` F ) e. RR ) |
39 |
|
elfzoelz |
|- ( S e. ( 0 ..^ ( # ` F ) ) -> S e. ZZ ) |
40 |
39
|
zred |
|- ( S e. ( 0 ..^ ( # ` F ) ) -> S e. RR ) |
41 |
|
readdcl |
|- ( ( ( # ` F ) e. RR /\ S e. RR ) -> ( ( # ` F ) + S ) e. RR ) |
42 |
37 40 41
|
syl2an |
|- ( ( ( y e. NN0 /\ ( # ` F ) e. NN ) /\ S e. ( 0 ..^ ( # ` F ) ) ) -> ( ( # ` F ) + S ) e. RR ) |
43 |
35 38 42
|
3jca |
|- ( ( ( y e. NN0 /\ ( # ` F ) e. NN ) /\ S e. ( 0 ..^ ( # ` F ) ) ) -> ( y e. RR /\ ( # ` F ) e. RR /\ ( ( # ` F ) + S ) e. RR ) ) |
44 |
|
elfzole1 |
|- ( S e. ( 0 ..^ ( # ` F ) ) -> 0 <_ S ) |
45 |
44
|
adantl |
|- ( ( ( y e. NN0 /\ ( # ` F ) e. NN ) /\ S e. ( 0 ..^ ( # ` F ) ) ) -> 0 <_ S ) |
46 |
|
addge01 |
|- ( ( ( # ` F ) e. RR /\ S e. RR ) -> ( 0 <_ S <-> ( # ` F ) <_ ( ( # ` F ) + S ) ) ) |
47 |
37 40 46
|
syl2an |
|- ( ( ( y e. NN0 /\ ( # ` F ) e. NN ) /\ S e. ( 0 ..^ ( # ` F ) ) ) -> ( 0 <_ S <-> ( # ` F ) <_ ( ( # ` F ) + S ) ) ) |
48 |
45 47
|
mpbid |
|- ( ( ( y e. NN0 /\ ( # ` F ) e. NN ) /\ S e. ( 0 ..^ ( # ` F ) ) ) -> ( # ` F ) <_ ( ( # ` F ) + S ) ) |
49 |
43 48
|
lelttrdi |
|- ( ( ( y e. NN0 /\ ( # ` F ) e. NN ) /\ S e. ( 0 ..^ ( # ` F ) ) ) -> ( y < ( # ` F ) -> y < ( ( # ` F ) + S ) ) ) |
50 |
49
|
ex |
|- ( ( y e. NN0 /\ ( # ` F ) e. NN ) -> ( S e. ( 0 ..^ ( # ` F ) ) -> ( y < ( # ` F ) -> y < ( ( # ` F ) + S ) ) ) ) |
51 |
50
|
com23 |
|- ( ( y e. NN0 /\ ( # ` F ) e. NN ) -> ( y < ( # ` F ) -> ( S e. ( 0 ..^ ( # ` F ) ) -> y < ( ( # ` F ) + S ) ) ) ) |
52 |
51
|
3impia |
|- ( ( y e. NN0 /\ ( # ` F ) e. NN /\ y < ( # ` F ) ) -> ( S e. ( 0 ..^ ( # ` F ) ) -> y < ( ( # ` F ) + S ) ) ) |
53 |
52
|
adantld |
|- ( ( y e. NN0 /\ ( # ` F ) e. NN /\ y < ( # ` F ) ) -> ( ( ( # ` F ) e. NN0 /\ S e. ( 0 ..^ ( # ` F ) ) ) -> y < ( ( # ` F ) + S ) ) ) |
54 |
53
|
imp |
|- ( ( ( y e. NN0 /\ ( # ` F ) e. NN /\ y < ( # ` F ) ) /\ ( ( # ` F ) e. NN0 /\ S e. ( 0 ..^ ( # ` F ) ) ) ) -> y < ( ( # ` F ) + S ) ) |
55 |
34
|
3ad2ant1 |
|- ( ( y e. NN0 /\ ( # ` F ) e. NN /\ y < ( # ` F ) ) -> y e. RR ) |
56 |
55
|
adantr |
|- ( ( ( y e. NN0 /\ ( # ` F ) e. NN /\ y < ( # ` F ) ) /\ ( ( # ` F ) e. NN0 /\ S e. ( 0 ..^ ( # ` F ) ) ) ) -> y e. RR ) |
57 |
40
|
ad2antll |
|- ( ( ( y e. NN0 /\ ( # ` F ) e. NN /\ y < ( # ` F ) ) /\ ( ( # ` F ) e. NN0 /\ S e. ( 0 ..^ ( # ` F ) ) ) ) -> S e. RR ) |
58 |
|
elfzoel2 |
|- ( S e. ( 0 ..^ ( # ` F ) ) -> ( # ` F ) e. ZZ ) |
59 |
58
|
zred |
|- ( S e. ( 0 ..^ ( # ` F ) ) -> ( # ` F ) e. RR ) |
60 |
59
|
ad2antll |
|- ( ( ( y e. NN0 /\ ( # ` F ) e. NN /\ y < ( # ` F ) ) /\ ( ( # ` F ) e. NN0 /\ S e. ( 0 ..^ ( # ` F ) ) ) ) -> ( # ` F ) e. RR ) |
61 |
56 57 60
|
ltsubaddd |
|- ( ( ( y e. NN0 /\ ( # ` F ) e. NN /\ y < ( # ` F ) ) /\ ( ( # ` F ) e. NN0 /\ S e. ( 0 ..^ ( # ` F ) ) ) ) -> ( ( y - S ) < ( # ` F ) <-> y < ( ( # ` F ) + S ) ) ) |
62 |
54 61
|
mpbird |
|- ( ( ( y e. NN0 /\ ( # ` F ) e. NN /\ y < ( # ` F ) ) /\ ( ( # ` F ) e. NN0 /\ S e. ( 0 ..^ ( # ` F ) ) ) ) -> ( y - S ) < ( # ` F ) ) |
63 |
62
|
ex |
|- ( ( y e. NN0 /\ ( # ` F ) e. NN /\ y < ( # ` F ) ) -> ( ( ( # ` F ) e. NN0 /\ S e. ( 0 ..^ ( # ` F ) ) ) -> ( y - S ) < ( # ` F ) ) ) |
64 |
30 63
|
sylbi |
|- ( y e. ( 0 ..^ ( # ` F ) ) -> ( ( ( # ` F ) e. NN0 /\ S e. ( 0 ..^ ( # ` F ) ) ) -> ( y - S ) < ( # ` F ) ) ) |
65 |
64
|
impcom |
|- ( ( ( ( # ` F ) e. NN0 /\ S e. ( 0 ..^ ( # ` F ) ) ) /\ y e. ( 0 ..^ ( # ` F ) ) ) -> ( y - S ) < ( # ` F ) ) |
66 |
65
|
adantl |
|- ( ( S <_ y /\ ( ( ( # ` F ) e. NN0 /\ S e. ( 0 ..^ ( # ` F ) ) ) /\ y e. ( 0 ..^ ( # ` F ) ) ) ) -> ( y - S ) < ( # ` F ) ) |
67 |
|
elfzo0 |
|- ( ( y - S ) e. ( 0 ..^ ( # ` F ) ) <-> ( ( y - S ) e. NN0 /\ ( # ` F ) e. NN /\ ( y - S ) < ( # ` F ) ) ) |
68 |
29 33 66 67
|
syl3anbrc |
|- ( ( S <_ y /\ ( ( ( # ` F ) e. NN0 /\ S e. ( 0 ..^ ( # ` F ) ) ) /\ y e. ( 0 ..^ ( # ` F ) ) ) ) -> ( y - S ) e. ( 0 ..^ ( # ` F ) ) ) |
69 |
|
oveq1 |
|- ( z = ( y - S ) -> ( z + S ) = ( ( y - S ) + S ) ) |
70 |
69
|
oveq1d |
|- ( z = ( y - S ) -> ( ( z + S ) mod ( # ` F ) ) = ( ( ( y - S ) + S ) mod ( # ` F ) ) ) |
71 |
39
|
zcnd |
|- ( S e. ( 0 ..^ ( # ` F ) ) -> S e. CC ) |
72 |
71
|
adantl |
|- ( ( ( # ` F ) e. NN0 /\ S e. ( 0 ..^ ( # ` F ) ) ) -> S e. CC ) |
73 |
|
elfzoelz |
|- ( y e. ( 0 ..^ ( # ` F ) ) -> y e. ZZ ) |
74 |
73
|
zcnd |
|- ( y e. ( 0 ..^ ( # ` F ) ) -> y e. CC ) |
75 |
72 74
|
anim12ci |
|- ( ( ( ( # ` F ) e. NN0 /\ S e. ( 0 ..^ ( # ` F ) ) ) /\ y e. ( 0 ..^ ( # ` F ) ) ) -> ( y e. CC /\ S e. CC ) ) |
76 |
75
|
adantl |
|- ( ( S <_ y /\ ( ( ( # ` F ) e. NN0 /\ S e. ( 0 ..^ ( # ` F ) ) ) /\ y e. ( 0 ..^ ( # ` F ) ) ) ) -> ( y e. CC /\ S e. CC ) ) |
77 |
|
npcan |
|- ( ( y e. CC /\ S e. CC ) -> ( ( y - S ) + S ) = y ) |
78 |
76 77
|
syl |
|- ( ( S <_ y /\ ( ( ( # ` F ) e. NN0 /\ S e. ( 0 ..^ ( # ` F ) ) ) /\ y e. ( 0 ..^ ( # ` F ) ) ) ) -> ( ( y - S ) + S ) = y ) |
79 |
78
|
oveq1d |
|- ( ( S <_ y /\ ( ( ( # ` F ) e. NN0 /\ S e. ( 0 ..^ ( # ` F ) ) ) /\ y e. ( 0 ..^ ( # ` F ) ) ) ) -> ( ( ( y - S ) + S ) mod ( # ` F ) ) = ( y mod ( # ` F ) ) ) |
80 |
|
zmodidfzoimp |
|- ( y e. ( 0 ..^ ( # ` F ) ) -> ( y mod ( # ` F ) ) = y ) |
81 |
80
|
ad2antll |
|- ( ( S <_ y /\ ( ( ( # ` F ) e. NN0 /\ S e. ( 0 ..^ ( # ` F ) ) ) /\ y e. ( 0 ..^ ( # ` F ) ) ) ) -> ( y mod ( # ` F ) ) = y ) |
82 |
79 81
|
eqtrd |
|- ( ( S <_ y /\ ( ( ( # ` F ) e. NN0 /\ S e. ( 0 ..^ ( # ` F ) ) ) /\ y e. ( 0 ..^ ( # ` F ) ) ) ) -> ( ( ( y - S ) + S ) mod ( # ` F ) ) = y ) |
83 |
70 82
|
sylan9eqr |
|- ( ( ( S <_ y /\ ( ( ( # ` F ) e. NN0 /\ S e. ( 0 ..^ ( # ` F ) ) ) /\ y e. ( 0 ..^ ( # ` F ) ) ) ) /\ z = ( y - S ) ) -> ( ( z + S ) mod ( # ` F ) ) = y ) |
84 |
83
|
eqcomd |
|- ( ( ( S <_ y /\ ( ( ( # ` F ) e. NN0 /\ S e. ( 0 ..^ ( # ` F ) ) ) /\ y e. ( 0 ..^ ( # ` F ) ) ) ) /\ z = ( y - S ) ) -> y = ( ( z + S ) mod ( # ` F ) ) ) |
85 |
68 84
|
rspcedeq2vd |
|- ( ( S <_ y /\ ( ( ( # ` F ) e. NN0 /\ S e. ( 0 ..^ ( # ` F ) ) ) /\ y e. ( 0 ..^ ( # ` F ) ) ) ) -> E. z e. ( 0 ..^ ( # ` F ) ) y = ( ( z + S ) mod ( # ` F ) ) ) |
86 |
|
elfzo0 |
|- ( S e. ( 0 ..^ ( # ` F ) ) <-> ( S e. NN0 /\ ( # ` F ) e. NN /\ S < ( # ` F ) ) ) |
87 |
|
nn0cn |
|- ( y e. NN0 -> y e. CC ) |
88 |
87
|
ad2antrr |
|- ( ( ( y e. NN0 /\ y < ( # ` F ) ) /\ ( S e. NN0 /\ ( # ` F ) e. NN /\ S < ( # ` F ) ) ) -> y e. CC ) |
89 |
|
nn0cn |
|- ( S e. NN0 -> S e. CC ) |
90 |
89
|
3ad2ant1 |
|- ( ( S e. NN0 /\ ( # ` F ) e. NN /\ S < ( # ` F ) ) -> S e. CC ) |
91 |
90
|
adantl |
|- ( ( ( y e. NN0 /\ y < ( # ` F ) ) /\ ( S e. NN0 /\ ( # ` F ) e. NN /\ S < ( # ` F ) ) ) -> S e. CC ) |
92 |
|
nncn |
|- ( ( # ` F ) e. NN -> ( # ` F ) e. CC ) |
93 |
92
|
3ad2ant2 |
|- ( ( S e. NN0 /\ ( # ` F ) e. NN /\ S < ( # ` F ) ) -> ( # ` F ) e. CC ) |
94 |
93
|
adantl |
|- ( ( ( y e. NN0 /\ y < ( # ` F ) ) /\ ( S e. NN0 /\ ( # ` F ) e. NN /\ S < ( # ` F ) ) ) -> ( # ` F ) e. CC ) |
95 |
88 91 94
|
subadd23d |
|- ( ( ( y e. NN0 /\ y < ( # ` F ) ) /\ ( S e. NN0 /\ ( # ` F ) e. NN /\ S < ( # ` F ) ) ) -> ( ( y - S ) + ( # ` F ) ) = ( y + ( ( # ` F ) - S ) ) ) |
96 |
|
simpll |
|- ( ( ( y e. NN0 /\ y < ( # ` F ) ) /\ ( S e. NN0 /\ ( # ` F ) e. NN /\ S < ( # ` F ) ) ) -> y e. NN0 ) |
97 |
|
nn0z |
|- ( S e. NN0 -> S e. ZZ ) |
98 |
|
nnz |
|- ( ( # ` F ) e. NN -> ( # ` F ) e. ZZ ) |
99 |
|
znnsub |
|- ( ( S e. ZZ /\ ( # ` F ) e. ZZ ) -> ( S < ( # ` F ) <-> ( ( # ` F ) - S ) e. NN ) ) |
100 |
97 98 99
|
syl2an |
|- ( ( S e. NN0 /\ ( # ` F ) e. NN ) -> ( S < ( # ` F ) <-> ( ( # ` F ) - S ) e. NN ) ) |
101 |
100
|
biimp3a |
|- ( ( S e. NN0 /\ ( # ` F ) e. NN /\ S < ( # ` F ) ) -> ( ( # ` F ) - S ) e. NN ) |
102 |
101
|
adantl |
|- ( ( ( y e. NN0 /\ y < ( # ` F ) ) /\ ( S e. NN0 /\ ( # ` F ) e. NN /\ S < ( # ` F ) ) ) -> ( ( # ` F ) - S ) e. NN ) |
103 |
102
|
nnnn0d |
|- ( ( ( y e. NN0 /\ y < ( # ` F ) ) /\ ( S e. NN0 /\ ( # ` F ) e. NN /\ S < ( # ` F ) ) ) -> ( ( # ` F ) - S ) e. NN0 ) |
104 |
96 103
|
nn0addcld |
|- ( ( ( y e. NN0 /\ y < ( # ` F ) ) /\ ( S e. NN0 /\ ( # ` F ) e. NN /\ S < ( # ` F ) ) ) -> ( y + ( ( # ` F ) - S ) ) e. NN0 ) |
105 |
95 104
|
eqeltrd |
|- ( ( ( y e. NN0 /\ y < ( # ` F ) ) /\ ( S e. NN0 /\ ( # ` F ) e. NN /\ S < ( # ` F ) ) ) -> ( ( y - S ) + ( # ` F ) ) e. NN0 ) |
106 |
105
|
adantr |
|- ( ( ( ( y e. NN0 /\ y < ( # ` F ) ) /\ ( S e. NN0 /\ ( # ` F ) e. NN /\ S < ( # ` F ) ) ) /\ -. S <_ y ) -> ( ( y - S ) + ( # ` F ) ) e. NN0 ) |
107 |
|
simplr2 |
|- ( ( ( ( y e. NN0 /\ y < ( # ` F ) ) /\ ( S e. NN0 /\ ( # ` F ) e. NN /\ S < ( # ` F ) ) ) /\ -. S <_ y ) -> ( # ` F ) e. NN ) |
108 |
87
|
adantr |
|- ( ( y e. NN0 /\ y < ( # ` F ) ) -> y e. CC ) |
109 |
|
subcl |
|- ( ( y e. CC /\ S e. CC ) -> ( y - S ) e. CC ) |
110 |
108 90 109
|
syl2an |
|- ( ( ( y e. NN0 /\ y < ( # ` F ) ) /\ ( S e. NN0 /\ ( # ` F ) e. NN /\ S < ( # ` F ) ) ) -> ( y - S ) e. CC ) |
111 |
94 110
|
jca |
|- ( ( ( y e. NN0 /\ y < ( # ` F ) ) /\ ( S e. NN0 /\ ( # ` F ) e. NN /\ S < ( # ` F ) ) ) -> ( ( # ` F ) e. CC /\ ( y - S ) e. CC ) ) |
112 |
111
|
adantr |
|- ( ( ( ( y e. NN0 /\ y < ( # ` F ) ) /\ ( S e. NN0 /\ ( # ` F ) e. NN /\ S < ( # ` F ) ) ) /\ -. S <_ y ) -> ( ( # ` F ) e. CC /\ ( y - S ) e. CC ) ) |
113 |
|
addcom |
|- ( ( ( # ` F ) e. CC /\ ( y - S ) e. CC ) -> ( ( # ` F ) + ( y - S ) ) = ( ( y - S ) + ( # ` F ) ) ) |
114 |
112 113
|
syl |
|- ( ( ( ( y e. NN0 /\ y < ( # ` F ) ) /\ ( S e. NN0 /\ ( # ` F ) e. NN /\ S < ( # ` F ) ) ) /\ -. S <_ y ) -> ( ( # ` F ) + ( y - S ) ) = ( ( y - S ) + ( # ` F ) ) ) |
115 |
34
|
adantr |
|- ( ( y e. NN0 /\ y < ( # ` F ) ) -> y e. RR ) |
116 |
|
nn0re |
|- ( S e. NN0 -> S e. RR ) |
117 |
116
|
3ad2ant1 |
|- ( ( S e. NN0 /\ ( # ` F ) e. NN /\ S < ( # ` F ) ) -> S e. RR ) |
118 |
|
ltnle |
|- ( ( y e. RR /\ S e. RR ) -> ( y < S <-> -. S <_ y ) ) |
119 |
|
simpl |
|- ( ( y e. RR /\ S e. RR ) -> y e. RR ) |
120 |
|
simpr |
|- ( ( y e. RR /\ S e. RR ) -> S e. RR ) |
121 |
119 120
|
sublt0d |
|- ( ( y e. RR /\ S e. RR ) -> ( ( y - S ) < 0 <-> y < S ) ) |
122 |
121
|
biimprd |
|- ( ( y e. RR /\ S e. RR ) -> ( y < S -> ( y - S ) < 0 ) ) |
123 |
118 122
|
sylbird |
|- ( ( y e. RR /\ S e. RR ) -> ( -. S <_ y -> ( y - S ) < 0 ) ) |
124 |
115 117 123
|
syl2an |
|- ( ( ( y e. NN0 /\ y < ( # ` F ) ) /\ ( S e. NN0 /\ ( # ` F ) e. NN /\ S < ( # ` F ) ) ) -> ( -. S <_ y -> ( y - S ) < 0 ) ) |
125 |
124
|
imp |
|- ( ( ( ( y e. NN0 /\ y < ( # ` F ) ) /\ ( S e. NN0 /\ ( # ` F ) e. NN /\ S < ( # ` F ) ) ) /\ -. S <_ y ) -> ( y - S ) < 0 ) |
126 |
|
resubcl |
|- ( ( y e. RR /\ S e. RR ) -> ( y - S ) e. RR ) |
127 |
115 117 126
|
syl2an |
|- ( ( ( y e. NN0 /\ y < ( # ` F ) ) /\ ( S e. NN0 /\ ( # ` F ) e. NN /\ S < ( # ` F ) ) ) -> ( y - S ) e. RR ) |
128 |
36
|
3ad2ant2 |
|- ( ( S e. NN0 /\ ( # ` F ) e. NN /\ S < ( # ` F ) ) -> ( # ` F ) e. RR ) |
129 |
128
|
adantl |
|- ( ( ( y e. NN0 /\ y < ( # ` F ) ) /\ ( S e. NN0 /\ ( # ` F ) e. NN /\ S < ( # ` F ) ) ) -> ( # ` F ) e. RR ) |
130 |
127 129
|
jca |
|- ( ( ( y e. NN0 /\ y < ( # ` F ) ) /\ ( S e. NN0 /\ ( # ` F ) e. NN /\ S < ( # ` F ) ) ) -> ( ( y - S ) e. RR /\ ( # ` F ) e. RR ) ) |
131 |
130
|
adantr |
|- ( ( ( ( y e. NN0 /\ y < ( # ` F ) ) /\ ( S e. NN0 /\ ( # ` F ) e. NN /\ S < ( # ` F ) ) ) /\ -. S <_ y ) -> ( ( y - S ) e. RR /\ ( # ` F ) e. RR ) ) |
132 |
|
ltaddneg |
|- ( ( ( y - S ) e. RR /\ ( # ` F ) e. RR ) -> ( ( y - S ) < 0 <-> ( ( # ` F ) + ( y - S ) ) < ( # ` F ) ) ) |
133 |
131 132
|
syl |
|- ( ( ( ( y e. NN0 /\ y < ( # ` F ) ) /\ ( S e. NN0 /\ ( # ` F ) e. NN /\ S < ( # ` F ) ) ) /\ -. S <_ y ) -> ( ( y - S ) < 0 <-> ( ( # ` F ) + ( y - S ) ) < ( # ` F ) ) ) |
134 |
125 133
|
mpbid |
|- ( ( ( ( y e. NN0 /\ y < ( # ` F ) ) /\ ( S e. NN0 /\ ( # ` F ) e. NN /\ S < ( # ` F ) ) ) /\ -. S <_ y ) -> ( ( # ` F ) + ( y - S ) ) < ( # ` F ) ) |
135 |
114 134
|
eqbrtrrd |
|- ( ( ( ( y e. NN0 /\ y < ( # ` F ) ) /\ ( S e. NN0 /\ ( # ` F ) e. NN /\ S < ( # ` F ) ) ) /\ -. S <_ y ) -> ( ( y - S ) + ( # ` F ) ) < ( # ` F ) ) |
136 |
106 107 135
|
3jca |
|- ( ( ( ( y e. NN0 /\ y < ( # ` F ) ) /\ ( S e. NN0 /\ ( # ` F ) e. NN /\ S < ( # ` F ) ) ) /\ -. S <_ y ) -> ( ( ( y - S ) + ( # ` F ) ) e. NN0 /\ ( # ` F ) e. NN /\ ( ( y - S ) + ( # ` F ) ) < ( # ` F ) ) ) |
137 |
136
|
exp31 |
|- ( ( y e. NN0 /\ y < ( # ` F ) ) -> ( ( S e. NN0 /\ ( # ` F ) e. NN /\ S < ( # ` F ) ) -> ( -. S <_ y -> ( ( ( y - S ) + ( # ` F ) ) e. NN0 /\ ( # ` F ) e. NN /\ ( ( y - S ) + ( # ` F ) ) < ( # ` F ) ) ) ) ) |
138 |
137
|
3adant2 |
|- ( ( y e. NN0 /\ ( # ` F ) e. NN /\ y < ( # ` F ) ) -> ( ( S e. NN0 /\ ( # ` F ) e. NN /\ S < ( # ` F ) ) -> ( -. S <_ y -> ( ( ( y - S ) + ( # ` F ) ) e. NN0 /\ ( # ` F ) e. NN /\ ( ( y - S ) + ( # ` F ) ) < ( # ` F ) ) ) ) ) |
139 |
86 138
|
biimtrid |
|- ( ( y e. NN0 /\ ( # ` F ) e. NN /\ y < ( # ` F ) ) -> ( S e. ( 0 ..^ ( # ` F ) ) -> ( -. S <_ y -> ( ( ( y - S ) + ( # ` F ) ) e. NN0 /\ ( # ` F ) e. NN /\ ( ( y - S ) + ( # ` F ) ) < ( # ` F ) ) ) ) ) |
140 |
139
|
adantld |
|- ( ( y e. NN0 /\ ( # ` F ) e. NN /\ y < ( # ` F ) ) -> ( ( ( # ` F ) e. NN0 /\ S e. ( 0 ..^ ( # ` F ) ) ) -> ( -. S <_ y -> ( ( ( y - S ) + ( # ` F ) ) e. NN0 /\ ( # ` F ) e. NN /\ ( ( y - S ) + ( # ` F ) ) < ( # ` F ) ) ) ) ) |
141 |
30 140
|
sylbi |
|- ( y e. ( 0 ..^ ( # ` F ) ) -> ( ( ( # ` F ) e. NN0 /\ S e. ( 0 ..^ ( # ` F ) ) ) -> ( -. S <_ y -> ( ( ( y - S ) + ( # ` F ) ) e. NN0 /\ ( # ` F ) e. NN /\ ( ( y - S ) + ( # ` F ) ) < ( # ` F ) ) ) ) ) |
142 |
141
|
impcom |
|- ( ( ( ( # ` F ) e. NN0 /\ S e. ( 0 ..^ ( # ` F ) ) ) /\ y e. ( 0 ..^ ( # ` F ) ) ) -> ( -. S <_ y -> ( ( ( y - S ) + ( # ` F ) ) e. NN0 /\ ( # ` F ) e. NN /\ ( ( y - S ) + ( # ` F ) ) < ( # ` F ) ) ) ) |
143 |
142
|
impcom |
|- ( ( -. S <_ y /\ ( ( ( # ` F ) e. NN0 /\ S e. ( 0 ..^ ( # ` F ) ) ) /\ y e. ( 0 ..^ ( # ` F ) ) ) ) -> ( ( ( y - S ) + ( # ` F ) ) e. NN0 /\ ( # ` F ) e. NN /\ ( ( y - S ) + ( # ` F ) ) < ( # ` F ) ) ) |
144 |
|
elfzo0 |
|- ( ( ( y - S ) + ( # ` F ) ) e. ( 0 ..^ ( # ` F ) ) <-> ( ( ( y - S ) + ( # ` F ) ) e. NN0 /\ ( # ` F ) e. NN /\ ( ( y - S ) + ( # ` F ) ) < ( # ` F ) ) ) |
145 |
143 144
|
sylibr |
|- ( ( -. S <_ y /\ ( ( ( # ` F ) e. NN0 /\ S e. ( 0 ..^ ( # ` F ) ) ) /\ y e. ( 0 ..^ ( # ` F ) ) ) ) -> ( ( y - S ) + ( # ` F ) ) e. ( 0 ..^ ( # ` F ) ) ) |
146 |
|
oveq1 |
|- ( z = ( ( y - S ) + ( # ` F ) ) -> ( z + S ) = ( ( ( y - S ) + ( # ` F ) ) + S ) ) |
147 |
146
|
oveq1d |
|- ( z = ( ( y - S ) + ( # ` F ) ) -> ( ( z + S ) mod ( # ` F ) ) = ( ( ( ( y - S ) + ( # ` F ) ) + S ) mod ( # ` F ) ) ) |
148 |
72
|
adantr |
|- ( ( ( ( # ` F ) e. NN0 /\ S e. ( 0 ..^ ( # ` F ) ) ) /\ y e. ( 0 ..^ ( # ` F ) ) ) -> S e. CC ) |
149 |
74
|
adantl |
|- ( ( ( ( # ` F ) e. NN0 /\ S e. ( 0 ..^ ( # ` F ) ) ) /\ y e. ( 0 ..^ ( # ` F ) ) ) -> y e. CC ) |
150 |
|
nn0cn |
|- ( ( # ` F ) e. NN0 -> ( # ` F ) e. CC ) |
151 |
150
|
ad2antrr |
|- ( ( ( ( # ` F ) e. NN0 /\ S e. ( 0 ..^ ( # ` F ) ) ) /\ y e. ( 0 ..^ ( # ` F ) ) ) -> ( # ` F ) e. CC ) |
152 |
148 149 151
|
3jca |
|- ( ( ( ( # ` F ) e. NN0 /\ S e. ( 0 ..^ ( # ` F ) ) ) /\ y e. ( 0 ..^ ( # ` F ) ) ) -> ( S e. CC /\ y e. CC /\ ( # ` F ) e. CC ) ) |
153 |
152
|
adantl |
|- ( ( -. S <_ y /\ ( ( ( # ` F ) e. NN0 /\ S e. ( 0 ..^ ( # ` F ) ) ) /\ y e. ( 0 ..^ ( # ` F ) ) ) ) -> ( S e. CC /\ y e. CC /\ ( # ` F ) e. CC ) ) |
154 |
|
simp2 |
|- ( ( S e. CC /\ y e. CC /\ ( # ` F ) e. CC ) -> y e. CC ) |
155 |
|
simp3 |
|- ( ( S e. CC /\ y e. CC /\ ( # ` F ) e. CC ) -> ( # ` F ) e. CC ) |
156 |
|
simp1 |
|- ( ( S e. CC /\ y e. CC /\ ( # ` F ) e. CC ) -> S e. CC ) |
157 |
154 156 155
|
nppcand |
|- ( ( S e. CC /\ y e. CC /\ ( # ` F ) e. CC ) -> ( ( ( y - S ) + ( # ` F ) ) + S ) = ( y + ( # ` F ) ) ) |
158 |
154 155 157
|
comraddd |
|- ( ( S e. CC /\ y e. CC /\ ( # ` F ) e. CC ) -> ( ( ( y - S ) + ( # ` F ) ) + S ) = ( ( # ` F ) + y ) ) |
159 |
153 158
|
syl |
|- ( ( -. S <_ y /\ ( ( ( # ` F ) e. NN0 /\ S e. ( 0 ..^ ( # ` F ) ) ) /\ y e. ( 0 ..^ ( # ` F ) ) ) ) -> ( ( ( y - S ) + ( # ` F ) ) + S ) = ( ( # ` F ) + y ) ) |
160 |
159
|
oveq1d |
|- ( ( -. S <_ y /\ ( ( ( # ` F ) e. NN0 /\ S e. ( 0 ..^ ( # ` F ) ) ) /\ y e. ( 0 ..^ ( # ` F ) ) ) ) -> ( ( ( ( y - S ) + ( # ` F ) ) + S ) mod ( # ` F ) ) = ( ( ( # ` F ) + y ) mod ( # ` F ) ) ) |
161 |
30
|
biimpi |
|- ( y e. ( 0 ..^ ( # ` F ) ) -> ( y e. NN0 /\ ( # ` F ) e. NN /\ y < ( # ` F ) ) ) |
162 |
161
|
ad2antll |
|- ( ( -. S <_ y /\ ( ( ( # ` F ) e. NN0 /\ S e. ( 0 ..^ ( # ` F ) ) ) /\ y e. ( 0 ..^ ( # ` F ) ) ) ) -> ( y e. NN0 /\ ( # ` F ) e. NN /\ y < ( # ` F ) ) ) |
163 |
|
addmodid |
|- ( ( y e. NN0 /\ ( # ` F ) e. NN /\ y < ( # ` F ) ) -> ( ( ( # ` F ) + y ) mod ( # ` F ) ) = y ) |
164 |
162 163
|
syl |
|- ( ( -. S <_ y /\ ( ( ( # ` F ) e. NN0 /\ S e. ( 0 ..^ ( # ` F ) ) ) /\ y e. ( 0 ..^ ( # ` F ) ) ) ) -> ( ( ( # ` F ) + y ) mod ( # ` F ) ) = y ) |
165 |
160 164
|
eqtrd |
|- ( ( -. S <_ y /\ ( ( ( # ` F ) e. NN0 /\ S e. ( 0 ..^ ( # ` F ) ) ) /\ y e. ( 0 ..^ ( # ` F ) ) ) ) -> ( ( ( ( y - S ) + ( # ` F ) ) + S ) mod ( # ` F ) ) = y ) |
166 |
147 165
|
sylan9eqr |
|- ( ( ( -. S <_ y /\ ( ( ( # ` F ) e. NN0 /\ S e. ( 0 ..^ ( # ` F ) ) ) /\ y e. ( 0 ..^ ( # ` F ) ) ) ) /\ z = ( ( y - S ) + ( # ` F ) ) ) -> ( ( z + S ) mod ( # ` F ) ) = y ) |
167 |
166
|
eqcomd |
|- ( ( ( -. S <_ y /\ ( ( ( # ` F ) e. NN0 /\ S e. ( 0 ..^ ( # ` F ) ) ) /\ y e. ( 0 ..^ ( # ` F ) ) ) ) /\ z = ( ( y - S ) + ( # ` F ) ) ) -> y = ( ( z + S ) mod ( # ` F ) ) ) |
168 |
145 167
|
rspcedeq2vd |
|- ( ( -. S <_ y /\ ( ( ( # ` F ) e. NN0 /\ S e. ( 0 ..^ ( # ` F ) ) ) /\ y e. ( 0 ..^ ( # ` F ) ) ) ) -> E. z e. ( 0 ..^ ( # ` F ) ) y = ( ( z + S ) mod ( # ` F ) ) ) |
169 |
85 168
|
pm2.61ian |
|- ( ( ( ( # ` F ) e. NN0 /\ S e. ( 0 ..^ ( # ` F ) ) ) /\ y e. ( 0 ..^ ( # ` F ) ) ) -> E. z e. ( 0 ..^ ( # ` F ) ) y = ( ( z + S ) mod ( # ` F ) ) ) |
170 |
22
|
rexeqi |
|- ( E. z e. ( 0 ..^ N ) y = ( ( z + S ) mod ( # ` F ) ) <-> E. z e. ( 0 ..^ ( # ` F ) ) y = ( ( z + S ) mod ( # ` F ) ) ) |
171 |
169 170
|
sylibr |
|- ( ( ( ( # ` F ) e. NN0 /\ S e. ( 0 ..^ ( # ` F ) ) ) /\ y e. ( 0 ..^ ( # ` F ) ) ) -> E. z e. ( 0 ..^ N ) y = ( ( z + S ) mod ( # ` F ) ) ) |
172 |
171
|
exp31 |
|- ( ( # ` F ) e. NN0 -> ( S e. ( 0 ..^ ( # ` F ) ) -> ( y e. ( 0 ..^ ( # ` F ) ) -> E. z e. ( 0 ..^ N ) y = ( ( z + S ) mod ( # ` F ) ) ) ) ) |
173 |
23 172
|
biimtrid |
|- ( ( # ` F ) e. NN0 -> ( S e. ( 0 ..^ N ) -> ( y e. ( 0 ..^ ( # ` F ) ) -> E. z e. ( 0 ..^ N ) y = ( ( z + S ) mod ( # ` F ) ) ) ) ) |
174 |
19 20 21 173
|
4syl |
|- ( F ( Circuits ` G ) P -> ( S e. ( 0 ..^ N ) -> ( y e. ( 0 ..^ ( # ` F ) ) -> E. z e. ( 0 ..^ N ) y = ( ( z + S ) mod ( # ` F ) ) ) ) ) |
175 |
3 5 174
|
sylc |
|- ( ph -> ( y e. ( 0 ..^ ( # ` F ) ) -> E. z e. ( 0 ..^ N ) y = ( ( z + S ) mod ( # ` F ) ) ) ) |
176 |
175
|
adantr |
|- ( ( ph /\ i e. dom I ) -> ( y e. ( 0 ..^ ( # ` F ) ) -> E. z e. ( 0 ..^ N ) y = ( ( z + S ) mod ( # ` F ) ) ) ) |
177 |
176
|
imp |
|- ( ( ( ph /\ i e. dom I ) /\ y e. ( 0 ..^ ( # ` F ) ) ) -> E. z e. ( 0 ..^ N ) y = ( ( z + S ) mod ( # ` F ) ) ) |
178 |
177
|
adantr |
|- ( ( ( ( ph /\ i e. dom I ) /\ y e. ( 0 ..^ ( # ` F ) ) ) /\ i = ( F ` y ) ) -> E. z e. ( 0 ..^ N ) y = ( ( z + S ) mod ( # ` F ) ) ) |
179 |
|
fveq2 |
|- ( y = ( ( z + S ) mod ( # ` F ) ) -> ( F ` y ) = ( F ` ( ( z + S ) mod ( # ` F ) ) ) ) |
180 |
179
|
reximi |
|- ( E. z e. ( 0 ..^ N ) y = ( ( z + S ) mod ( # ` F ) ) -> E. z e. ( 0 ..^ N ) ( F ` y ) = ( F ` ( ( z + S ) mod ( # ` F ) ) ) ) |
181 |
178 180
|
syl |
|- ( ( ( ( ph /\ i e. dom I ) /\ y e. ( 0 ..^ ( # ` F ) ) ) /\ i = ( F ` y ) ) -> E. z e. ( 0 ..^ N ) ( F ` y ) = ( F ` ( ( z + S ) mod ( # ` F ) ) ) ) |
182 |
3 19 20
|
3syl |
|- ( ph -> F e. Word dom I ) |
183 |
182
|
ad3antrrr |
|- ( ( ( ( ph /\ i e. dom I ) /\ y e. ( 0 ..^ ( # ` F ) ) ) /\ i = ( F ` y ) ) -> F e. Word dom I ) |
184 |
|
elfzoelz |
|- ( S e. ( 0 ..^ N ) -> S e. ZZ ) |
185 |
5 184
|
syl |
|- ( ph -> S e. ZZ ) |
186 |
185
|
ad3antrrr |
|- ( ( ( ( ph /\ i e. dom I ) /\ y e. ( 0 ..^ ( # ` F ) ) ) /\ i = ( F ` y ) ) -> S e. ZZ ) |
187 |
22
|
eleq2i |
|- ( z e. ( 0 ..^ N ) <-> z e. ( 0 ..^ ( # ` F ) ) ) |
188 |
187
|
biimpi |
|- ( z e. ( 0 ..^ N ) -> z e. ( 0 ..^ ( # ` F ) ) ) |
189 |
|
cshwidxmod |
|- ( ( F e. Word dom I /\ S e. ZZ /\ z e. ( 0 ..^ ( # ` F ) ) ) -> ( ( F cyclShift S ) ` z ) = ( F ` ( ( z + S ) mod ( # ` F ) ) ) ) |
190 |
183 186 188 189
|
syl2an3an |
|- ( ( ( ( ( ph /\ i e. dom I ) /\ y e. ( 0 ..^ ( # ` F ) ) ) /\ i = ( F ` y ) ) /\ z e. ( 0 ..^ N ) ) -> ( ( F cyclShift S ) ` z ) = ( F ` ( ( z + S ) mod ( # ` F ) ) ) ) |
191 |
190
|
eqeq2d |
|- ( ( ( ( ( ph /\ i e. dom I ) /\ y e. ( 0 ..^ ( # ` F ) ) ) /\ i = ( F ` y ) ) /\ z e. ( 0 ..^ N ) ) -> ( ( F ` y ) = ( ( F cyclShift S ) ` z ) <-> ( F ` y ) = ( F ` ( ( z + S ) mod ( # ` F ) ) ) ) ) |
192 |
191
|
rexbidva |
|- ( ( ( ( ph /\ i e. dom I ) /\ y e. ( 0 ..^ ( # ` F ) ) ) /\ i = ( F ` y ) ) -> ( E. z e. ( 0 ..^ N ) ( F ` y ) = ( ( F cyclShift S ) ` z ) <-> E. z e. ( 0 ..^ N ) ( F ` y ) = ( F ` ( ( z + S ) mod ( # ` F ) ) ) ) ) |
193 |
181 192
|
mpbird |
|- ( ( ( ( ph /\ i e. dom I ) /\ y e. ( 0 ..^ ( # ` F ) ) ) /\ i = ( F ` y ) ) -> E. z e. ( 0 ..^ N ) ( F ` y ) = ( ( F cyclShift S ) ` z ) ) |
194 |
1 2 3 4 5 6
|
crctcshlem2 |
|- ( ph -> ( # ` H ) = N ) |
195 |
194
|
oveq2d |
|- ( ph -> ( 0 ..^ ( # ` H ) ) = ( 0 ..^ N ) ) |
196 |
195
|
ad3antrrr |
|- ( ( ( ( ph /\ i e. dom I ) /\ y e. ( 0 ..^ ( # ` F ) ) ) /\ i = ( F ` y ) ) -> ( 0 ..^ ( # ` H ) ) = ( 0 ..^ N ) ) |
197 |
|
simpr |
|- ( ( ( ( ph /\ i e. dom I ) /\ y e. ( 0 ..^ ( # ` F ) ) ) /\ i = ( F ` y ) ) -> i = ( F ` y ) ) |
198 |
6
|
fveq1i |
|- ( H ` z ) = ( ( F cyclShift S ) ` z ) |
199 |
198
|
a1i |
|- ( ( ( ( ph /\ i e. dom I ) /\ y e. ( 0 ..^ ( # ` F ) ) ) /\ i = ( F ` y ) ) -> ( H ` z ) = ( ( F cyclShift S ) ` z ) ) |
200 |
197 199
|
eqeq12d |
|- ( ( ( ( ph /\ i e. dom I ) /\ y e. ( 0 ..^ ( # ` F ) ) ) /\ i = ( F ` y ) ) -> ( i = ( H ` z ) <-> ( F ` y ) = ( ( F cyclShift S ) ` z ) ) ) |
201 |
196 200
|
rexeqbidv |
|- ( ( ( ( ph /\ i e. dom I ) /\ y e. ( 0 ..^ ( # ` F ) ) ) /\ i = ( F ` y ) ) -> ( E. z e. ( 0 ..^ ( # ` H ) ) i = ( H ` z ) <-> E. z e. ( 0 ..^ N ) ( F ` y ) = ( ( F cyclShift S ) ` z ) ) ) |
202 |
193 201
|
mpbird |
|- ( ( ( ( ph /\ i e. dom I ) /\ y e. ( 0 ..^ ( # ` F ) ) ) /\ i = ( F ` y ) ) -> E. z e. ( 0 ..^ ( # ` H ) ) i = ( H ` z ) ) |
203 |
202
|
rexlimdva2 |
|- ( ( ph /\ i e. dom I ) -> ( E. y e. ( 0 ..^ ( # ` F ) ) i = ( F ` y ) -> E. z e. ( 0 ..^ ( # ` H ) ) i = ( H ` z ) ) ) |
204 |
203
|
ralimdva |
|- ( ph -> ( A. i e. dom I E. y e. ( 0 ..^ ( # ` F ) ) i = ( F ` y ) -> A. i e. dom I E. z e. ( 0 ..^ ( # ` H ) ) i = ( H ` z ) ) ) |
205 |
204
|
impcom |
|- ( ( A. i e. dom I E. y e. ( 0 ..^ ( # ` F ) ) i = ( F ` y ) /\ ph ) -> A. i e. dom I E. z e. ( 0 ..^ ( # ` H ) ) i = ( H ` z ) ) |
206 |
205
|
anim1ci |
|- ( ( ( A. i e. dom I E. y e. ( 0 ..^ ( # ` F ) ) i = ( F ` y ) /\ ph ) /\ H : ( 0 ..^ ( # ` H ) ) --> dom I ) -> ( H : ( 0 ..^ ( # ` H ) ) --> dom I /\ A. i e. dom I E. z e. ( 0 ..^ ( # ` H ) ) i = ( H ` z ) ) ) |
207 |
|
dffo3 |
|- ( H : ( 0 ..^ ( # ` H ) ) -onto-> dom I <-> ( H : ( 0 ..^ ( # ` H ) ) --> dom I /\ A. i e. dom I E. z e. ( 0 ..^ ( # ` H ) ) i = ( H ` z ) ) ) |
208 |
206 207
|
sylibr |
|- ( ( ( A. i e. dom I E. y e. ( 0 ..^ ( # ` F ) ) i = ( F ` y ) /\ ph ) /\ H : ( 0 ..^ ( # ` H ) ) --> dom I ) -> H : ( 0 ..^ ( # ` H ) ) -onto-> dom I ) |
209 |
208
|
exp31 |
|- ( A. i e. dom I E. y e. ( 0 ..^ ( # ` F ) ) i = ( F ` y ) -> ( ph -> ( H : ( 0 ..^ ( # ` H ) ) --> dom I -> H : ( 0 ..^ ( # ` H ) ) -onto-> dom I ) ) ) |
210 |
18 209
|
simplbiim |
|- ( F : ( 0 ..^ ( # ` F ) ) -onto-> dom I -> ( ph -> ( H : ( 0 ..^ ( # ` H ) ) --> dom I -> H : ( 0 ..^ ( # ` H ) ) -onto-> dom I ) ) ) |
211 |
17 210
|
simplbiim |
|- ( F : ( 0 ..^ ( # ` F ) ) -1-1-onto-> dom I -> ( ph -> ( H : ( 0 ..^ ( # ` H ) ) --> dom I -> H : ( 0 ..^ ( # ` H ) ) -onto-> dom I ) ) ) |
212 |
211
|
com13 |
|- ( H : ( 0 ..^ ( # ` H ) ) --> dom I -> ( ph -> ( F : ( 0 ..^ ( # ` F ) ) -1-1-onto-> dom I -> H : ( 0 ..^ ( # ` H ) ) -onto-> dom I ) ) ) |
213 |
14 15 16 212
|
4syl |
|- ( H ( Trails ` G ) Q -> ( ph -> ( F : ( 0 ..^ ( # ` F ) ) -1-1-onto-> dom I -> H : ( 0 ..^ ( # ` H ) ) -onto-> dom I ) ) ) |
214 |
213
|
impcom |
|- ( ( ph /\ H ( Trails ` G ) Q ) -> ( F : ( 0 ..^ ( # ` F ) ) -1-1-onto-> dom I -> H : ( 0 ..^ ( # ` H ) ) -onto-> dom I ) ) |
215 |
13 214
|
mpd |
|- ( ( ph /\ H ( Trails ` G ) Q ) -> H : ( 0 ..^ ( # ` H ) ) -onto-> dom I ) |
216 |
10 215
|
jca |
|- ( ( ph /\ H ( Trails ` G ) Q ) -> ( H ( Trails ` G ) Q /\ H : ( 0 ..^ ( # ` H ) ) -onto-> dom I ) ) |
217 |
9 216
|
mpdan |
|- ( ph -> ( H ( Trails ` G ) Q /\ H : ( 0 ..^ ( # ` H ) ) -onto-> dom I ) ) |
218 |
2
|
iseupth |
|- ( H ( EulerPaths ` G ) Q <-> ( H ( Trails ` G ) Q /\ H : ( 0 ..^ ( # ` H ) ) -onto-> dom I ) ) |
219 |
217 218
|
sylibr |
|- ( ph -> H ( EulerPaths ` G ) Q ) |
220 |
1 2 3 4 5 6 7
|
crctcsh |
|- ( ph -> H ( Circuits ` G ) Q ) |
221 |
219 220
|
jca |
|- ( ph -> ( H ( EulerPaths ` G ) Q /\ H ( Circuits ` G ) Q ) ) |