This is an inofficial mirror of http://metamath.tirix.org for personal testing of a visualizer extension only.
Database
REAL AND COMPLEX NUMBERS
Words over a set
Cyclical shifts of words
df-csh
Metamath Proof Explorer
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) (Revised by AV , 4-Nov-2022)
Ref
Expression
Assertion
df-csh
⊢ cyclShift = w ∈ f | ∃ l ∈ ℕ 0 f Fn 0 ..^ l , n ∈ ℤ ⟼ if w = ∅ ∅ w substr n mod w w ++ w prefix n mod w
Detailed syntax breakdown
Step
Hyp
Ref
Expression
0
ccsh
class cyclShift
1
vw
setvar w
2
vf
setvar f
3
vl
setvar l
4
cn0
class ℕ 0
5
2
cv
setvar f
6
cc0
class 0
7
cfzo
class ..^
8
3
cv
setvar l
9
6 8 7
co
class 0 ..^ l
10
5 9
wfn
wff f Fn 0 ..^ l
11
10 3 4
wrex
wff ∃ l ∈ ℕ 0 f Fn 0 ..^ l
12
11 2
cab
class f | ∃ l ∈ ℕ 0 f Fn 0 ..^ l
13
vn
setvar n
14
cz
class ℤ
15
1
cv
setvar w
16
c0
class ∅
17
15 16
wceq
wff w = ∅
18
csubstr
class substr
19
13
cv
setvar n
20
cmo
class mod
21
chash
class .
22
15 21
cfv
class w
23
19 22 20
co
class n mod w
24
23 22
cop
class n mod w w
25
15 24 18
co
class w substr n mod w w
26
cconcat
class ++
27
cpfx
class prefix
28
15 23 27
co
class w prefix n mod w
29
25 28 26
co
class w substr n mod w w ++ w prefix n mod w
30
17 16 29
cif
class if w = ∅ ∅ w substr n mod w w ++ w prefix n mod w
31
1 13 12 14 30
cmpo
class w ∈ f | ∃ l ∈ ℕ 0 f Fn 0 ..^ l , n ∈ ℤ ⟼ if w = ∅ ∅ w substr n mod w w ++ w prefix n mod w
32
0 31
wceq
wff cyclShift = w ∈ f | ∃ l ∈ ℕ 0 f Fn 0 ..^ l , n ∈ ℤ ⟼ if w = ∅ ∅ w substr n mod w w ++ w prefix n mod w