MPE Home Metamath Proof Explorer < Previous   Next >
Nearby theorems
Mirrors  >  Home  >  MPE Home  >  Th. List  >  ccatsymb Structured version   Unicode version

Theorem ccatsymb 12559
Description: The symbol at a given position in a concatenated word. (Contributed by AV, 26-May-2018.) (Proof shortened by AV, 24-Nov-2018.)
Assertion
Ref Expression
ccatsymb  |-  ( ( A  e. Word  V  /\  B  e. Word  V  /\  I  e.  ZZ )  ->  (
( A ++  B ) `
 I )  =  if ( I  < 
( # `  A ) ,  ( A `  I ) ,  ( B `  ( I  -  ( # `  A
) ) ) ) )

Proof of Theorem ccatsymb
StepHypRef Expression
1 id 22 . . . . . . . . 9  |-  ( ( A  e. Word  V  /\  B  e. Word  V )  ->  ( A  e. Word  V  /\  B  e. Word  V ) )
213adant3 1015 . . . . . . . 8  |-  ( ( A  e. Word  V  /\  B  e. Word  V  /\  I  e.  ZZ )  ->  ( A  e. Word  V  /\  B  e. Word  V ) )
32ad2antrl 726 . . . . . . 7  |-  ( ( 0  <_  I  /\  ( ( A  e. Word  V  /\  B  e. Word  V  /\  I  e.  ZZ )  /\  I  <  ( # `
 A ) ) )  ->  ( A  e. Word  V  /\  B  e. Word  V ) )
