Step |
Hyp |
Ref |
Expression |
1 |
|
wrdt2ind.1 |
|- ( x = (/) -> ( ph <-> ps ) ) |
2 |
|
wrdt2ind.2 |
|- ( x = y -> ( ph <-> ch ) ) |
3 |
|
wrdt2ind.3 |
|- ( x = ( y ++ <" i j "> ) -> ( ph <-> th ) ) |
4 |
|
wrdt2ind.4 |
|- ( x = A -> ( ph <-> ta ) ) |
5 |
|
wrdt2ind.5 |
|- ps |
6 |
|
wrdt2ind.6 |
|- ( ( y e. Word B /\ i e. B /\ j e. B ) -> ( ch -> th ) ) |
7 |
|
oveq2 |
|- ( n = 0 -> ( 2 x. n ) = ( 2 x. 0 ) ) |
8 |
7
|
eqeq1d |
|- ( n = 0 -> ( ( 2 x. n ) = ( # ` x ) <-> ( 2 x. 0 ) = ( # ` x ) ) ) |
9 |
8
|
imbi1d |
|- ( n = 0 -> ( ( ( 2 x. n ) = ( # ` x ) -> ph ) <-> ( ( 2 x. 0 ) = ( # ` x ) -> ph ) ) ) |
10 |
9
|
ralbidv |
|- ( n = 0 -> ( A. x e. Word B ( ( 2 x. n ) = ( # ` x ) -> ph ) <-> A. x e. Word B ( ( 2 x. 0 ) = ( # ` x ) -> ph ) ) ) |
11 |
|
oveq2 |
|- ( n = k -> ( 2 x. n ) = ( 2 x. k ) ) |
12 |
11
|
eqeq1d |
|- ( n = k -> ( ( 2 x. n ) = ( # ` x ) <-> ( 2 x. k ) = ( # ` x ) ) ) |
13 |
12
|
imbi1d |
|- ( n = k -> ( ( ( 2 x. n ) = ( # ` x ) -> ph ) <-> ( ( 2 x. k ) = ( # ` x ) -> ph ) ) ) |
14 |
13
|
ralbidv |
|- ( n = k -> ( A. x e. Word B ( ( 2 x. n ) = ( # ` x ) -> ph ) <-> A. x e. Word B ( ( 2 x. k ) = ( # ` x ) -> ph ) ) ) |
15 |
|
oveq2 |
|- ( n = ( k + 1 ) -> ( 2 x. n ) = ( 2 x. ( k + 1 ) ) ) |
16 |
15
|
eqeq1d |
|- ( n = ( k + 1 ) -> ( ( 2 x. n ) = ( # ` x ) <-> ( 2 x. ( k + 1 ) ) = ( # ` x ) ) ) |
17 |
16
|
imbi1d |
|- ( n = ( k + 1 ) -> ( ( ( 2 x. n ) = ( # ` x ) -> ph ) <-> ( ( 2 x. ( k + 1 ) ) = ( # ` x ) -> ph ) ) ) |
18 |
17
|
ralbidv |
|- ( n = ( k + 1 ) -> ( A. x e. Word B ( ( 2 x. n ) = ( # ` x ) -> ph ) <-> A. x e. Word B ( ( 2 x. ( k + 1 ) ) = ( # ` x ) -> ph ) ) ) |
19 |
|
oveq2 |
|- ( n = m -> ( 2 x. n ) = ( 2 x. m ) ) |
20 |
19
|
eqeq1d |
|- ( n = m -> ( ( 2 x. n ) = ( # ` x ) <-> ( 2 x. m ) = ( # ` x ) ) ) |
21 |
20
|
imbi1d |
|- ( n = m -> ( ( ( 2 x. n ) = ( # ` x ) -> ph ) <-> ( ( 2 x. m ) = ( # ` x ) -> ph ) ) ) |
22 |
21
|
ralbidv |
|- ( n = m -> ( A. x e. Word B ( ( 2 x. n ) = ( # ` x ) -> ph ) <-> A. x e. Word B ( ( 2 x. m ) = ( # ` x ) -> ph ) ) ) |
23 |
|
2t0e0 |
|- ( 2 x. 0 ) = 0 |
24 |
23
|
eqeq1i |
|- ( ( 2 x. 0 ) = ( # ` x ) <-> 0 = ( # ` x ) ) |
25 |
|
eqcom |
|- ( 0 = ( # ` x ) <-> ( # ` x ) = 0 ) |
26 |
24 25
|
bitri |
|- ( ( 2 x. 0 ) = ( # ` x ) <-> ( # ` x ) = 0 ) |
27 |
|
hasheq0 |
|- ( x e. Word B -> ( ( # ` x ) = 0 <-> x = (/) ) ) |
28 |
26 27
|
syl5bb |
|- ( x e. Word B -> ( ( 2 x. 0 ) = ( # ` x ) <-> x = (/) ) ) |
29 |
5 1
|
mpbiri |
|- ( x = (/) -> ph ) |
30 |
28 29
|
syl6bi |
|- ( x e. Word B -> ( ( 2 x. 0 ) = ( # ` x ) -> ph ) ) |
31 |
30
|
rgen |
|- A. x e. Word B ( ( 2 x. 0 ) = ( # ` x ) -> ph ) |
32 |
|
fveq2 |
|- ( x = y -> ( # ` x ) = ( # ` y ) ) |
33 |
32
|
eqeq2d |
|- ( x = y -> ( ( 2 x. k ) = ( # ` x ) <-> ( 2 x. k ) = ( # ` y ) ) ) |
34 |
33 2
|
imbi12d |
|- ( x = y -> ( ( ( 2 x. k ) = ( # ` x ) -> ph ) <-> ( ( 2 x. k ) = ( # ` y ) -> ch ) ) ) |
35 |
34
|
cbvralvw |
|- ( A. x e. Word B ( ( 2 x. k ) = ( # ` x ) -> ph ) <-> A. y e. Word B ( ( 2 x. k ) = ( # ` y ) -> ch ) ) |
36 |
|
simprl |
|- ( ( k e. NN0 /\ ( x e. Word B /\ ( 2 x. ( k + 1 ) ) = ( # ` x ) ) ) -> x e. Word B ) |
37 |
|
0zd |
|- ( ( k e. NN0 /\ ( x e. Word B /\ ( 2 x. ( k + 1 ) ) = ( # ` x ) ) ) -> 0 e. ZZ ) |
38 |
|
lencl |
|- ( x e. Word B -> ( # ` x ) e. NN0 ) |
39 |
36 38
|
syl |
|- ( ( k e. NN0 /\ ( x e. Word B /\ ( 2 x. ( k + 1 ) ) = ( # ` x ) ) ) -> ( # ` x ) e. NN0 ) |
40 |
39
|
nn0zd |
|- ( ( k e. NN0 /\ ( x e. Word B /\ ( 2 x. ( k + 1 ) ) = ( # ` x ) ) ) -> ( # ` x ) e. ZZ ) |
41 |
|
2z |
|- 2 e. ZZ |
42 |
41
|
a1i |
|- ( ( k e. NN0 /\ ( x e. Word B /\ ( 2 x. ( k + 1 ) ) = ( # ` x ) ) ) -> 2 e. ZZ ) |
43 |
40 42
|
zsubcld |
|- ( ( k e. NN0 /\ ( x e. Word B /\ ( 2 x. ( k + 1 ) ) = ( # ` x ) ) ) -> ( ( # ` x ) - 2 ) e. ZZ ) |
44 |
|
2re |
|- 2 e. RR |
45 |
44
|
a1i |
|- ( k e. NN0 -> 2 e. RR ) |
46 |
|
nn0re |
|- ( k e. NN0 -> k e. RR ) |
47 |
|
0le2 |
|- 0 <_ 2 |
48 |
47
|
a1i |
|- ( k e. NN0 -> 0 <_ 2 ) |
49 |
|
nn0ge0 |
|- ( k e. NN0 -> 0 <_ k ) |
50 |
45 46 48 49
|
mulge0d |
|- ( k e. NN0 -> 0 <_ ( 2 x. k ) ) |
51 |
50
|
adantr |
|- ( ( k e. NN0 /\ ( x e. Word B /\ ( 2 x. ( k + 1 ) ) = ( # ` x ) ) ) -> 0 <_ ( 2 x. k ) ) |
52 |
|
2cnd |
|- ( ( k e. NN0 /\ ( x e. Word B /\ ( 2 x. ( k + 1 ) ) = ( # ` x ) ) ) -> 2 e. CC ) |
53 |
|
simpl |
|- ( ( k e. NN0 /\ ( x e. Word B /\ ( 2 x. ( k + 1 ) ) = ( # ` x ) ) ) -> k e. NN0 ) |
54 |
53
|
nn0cnd |
|- ( ( k e. NN0 /\ ( x e. Word B /\ ( 2 x. ( k + 1 ) ) = ( # ` x ) ) ) -> k e. CC ) |
55 |
|
1cnd |
|- ( ( k e. NN0 /\ ( x e. Word B /\ ( 2 x. ( k + 1 ) ) = ( # ` x ) ) ) -> 1 e. CC ) |
56 |
52 54 55
|
adddid |
|- ( ( k e. NN0 /\ ( x e. Word B /\ ( 2 x. ( k + 1 ) ) = ( # ` x ) ) ) -> ( 2 x. ( k + 1 ) ) = ( ( 2 x. k ) + ( 2 x. 1 ) ) ) |
57 |
|
simprr |
|- ( ( k e. NN0 /\ ( x e. Word B /\ ( 2 x. ( k + 1 ) ) = ( # ` x ) ) ) -> ( 2 x. ( k + 1 ) ) = ( # ` x ) ) |
58 |
|
2t1e2 |
|- ( 2 x. 1 ) = 2 |
59 |
58
|
a1i |
|- ( ( k e. NN0 /\ ( x e. Word B /\ ( 2 x. ( k + 1 ) ) = ( # ` x ) ) ) -> ( 2 x. 1 ) = 2 ) |
60 |
59
|
oveq2d |
|- ( ( k e. NN0 /\ ( x e. Word B /\ ( 2 x. ( k + 1 ) ) = ( # ` x ) ) ) -> ( ( 2 x. k ) + ( 2 x. 1 ) ) = ( ( 2 x. k ) + 2 ) ) |
61 |
56 57 60
|
3eqtr3d |
|- ( ( k e. NN0 /\ ( x e. Word B /\ ( 2 x. ( k + 1 ) ) = ( # ` x ) ) ) -> ( # ` x ) = ( ( 2 x. k ) + 2 ) ) |
62 |
61
|
oveq1d |
|- ( ( k e. NN0 /\ ( x e. Word B /\ ( 2 x. ( k + 1 ) ) = ( # ` x ) ) ) -> ( ( # ` x ) - 2 ) = ( ( ( 2 x. k ) + 2 ) - 2 ) ) |
63 |
52 54
|
mulcld |
|- ( ( k e. NN0 /\ ( x e. Word B /\ ( 2 x. ( k + 1 ) ) = ( # ` x ) ) ) -> ( 2 x. k ) e. CC ) |
64 |
63 52
|
pncand |
|- ( ( k e. NN0 /\ ( x e. Word B /\ ( 2 x. ( k + 1 ) ) = ( # ` x ) ) ) -> ( ( ( 2 x. k ) + 2 ) - 2 ) = ( 2 x. k ) ) |
65 |
62 64
|
eqtrd |
|- ( ( k e. NN0 /\ ( x e. Word B /\ ( 2 x. ( k + 1 ) ) = ( # ` x ) ) ) -> ( ( # ` x ) - 2 ) = ( 2 x. k ) ) |
66 |
51 65
|
breqtrrd |
|- ( ( k e. NN0 /\ ( x e. Word B /\ ( 2 x. ( k + 1 ) ) = ( # ` x ) ) ) -> 0 <_ ( ( # ` x ) - 2 ) ) |
67 |
43
|
zred |
|- ( ( k e. NN0 /\ ( x e. Word B /\ ( 2 x. ( k + 1 ) ) = ( # ` x ) ) ) -> ( ( # ` x ) - 2 ) e. RR ) |
68 |
39
|
nn0red |
|- ( ( k e. NN0 /\ ( x e. Word B /\ ( 2 x. ( k + 1 ) ) = ( # ` x ) ) ) -> ( # ` x ) e. RR ) |
69 |
|
2pos |
|- 0 < 2 |
70 |
44
|
a1i |
|- ( ( k e. NN0 /\ ( x e. Word B /\ ( 2 x. ( k + 1 ) ) = ( # ` x ) ) ) -> 2 e. RR ) |
71 |
70 68
|
ltsubposd |
|- ( ( k e. NN0 /\ ( x e. Word B /\ ( 2 x. ( k + 1 ) ) = ( # ` x ) ) ) -> ( 0 < 2 <-> ( ( # ` x ) - 2 ) < ( # ` x ) ) ) |
72 |
69 71
|
mpbii |
|- ( ( k e. NN0 /\ ( x e. Word B /\ ( 2 x. ( k + 1 ) ) = ( # ` x ) ) ) -> ( ( # ` x ) - 2 ) < ( # ` x ) ) |
73 |
67 68 72
|
ltled |
|- ( ( k e. NN0 /\ ( x e. Word B /\ ( 2 x. ( k + 1 ) ) = ( # ` x ) ) ) -> ( ( # ` x ) - 2 ) <_ ( # ` x ) ) |
74 |
|
elfz2 |
|- ( ( ( # ` x ) - 2 ) e. ( 0 ... ( # ` x ) ) <-> ( ( 0 e. ZZ /\ ( # ` x ) e. ZZ /\ ( ( # ` x ) - 2 ) e. ZZ ) /\ ( 0 <_ ( ( # ` x ) - 2 ) /\ ( ( # ` x ) - 2 ) <_ ( # ` x ) ) ) ) |
75 |
74
|
biimpri |
|- ( ( ( 0 e. ZZ /\ ( # ` x ) e. ZZ /\ ( ( # ` x ) - 2 ) e. ZZ ) /\ ( 0 <_ ( ( # ` x ) - 2 ) /\ ( ( # ` x ) - 2 ) <_ ( # ` x ) ) ) -> ( ( # ` x ) - 2 ) e. ( 0 ... ( # ` x ) ) ) |
76 |
37 40 43 66 73 75
|
syl32anc |
|- ( ( k e. NN0 /\ ( x e. Word B /\ ( 2 x. ( k + 1 ) ) = ( # ` x ) ) ) -> ( ( # ` x ) - 2 ) e. ( 0 ... ( # ` x ) ) ) |
77 |
|
pfxlen |
|- ( ( x e. Word B /\ ( ( # ` x ) - 2 ) e. ( 0 ... ( # ` x ) ) ) -> ( # ` ( x prefix ( ( # ` x ) - 2 ) ) ) = ( ( # ` x ) - 2 ) ) |
78 |
36 76 77
|
syl2anc |
|- ( ( k e. NN0 /\ ( x e. Word B /\ ( 2 x. ( k + 1 ) ) = ( # ` x ) ) ) -> ( # ` ( x prefix ( ( # ` x ) - 2 ) ) ) = ( ( # ` x ) - 2 ) ) |
79 |
78 65
|
eqtr2d |
|- ( ( k e. NN0 /\ ( x e. Word B /\ ( 2 x. ( k + 1 ) ) = ( # ` x ) ) ) -> ( 2 x. k ) = ( # ` ( x prefix ( ( # ` x ) - 2 ) ) ) ) |
80 |
79
|
adantlr |
|- ( ( ( k e. NN0 /\ A. y e. Word B ( ( 2 x. k ) = ( # ` y ) -> ch ) ) /\ ( x e. Word B /\ ( 2 x. ( k + 1 ) ) = ( # ` x ) ) ) -> ( 2 x. k ) = ( # ` ( x prefix ( ( # ` x ) - 2 ) ) ) ) |
81 |
|
fveq2 |
|- ( y = ( x prefix ( ( # ` x ) - 2 ) ) -> ( # ` y ) = ( # ` ( x prefix ( ( # ` x ) - 2 ) ) ) ) |
82 |
81
|
eqeq2d |
|- ( y = ( x prefix ( ( # ` x ) - 2 ) ) -> ( ( 2 x. k ) = ( # ` y ) <-> ( 2 x. k ) = ( # ` ( x prefix ( ( # ` x ) - 2 ) ) ) ) ) |
83 |
|
vex |
|- y e. _V |
84 |
83 2
|
sbcie |
|- ( [. y / x ]. ph <-> ch ) |
85 |
|
dfsbcq |
|- ( y = ( x prefix ( ( # ` x ) - 2 ) ) -> ( [. y / x ]. ph <-> [. ( x prefix ( ( # ` x ) - 2 ) ) / x ]. ph ) ) |
86 |
84 85
|
bitr3id |
|- ( y = ( x prefix ( ( # ` x ) - 2 ) ) -> ( ch <-> [. ( x prefix ( ( # ` x ) - 2 ) ) / x ]. ph ) ) |
87 |
82 86
|
imbi12d |
|- ( y = ( x prefix ( ( # ` x ) - 2 ) ) -> ( ( ( 2 x. k ) = ( # ` y ) -> ch ) <-> ( ( 2 x. k ) = ( # ` ( x prefix ( ( # ` x ) - 2 ) ) ) -> [. ( x prefix ( ( # ` x ) - 2 ) ) / x ]. ph ) ) ) |
88 |
|
simplr |
|- ( ( ( k e. NN0 /\ A. y e. Word B ( ( 2 x. k ) = ( # ` y ) -> ch ) ) /\ ( x e. Word B /\ ( 2 x. ( k + 1 ) ) = ( # ` x ) ) ) -> A. y e. Word B ( ( 2 x. k ) = ( # ` y ) -> ch ) ) |
89 |
|
pfxcl |
|- ( x e. Word B -> ( x prefix ( ( # ` x ) - 2 ) ) e. Word B ) |
90 |
89
|
ad2antrl |
|- ( ( ( k e. NN0 /\ A. y e. Word B ( ( 2 x. k ) = ( # ` y ) -> ch ) ) /\ ( x e. Word B /\ ( 2 x. ( k + 1 ) ) = ( # ` x ) ) ) -> ( x prefix ( ( # ` x ) - 2 ) ) e. Word B ) |
91 |
87 88 90
|
rspcdva |
|- ( ( ( k e. NN0 /\ A. y e. Word B ( ( 2 x. k ) = ( # ` y ) -> ch ) ) /\ ( x e. Word B /\ ( 2 x. ( k + 1 ) ) = ( # ` x ) ) ) -> ( ( 2 x. k ) = ( # ` ( x prefix ( ( # ` x ) - 2 ) ) ) -> [. ( x prefix ( ( # ` x ) - 2 ) ) / x ]. ph ) ) |
92 |
80 91
|
mpd |
|- ( ( ( k e. NN0 /\ A. y e. Word B ( ( 2 x. k ) = ( # ` y ) -> ch ) ) /\ ( x e. Word B /\ ( 2 x. ( k + 1 ) ) = ( # ` x ) ) ) -> [. ( x prefix ( ( # ` x ) - 2 ) ) / x ]. ph ) |
93 |
|
2nn0 |
|- 2 e. NN0 |
94 |
93
|
a1i |
|- ( ( k e. NN0 /\ ( x e. Word B /\ ( 2 x. ( k + 1 ) ) = ( # ` x ) ) ) -> 2 e. NN0 ) |
95 |
52
|
addid2d |
|- ( ( k e. NN0 /\ ( x e. Word B /\ ( 2 x. ( k + 1 ) ) = ( # ` x ) ) ) -> ( 0 + 2 ) = 2 ) |
96 |
|
0red |
|- ( ( k e. NN0 /\ ( x e. Word B /\ ( 2 x. ( k + 1 ) ) = ( # ` x ) ) ) -> 0 e. RR ) |
97 |
65 67
|
eqeltrrd |
|- ( ( k e. NN0 /\ ( x e. Word B /\ ( 2 x. ( k + 1 ) ) = ( # ` x ) ) ) -> ( 2 x. k ) e. RR ) |
98 |
96 97 70 51
|
leadd1dd |
|- ( ( k e. NN0 /\ ( x e. Word B /\ ( 2 x. ( k + 1 ) ) = ( # ` x ) ) ) -> ( 0 + 2 ) <_ ( ( 2 x. k ) + 2 ) ) |
99 |
95 98
|
eqbrtrrd |
|- ( ( k e. NN0 /\ ( x e. Word B /\ ( 2 x. ( k + 1 ) ) = ( # ` x ) ) ) -> 2 <_ ( ( 2 x. k ) + 2 ) ) |
100 |
99 61
|
breqtrrd |
|- ( ( k e. NN0 /\ ( x e. Word B /\ ( 2 x. ( k + 1 ) ) = ( # ` x ) ) ) -> 2 <_ ( # ` x ) ) |
101 |
|
nn0sub |
|- ( ( 2 e. NN0 /\ ( # ` x ) e. NN0 ) -> ( 2 <_ ( # ` x ) <-> ( ( # ` x ) - 2 ) e. NN0 ) ) |
102 |
101
|
biimpa |
|- ( ( ( 2 e. NN0 /\ ( # ` x ) e. NN0 ) /\ 2 <_ ( # ` x ) ) -> ( ( # ` x ) - 2 ) e. NN0 ) |
103 |
94 39 100 102
|
syl21anc |
|- ( ( k e. NN0 /\ ( x e. Word B /\ ( 2 x. ( k + 1 ) ) = ( # ` x ) ) ) -> ( ( # ` x ) - 2 ) e. NN0 ) |
104 |
68
|
recnd |
|- ( ( k e. NN0 /\ ( x e. Word B /\ ( 2 x. ( k + 1 ) ) = ( # ` x ) ) ) -> ( # ` x ) e. CC ) |
105 |
104 52 55
|
subsubd |
|- ( ( k e. NN0 /\ ( x e. Word B /\ ( 2 x. ( k + 1 ) ) = ( # ` x ) ) ) -> ( ( # ` x ) - ( 2 - 1 ) ) = ( ( ( # ` x ) - 2 ) + 1 ) ) |
106 |
|
2m1e1 |
|- ( 2 - 1 ) = 1 |
107 |
106
|
a1i |
|- ( ( k e. NN0 /\ ( x e. Word B /\ ( 2 x. ( k + 1 ) ) = ( # ` x ) ) ) -> ( 2 - 1 ) = 1 ) |
108 |
107
|
oveq2d |
|- ( ( k e. NN0 /\ ( x e. Word B /\ ( 2 x. ( k + 1 ) ) = ( # ` x ) ) ) -> ( ( # ` x ) - ( 2 - 1 ) ) = ( ( # ` x ) - 1 ) ) |
109 |
105 108
|
eqtr3d |
|- ( ( k e. NN0 /\ ( x e. Word B /\ ( 2 x. ( k + 1 ) ) = ( # ` x ) ) ) -> ( ( ( # ` x ) - 2 ) + 1 ) = ( ( # ` x ) - 1 ) ) |
110 |
68
|
lem1d |
|- ( ( k e. NN0 /\ ( x e. Word B /\ ( 2 x. ( k + 1 ) ) = ( # ` x ) ) ) -> ( ( # ` x ) - 1 ) <_ ( # ` x ) ) |
111 |
109 110
|
eqbrtrd |
|- ( ( k e. NN0 /\ ( x e. Word B /\ ( 2 x. ( k + 1 ) ) = ( # ` x ) ) ) -> ( ( ( # ` x ) - 2 ) + 1 ) <_ ( # ` x ) ) |
112 |
|
nn0p1elfzo |
|- ( ( ( ( # ` x ) - 2 ) e. NN0 /\ ( # ` x ) e. NN0 /\ ( ( ( # ` x ) - 2 ) + 1 ) <_ ( # ` x ) ) -> ( ( # ` x ) - 2 ) e. ( 0 ..^ ( # ` x ) ) ) |
113 |
103 39 111 112
|
syl3anc |
|- ( ( k e. NN0 /\ ( x e. Word B /\ ( 2 x. ( k + 1 ) ) = ( # ` x ) ) ) -> ( ( # ` x ) - 2 ) e. ( 0 ..^ ( # ` x ) ) ) |
114 |
|
wrdsymbcl |
|- ( ( x e. Word B /\ ( ( # ` x ) - 2 ) e. ( 0 ..^ ( # ` x ) ) ) -> ( x ` ( ( # ` x ) - 2 ) ) e. B ) |
115 |
36 113 114
|
syl2anc |
|- ( ( k e. NN0 /\ ( x e. Word B /\ ( 2 x. ( k + 1 ) ) = ( # ` x ) ) ) -> ( x ` ( ( # ` x ) - 2 ) ) e. B ) |
116 |
115
|
adantlr |
|- ( ( ( k e. NN0 /\ A. y e. Word B ( ( 2 x. k ) = ( # ` y ) -> ch ) ) /\ ( x e. Word B /\ ( 2 x. ( k + 1 ) ) = ( # ` x ) ) ) -> ( x ` ( ( # ` x ) - 2 ) ) e. B ) |
117 |
|
nn0ge2m1nn0 |
|- ( ( ( # ` x ) e. NN0 /\ 2 <_ ( # ` x ) ) -> ( ( # ` x ) - 1 ) e. NN0 ) |
118 |
39 100 117
|
syl2anc |
|- ( ( k e. NN0 /\ ( x e. Word B /\ ( 2 x. ( k + 1 ) ) = ( # ` x ) ) ) -> ( ( # ` x ) - 1 ) e. NN0 ) |
119 |
104 55
|
npcand |
|- ( ( k e. NN0 /\ ( x e. Word B /\ ( 2 x. ( k + 1 ) ) = ( # ` x ) ) ) -> ( ( ( # ` x ) - 1 ) + 1 ) = ( # ` x ) ) |
120 |
68
|
leidd |
|- ( ( k e. NN0 /\ ( x e. Word B /\ ( 2 x. ( k + 1 ) ) = ( # ` x ) ) ) -> ( # ` x ) <_ ( # ` x ) ) |
121 |
119 120
|
eqbrtrd |
|- ( ( k e. NN0 /\ ( x e. Word B /\ ( 2 x. ( k + 1 ) ) = ( # ` x ) ) ) -> ( ( ( # ` x ) - 1 ) + 1 ) <_ ( # ` x ) ) |
122 |
|
nn0p1elfzo |
|- ( ( ( ( # ` x ) - 1 ) e. NN0 /\ ( # ` x ) e. NN0 /\ ( ( ( # ` x ) - 1 ) + 1 ) <_ ( # ` x ) ) -> ( ( # ` x ) - 1 ) e. ( 0 ..^ ( # ` x ) ) ) |
123 |
118 39 121 122
|
syl3anc |
|- ( ( k e. NN0 /\ ( x e. Word B /\ ( 2 x. ( k + 1 ) ) = ( # ` x ) ) ) -> ( ( # ` x ) - 1 ) e. ( 0 ..^ ( # ` x ) ) ) |
124 |
|
wrdsymbcl |
|- ( ( x e. Word B /\ ( ( # ` x ) - 1 ) e. ( 0 ..^ ( # ` x ) ) ) -> ( x ` ( ( # ` x ) - 1 ) ) e. B ) |
125 |
36 123 124
|
syl2anc |
|- ( ( k e. NN0 /\ ( x e. Word B /\ ( 2 x. ( k + 1 ) ) = ( # ` x ) ) ) -> ( x ` ( ( # ` x ) - 1 ) ) e. B ) |
126 |
125
|
adantlr |
|- ( ( ( k e. NN0 /\ A. y e. Word B ( ( 2 x. k ) = ( # ` y ) -> ch ) ) /\ ( x e. Word B /\ ( 2 x. ( k + 1 ) ) = ( # ` x ) ) ) -> ( x ` ( ( # ` x ) - 1 ) ) e. B ) |
127 |
|
oveq1 |
|- ( y = ( x prefix ( ( # ` x ) - 2 ) ) -> ( y ++ <" i j "> ) = ( ( x prefix ( ( # ` x ) - 2 ) ) ++ <" i j "> ) ) |
128 |
127
|
sbceq1d |
|- ( y = ( x prefix ( ( # ` x ) - 2 ) ) -> ( [. ( y ++ <" i j "> ) / x ]. ph <-> [. ( ( x prefix ( ( # ` x ) - 2 ) ) ++ <" i j "> ) / x ]. ph ) ) |
129 |
85 128
|
imbi12d |
|- ( y = ( x prefix ( ( # ` x ) - 2 ) ) -> ( ( [. y / x ]. ph -> [. ( y ++ <" i j "> ) / x ]. ph ) <-> ( [. ( x prefix ( ( # ` x ) - 2 ) ) / x ]. ph -> [. ( ( x prefix ( ( # ` x ) - 2 ) ) ++ <" i j "> ) / x ]. ph ) ) ) |
130 |
|
id |
|- ( i = ( x ` ( ( # ` x ) - 2 ) ) -> i = ( x ` ( ( # ` x ) - 2 ) ) ) |
131 |
|
eqidd |
|- ( i = ( x ` ( ( # ` x ) - 2 ) ) -> j = j ) |
132 |
130 131
|
s2eqd |
|- ( i = ( x ` ( ( # ` x ) - 2 ) ) -> <" i j "> = <" ( x ` ( ( # ` x ) - 2 ) ) j "> ) |
133 |
132
|
oveq2d |
|- ( i = ( x ` ( ( # ` x ) - 2 ) ) -> ( ( x prefix ( ( # ` x ) - 2 ) ) ++ <" i j "> ) = ( ( x prefix ( ( # ` x ) - 2 ) ) ++ <" ( x ` ( ( # ` x ) - 2 ) ) j "> ) ) |
134 |
133
|
sbceq1d |
|- ( i = ( x ` ( ( # ` x ) - 2 ) ) -> ( [. ( ( x prefix ( ( # ` x ) - 2 ) ) ++ <" i j "> ) / x ]. ph <-> [. ( ( x prefix ( ( # ` x ) - 2 ) ) ++ <" ( x ` ( ( # ` x ) - 2 ) ) j "> ) / x ]. ph ) ) |
135 |
134
|
imbi2d |
|- ( i = ( x ` ( ( # ` x ) - 2 ) ) -> ( ( [. ( x prefix ( ( # ` x ) - 2 ) ) / x ]. ph -> [. ( ( x prefix ( ( # ` x ) - 2 ) ) ++ <" i j "> ) / x ]. ph ) <-> ( [. ( x prefix ( ( # ` x ) - 2 ) ) / x ]. ph -> [. ( ( x prefix ( ( # ` x ) - 2 ) ) ++ <" ( x ` ( ( # ` x ) - 2 ) ) j "> ) / x ]. ph ) ) ) |
136 |
|
eqidd |
|- ( j = ( x ` ( ( # ` x ) - 1 ) ) -> ( x ` ( ( # ` x ) - 2 ) ) = ( x ` ( ( # ` x ) - 2 ) ) ) |
137 |
|
id |
|- ( j = ( x ` ( ( # ` x ) - 1 ) ) -> j = ( x ` ( ( # ` x ) - 1 ) ) ) |
138 |
136 137
|
s2eqd |
|- ( j = ( x ` ( ( # ` x ) - 1 ) ) -> <" ( x ` ( ( # ` x ) - 2 ) ) j "> = <" ( x ` ( ( # ` x ) - 2 ) ) ( x ` ( ( # ` x ) - 1 ) ) "> ) |
139 |
138
|
oveq2d |
|- ( j = ( x ` ( ( # ` x ) - 1 ) ) -> ( ( x prefix ( ( # ` x ) - 2 ) ) ++ <" ( x ` ( ( # ` x ) - 2 ) ) j "> ) = ( ( x prefix ( ( # ` x ) - 2 ) ) ++ <" ( x ` ( ( # ` x ) - 2 ) ) ( x ` ( ( # ` x ) - 1 ) ) "> ) ) |
140 |
139
|
sbceq1d |
|- ( j = ( x ` ( ( # ` x ) - 1 ) ) -> ( [. ( ( x prefix ( ( # ` x ) - 2 ) ) ++ <" ( x ` ( ( # ` x ) - 2 ) ) j "> ) / x ]. ph <-> [. ( ( x prefix ( ( # ` x ) - 2 ) ) ++ <" ( x ` ( ( # ` x ) - 2 ) ) ( x ` ( ( # ` x ) - 1 ) ) "> ) / x ]. ph ) ) |
141 |
140
|
imbi2d |
|- ( j = ( x ` ( ( # ` x ) - 1 ) ) -> ( ( [. ( x prefix ( ( # ` x ) - 2 ) ) / x ]. ph -> [. ( ( x prefix ( ( # ` x ) - 2 ) ) ++ <" ( x ` ( ( # ` x ) - 2 ) ) j "> ) / x ]. ph ) <-> ( [. ( x prefix ( ( # ` x ) - 2 ) ) / x ]. ph -> [. ( ( x prefix ( ( # ` x ) - 2 ) ) ++ <" ( x ` ( ( # ` x ) - 2 ) ) ( x ` ( ( # ` x ) - 1 ) ) "> ) / x ]. ph ) ) ) |
142 |
|
ovex |
|- ( y ++ <" i j "> ) e. _V |
143 |
142 3
|
sbcie |
|- ( [. ( y ++ <" i j "> ) / x ]. ph <-> th ) |
144 |
6 84 143
|
3imtr4g |
|- ( ( y e. Word B /\ i e. B /\ j e. B ) -> ( [. y / x ]. ph -> [. ( y ++ <" i j "> ) / x ]. ph ) ) |
145 |
129 135 141 144
|
vtocl3ga |
|- ( ( ( x prefix ( ( # ` x ) - 2 ) ) e. Word B /\ ( x ` ( ( # ` x ) - 2 ) ) e. B /\ ( x ` ( ( # ` x ) - 1 ) ) e. B ) -> ( [. ( x prefix ( ( # ` x ) - 2 ) ) / x ]. ph -> [. ( ( x prefix ( ( # ` x ) - 2 ) ) ++ <" ( x ` ( ( # ` x ) - 2 ) ) ( x ` ( ( # ` x ) - 1 ) ) "> ) / x ]. ph ) ) |
146 |
90 116 126 145
|
syl3anc |
|- ( ( ( k e. NN0 /\ A. y e. Word B ( ( 2 x. k ) = ( # ` y ) -> ch ) ) /\ ( x e. Word B /\ ( 2 x. ( k + 1 ) ) = ( # ` x ) ) ) -> ( [. ( x prefix ( ( # ` x ) - 2 ) ) / x ]. ph -> [. ( ( x prefix ( ( # ` x ) - 2 ) ) ++ <" ( x ` ( ( # ` x ) - 2 ) ) ( x ` ( ( # ` x ) - 1 ) ) "> ) / x ]. ph ) ) |
147 |
92 146
|
mpd |
|- ( ( ( k e. NN0 /\ A. y e. Word B ( ( 2 x. k ) = ( # ` y ) -> ch ) ) /\ ( x e. Word B /\ ( 2 x. ( k + 1 ) ) = ( # ` x ) ) ) -> [. ( ( x prefix ( ( # ` x ) - 2 ) ) ++ <" ( x ` ( ( # ` x ) - 2 ) ) ( x ` ( ( # ` x ) - 1 ) ) "> ) / x ]. ph ) |
148 |
|
simprl |
|- ( ( ( k e. NN0 /\ A. y e. Word B ( ( 2 x. k ) = ( # ` y ) -> ch ) ) /\ ( x e. Word B /\ ( 2 x. ( k + 1 ) ) = ( # ` x ) ) ) -> x e. Word B ) |
149 |
|
1red |
|- ( ( ( k e. NN0 /\ A. y e. Word B ( ( 2 x. k ) = ( # ` y ) -> ch ) ) /\ ( x e. Word B /\ ( 2 x. ( k + 1 ) ) = ( # ` x ) ) ) -> 1 e. RR ) |
150 |
|
simpll |
|- ( ( ( k e. NN0 /\ A. y e. Word B ( ( 2 x. k ) = ( # ` y ) -> ch ) ) /\ ( x e. Word B /\ ( 2 x. ( k + 1 ) ) = ( # ` x ) ) ) -> k e. NN0 ) |
151 |
150
|
nn0red |
|- ( ( ( k e. NN0 /\ A. y e. Word B ( ( 2 x. k ) = ( # ` y ) -> ch ) ) /\ ( x e. Word B /\ ( 2 x. ( k + 1 ) ) = ( # ` x ) ) ) -> k e. RR ) |
152 |
151 149
|
readdcld |
|- ( ( ( k e. NN0 /\ A. y e. Word B ( ( 2 x. k ) = ( # ` y ) -> ch ) ) /\ ( x e. Word B /\ ( 2 x. ( k + 1 ) ) = ( # ` x ) ) ) -> ( k + 1 ) e. RR ) |
153 |
44
|
a1i |
|- ( ( ( k e. NN0 /\ A. y e. Word B ( ( 2 x. k ) = ( # ` y ) -> ch ) ) /\ ( x e. Word B /\ ( 2 x. ( k + 1 ) ) = ( # ` x ) ) ) -> 2 e. RR ) |
154 |
47
|
a1i |
|- ( ( ( k e. NN0 /\ A. y e. Word B ( ( 2 x. k ) = ( # ` y ) -> ch ) ) /\ ( x e. Word B /\ ( 2 x. ( k + 1 ) ) = ( # ` x ) ) ) -> 0 <_ 2 ) |
155 |
|
0p1e1 |
|- ( 0 + 1 ) = 1 |
156 |
|
0red |
|- ( ( ( k e. NN0 /\ A. y e. Word B ( ( 2 x. k ) = ( # ` y ) -> ch ) ) /\ ( x e. Word B /\ ( 2 x. ( k + 1 ) ) = ( # ` x ) ) ) -> 0 e. RR ) |
157 |
150
|
nn0ge0d |
|- ( ( ( k e. NN0 /\ A. y e. Word B ( ( 2 x. k ) = ( # ` y ) -> ch ) ) /\ ( x e. Word B /\ ( 2 x. ( k + 1 ) ) = ( # ` x ) ) ) -> 0 <_ k ) |
158 |
149
|
leidd |
|- ( ( ( k e. NN0 /\ A. y e. Word B ( ( 2 x. k ) = ( # ` y ) -> ch ) ) /\ ( x e. Word B /\ ( 2 x. ( k + 1 ) ) = ( # ` x ) ) ) -> 1 <_ 1 ) |
159 |
156 149 151 149 157 158
|
le2addd |
|- ( ( ( k e. NN0 /\ A. y e. Word B ( ( 2 x. k ) = ( # ` y ) -> ch ) ) /\ ( x e. Word B /\ ( 2 x. ( k + 1 ) ) = ( # ` x ) ) ) -> ( 0 + 1 ) <_ ( k + 1 ) ) |
160 |
155 159
|
eqbrtrrid |
|- ( ( ( k e. NN0 /\ A. y e. Word B ( ( 2 x. k ) = ( # ` y ) -> ch ) ) /\ ( x e. Word B /\ ( 2 x. ( k + 1 ) ) = ( # ` x ) ) ) -> 1 <_ ( k + 1 ) ) |
161 |
149 152 153 154 160
|
lemul2ad |
|- ( ( ( k e. NN0 /\ A. y e. Word B ( ( 2 x. k ) = ( # ` y ) -> ch ) ) /\ ( x e. Word B /\ ( 2 x. ( k + 1 ) ) = ( # ` x ) ) ) -> ( 2 x. 1 ) <_ ( 2 x. ( k + 1 ) ) ) |
162 |
58 161
|
eqbrtrrid |
|- ( ( ( k e. NN0 /\ A. y e. Word B ( ( 2 x. k ) = ( # ` y ) -> ch ) ) /\ ( x e. Word B /\ ( 2 x. ( k + 1 ) ) = ( # ` x ) ) ) -> 2 <_ ( 2 x. ( k + 1 ) ) ) |
163 |
|
simprr |
|- ( ( ( k e. NN0 /\ A. y e. Word B ( ( 2 x. k ) = ( # ` y ) -> ch ) ) /\ ( x e. Word B /\ ( 2 x. ( k + 1 ) ) = ( # ` x ) ) ) -> ( 2 x. ( k + 1 ) ) = ( # ` x ) ) |
164 |
162 163
|
breqtrd |
|- ( ( ( k e. NN0 /\ A. y e. Word B ( ( 2 x. k ) = ( # ` y ) -> ch ) ) /\ ( x e. Word B /\ ( 2 x. ( k + 1 ) ) = ( # ` x ) ) ) -> 2 <_ ( # ` x ) ) |
165 |
|
eqid |
|- ( # ` x ) = ( # ` x ) |
166 |
165
|
pfxlsw2ccat |
|- ( ( x e. Word B /\ 2 <_ ( # ` x ) ) -> x = ( ( x prefix ( ( # ` x ) - 2 ) ) ++ <" ( x ` ( ( # ` x ) - 2 ) ) ( x ` ( ( # ` x ) - 1 ) ) "> ) ) |
167 |
166
|
eqcomd |
|- ( ( x e. Word B /\ 2 <_ ( # ` x ) ) -> ( ( x prefix ( ( # ` x ) - 2 ) ) ++ <" ( x ` ( ( # ` x ) - 2 ) ) ( x ` ( ( # ` x ) - 1 ) ) "> ) = x ) |
168 |
167
|
eqcomd |
|- ( ( x e. Word B /\ 2 <_ ( # ` x ) ) -> x = ( ( x prefix ( ( # ` x ) - 2 ) ) ++ <" ( x ` ( ( # ` x ) - 2 ) ) ( x ` ( ( # ` x ) - 1 ) ) "> ) ) |
169 |
148 164 168
|
syl2anc |
|- ( ( ( k e. NN0 /\ A. y e. Word B ( ( 2 x. k ) = ( # ` y ) -> ch ) ) /\ ( x e. Word B /\ ( 2 x. ( k + 1 ) ) = ( # ` x ) ) ) -> x = ( ( x prefix ( ( # ` x ) - 2 ) ) ++ <" ( x ` ( ( # ` x ) - 2 ) ) ( x ` ( ( # ` x ) - 1 ) ) "> ) ) |
170 |
|
sbceq1a |
|- ( x = ( ( x prefix ( ( # ` x ) - 2 ) ) ++ <" ( x ` ( ( # ` x ) - 2 ) ) ( x ` ( ( # ` x ) - 1 ) ) "> ) -> ( ph <-> [. ( ( x prefix ( ( # ` x ) - 2 ) ) ++ <" ( x ` ( ( # ` x ) - 2 ) ) ( x ` ( ( # ` x ) - 1 ) ) "> ) / x ]. ph ) ) |
171 |
169 170
|
syl |
|- ( ( ( k e. NN0 /\ A. y e. Word B ( ( 2 x. k ) = ( # ` y ) -> ch ) ) /\ ( x e. Word B /\ ( 2 x. ( k + 1 ) ) = ( # ` x ) ) ) -> ( ph <-> [. ( ( x prefix ( ( # ` x ) - 2 ) ) ++ <" ( x ` ( ( # ` x ) - 2 ) ) ( x ` ( ( # ` x ) - 1 ) ) "> ) / x ]. ph ) ) |
172 |
147 171
|
mpbird |
|- ( ( ( k e. NN0 /\ A. y e. Word B ( ( 2 x. k ) = ( # ` y ) -> ch ) ) /\ ( x e. Word B /\ ( 2 x. ( k + 1 ) ) = ( # ` x ) ) ) -> ph ) |
173 |
172
|
expr |
|- ( ( ( k e. NN0 /\ A. y e. Word B ( ( 2 x. k ) = ( # ` y ) -> ch ) ) /\ x e. Word B ) -> ( ( 2 x. ( k + 1 ) ) = ( # ` x ) -> ph ) ) |
174 |
173
|
ralrimiva |
|- ( ( k e. NN0 /\ A. y e. Word B ( ( 2 x. k ) = ( # ` y ) -> ch ) ) -> A. x e. Word B ( ( 2 x. ( k + 1 ) ) = ( # ` x ) -> ph ) ) |
175 |
174
|
ex |
|- ( k e. NN0 -> ( A. y e. Word B ( ( 2 x. k ) = ( # ` y ) -> ch ) -> A. x e. Word B ( ( 2 x. ( k + 1 ) ) = ( # ` x ) -> ph ) ) ) |
176 |
35 175
|
syl5bi |
|- ( k e. NN0 -> ( A. x e. Word B ( ( 2 x. k ) = ( # ` x ) -> ph ) -> A. x e. Word B ( ( 2 x. ( k + 1 ) ) = ( # ` x ) -> ph ) ) ) |
177 |
10 14 18 22 31 176
|
nn0ind |
|- ( m e. NN0 -> A. x e. Word B ( ( 2 x. m ) = ( # ` x ) -> ph ) ) |
178 |
177
|
adantl |
|- ( ( A e. Word B /\ m e. NN0 ) -> A. x e. Word B ( ( 2 x. m ) = ( # ` x ) -> ph ) ) |
179 |
|
simpl |
|- ( ( A e. Word B /\ m e. NN0 ) -> A e. Word B ) |
180 |
|
fveq2 |
|- ( x = A -> ( # ` x ) = ( # ` A ) ) |
181 |
180
|
eqeq2d |
|- ( x = A -> ( ( 2 x. m ) = ( # ` x ) <-> ( 2 x. m ) = ( # ` A ) ) ) |
182 |
181 4
|
imbi12d |
|- ( x = A -> ( ( ( 2 x. m ) = ( # ` x ) -> ph ) <-> ( ( 2 x. m ) = ( # ` A ) -> ta ) ) ) |
183 |
182
|
adantl |
|- ( ( ( A e. Word B /\ m e. NN0 ) /\ x = A ) -> ( ( ( 2 x. m ) = ( # ` x ) -> ph ) <-> ( ( 2 x. m ) = ( # ` A ) -> ta ) ) ) |
184 |
179 183
|
rspcdv |
|- ( ( A e. Word B /\ m e. NN0 ) -> ( A. x e. Word B ( ( 2 x. m ) = ( # ` x ) -> ph ) -> ( ( 2 x. m ) = ( # ` A ) -> ta ) ) ) |
185 |
178 184
|
mpd |
|- ( ( A e. Word B /\ m e. NN0 ) -> ( ( 2 x. m ) = ( # ` A ) -> ta ) ) |
186 |
185
|
imp |
|- ( ( ( A e. Word B /\ m e. NN0 ) /\ ( 2 x. m ) = ( # ` A ) ) -> ta ) |
187 |
186
|
adantllr |
|- ( ( ( ( A e. Word B /\ 2 || ( # ` A ) ) /\ m e. NN0 ) /\ ( 2 x. m ) = ( # ` A ) ) -> ta ) |
188 |
|
lencl |
|- ( A e. Word B -> ( # ` A ) e. NN0 ) |
189 |
|
evennn02n |
|- ( ( # ` A ) e. NN0 -> ( 2 || ( # ` A ) <-> E. m e. NN0 ( 2 x. m ) = ( # ` A ) ) ) |
190 |
189
|
biimpa |
|- ( ( ( # ` A ) e. NN0 /\ 2 || ( # ` A ) ) -> E. m e. NN0 ( 2 x. m ) = ( # ` A ) ) |
191 |
188 190
|
sylan |
|- ( ( A e. Word B /\ 2 || ( # ` A ) ) -> E. m e. NN0 ( 2 x. m ) = ( # ` A ) ) |
192 |
187 191
|
r19.29a |
|- ( ( A e. Word B /\ 2 || ( # ` A ) ) -> ta ) |