MPE Home Metamath Proof Explorer < Previous   Next >
Nearby theorems
Mirrors  >  Home  >  MPE Home  >  Th. List  >  df-csh Structured version   Visualization version   Unicode version

Definition df-csh 13535
Description: Perform a cyclical shift for an arbitrary class. Meaningful only for words  w  e. Word  S or at least functions over half-open ranges of nonnegative integers. (Contributed by Alexander van der Vekens, 20-May-2018.) (Revised by Mario Carneiro/Alexander van der Vekens/ Gerard Lang, 17-Nov-2018.)
Assertion
Ref Expression
df-csh  |- cyclShift  =  ( w  e.  { f  |  E. l  e. 
NN0  f  Fn  (
0..^ l ) } ,  n  e.  ZZ  |->  if ( w  =  (/) ,  (/) ,  ( ( w substr  <. ( n  mod  ( # `
 w ) ) ,  ( # `  w
) >. ) ++  ( w substr  <. 0 ,  ( n  mod  ( # `  w
) ) >. )
) ) )
Distinct variable group:    f, l, n, w

Detailed syntax breakdown of Definition df-csh
StepHypRef Expression
1 ccsh 13534 . 2  class cyclShift
2 vw . . 3  setvar  w
3 vn . . 3  setvar  n
4 vf . . . . . . 7  setvar  f
54cv 1482 . . . . . 6  class  f
6 cc0 9936 . . . . . . 7  class  0
7 vl . . . . . . . 8  setvar  l
87cv 1482 . . . . . . 7  class  l
9 cfzo 12465 . . . . . . 7  class ..^
106, 8, 9co 6650 . . . . . 6  class  ( 0..^ l )
115, 10wfn 5883 . . . . 5  wff  f  Fn  ( 0..^ l )
12 cn0 11292 . . . . 5  class  NN0
1311, 7, 12wrex 2913 . . . 4  wff  E. l  e.  NN0  f  Fn  (
0..^ l )
1413, 4cab 2608 . . 3  class  { f  |  E. l  e. 
NN0  f  Fn  (
0..^ l ) }
15 cz 11377 . . 3  class  ZZ
162cv 1482 . . . . 5  class  w
17 c0 3915 . . . . 5  class  (/)
1816, 17wceq 1483 . . . 4  wff  w  =  (/)
193cv 1482 . . . . . . . 8  class  n
20 chash 13117 . . . . . . . . 9  class  #
2116, 20cfv 5888 . . . . . . . 8  class  ( # `  w )
22 cmo 12668 . . . . . . . 8  class  mod
2319, 21, 22co 6650 . . . . . . 7  class  ( n  mod  ( # `  w
) )
2423, 21cop 4183 . . . . . 6  class  <. (
n  mod  ( # `  w
) ) ,  (
# `  w ) >.
25 csubstr 13295 . . . . . 6  class substr
2616, 24, 25co 6650 . . . . 5  class  ( w substr  <. ( n  mod  ( # `
 w ) ) ,  ( # `  w
) >. )
276, 23cop 4183 . . . . . 6  class  <. 0 ,  ( n  mod  ( # `  w ) ) >.
2816, 27, 25co 6650 . . . . 5  class  ( w substr  <. 0 ,  ( n  mod  ( # `  w
) ) >. )
29 cconcat 13293 . . . . 5  class ++
3026, 28, 29co 6650 . . . 4  class  ( ( w substr  <. ( n  mod  ( # `  w ) ) ,  ( # `  w ) >. ) ++  ( w substr  <. 0 ,  ( n  mod  ( # `
 w ) )
>. ) )
3118, 17, 30cif 4086 . . 3  class  if ( w  =  (/) ,  (/) ,  ( ( w substr  <. (
n  mod  ( # `  w
) ) ,  (
# `  w ) >. ) ++  ( w substr  <. 0 ,  ( n  mod  ( # `  w ) ) >. ) ) )
322, 3, 14, 15, 31cmpt2 6652 . 2  class  ( w  e.  { f  |  E. l  e.  NN0  f  Fn  ( 0..^ l ) } ,  n  e.  ZZ  |->  if ( w  =  (/) ,  (/) ,  ( ( w substr  <. (
n  mod  ( # `  w
) ) ,  (
# `  w ) >. ) ++  ( w substr  <. 0 ,  ( n  mod  ( # `  w ) ) >. ) ) ) )
331, 32wceq 1483 1  wff cyclShift  =  ( w  e.  { f  |  E. l  e. 
NN0  f  Fn  (
0..^ l ) } ,  n  e.  ZZ  |->  if ( w  =  (/) ,  (/) ,  ( ( w substr  <. ( n  mod  ( # `
 w ) ) ,  ( # `  w
) >. ) ++  ( w substr  <. 0 ,  ( n  mod  ( # `  w
) ) >. )
) ) )
Colors of variables: wff setvar class
This definition is referenced by:  cshfn  13536  cshnz  13538  0csh0  13539
  Copyright terms: Public domain W3C validator