4 simpr 459 . . . . . . . . 9  |-  ( ( ( A  e. Word  V  /\  B  e. Word  V  /\  I  e.  ZZ )  /\  I  <  ( # `  A ) )  ->  I  <  ( # `  A
) )
54anim2i 567 . . . . . . . 8  |-  ( ( 0  <_  I  /\  ( ( A  e. Word  V  /\  B  e. Word  V  /\  I  e.  ZZ )  /\  I  <  ( # `
 A ) ) )  ->  ( 0  <_  I  /\  I  <  ( # `  A
) ) )
6 simp3 997 . . . . . . . . . . 11  |-  ( ( A  e. Word  V  /\  B  e. Word  V  /\  I  e.  ZZ )  ->  I  e.  ZZ )
7 0zd 10835 . . . . . . . . . . 11  |-  ( ( A  e. Word  V  /\  B  e. Word  V  /\  I  e.  ZZ )  ->  0  e.  ZZ )
8 lencl 12519 . . . . . . . . . . . . 13  |-  ( A  e. Word  V  ->  ( # `
 A )  e. 
NN0 )
98nn0zd 10924 . . . . . . . . . . . 12  |-  ( A  e. Word  V  ->  ( # `
 A )  e.  ZZ )
1093ad2ant1 1016 . . . . . . . . . . 11  |-  ( ( A  e. Word  V  /\  B  e. Word  V  /\  I  e.  ZZ )  ->  ( # `
 A )  e.  ZZ )
116, 7, 103jca 1175 . . . . . . . . . 10  |-  ( ( A  e. Word  V  /\  B  e. Word  V  /\  I  e.  ZZ )  ->  (
I  e.  ZZ  /\  0  e.  ZZ  /\  ( # `
 A )  e.  ZZ ) )
1211ad2antrl 726 . . . . . . . . 9  |-  ( ( 0  <_  I  /\  ( ( A  e. Word  V  /\  B  e. Word  V  /\  I  e.  ZZ )  /\  I  <  ( # `
 A ) ) )  ->  ( I  e.  ZZ  /\  0  e.  ZZ  /\  ( # `  A )  e.  ZZ ) )
13 elfzo 11772 . . . . . . . . 9  |-  ( ( I  e.  ZZ  /\  0  e.  ZZ  /\  ( # `
 A )  e.  ZZ )  ->  (
I  e.  ( 0..^ ( # `  A
) )  <->  ( 0  <_  I  /\  I  <  ( # `  A
) ) ) )
1412, 13syl 17 . . . . . . . 8  |-  ( ( 0  <_  I  /\  ( ( A  e. Word  V  /\  B  e. Word  V  /\  I  e.  ZZ )  /\  I  <  ( # `
 A ) ) )  ->  ( I  e.  ( 0..^ ( # `  A ) )  <->  ( 0  <_  I  /\  I  <  ( # `  A
) ) ) )
155, 14mpbird 232 . . . . . . 7  |-  ( ( 0  <_  I  /\  ( ( A  e. Word  V  /\  B  e. Word  V  /\  I  e.  ZZ )  /\  I  <  ( # `
 A ) ) )  ->  I  e.  ( 0..^ ( # `  A
) ) )
16 df-3an 974 . . . . . . 7  |-  ( ( A  e. Word  V  /\  B  e. Word  V  /\  I  e.  ( 0..^ ( # `  A ) ) )  <-> 
( ( A  e. Word  V  /\  B  e. Word  V
)  /\  I  e.  ( 0..^ ( # `  A
) ) ) )
173, 15, 16sylanbrc 662 . . . . . 6  |-  ( ( 0  <_  I  /\  ( ( A  e. Word  V  /\  B  e. Word  V  /\  I  e.  ZZ )  /\  I  <  ( # `
 A ) ) )  ->  ( A  e. Word  V  /\  B  e. Word  V  /\  I  e.  ( 0..^ ( # `  A
) ) ) )
18 ccatval1 12554 . . . . . . 7  |-  ( ( A  e. Word  V  /\  B  e. Word  V  /\  I  e.  ( 0..^ ( # `  A ) ) )  ->  ( ( A ++  B ) `  I
)  =  ( A `
 I ) )
1918eqcomd 2408 . . . . . 6  |-  ( ( A  e. Word  V  /\  B  e. Word  V  /\  I  e.  ( 0..^ ( # `  A ) ) )  ->  ( A `  I )  =  ( ( A ++  B ) `
 I ) )
2017, 19syl 17 . . . . 5  |-  ( ( 0  <_  I  /\  ( ( A  e. Word  V  /\  B  e. Word  V  /\  I  e.  ZZ )  /\  I  <  ( # `
 A ) ) )  ->  ( A `  I )  =  ( ( A ++  B ) `
 I ) )
2120ex 432 . . . 4  |-  ( 0  <_  I  ->  (
( ( A  e. Word  V  /\  B  e. Word  V  /\  I  e.  ZZ )  /\  I  <  ( # `
 A ) )  ->  ( A `  I )  =  ( ( A ++  B ) `
 I ) ) )
22 zre 10827 . . . . . . . . . 10  |-  ( I  e.  ZZ  ->  I  e.  RR )
23 0red 9545 . . . . . . . . . 10  |-  ( I  e.  ZZ  ->  0  e.  RR )
2422, 23jca 530 . . . . . . . . 9  |-  ( I  e.  ZZ  ->  (
I  e.  RR  /\  0  e.  RR )
)
25243ad2ant3 1018 . . . . . . . 8  |-  ( ( A  e. Word  V  /\  B  e. Word  V  /\  I  e.  ZZ )  ->  (
I  e.  RR  /\  0  e.  RR )
)
26 ltnle 9613 . . . . . . . 8  |-  ( ( I  e.  RR  /\  0  e.  RR )  ->  ( I  <  0  <->  -.  0  <_  I )
)
2725, 26syl 17 . . . . . . 7  |-  ( ( A  e. Word  V  /\  B  e. Word  V  /\  I  e.  ZZ )  ->  (
I  <  0  <->  -.  0  <_  I ) )
28 id 22 . . . . . . . . . . . 12  |-  ( ( A  e. Word  V  /\  I  e.  ZZ )  ->  ( A  e. Word  V  /\  I  e.  ZZ ) )
29283adant2 1014 . . . . . . . . . . 11  |-  ( ( A  e. Word  V  /\  B  e. Word  V  /\  I  e.  ZZ )  ->  ( A  e. Word  V  /\  I  e.  ZZ ) )
3029adantr 463 . . . . . . . . . 10  |-  ( ( ( A  e. Word  V  /\  B  e. Word  V  /\  I  e.  ZZ )  /\  I  <  0
)  ->  ( A  e. Word  V  /\  I  e.  ZZ ) )
31 simpr 459 . . . . . . . . . . 11  |-  ( ( ( A  e. Word  V  /\  B  e. Word  V  /\  I  e.  ZZ )  /\  I  <  0
)  ->  I  <  0 )
3231orcd 390 . . . . . . . . . 10  |-  ( ( ( A  e. Word  V  /\  B  e. Word  V  /\  I  e.  ZZ )  /\  I  <  0
)  ->  ( I  <  0  \/  ( # `  A )  <_  I
) )
33 wrdsymb0 12533 . . . . . . . . . 10  |-  ( ( A  e. Word  V  /\  I  e.  ZZ )  ->  ( ( I  <  0  \/  ( # `  A )  <_  I
)  ->  ( A `  I )  =  (/) ) )
3430, 32, 33sylc 59 . . . . . . . . 9  |-  ( ( ( A  e. Word  V  /\  B  e. Word  V  /\  I  e.  ZZ )  /\  I  <  0
)  ->  ( A `  I )  =  (/) )
35 ccatcl 12552 . . . . . . . . . . . . 13  |-  ( ( A  e. Word  V  /\  B  e. Word  V )  ->  ( A ++  B )  e. Word  V )
36353adant3 1015 . . . . . . . . . . . 12  |-  ( ( A  e. Word  V  /\  B  e. Word  V  /\  I  e.  ZZ )  ->  ( A ++  B )  e. Word  V
)
3736, 6jca 530 . . . . . . . . . . 11  |-  ( ( A  e. Word  V  /\  B  e. Word  V  /\  I  e.  ZZ )  ->  (
( A ++  B )  e. Word  V  /\  I  e.  ZZ ) )
3837adantr 463 . . . . . . . . . 10  |-  ( ( ( A  e. Word  V  /\  B  e. Word  V  /\  I  e.  ZZ )  /\  I  <  0
)  ->  ( ( A ++  B )  e. Word  V  /\  I  e.  ZZ ) )
3931orcd 390 . . . . . . . . . 10  |-  ( ( ( A  e. Word  V  /\  B  e. Word  V  /\  I  e.  ZZ )  /\  I  <  0
)  ->  ( I  <  0  \/  ( # `  ( A ++  B ) )  <_  I )
)
40 wrdsymb0 12533 . . . . . . . . . 10  |-  ( ( ( A ++  B )  e. Word  V  /\  I  e.  ZZ )  ->  (
( I  <  0  \/  ( # `  ( A ++  B ) )  <_  I )  ->  (
( A ++  B ) `
 I )  =  (/) ) )
4138, 39, 40sylc 59 . . . . . . . . 9  |-  ( ( ( A  e. Word  V  /\  B  e. Word  V  /\  I  e.  ZZ )  /\  I  <  0
)  ->  ( ( A ++  B ) `  I
)  =  (/) )
4234, 41eqtr4d 2444 . . . . . . . 8  |-  ( ( ( A  e. Word  V  /\  B  e. Word  V  /\  I  e.  ZZ )  /\  I  <  0
)  ->  ( A `  I )  =  ( ( A ++  B ) `
 I ) )
4342ex 432 . . . . . . 7  |-  ( ( A  e. Word  V  /\  B  e. Word  V  /\  I  e.  ZZ )  ->  (
I  <  0  ->  ( A `  I )  =  ( ( A ++  B ) `  I
) ) )
4427, 43sylbird 235 . . . . . 6  |-  ( ( A  e. Word  V  /\  B  e. Word  V  /\  I  e.  ZZ )  ->  ( -.  0  <_  I  -> 
( A `  I
)  =  ( ( A ++  B ) `  I ) ) )
4544adantr 463 . . . . 5  |-  ( ( ( A  e. Word  V  /\  B  e. Word  V  /\  I  e.  ZZ )  /\  I  <  ( # `  A ) )  -> 
( -.  0  <_  I  ->  ( A `  I )  =  ( ( A ++  B ) `
 I ) ) )
4645com12 29 . . . 4  |-  ( -.  0  <_  I  ->  ( ( ( A  e. Word  V  /\  B  e. Word  V  /\  I  e.  ZZ )  /\  I  <  ( # `
 A ) )  ->  ( A `  I )  =  ( ( A ++  B ) `
 I ) ) )
4721, 46pm2.61i 164 . . 3  |-  ( ( ( A  e. Word  V  /\  B  e. Word  V  /\  I  e.  ZZ )  /\  I  <  ( # `  A ) )  -> 
( A `  I
)  =  ( ( A ++  B ) `  I ) )
482ad2antrl 726 . . . . . . . 8  |-  ( ( I  <  ( (
# `  A )  +  ( # `  B
) )  /\  (
( A  e. Word  V  /\  B  e. Word  V  /\  I  e.  ZZ )  /\  -.  I  <  ( # `
 A ) ) )  ->  ( A  e. Word  V  /\  B  e. Word  V ) )
498nn0red 10812 . . . . . . . . . . . . . 14  |-  ( A  e. Word  V  ->  ( # `
 A )  e.  RR )
50 lenlt 9612 . . . . . . . . . . . . . 14  |-  ( ( ( # `  A
)  e.  RR  /\  I  e.  RR )  ->  ( ( # `  A
)  <_  I  <->  -.  I  <  ( # `  A
) ) )
5149, 22, 50syl2an 475 . . . . . . . . . . . . 13  |-  ( ( A  e. Word  V  /\  I  e.  ZZ )  ->  ( ( # `  A
)  <_  I  <->  -.  I  <  ( # `  A
) ) )
52513adant2 1014 . . . . . . . . . . . 12  |-  ( ( A  e. Word  V  /\  B  e. Word  V  /\  I  e.  ZZ )  ->  (
( # `  A )  <_  I  <->  -.  I  <  ( # `  A
) ) )
5352biimpar 483 . . . . . . . . . . 11  |-  ( ( ( A  e. Word  V  /\  B  e. Word  V  /\  I  e.  ZZ )  /\  -.  I  <  ( # `
 A ) )  ->  ( # `  A
)  <_  I )
5453anim2i 567 . . . . . . . . . 10  |-  ( ( I  <  ( (
# `  A )  +  ( # `  B
) )  /\  (
( A  e. Word  V  /\  B  e. Word  V  /\  I  e.  ZZ )  /\  -.  I  <  ( # `
 A ) ) )  ->  ( I  <  ( ( # `  A
)  +  ( # `  B ) )  /\  ( # `  A )  <_  I ) )
5554ancomd 449 . . . . . . . . 9  |-  ( ( I  <  ( (
# `  A )  +  ( # `  B
) )  /\  (
( A  e. Word  V  /\  B  e. Word  V  /\  I  e.  ZZ )  /\  -.  I  <  ( # `
 A ) ) )  ->  ( ( # `
 A )  <_  I  /\  I  <  (
( # `  A )  +  ( # `  B
) ) ) )
56 lencl 12519 . . . . . . . . . . . . . . 15  |-  ( B  e. Word  V  ->  ( # `
 B )  e. 
NN0 )
5756nn0zd 10924 . . . . . . . . . . . . . 14  |-  ( B  e. Word  V  ->  ( # `
 B )  e.  ZZ )
58 zaddcl 10863 . . . . . . . . . . . . . 14  |-  ( ( ( # `  A
)  e.  ZZ  /\  ( # `  B )  e.  ZZ )  -> 
( ( # `  A
)  +  ( # `  B ) )  e.  ZZ )
599, 57, 58syl2an 475 . . . . . . . . . . . . 13  |-  ( ( A  e. Word  V  /\  B  e. Word  V )  ->  ( ( # `  A
)  +  ( # `  B ) )  e.  ZZ )
60593adant3 1015 . . . . . . . . . . . 12  |-  ( ( A  e. Word  V  /\  B  e. Word  V  /\  I  e.  ZZ )  ->  (
( # `  A )  +  ( # `  B
) )  e.  ZZ )
616, 10, 603jca 1175 . . . . . . . . . . 11  |-  ( ( A  e. Word  V  /\  B  e. Word  V  /\  I  e.  ZZ )  ->  (
I  e.  ZZ  /\  ( # `  A )  e.  ZZ  /\  (
( # `  A )  +  ( # `  B
) )  e.  ZZ ) )
6261ad2antrl 726 . . . . . . . . . 10  |-  ( ( I  <  ( (
# `  A )  +  ( # `  B
) )  /\  (
( A  e. Word  V  /\  B  e. Word  V  /\  I  e.  ZZ )  /\  -.  I  <  ( # `
 A ) ) )  ->  ( I  e.  ZZ  /\  ( # `  A )  e.  ZZ  /\  ( ( # `  A
)  +  ( # `  B ) )  e.  ZZ ) )
63 elfzo 11772 . . . . . . . . . 10  |-  ( ( I  e.  ZZ  /\  ( # `  A )  e.  ZZ  /\  (
( # `  A )  +  ( # `  B
) )  e.  ZZ )  ->  ( I  e.  ( ( # `  A
)..^ ( ( # `  A )  +  (
# `  B )
) )  <->  ( ( # `
 A )  <_  I  /\  I  <  (
( # `  A )  +  ( # `  B
) ) ) ) )
6462, 63syl 17 . . . . . . . . 9  |-  ( ( I  <  ( (
# `  A )  +  ( # `  B
) )  /\  (
( A  e. Word  V  /\  B  e. Word  V  /\  I  e.  ZZ )  /\  -.  I  <  ( # `
 A ) ) )  ->  ( I  e.  ( ( # `  A
)..^ ( ( # `  A )  +  (
# `  B )
) )  <->  ( ( # `
 A )  <_  I  /\  I  <  (
( # `  A )  +  ( # `  B
) ) ) ) )
6555, 64mpbird 232 . . . . . . . 8  |-  ( ( I  <  ( (
# `  A )  +  ( # `  B
) )  /\  (
( A  e. Word  V  /\  B  e. Word  V  /\  I  e.  ZZ )  /\  -.  I  <  ( # `
 A ) ) )  ->  I  e.  ( ( # `  A
)..^ ( ( # `  A )  +  (
# `  B )
) ) )
66 df-3an 974 . . . . . . . 8  |-  ( ( A  e. Word  V  /\  B  e. Word  V  /\  I  e.  ( ( # `  A
)..^ ( ( # `  A )  +  (
# `  B )
) ) )  <->  ( ( A  e. Word  V  /\  B  e. Word  V )  /\  I  e.  ( ( # `  A
)..^ ( ( # `  A )  +  (
# `  B )
) ) ) )
6748, 65, 66sylanbrc 662 . . . . . . 7  |-  ( ( I  <  ( (
# `  A )  +  ( # `  B
) )  /\  (
( A  e. Word  V  /\  B  e. Word  V  /\  I  e.  ZZ )  /\  -.  I  <  ( # `
 A ) ) )  ->  ( A  e. Word  V  /\  B  e. Word  V  /\  I  e.  ( ( # `  A
)..^ ( ( # `  A )  +  (
# `  B )
) ) ) )
68 ccatval2 12555 . . . . . . 7  |-  ( ( A  e. Word  V  /\  B  e. Word  V  /\  I  e.  ( ( # `  A
)..^ ( ( # `  A )  +  (
# `  B )
) ) )  -> 
( ( A ++  B
) `  I )  =  ( B `  ( I  -  ( # `
 A ) ) ) )
6967, 68syl 17 . . . . . 6  |-  ( ( I  <  ( (
# `  A )  +  ( # `  B
) )  /\  (
( A  e. Word  V  /\  B  e. Word  V  /\  I  e.  ZZ )  /\  -.  I  <  ( # `
 A ) ) )  ->  ( ( A ++  B ) `  I
)  =  ( B `
 ( I  -  ( # `  A ) ) ) )
7069ex 432 . . . . 5  |-  ( I  <  ( ( # `  A )  +  (
# `  B )
)  ->  ( (
( A  e. Word  V  /\  B  e. Word  V  /\  I  e.  ZZ )  /\  -.  I  <  ( # `
 A ) )  ->  ( ( A ++  B ) `  I
)  =  ( B `
 ( I  -  ( # `  A ) ) ) ) )
7156nn0red 10812 . . . . . . . . . . 11  |-  ( B  e. Word  V  ->  ( # `
 B )  e.  RR )
72 readdcl 9523 . . . . . . . . . . 11  |-  ( ( ( # `  A
)  e.  RR  /\  ( # `  B )  e.  RR )  -> 
( ( # `  A
)  +  ( # `  B ) )  e.  RR )
7349, 71, 72syl2an 475 . . . . . . . . . 10  |-  ( ( A  e. Word  V  /\  B  e. Word  V )  ->  ( ( # `  A
)  +  ( # `  B ) )  e.  RR )
74733adant3 1015 . . . . . . . . 9  |-  ( ( A  e. Word  V  /\  B  e. Word  V  /\  I  e.  ZZ )  ->  (
( # `  A )  +  ( # `  B
) )  e.  RR )
75223ad2ant3 1018 . . . . . . . . 9  |-  ( ( A  e. Word  V  /\  B  e. Word  V  /\  I  e.  ZZ )  ->  I  e.  RR )
7674, 75lenltd 9681 . . . . . . . 8  |-  ( ( A  e. Word  V  /\  B  e. Word  V  /\  I  e.  ZZ )  ->  (
( ( # `  A
)  +  ( # `  B ) )  <_  I 
<->  -.  I  <  (
( # `  A )  +  ( # `  B
) ) ) )
7737adantr 463 . . . . . . . . . . 11  |-  ( ( ( A  e. Word  V  /\  B  e. Word  V  /\  I  e.  ZZ )  /\  ( ( # `  A
)  +  ( # `  B ) )  <_  I )  ->  (
( A ++  B )  e. Word  V  /\  I  e.  ZZ ) )
78 ccatlen 12553 . . . . . . . . . . . . . . 15  |-  ( ( A  e. Word  V  /\  B  e. Word  V )  ->  ( # `  ( A ++  B ) )  =  ( ( # `  A
)  +  ( # `  B ) ) )
79783adant3 1015 . . . . . . . . . . . . . 14  |-  ( ( A  e. Word  V  /\  B  e. Word  V  /\  I  e.  ZZ )  ->  ( # `
 ( A ++  B
) )  =  ( ( # `  A
)  +  ( # `  B ) ) )
8079adantr 463 . . . . . . . . . . . . 13  |-  ( ( ( A  e. Word  V  /\  B  e. Word  V  /\  I  e.  ZZ )  /\  ( ( # `  A
)  +  ( # `  B ) )  <_  I )  ->  ( # `
 ( A ++  B
) )  =  ( ( # `  A
)  +  ( # `  B ) ) )
81 simpr 459 . . . . . . . . . . . . 13  |-  ( ( ( A  e. Word  V  /\  B  e. Word  V  /\  I  e.  ZZ )  /\  ( ( # `  A
)  +  ( # `  B ) )  <_  I )  ->  (
( # `  A )  +  ( # `  B
) )  <_  I
)
8280, 81eqbrtrd 4412 . . . . . . . . . . . 12  |-  ( ( ( A  e. Word  V  /\  B  e. Word  V  /\  I  e.  ZZ )  /\  ( ( # `  A
)  +  ( # `  B ) )  <_  I )  ->  ( # `
 ( A ++  B
) )  <_  I
)
8382olcd 391 . . . . . . . . . . 11  |-  ( ( ( A  e. Word  V  /\  B  e. Word  V  /\  I  e.  ZZ )  /\  ( ( # `  A
)  +  ( # `  B ) )  <_  I )  ->  (
I  <  0  \/  ( # `  ( A ++  B ) )  <_  I ) )
8477, 83, 40sylc 59 . . . . . . . . . 10  |-  ( ( ( A  e. Word  V  /\  B  e. Word  V  /\  I  e.  ZZ )  /\  ( ( # `  A
)  +  ( # `  B ) )  <_  I )  ->  (
( A ++  B ) `
 I )  =  (/) )
85 simp2 996 . . . . . . . . . . . . 13  |-  ( ( A  e. Word  V  /\  B  e. Word  V  /\  I  e.  ZZ )  ->  B  e. Word  V )
86 zsubcl 10865 . . . . . . . . . . . . . . . 16  |-  ( ( I  e.  ZZ  /\  ( # `  A )  e.  ZZ )  -> 
( I  -  ( # `
 A ) )  e.  ZZ )
879, 86sylan2 472 . . . . . . . . . . . . . . 15  |-  ( ( I  e.  ZZ  /\  A  e. Word  V )  ->  ( I  -  ( # `
 A ) )  e.  ZZ )
8887ancoms 451 . . . . . . . . . . . . . 14  |-  ( ( A  e. Word  V  /\  I  e.  ZZ )  ->  ( I  -  ( # `
 A ) )  e.  ZZ )
89883adant2 1014 . . . . . . . . . . . . 13  |-  ( ( A  e. Word  V  /\  B  e. Word  V  /\  I  e.  ZZ )  ->  (
I  -  ( # `  A ) )  e.  ZZ )
9085, 89jca 530 . . . . . . . . . . . 12  |-  ( ( A  e. Word  V  /\  B  e. Word  V  /\  I  e.  ZZ )  ->  ( B  e. Word  V  /\  (
I  -  ( # `  A ) )  e.  ZZ ) )
9190adantr 463 . . . . . . . . . . 11  |-  ( ( ( A  e. Word  V  /\  B  e. Word  V  /\  I  e.  ZZ )  /\  ( ( # `  A
)  +  ( # `  B ) )  <_  I )  ->  ( B  e. Word  V  /\  (
I  -  ( # `  A ) )  e.  ZZ ) )
92 leaddsub2 9988 . . . . . . . . . . . . . 14  |-  ( ( ( # `  A
)  e.  RR  /\  ( # `  B )  e.  RR  /\  I  e.  RR )  ->  (
( ( # `  A
)  +  ( # `  B ) )  <_  I 
<->  ( # `  B
)  <_  ( I  -  ( # `  A
) ) ) )
9349, 71, 22, 92syl3an 1270 . . . . . . . . . . . . 13  |-  ( ( A  e. Word  V  /\  B  e. Word  V  /\  I  e.  ZZ )  ->  (
( ( # `  A
)  +  ( # `  B ) )  <_  I 
<->  ( # `  B
)  <_  ( I  -  ( # `  A
) ) ) )
9493biimpa 482 . . . . . . . . . . . 12  |-  ( ( ( A  e. Word  V  /\  B  e. Word  V  /\  I  e.  ZZ )  /\  ( ( # `  A
)  +  ( # `  B ) )  <_  I )  ->  ( # `
 B )  <_ 
( I  -  ( # `
 A ) ) )
9594olcd 391 . . . . . . . . . . 11  |-  ( ( ( A  e. Word  V  /\  B  e. Word  V  /\  I  e.  ZZ )  /\  ( ( # `  A
)  +  ( # `  B ) )  <_  I )  ->  (
( I  -  ( # `
 A ) )  <  0  \/  ( # `
 B )  <_ 
( I  -  ( # `
 A ) ) ) )
96 wrdsymb0 12533 . . . . . . . . . . 11  |-  ( ( B  e. Word  V  /\  ( I  -  ( # `
 A ) )  e.  ZZ )  -> 
( ( ( I  -  ( # `  A
) )  <  0  \/  ( # `  B
)  <_  ( I  -  ( # `  A
) ) )  -> 
( B `  (
I  -  ( # `  A ) ) )  =  (/) ) )
9791, 95, 96sylc 59 . . . . . . . . . 10  |-  ( ( ( A  e. Word  V  /\  B  e. Word  V  /\  I  e.  ZZ )  /\  ( ( # `  A
)  +  ( # `  B ) )  <_  I )  ->  ( B `  ( I  -  ( # `  A
) ) )  =  (/) )
9884, 97eqtr4d 2444 . . . . . . . . 9  |-  ( ( ( A  e. Word  V  /\  B  e. Word  V  /\  I  e.  ZZ )  /\  ( ( # `  A
)  +  ( # `  B ) )  <_  I )  ->  (
( A ++  B ) `
 I )  =  ( B `  (
I  -  ( # `  A ) ) ) )
9998ex 432 . . . . . . . 8  |-  ( ( A  e. Word  V  /\  B  e. Word  V  /\  I  e.  ZZ )  ->  (
( ( # `  A
)  +  ( # `  B ) )  <_  I  ->  ( ( A ++  B ) `  I
)  =  ( B `
 ( I  -  ( # `  A ) ) ) ) )
10076, 99sylbird 235 . . . . . . 7  |-  ( ( A  e. Word  V  /\  B  e. Word  V  /\  I  e.  ZZ )  ->  ( -.  I  <  ( (
# `  A )  +  ( # `  B
) )  ->  (
( A ++  B ) `
 I )  =  ( B `  (
I  -  ( # `  A ) ) ) ) )
101100adantr 463 . . . . . 6  |-  ( ( ( A  e. Word  V  /\  B  e. Word  V  /\  I  e.  ZZ )  /\  -.  I  <  ( # `
 A ) )  ->  ( -.  I  <  ( ( # `  A
)  +  ( # `  B ) )  -> 
( ( A ++  B
) `  I )  =  ( B `  ( I  -  ( # `
 A ) ) ) ) )
102101com12 29 . . . . 5  |-  ( -.  I  <  ( (
# `  A )  +  ( # `  B
) )  ->  (
( ( A  e. Word  V  /\  B  e. Word  V  /\  I  e.  ZZ )  /\  -.  I  < 
( # `  A ) )  ->  ( ( A ++  B ) `  I
)  =  ( B `
 ( I  -  ( # `  A ) ) ) ) )
10370, 102pm2.61i 164 . . . 4  |-  ( ( ( A  e. Word  V  /\  B  e. Word  V  /\  I  e.  ZZ )  /\  -.  I  <  ( # `
 A ) )  ->  ( ( A ++  B ) `  I
)  =  ( B `
 ( I  -  ( # `  A ) ) ) )
104103eqcomd 2408 . . 3  |-  ( ( ( A  e. Word  V  /\  B  e. Word  V  /\  I  e.  ZZ )  /\  -.  I  <  ( # `
 A ) )  ->  ( B `  ( I  -  ( # `
 A ) ) )  =  ( ( A ++  B ) `  I ) )
10547, 104ifeqda 3915 . 2  |-  ( ( A  e. Word  V  /\  B  e. Word  V  /\  I  e.  ZZ )  ->  if ( I  <  ( # `  A ) ,  ( A `  I ) ,  ( B `  ( I  -  ( # `
 A ) ) ) )  =  ( ( A ++  B ) `
 I ) )
106105eqcomd 2408 1  |-  ( ( A  e. Word  V  /\  B  e. Word  V  /\  I  e.  ZZ )  ->  (
( A ++  B ) `
 I )  =  if ( I  < 
( # `  A ) ,  ( A `  I ) ,  ( B `  ( I  -  ( # `  A
) ) ) ) )
Colors of variables: wff setvar class
Syntax hints:   -. wn 3    -> wi 4    <-> wb 184    \/ wo 366    /\ wa 367    /\ w3a 972    = wceq 1403    e. wcel 1840   (/)c0 3735   ifcif 3882   class class class wbr 4392   ` cfv 5523  (class class class)co 6232   RRcr 9439   0cc0 9440    + caddc 9443    < clt 9576    <_ cle 9577    - cmin 9759   ZZcz 10823  ..^cfzo 11765   #chash 12357  Word cword 12488   ++ cconcat 12490
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1637  ax-4 1650  ax-5 1723  ax-6 1769  ax-7 1812  ax-8 1842  ax-9 1844  ax-10 1859  ax-11 1864  ax-12 1876  ax-13 2024  ax-ext 2378  ax-rep 4504  ax-sep 4514  ax-nul 4522  ax-pow 4569  ax-pr 4627  ax-un 6528  ax-cnex 9496  ax-resscn 9497  ax-1cn 9498  ax-icn 9499  ax-addcl 9500  ax-addrcl 9501  ax-mulcl 9502  ax-mulrcl 9503  ax-mulcom 9504  ax-addass 9505  ax-mulass 9506  ax-distr 9507  ax-i2m1 9508  ax-1ne0 9509  ax-1rid 9510  ax-rnegex 9511  ax-rrecex 9512  ax-cnre 9513  ax-pre-lttri 9514  ax-pre-lttrn 9515  ax-pre-ltadd 9516  ax-pre-mulgt0 9517
This theorem depends on definitions:  df-bi 185  df-or 368  df-an 369  df-3or 973  df-3an 974  df-tru 1406  df-ex 1632  df-nf 1636  df-sb 1762  df-eu 2240  df-mo 2241  df-clab 2386  df-cleq 2392  df-clel 2395  df-nfc 2550  df-ne 2598  df-nel 2599  df-ral 2756  df-rex 2757  df-reu 2758  df-rmo 2759  df-rab 2760  df-v 3058  df-sbc 3275  df-csb 3371  df-dif 3414  df-un 3416  df-in 3418  df-ss 3425  df-pss 3427  df-nul 3736  df-if 3883  df-pw 3954  df-sn 3970  df-pr 3972  df-tp 3974  df-op 3976  df-uni 4189  df-int 4225  df-iun 4270  df-br 4393  df-opab 4451  df-mpt 4452  df-tr 4487  df-eprel 4731  df-id 4735  df-po 4741  df-so 4742  df-fr 4779  df-we 4781  df-ord 4822  df-on 4823  df-lim 4824  df-suc 4825  df-xp 4946  df-rel 4947  df-cnv 4948  df-co 4949  df-dm 4950  df-rn 4951  df-res 4952  df-ima 4953  df-iota 5487  df-fun 5525  df-fn 5526  df-f 5527  df-f1 5528  df-fo 5529  df-f1o 5530  df-fv 5531  df-riota 6194  df-ov 6235  df-oprab 6236  df-mpt2 6237  df-om 6637  df-1st 6736  df-2nd 6737  df-recs 6997  df-rdg 7031  df-1o 7085  df-oadd 7089  df-er 7266  df-en 7473  df-dom 7474  df-sdom 7475  df-fin 7476  df-card 8270  df-cda 8498  df-pnf 9578  df-mnf 9579  df-xr 9580  df-ltxr 9581  df-le 9582  df-sub 9761  df-neg 9762  df-nn 10495  df-2 10553  df-n0 10755  df-z 10824  df-uz 11044  df-fz 11642  df-fzo 11766  df-hash 12358  df-word 12496  df-concat 12498
This theorem is referenced by:  swrdccatin2  12673
  Copyright terms: Public domain W3C validator