ILE Home Intuitionistic Logic Explorer < Previous   Next >
Nearby theorems
Mirrors  >  Home  >  ILE Home  >  Th. List  >  ccatval1 Unicode version

Theorem ccatval1 11178
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.) (Revised by JJ, 18-Jan-2024.)
Assertion
Ref Expression
ccatval1  |-  ( ( S  e. Word  A  /\  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 wrdfin 11136 . . . 4  |-  ( S  e. Word  A  ->  S  e.  Fin )
2 wrdfin 11136 . . . 4  |-  ( T  e. Word  B  ->  T  e.  Fin )
3 ccatfvalfi 11173 . . . 4  |-  ( ( S  e.  Fin  /\  T  e.  Fin )  ->  ( S ++  T )  =  ( x  e.  ( 0..^ ( ( `  S )  +  ( `  T ) ) ) 
|->  if ( x  e.  ( 0..^ ( `  S
) ) ,  ( S `  x ) ,  ( T `  ( x  -  ( `  S ) ) ) ) ) )
41, 2, 3syl2an 289 . . 3  |-  ( ( S  e. Word  A  /\  T  e. Word  B )  ->  ( S ++  T )  =  ( x  e.  ( 0..^ ( ( `  S )  +  ( `  T ) ) ) 
|->  if ( x  e.  ( 0..^ ( `  S
) ) ,  ( S `  x ) ,  ( T `  ( x  -  ( `  S ) ) ) ) ) )
543adant3 1043 . 2  |-  ( ( S  e. Word  A  /\  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 ) ) ) ) ) )
6 eleq1 2294 . . . 4  |-  ( x  =  I  ->  (
x  e.  ( 0..^ ( `  S )
)  <->  I  e.  (
0..^ ( `  S )
) ) )
7 fveq2 5639 . . . 4  |-  ( x  =  I  ->  ( S `  x )  =  ( S `  I ) )
8 fvoveq1 6041 . . . 4  |-  ( x  =  I  ->  ( T `  ( x  -  ( `  S )
) )  =  ( T `  ( I  -  ( `  S
) ) ) )
96, 7, 8ifbieq12d 3632 . . 3  |-  ( x  =  I  ->  if ( x  e.  (
0..^ ( `  S )
) ,  ( S `
 x ) ,  ( T `  (
x  -  ( `  S
) ) ) )  =  if ( I  e.  ( 0..^ ( `  S ) ) ,  ( S `  I
) ,  ( T `
 ( I  -  ( `  S ) ) ) ) )
