Metamath Proof Explorer


Theorem cshimadifsn

Description: The image of a cyclically shifted word under its domain without its left bound is the image of a cyclically shifted word under its domain without the number of shifted symbols. (Contributed by AV, 19-Mar-2021)

Ref Expression
Assertion cshimadifsn FWordSN=FJ0..^NF0..^NJ=FcyclShiftJ1..^N

Proof

Step Hyp Ref Expression
1 wrdfn FWordSFFn0..^F
2 fnfun FFn0..^FFunF
3 1 2 syl FWordSFunF
4 3 3ad2ant1 FWordSN=FJ0..^NFunF
5 wrddm FWordSdomF=0..^F
6 difssd domF=0..^FN=F0..^FJ0..^F
7 oveq2 N=F0..^N=0..^F
8 7 difeq1d N=F0..^NJ=0..^FJ
9 8 adantl domF=0..^FN=F0..^NJ=0..^FJ
10 simpl domF=0..^FN=FdomF=0..^F
11 6 9 10 3sstr4d domF=0..^FN=F0..^NJdomF
12 11 a1d domF=0..^FN=FJ0..^N0..^NJdomF
13 12 ex domF=0..^FN=FJ0..^N0..^NJdomF
14 5 13 syl FWordSN=FJ0..^N0..^NJdomF
15 14 3imp FWordSN=FJ0..^N0..^NJdomF
16 4 15 jca FWordSN=FJ0..^NFunF0..^NJdomF
17 dfimafn FunF0..^NJdomFF0..^NJ=z|x0..^NJFx=z
18 16 17 syl FWordSN=FJ0..^NF0..^NJ=z|x0..^NJFx=z
19 modsumfzodifsn J0..^Ny1..^Ny+JmodN0..^NJ
20 19 3ad2antl3 FWordSN=FJ0..^Ny1..^Ny+JmodN0..^NJ
21 oveq2 F=Ny+JmodF=y+JmodN
22 21 eqcoms N=Fy+JmodF=y+JmodN
23 22 eleq1d N=Fy+JmodF0..^NJy+JmodN0..^NJ
24 23 3ad2ant2 FWordSN=FJ0..^Ny+JmodF0..^NJy+JmodN0..^NJ
25 24 adantr FWordSN=FJ0..^Ny1..^Ny+JmodF0..^NJy+JmodN0..^NJ
26 20 25 mpbird FWordSN=FJ0..^Ny1..^Ny+JmodF0..^NJ
27 modfzo0difsn J0..^Nx0..^NJy1..^Nx=y+JmodN
28 27 3ad2antl3 FWordSN=FJ0..^Nx0..^NJy1..^Nx=y+JmodN
29 oveq2 N=Fy+JmodN=y+JmodF
30 29 eqcomd N=Fy+JmodF=y+JmodN
31 30 eqeq2d N=Fx=y+JmodFx=y+JmodN
32 31 rexbidv N=Fy1..^Nx=y+JmodFy1..^Nx=y+JmodN
33 32 3ad2ant2 FWordSN=FJ0..^Ny1..^Nx=y+JmodFy1..^Nx=y+JmodN
34 33 adantr FWordSN=FJ0..^Nx0..^NJy1..^Nx=y+JmodFy1..^Nx=y+JmodN
35 28 34 mpbird FWordSN=FJ0..^Nx0..^NJy1..^Nx=y+JmodF
36 fveq2 x=y+JmodFFx=Fy+JmodF
37 36 3ad2ant3 FWordSN=FJ0..^Ny1..^Nx=y+JmodFFx=Fy+JmodF
38 simpl1 FWordSN=FJ0..^Ny1..^NFWordS
39 elfzoelz J0..^NJ
40 39 3ad2ant3 FWordSN=FJ0..^NJ
41 40 adantr FWordSN=FJ0..^Ny1..^NJ
42 oveq2 N=F1..^N=1..^F
43 42 eleq2d N=Fy1..^Ny1..^F
44 fzo0ss1 1..^F0..^F
45 44 sseli y1..^Fy0..^F
46 43 45 syl6bi N=Fy1..^Ny0..^F
47 46 3ad2ant2 FWordSN=FJ0..^Ny1..^Ny0..^F
48 47 imp FWordSN=FJ0..^Ny1..^Ny0..^F
49 cshwidxmod FWordSJy0..^FFcyclShiftJy=Fy+JmodF
50 49 eqcomd FWordSJy0..^FFy+JmodF=FcyclShiftJy
51 38 41 48 50 syl3anc FWordSN=FJ0..^Ny1..^NFy+JmodF=FcyclShiftJy
52 51 3adant3 FWordSN=FJ0..^Ny1..^Nx=y+JmodFFy+JmodF=FcyclShiftJy
53 37 52 eqtrd FWordSN=FJ0..^Ny1..^Nx=y+JmodFFx=FcyclShiftJy
54 53 eqeq1d FWordSN=FJ0..^Ny1..^Nx=y+JmodFFx=zFcyclShiftJy=z
55 26 35 54 rexxfrd2 FWordSN=FJ0..^Nx0..^NJFx=zy1..^NFcyclShiftJy=z
56 55 abbidv FWordSN=FJ0..^Nz|x0..^NJFx=z=z|y1..^NFcyclShiftJy=z
57 39 anim2i FWordSJ0..^NFWordSJ
58 57 3adant2 FWordSN=FJ0..^NFWordSJ
59 cshwfn FWordSJFcyclShiftJFn0..^F
60 58 59 syl FWordSN=FJ0..^NFcyclShiftJFn0..^F
61 fnfun FcyclShiftJFn0..^FFunFcyclShiftJ
62 61 adantl FWordSN=FJ0..^NFcyclShiftJFn0..^FFunFcyclShiftJ
63 42 44 eqsstrdi N=F1..^N0..^F
64 63 3ad2ant2 FWordSN=FJ0..^N1..^N0..^F
65 64 adantr FWordSN=FJ0..^NFcyclShiftJFn0..^F1..^N0..^F
66 fndm FcyclShiftJFn0..^FdomFcyclShiftJ=0..^F
67 66 adantl FWordSN=FJ0..^NFcyclShiftJFn0..^FdomFcyclShiftJ=0..^F
68 65 67 sseqtrrd FWordSN=FJ0..^NFcyclShiftJFn0..^F1..^NdomFcyclShiftJ
69 62 68 jca FWordSN=FJ0..^NFcyclShiftJFn0..^FFunFcyclShiftJ1..^NdomFcyclShiftJ
70 60 69 mpdan FWordSN=FJ0..^NFunFcyclShiftJ1..^NdomFcyclShiftJ
71 dfimafn FunFcyclShiftJ1..^NdomFcyclShiftJFcyclShiftJ1..^N=z|y1..^NFcyclShiftJy=z
72 70 71 syl FWordSN=FJ0..^NFcyclShiftJ1..^N=z|y1..^NFcyclShiftJy=z
73 56 72 eqtr4d FWordSN=FJ0..^Nz|x0..^NJFx=z=FcyclShiftJ1..^N
74 18 73 eqtrd FWordSN=FJ0..^NF0..^NJ=FcyclShiftJ1..^N