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

Theorem ccatcl 11339
Description: The concatenation of two words is a word. (Contributed by FL, 2-Feb-2014.) (Proof shortened by Stefan O'Rear, 15-Aug-2015.) (Proof shortened by AV, 29-Apr-2020.)
Assertion
Ref Expression
ccatcl  |-  ( ( S  e. Word  B  /\  T  e. Word  B )  ->  ( S ++  T )  e. Word  B )

Proof of Theorem ccatcl
Dummy variable  x is distinct from all other variables.
StepHypRef Expression
1 wrdfin 11301 . . 3  |-  ( S  e. Word  B  ->  S  e.  Fin )
2 wrdfin 11301 . . 3  |-  ( T  e. Word  B  ->  T  e.  Fin )
3 ccatfvalfi 11338 . . 3  |-  ( ( 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 . 2  |-  ( ( 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 ) ) ) ) ) )
5 wrdf 11288 . . . . . . 7  |-  ( S  e. Word  B  ->  S : ( 0..^ ( `  S ) ) --> B )
65ad2antrr 492 . . . . . 6  |-  ( ( ( S  e. Word  B  /\  T  e. Word  B )  /\  x  e.  ( 0..^ ( ( `  S
)  +  ( `  T
) ) ) )  ->  S : ( 0..^ ( `  S
) ) --> B )
76ffvelcdmda 5834 . . . . 5  |-  ( ( ( ( S  e. Word  B  /\  T  e. Word  B
)  /\  x  e.  ( 0..^ ( ( `  S
)  +  ( `  T
) ) ) )  /\  x  e.  ( 0..^ ( `  S
) ) )  -> 
( S `  x
)  e.  B )
8 wrdf 11288 . . . . . . 7  |-  ( T  e. Word  B  ->  T : ( 0..^ ( `  T ) ) --> B )
98ad3antlr 497 . . . . . 6  |-  ( ( ( ( S  e. Word  B  /\  T  e. Word  B
)  /\  x  e.  ( 0..^ ( ( `  S
)  +  ( `  T
) ) ) )  /\  -.  x  e.  ( 0..^ ( `  S
) ) )  ->  T : ( 0..^ ( `  T ) ) --> B )
10 simpr 110 . . . . . . . 8  |-  ( ( ( S  e. Word  B  /\  T  e. Word  B )  /\  x  e.  ( 0..^ ( ( `  S
)  +  ( `  T
) ) ) )  ->  x  e.  ( 0..^ ( ( `  S
)  +  ( `  T
) ) ) )
1110anim1i 340 . . . . . . 7  |-  ( ( ( ( S  e. Word  B  /\  T  e. Word  B
)  /\  x  e.  ( 0..^ ( ( `  S
)  +  ( `  T
) ) ) )  /\  -.  x  e.  ( 0..^ ( `  S
) ) )  -> 
( x  e.  ( 0..^ ( ( `  S
)  +  ( `  T
) ) )  /\  -.  x  e.  (
0..^ ( `  S )
) ) )
12 lencl 11286 . . . . . . . . . 10  |-  ( S  e. Word  B  ->  ( `  S )  e.  NN0 )
1312nn0zd 9745 . . . . . . . . 9  |-  ( S  e. Word  B  ->  ( `  S )  e.  ZZ )
14 lencl 11286 . . . . . . . . . 10  |-  ( T  e. Word  B  ->  ( `  T )  e.  NN0 )
1514nn0zd 9745 . . . . . . . . 9  |-  ( T  e. Word  B  ->  ( `  T )  e.  ZZ )
1613, 15anim12i 338 . . . . . . . 8  |-  ( ( S  e. Word  B  /\  T  e. Word  B )  ->  ( ( `  S
)  e.  ZZ  /\  ( `  T )  e.  ZZ ) )
1716ad2antrr 492 . . . . . . 7  |-  ( ( ( ( S  e. Word  B  /\  T  e. Word  B
)  /\  x  e.  ( 0..^ ( ( `  S
)  +  ( `  T
) ) ) )  /\  -.  x  e.  ( 0..^ ( `  S
) ) )  -> 
( ( `  S
)  e.  ZZ  /\  ( `  T )  e.  ZZ ) )
18 fzocatel 10595 . . . . . . 7  |-  ( ( ( x  e.  ( 0..^ ( ( `  S
)  +  ( `  T
) ) )  /\  -.  x  e.  (
0..^ ( `  S )
) )  /\  (
( `  S )  e.  ZZ  /\  ( `  T
)  e.  ZZ ) )  ->  ( x  -  ( `  S )
)  e.  ( 0..^ ( `  T )
) )
1911, 17, 18syl2anc 415 . . . . . 6  |-  ( ( ( ( S  e. Word  B  /\  T  e. Word  B
)  /\  x  e.  ( 0..^ ( ( `  S
)  +  ( `  T
) ) ) )  /\  -.  x  e.  ( 0..^ ( `  S
) ) )  -> 
( x  -  ( `  S ) )  e.  ( 0..^ ( `  T
) ) )
209, 19ffvelcdmd 5835 . . . . 5  |-  ( ( ( ( S  e. Word  B  /\  T  e. Word  B
)  /\  x  e.  ( 0..^ ( ( `  S
)  +  ( `  T
) ) ) )  /\  -.  x  e.  ( 0..^ ( `  S
) ) )  -> 
( T `  (
x  -  ( `  S
) ) )  e.  B )
21 elfzoelz 10532 . . . . . . 7  |-  ( x  e.  ( 0..^ ( ( `  S )  +  ( `  T )
) )  ->  x  e.  ZZ )
2221adantl 277 . . . . . 6  |-  ( ( ( S  e. Word  B  /\  T  e. Word  B )  /\  x  e.  ( 0..^ ( ( `  S
)  +  ( `  T
) ) ) )  ->  x  e.  ZZ )
23 0zd 9635 . . . . . 6  |-  ( ( ( S  e. Word  B  /\  T  e. Word  B )  /\  x  e.  ( 0..^ ( ( `  S
)  +  ( `  T
) ) ) )  ->  0  e.  ZZ )
2413ad2antrr 492 . . . . . 6  |-  ( ( ( S  e. Word  B  /\  T  e. Word  B )  /\  x  e.  ( 0..^ ( ( `  S
)  +  ( `  T
) ) ) )  ->  ( `  S )  e.  ZZ )
25 fzodcel 10538 . . . . . 6  |-  ( ( x  e.  ZZ  /\  0  e.  ZZ  /\  ( `  S )  e.  ZZ )  -> DECID 
x  e.  ( 0..^ ( `  S )
) )
2622, 23, 24, 25syl3anc 1278 . . . . 5  |-  ( ( ( S  e. Word  B  /\  T  e. Word  B )  /\  x  e.  ( 0..^ ( ( `  S
)  +  ( `  T
) ) ) )  -> DECID 
x  e.  ( 0..^ ( `  S )
) )
277, 20, 26ifcldadc 3667 . . . 4  |-  ( ( ( S  e. Word  B  /\  T  e. Word  B )  /\  x  e.  ( 0..^ ( ( `  S
)  +  ( `  T
) ) ) )  ->  if ( x  e.  ( 0..^ ( `  S ) ) ,  ( S `  x
) ,  ( T `
 ( x  -  ( `  S ) ) ) )  e.  B
)
2827fmpttd 5854 . . 3  |-  ( ( S  e. Word  B  /\  T  e. Word  B )  ->  ( x  e.  ( 0..^ ( ( `  S
)  +  ( `  T
) ) )  |->  if ( x  e.  ( 0..^ ( `  S
) ) ,  ( S `  x ) ,  ( T `  ( x  -  ( `  S ) ) ) ) ) : ( 0..^ ( ( `  S
)  +  ( `  T
) ) ) --> B )
2912adantr 276 . . . 4  |-  ( ( S  e. Word  B  /\  T  e. Word  B )  ->  ( `  S )  e.  NN0 )
3014adantl 277 . . . 4  |-  ( ( S  e. Word  B  /\  T  e. Word  B )  ->  ( `  T )  e.  NN0 )
3129, 30nn0addcld 9603 . . 3  |-  ( ( S  e. Word  B  /\  T  e. Word  B )  ->  ( ( `  S
)  +  ( `  T
) )  e.  NN0 )
32 iswrdinn0 11287 . . 3  |-  ( ( ( x  e.  ( 0..^ ( ( `  S
)  +  ( `  T
) ) )  |->  if ( x  e.  ( 0..^ ( `  S
) ) ,  ( S `  x ) ,  ( T `  ( x  -  ( `  S ) ) ) ) ) : ( 0..^ ( ( `  S
)  +  ( `  T
) ) ) --> B  /\  ( ( `  S
)  +  ( `  T
) )  e.  NN0 )  ->  ( x  e.  ( 0..^ ( ( `  S )  +  ( `  T ) ) ) 
|->  if ( x  e.  ( 0..^ ( `  S
) ) ,  ( S `  x ) ,  ( T `  ( x  -  ( `  S ) ) ) ) )  e. Word  B
)
3328, 31, 32syl2anc 415 . 2  |-  ( ( S  e. Word  B  /\  T  e. Word  B )  ->  ( x  e.  ( 0..^ ( ( `  S
)  +  ( `  T
) ) )  |->  if ( x  e.  ( 0..^ ( `  S
) ) ,  ( S `  x ) ,  ( T `  ( x  -  ( `  S ) ) ) ) )  e. Word  B
)
344, 33eqeltrd 2315 1  |-  ( ( S  e. Word  B  /\  T  e. Word  B )  ->  ( S ++  T )  e. Word  B )
Colors of variables: wff set class
Syntax hints:   -. wn 3    -> wi 4    /\ wa 104  DECID wdc 846    = wceq 1402    e. wcel 2209   ifcif 3635    |-> cmpt 4187   -->wf 5368   ` cfv 5372  (class class class)co 6075   Fincfn 7012   0cc0 8169    + caddc 8172    - cmin 8487   NN0cn0 9542   ZZcz 9623  ..^cfzo 10527  ♯chash 11192  Word cword 11282   ++ cconcat 11336
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 623  ax-in2 624  ax-io 721  ax-5 1500  ax-7 1501  ax-gen 1502  ax-ie1 1546  ax-ie2 1547  ax-8 1557  ax-10 1558  ax-11 1559  ax-i12 1560  ax-bndl 1562  ax-4 1563  ax-17 1579  ax-i9 1583  ax-ial 1587  ax-i5r 1588  ax-14 2212  ax-ext 2220  ax-coll 4241  ax-sep 4244  ax-nul 4254  ax-pow 4306  ax-pr 4341  ax-un 4573  ax-setind 4679  ax-iinf 4730  ax-cnex 8260  ax-resscn 8261  ax-1cn 8262  ax-1re 8263  ax-icn 8264  ax-addcl 8265  ax-addrcl 8266  ax-mulcl 8267  ax-addcom 8269  ax-addass 8271  ax-distr 8273  ax-i2m1 8274  ax-0lt1 8275  ax-0id 8277  ax-rnegex 8278  ax-cnre 8280  ax-pre-ltirr 8281  ax-pre-ltwlin 8282  ax-pre-lttrn 8283  ax-pre-apti 8284  ax-pre-ltadd 8285
This theorem depends on definitions:  df-bi 117  df-dc 847  df-3or 1010  df-3an 1011  df-tru 1405  df-fal 1408  df-nf 1514  df-sb 1816  df-eu 2089  df-mo 2090  df-clab 2225  df-cleq 2231  df-clel 2234  df-nfc 2381  df-ne 2421  df-nel 2516  df-ral 2533  df-rex 2534  df-reu 2535  df-rab 2537  df-v 2823  df-sbc 3052  df-csb 3148  df-dif 3222  df-un 3224  df-in 3226  df-ss 3233  df-nul 3521  df-if 3636  df-pw 3687  df-sn 3711  df-pr 3712  df-op 3714  df-uni 3931  df-int 3966  df-iun 4009  df-br 4126  df-opab 4188  df-mpt 4189  df-tr 4225  df-id 4433  df-iord 4506  df-on 4508  df-ilim 4509  df-suc 4511  df-iom 4733  df-xp 4775  df-rel 4776  df-cnv 4777  df-co 4778  df-dm 4779  df-rn 4780  df-res 4781  df-ima 4782  df-iota 5332  df-fun 5374  df-fn 5375  df-f 5376  df-f1 5377  df-fo 5378  df-f1o 5379  df-fv 5380  df-riota 6028  df-ov 6078  df-oprab 6079  df-mpo 6080  df-1st 6364  df-2nd 6365  df-recs 6566  df-frec 6652  df-1o 6677  df-er 6797  df-en 7013  df-dom 7014  df-fin 7015  df-pnf 8352  df-mnf 8353  df-xr 8354  df-ltxr 8355  df-le 8356  df-sub 8489  df-neg 8490  df-inn 9284  df-n0 9543  df-z 9624  df-uz 9901  df-fz 10391  df-fzo 10528  df-ihash 11193  df-word 11283  df-concat 11337
This theorem is referenced by:  ccatclab  11340  ccatsymb  11348  ccatass  11354  lswccatn0lsw  11357  ccatalpha  11359  ccatws1cl  11378  ccatswrd  11420  swrdccat2  11421  ccatpfx  11451  pfxccat1  11452  swrdccatfn  11474  swrdccatin1  11475  swrdccatin2  11479  pfxccatin12lem2c  11480  pfxccatpfx1  11486  pfxccatpfx2  11487  cats1cld  11513  cats2catd  11519  clwwlkccat  16556
  Copyright terms: Public domain W3C validator