Step |
Hyp |
Ref |
Expression |
1 |
|
eleq1 |
|- ( x = U -> ( x e. Word V <-> U e. Word V ) ) |
2 |
|
fveqeq2 |
|- ( x = U -> ( ( # ` x ) = ( ( # ` W ) + 1 ) <-> ( # ` U ) = ( ( # ` W ) + 1 ) ) ) |
3 |
1 2
|
anbi12d |
|- ( x = U -> ( ( x e. Word V /\ ( # ` x ) = ( ( # ` W ) + 1 ) ) <-> ( U e. Word V /\ ( # ` U ) = ( ( # ` W ) + 1 ) ) ) ) |
4 |
3
|
rspcv |
|- ( U e. X -> ( A. x e. X ( x e. Word V /\ ( # ` x ) = ( ( # ` W ) + 1 ) ) -> ( U e. Word V /\ ( # ` U ) = ( ( # ` W ) + 1 ) ) ) ) |
5 |
4
|
adantl |
|- ( ( W e. Word V /\ U e. X ) -> ( A. x e. X ( x e. Word V /\ ( # ` x ) = ( ( # ` W ) + 1 ) ) -> ( U e. Word V /\ ( # ` U ) = ( ( # ` W ) + 1 ) ) ) ) |
6 |
|
simpl |
|- ( ( W e. Word V /\ U e. X ) -> W e. Word V ) |
7 |
6
|
adantr |
|- ( ( ( W e. Word V /\ U e. X ) /\ ( U e. Word V /\ ( # ` U ) = ( ( # ` W ) + 1 ) ) ) -> W e. Word V ) |
8 |
|
simpl |
|- ( ( U e. Word V /\ ( # ` U ) = ( ( # ` W ) + 1 ) ) -> U e. Word V ) |
9 |
8
|
adantl |
|- ( ( ( W e. Word V /\ U e. X ) /\ ( U e. Word V /\ ( # ` U ) = ( ( # ` W ) + 1 ) ) ) -> U e. Word V ) |
10 |
|
simprr |
|- ( ( ( W e. Word V /\ U e. X ) /\ ( U e. Word V /\ ( # ` U ) = ( ( # ` W ) + 1 ) ) ) -> ( # ` U ) = ( ( # ` W ) + 1 ) ) |
11 |
|
ccats1pfxeqrex |
|- ( ( W e. Word V /\ U e. Word V /\ ( # ` U ) = ( ( # ` W ) + 1 ) ) -> ( W = ( U prefix ( # ` W ) ) -> E. u e. V U = ( W ++ <" u "> ) ) ) |
12 |
7 9 10 11
|
syl3anc |
|- ( ( ( W e. Word V /\ U e. X ) /\ ( U e. Word V /\ ( # ` U ) = ( ( # ` W ) + 1 ) ) ) -> ( W = ( U prefix ( # ` W ) ) -> E. u e. V U = ( W ++ <" u "> ) ) ) |
13 |
|
s1eq |
|- ( s = u -> <" s "> = <" u "> ) |
14 |
13
|
oveq2d |
|- ( s = u -> ( W ++ <" s "> ) = ( W ++ <" u "> ) ) |
15 |
14
|
eleq1d |
|- ( s = u -> ( ( W ++ <" s "> ) e. X <-> ( W ++ <" u "> ) e. X ) ) |
16 |
|
eqeq2 |
|- ( s = u -> ( S = s <-> S = u ) ) |
17 |
15 16
|
imbi12d |
|- ( s = u -> ( ( ( W ++ <" s "> ) e. X -> S = s ) <-> ( ( W ++ <" u "> ) e. X -> S = u ) ) ) |
18 |
17
|
rspcv |
|- ( u e. V -> ( A. s e. V ( ( W ++ <" s "> ) e. X -> S = s ) -> ( ( W ++ <" u "> ) e. X -> S = u ) ) ) |
19 |
|
eleq1 |
|- ( U = ( W ++ <" u "> ) -> ( U e. X <-> ( W ++ <" u "> ) e. X ) ) |
20 |
|
id |
|- ( ( ( W ++ <" u "> ) e. X -> S = u ) -> ( ( W ++ <" u "> ) e. X -> S = u ) ) |
21 |
20
|
imp |
|- ( ( ( ( W ++ <" u "> ) e. X -> S = u ) /\ ( W ++ <" u "> ) e. X ) -> S = u ) |
22 |
21
|
eqcomd |
|- ( ( ( ( W ++ <" u "> ) e. X -> S = u ) /\ ( W ++ <" u "> ) e. X ) -> u = S ) |
23 |
22
|
s1eqd |
|- ( ( ( ( W ++ <" u "> ) e. X -> S = u ) /\ ( W ++ <" u "> ) e. X ) -> <" u "> = <" S "> ) |
24 |
23
|
oveq2d |
|- ( ( ( ( W ++ <" u "> ) e. X -> S = u ) /\ ( W ++ <" u "> ) e. X ) -> ( W ++ <" u "> ) = ( W ++ <" S "> ) ) |
25 |
24
|
eqeq2d |
|- ( ( ( ( W ++ <" u "> ) e. X -> S = u ) /\ ( W ++ <" u "> ) e. X ) -> ( U = ( W ++ <" u "> ) <-> U = ( W ++ <" S "> ) ) ) |
26 |
25
|
biimpd |
|- ( ( ( ( W ++ <" u "> ) e. X -> S = u ) /\ ( W ++ <" u "> ) e. X ) -> ( U = ( W ++ <" u "> ) -> U = ( W ++ <" S "> ) ) ) |
27 |
26
|
ex |
|- ( ( ( W ++ <" u "> ) e. X -> S = u ) -> ( ( W ++ <" u "> ) e. X -> ( U = ( W ++ <" u "> ) -> U = ( W ++ <" S "> ) ) ) ) |
28 |
27
|
com13 |
|- ( U = ( W ++ <" u "> ) -> ( ( W ++ <" u "> ) e. X -> ( ( ( W ++ <" u "> ) e. X -> S = u ) -> U = ( W ++ <" S "> ) ) ) ) |
29 |
19 28
|
sylbid |
|- ( U = ( W ++ <" u "> ) -> ( U e. X -> ( ( ( W ++ <" u "> ) e. X -> S = u ) -> U = ( W ++ <" S "> ) ) ) ) |
30 |
29
|
com3l |
|- ( U e. X -> ( ( ( W ++ <" u "> ) e. X -> S = u ) -> ( U = ( W ++ <" u "> ) -> U = ( W ++ <" S "> ) ) ) ) |
31 |
18 30
|
sylan9r |
|- ( ( U e. X /\ u e. V ) -> ( A. s e. V ( ( W ++ <" s "> ) e. X -> S = s ) -> ( U = ( W ++ <" u "> ) -> U = ( W ++ <" S "> ) ) ) ) |
32 |
31
|
com23 |
|- ( ( U e. X /\ u e. V ) -> ( U = ( W ++ <" u "> ) -> ( A. s e. V ( ( W ++ <" s "> ) e. X -> S = s ) -> U = ( W ++ <" S "> ) ) ) ) |
33 |
32
|
rexlimdva |
|- ( U e. X -> ( E. u e. V U = ( W ++ <" u "> ) -> ( A. s e. V ( ( W ++ <" s "> ) e. X -> S = s ) -> U = ( W ++ <" S "> ) ) ) ) |
34 |
33
|
adantl |
|- ( ( W e. Word V /\ U e. X ) -> ( E. u e. V U = ( W ++ <" u "> ) -> ( A. s e. V ( ( W ++ <" s "> ) e. X -> S = s ) -> U = ( W ++ <" S "> ) ) ) ) |
35 |
34
|
adantr |
|- ( ( ( W e. Word V /\ U e. X ) /\ ( U e. Word V /\ ( # ` U ) = ( ( # ` W ) + 1 ) ) ) -> ( E. u e. V U = ( W ++ <" u "> ) -> ( A. s e. V ( ( W ++ <" s "> ) e. X -> S = s ) -> U = ( W ++ <" S "> ) ) ) ) |
36 |
12 35
|
syld |
|- ( ( ( W e. Word V /\ U e. X ) /\ ( U e. Word V /\ ( # ` U ) = ( ( # ` W ) + 1 ) ) ) -> ( W = ( U prefix ( # ` W ) ) -> ( A. s e. V ( ( W ++ <" s "> ) e. X -> S = s ) -> U = ( W ++ <" S "> ) ) ) ) |
37 |
36
|
com23 |
|- ( ( ( W e. Word V /\ U e. X ) /\ ( U e. Word V /\ ( # ` U ) = ( ( # ` W ) + 1 ) ) ) -> ( A. s e. V ( ( W ++ <" s "> ) e. X -> S = s ) -> ( W = ( U prefix ( # ` W ) ) -> U = ( W ++ <" S "> ) ) ) ) |
38 |
37
|
ex |
|- ( ( W e. Word V /\ U e. X ) -> ( ( U e. Word V /\ ( # ` U ) = ( ( # ` W ) + 1 ) ) -> ( A. s e. V ( ( W ++ <" s "> ) e. X -> S = s ) -> ( W = ( U prefix ( # ` W ) ) -> U = ( W ++ <" S "> ) ) ) ) ) |
39 |
5 38
|
syld |
|- ( ( W e. Word V /\ U e. X ) -> ( A. x e. X ( x e. Word V /\ ( # ` x ) = ( ( # ` W ) + 1 ) ) -> ( A. s e. V ( ( W ++ <" s "> ) e. X -> S = s ) -> ( W = ( U prefix ( # ` W ) ) -> U = ( W ++ <" S "> ) ) ) ) ) |
40 |
39
|
com23 |
|- ( ( W e. Word V /\ U e. X ) -> ( A. s e. V ( ( W ++ <" s "> ) e. X -> S = s ) -> ( A. x e. X ( x e. Word V /\ ( # ` x ) = ( ( # ` W ) + 1 ) ) -> ( W = ( U prefix ( # ` W ) ) -> U = ( W ++ <" S "> ) ) ) ) ) |
41 |
40
|
3imp |
|- ( ( ( W e. Word V /\ U e. X ) /\ A. s e. V ( ( W ++ <" s "> ) e. X -> S = s ) /\ A. x e. X ( x e. Word V /\ ( # ` x ) = ( ( # ` W ) + 1 ) ) ) -> ( W = ( U prefix ( # ` W ) ) -> U = ( W ++ <" S "> ) ) ) |