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

Theorem ccatval1 12554
Description: Value of a symbol in the left half of a concatenated word. (Contributed by Stefan O'Rear, 15-Aug-2015.) (Revised by Mario Carneiro, 22-Sep-2015.) (Proof shortened by AV, 30-Apr-2020.)
Assertion
Ref Expression
ccatval1  |-  ( ( S  e. Word  B  /\  T  e. Word  B  /\  I  e.  ( 0..^ ( # `  S ) ) )  ->  ( ( S ++  T ) `  I
)  =  ( S `
 I ) )

Proof of Theorem ccatval1
Dummy variable  x is distinct from all other variables.
StepHypRef Expression
1 ccatfval 12551 . . 3  |-  ( ( S  e. Word  B  /\  T  e. Word  B )  ->  ( S ++  T )  =  ( x  e.  ( 0..^ ( (
# `  S )  +  ( # `  T
) ) )  |->  if ( x  e.  ( 0..^ ( # `  S
) ) ,  ( S `  x ) ,  ( T `  ( x  -  ( # `
 S ) ) ) ) ) )
213adant3 1015 . 2  |-  ( ( S  e. Word  B  /\  T  e. Word  B  /\  I  e.  ( 0..^ ( # `  S ) ) )  ->  ( S ++  T
)  =  ( x  e.  ( 0..^ ( ( # `  S
)  +  ( # `  T ) ) ) 
|->  if ( x  e.  ( 0..^ ( # `  S ) ) ,  ( S `  x
) ,  ( T `
 ( x  -  ( # `  S ) ) ) ) ) )
3 eleq1 2472 . . . 4  |-  ( x  =  I  ->  (
x  e.  ( 0..^ ( # `  S
) )  <->  I  e.  ( 0..^ ( # `  S
) ) ) )
4 fveq2 5803 . . . 4  |-  ( x  =  I  ->  ( S `  x )  =  ( S `  I ) )
5 oveq1 6239 . . . . 5  |-  ( x  =  I  ->  (
x  -  ( # `  S ) )  =  ( I  -  ( # `
 S ) ) )
65fveq2d 5807 . . . 4  |-  ( x  =  I  ->  ( T `  ( x  -  ( # `  S
) ) )  =  ( T `  (
I  -  ( # `  S ) ) ) )
73, 4, 6ifbieq12d 3909 . . 3  |-  ( x  =  I  ->  if ( x  e.  (
0..^ ( # `  S
) ) ,  ( S `  x ) ,  ( T `  ( x  -  ( # `
 S ) ) ) )  =  if ( I  e.  ( 0..^ ( # `  S
) ) ,  ( S `  I ) ,  ( T `  ( I  -  ( # `
 S ) ) ) ) )
8 iftrue 3888 . . . 4  |-  ( I  e.  ( 0..^ (
# `  S )
)  ->  if (
I  e.  ( 0..^ ( # `  S
) ) ,  ( S `  I ) ,  ( T `  ( I  -  ( # `
 S ) ) ) )  =  ( S `  I ) )
983ad2ant3 1018 . . 3  |-  ( ( S  e. Word  B  /\  T  e. Word  B  /\  I  e.  ( 0..^ ( # `  S ) ) )  ->  if ( I  e.  ( 0..^ (
# `  S )
) ,  ( S `
 I ) ,  ( T `  (
I  -  ( # `  S ) ) ) )  =  ( S `
 I ) )
107, 9sylan9eqr 2463 . 2  |-  ( ( ( S  e. Word  B  /\  T  e. Word  B  /\  I  e.  ( 0..^ ( # `  S
) ) )  /\  x  =  I )  ->  if ( x  e.  ( 0..^ ( # `  S ) ) ,  ( S `  x
) ,  ( T `
 ( x  -  ( # `  S ) ) ) )  =  ( S `  I
) )
11 simp3 997 . . 3  |-  ( ( S  e. Word  B  /\  T  e. Word  B  /\  I  e.  ( 0..^ ( # `  S ) ) )  ->  I  e.  ( 0..^ ( # `  S
) ) )
12 lencl 12519 . . . 4  |-  ( T  e. Word  B  ->  ( # `
 T )  e. 
NN0 )
13123ad2ant2 1017 . . 3  |-  ( ( S  e. Word  B  /\  T  e. Word  B  /\  I  e.  ( 0..^ ( # `  S ) ) )  ->  ( # `  T
)  e.  NN0 )
14 elfzoext 11820 . . 3  |-  ( ( I  e.  ( 0..^ ( # `  S
) )  /\  ( # `
 T )  e. 
NN0 )  ->  I  e.  ( 0..^ ( (
# `  S )  +  ( # `  T
) ) ) )
1511, 13, 14syl2anc 659 . 2  |-  ( ( S  e. Word  B  /\  T  e. Word  B  /\  I  e.  ( 0..^ ( # `  S ) ) )  ->  I  e.  ( 0..^ ( ( # `  S )  +  (
# `  T )
) ) )
16 fvex 5813 . . 3  |-  ( S `
 I )  e. 
_V
1716a1i 11 . 2  |-  ( ( S  e. Word  B  /\  T  e. Word  B  /\  I  e.  ( 0..^ ( # `  S ) ) )  ->  ( S `  I )  e.  _V )
182, 10, 15, 17fvmptd 5892 1  |-  ( ( S  e. Word  B  /\  T  e. Word  B  /\  I  e.  ( 0..^ ( # `  S ) ) )  ->  ( ( S ++  T ) `  I
)  =  ( S `
 I ) )
Colors of variables: wff setvar class
Syntax hints:    -> wi 4    /\ w3a 972    = wceq 1403    e. wcel 1840   _Vcvv 3056   ifcif 3882    |-> cmpt 4450   ` cfv 5523  (class class class)co 6232   0cc0 9440    + caddc 9443    - cmin 9759   NN0cn0 10754  ..^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:  ccatsymb  12559  ccatfv0  12560  ccatval1lsw  12561  ccatrid  12563  ccatass  12564  ccatrn  12565  ccats1val1  12589  ccat2s1p1  12591  lswccats1fst  12598  ccat2s1fvw  12601  ccatswrd  12642  swrdccat1  12643  swrdccatin1  12669  swrdccatin12lem3  12676  swrdccatin12  12677  splfv1  12692  splfv2a  12693  revccat  12701  cshwidxmod  12735  cats1fv  12785  ccat2s1fvwALT  12854  gsumccat  16223  efgsp1  16969  efgredlemd  16976  efgrelexlemb  16982  clwwlkel  25092  wwlkext2clwwlk  25102  signstfvn  28913  signstfvp  28915  signstfvneq0  28916  ccatpfx  37828  pfxccat1  37829  pfxccatin12  37844
  Copyright terms: Public domain W3C validator