10 iftrue 3610 . . . 4  |-  ( I  e.  ( 0..^ ( `  S ) )  ->  if ( I  e.  ( 0..^ ( `  S
) ) ,  ( S `  I ) ,  ( T `  ( I  -  ( `  S ) ) ) )  =  ( S `
 I ) )
11103ad2ant3 1046 . . 3  |-  ( ( S  e. Word  A  /\  T  e. Word  B  /\  I  e.  ( 0..^ ( `  S
) ) )  ->  if ( I  e.  ( 0..^ ( `  S
) ) ,  ( S `  I ) ,  ( T `  ( I  -  ( `  S ) ) ) )  =  ( S `
 I ) )
129, 11sylan9eqr 2286 . 2  |-  ( ( ( S  e. Word  A  /\  T  e. Word  B  /\  I  e.  ( 0..^ ( `  S )
) )  /\  x  =  I )  ->  if ( x  e.  (
0..^ ( `  S )
) ,  ( S `
 x ) ,  ( T `  (
x  -  ( `  S
) ) ) )  =  ( S `  I ) )
13 id 19 . . . 4  |-  ( I  e.  ( 0..^ ( `  S ) )  ->  I  e.  ( 0..^ ( `  S )
) )
14 lencl 11121 . . . 4  |-  ( T  e. Word  B  ->  ( `  T )  e.  NN0 )
15 elfzoext 10438 . . . 4  |-  ( ( I  e.  ( 0..^ ( `  S )
)  /\  ( `  T
)  e.  NN0 )  ->  I  e.  ( 0..^ ( ( `  S
)  +  ( `  T
) ) ) )
1613, 14, 15syl2anr 290 . . 3  |-  ( ( T  e. Word  B  /\  I  e.  ( 0..^ ( `  S )
) )  ->  I  e.  ( 0..^ ( ( `  S )  +  ( `  T ) ) ) )
17163adant1 1041 . 2  |-  ( ( S  e. Word  A  /\  T  e. Word  B  /\  I  e.  ( 0..^ ( `  S
) ) )  ->  I  e.  ( 0..^ ( ( `  S
)  +  ( `  T
) ) ) )
18 wrdsymbcl 11131 . . 3  |-  ( ( S  e. Word  A  /\  I  e.  ( 0..^ ( `  S )
) )  ->  ( S `  I )  e.  A )
19183adant2 1042 . 2  |-  ( ( S  e. Word  A  /\  T  e. Word  B  /\  I  e.  ( 0..^ ( `  S
) ) )  -> 
( S `  I
)  e.  A )
205, 12, 17, 19fvmptd 5727 1  |-  ( ( S  e. Word  A  /\  T  e. Word  B  /\  I  e.  ( 0..^ ( `  S
) ) )  -> 
( ( S ++  T
) `  I )  =  ( S `  I ) )
Colors of variables: wff set class
Syntax hints:    -> wi 4    /\ w3a 1004    = wceq 1397    e. wcel 2202   ifcif 3605    |-> cmpt 4150   ` cfv 5326  (class class class)co 6018   Fincfn 6909   0cc0 8032    + caddc 8035    - cmin 8350   NN0cn0 9402  ..^cfzo 10377  ♯chash 11038  Word cword 11117   ++ cconcat 11171
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-ia1 106  ax-ia2 107  ax-ia3 108  ax-in1 619  ax-in2 620  ax-io 716  ax-5 1495  ax-7 1496  ax-gen 1497  ax-ie1 1541  ax-ie2 1542  ax-8 1552  ax-10 1553  ax-11 1554  ax-i12 1555  ax-bndl 1557  ax-4 1558  ax-17 1574  ax-i9 1578  ax-ial 1582  ax-i5r 1583  ax-13 2204  ax-14 2205  ax-ext 2213  ax-coll 4204  ax-sep 4207  ax-nul 4215  ax-pow 4264  ax-pr 4299  ax-un 4530  ax-setind 4635  ax-iinf 4686  ax-cnex 8123  ax-resscn 8124  ax-1cn 8125  ax-1re 8126  ax-icn 8127  ax-addcl 8128  ax-addrcl 8129  ax-mulcl 8130  ax-addcom 8132  ax-addass 8134  ax-distr 8136  ax-i2m1 8137  ax-0lt1 8138  ax-0id 8140  ax-rnegex 8141  ax-cnre 8143  ax-pre-ltirr 8144  ax-pre-ltwlin 8145  ax-pre-lttrn 8146  ax-pre-apti 8147  ax-pre-ltadd 8148
This theorem depends on definitions:  df-bi 117  df-dc 842  df-3or 1005  df-3an 1006  df-tru 1400  df-fal 1403  df-nf 1509  df-sb 1811  df-eu 2082  df-mo 2083  df-clab 2218  df-cleq 2224  df-clel 2227  df-nfc 2363  df-ne 2403  df-nel 2498  df-ral 2515  df-rex 2516  df-reu 2517  df-rab 2519  df-v 2804  df-sbc 3032  df-csb 3128  df-dif 3202  df-un 3204  df-in 3206  df-ss 3213  df-nul 3495  df-if 3606  df-pw 3654  df-sn 3675  df-pr 3676  df-op 3678  df-uni 3894  df-int 3929  df-iun 3972  df-br 4089  df-opab 4151  df-mpt 4152  df-tr 4188  df-id 4390  df-iord 4463  df-on 4465  df-ilim 4466  df-suc 4468  df-iom 4689  df-xp 4731  df-rel 4732  df-cnv 4733  df-co 4734  df-dm 4735  df-rn 4736  df-res 4737  df-ima 4738  df-iota 5286  df-fun 5328  df-fn 5329  df-f 5330  df-f1 5331  df-fo 5332  df-f1o 5333  df-fv 5334  df-riota 5971  df-ov 6021  df-oprab 6022  df-mpo 6023  df-1st 6303  df-2nd 6304  df-recs 6471  df-frec 6557  df-1o 6582  df-er 6702  df-en 6910  df-dom 6911  df-fin 6912  df-pnf 8216  df-mnf 8217  df-xr 8218  df-ltxr 8219  df-le 8220  df-sub 8352  df-neg 8353  df-inn 9144  df-n0 9403  df-z 9480  df-uz 9756  df-fz 10244  df-fzo 10378  df-ihash 11039  df-word 11118  df-concat 11172
This theorem is referenced by:  ccatsymb  11183  ccatfv0  11184  ccatval1lsw  11185  ccatrid  11188  ccatass  11189  ccatrn  11190  ccats1val1g  11220  lswccats1fst  11225  ccat2s1fvwd  11228  ccatswrd  11255  ccatpfx  11286  pfxccat1  11287  swrdccatin1  11310  pfxccatin12lem3  11317  pfxccatin12  11318  cats1fvd  11351  clwwlkccatlem  16257
  Copyright terms: Public domain W3C validator