Metamath Proof Explorer


Theorem cshimadifsn0

Description: The image of a cyclically shifted word under its domain without its upper 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 cshimadifsn0 FWordSN=FJ0..^NF0..^NJ=FcyclShiftJ+10..^N1

Proof

Step Hyp Ref Expression
1 cshimadifsn FWordSN=FJ0..^NF0..^NJ=FcyclShiftJ1..^N
2 elfzoel2 J0..^NN
3 elfzom1elp1fzo1 Ny0..^N1y+11..^N
4 3 ex Ny0..^N1y+11..^N
5 2 4 syl J0..^Ny0..^N1y+11..^N
6 5 3ad2ant3 FWordSN=FJ0..^Ny0..^N1y+11..^N
7 6 imp FWordSN=FJ0..^Ny0..^N1y+11..^N
8 elfzo1elm1fzo0 x1..^Nx10..^N1
9 8 adantl FWordSN=FJ0..^Nx1..^Nx10..^N1
10 oveq1 y=x1y+1=x-1+1
11 10 eqeq2d y=x1x=y+1x=x-1+1
12 11 adantl FWordSN=FJ0..^Nx1..^Ny=x1x=y+1x=x-1+1
13 elfzoelz x1..^Nx
14 13 zcnd x1..^Nx
15 npcan1 xx-1+1=x
16 14 15 syl x1..^Nx-1+1=x
17 16 eqcomd x1..^Nx=x-1+1
18 17 adantl FWordSN=FJ0..^Nx1..^Nx=x-1+1
19 9 12 18 rspcedvd FWordSN=FJ0..^Nx1..^Ny0..^N1x=y+1
20 fveq2 x=y+1FcyclShiftJx=FcyclShiftJy+1
21 20 3ad2ant3 FWordSN=FJ0..^Ny0..^N1x=y+1FcyclShiftJx=FcyclShiftJy+1
22 elfzoelz y0..^N1y
23 22 zcnd y0..^N1y
24 23 adantl FWordSN=FJ0..^Ny0..^N1y
25 elfzoelz J0..^NJ
26 25 zcnd J0..^NJ
27 26 3ad2ant3 FWordSN=FJ0..^NJ
28 27 adantr FWordSN=FJ0..^Ny0..^N1J
29 1cnd FWordSN=FJ0..^Ny0..^N11
30 add32r yJ1y+J+1=y+1+J
31 24 28 29 30 syl3anc FWordSN=FJ0..^Ny0..^N1y+J+1=y+1+J
32 31 fvoveq1d FWordSN=FJ0..^Ny0..^N1Fy+J+1modF=Fy+1+JmodF
33 simpl1 FWordSN=FJ0..^Ny0..^N1FWordS
34 25 peano2zd J0..^NJ+1
35 34 3ad2ant3 FWordSN=FJ0..^NJ+1
36 35 adantr FWordSN=FJ0..^Ny0..^N1J+1
37 fzossrbm1 N0..^N10..^N
38 2 37 syl J0..^N0..^N10..^N
39 38 sseld J0..^Ny0..^N1y0..^N
40 39 3ad2ant3 FWordSN=FJ0..^Ny0..^N1y0..^N
41 40 imp FWordSN=FJ0..^Ny0..^N1y0..^N
42 oveq2 N=F0..^N=0..^F
43 42 eleq2d N=Fy0..^Ny0..^F
44 43 3ad2ant2 FWordSN=FJ0..^Ny0..^Ny0..^F
45 44 adantr FWordSN=FJ0..^Ny0..^N1y0..^Ny0..^F
46 41 45 mpbid FWordSN=FJ0..^Ny0..^N1y0..^F
47 cshwidxmod FWordSJ+1y0..^FFcyclShiftJ+1y=Fy+J+1modF
48 33 36 46 47 syl3anc FWordSN=FJ0..^Ny0..^N1FcyclShiftJ+1y=Fy+J+1modF
49 25 3ad2ant3 FWordSN=FJ0..^NJ
50 49 adantr FWordSN=FJ0..^Ny0..^N1J
51 fzo0ss1 1..^N0..^N
52 2 3ad2ant3 FWordSN=FJ0..^NN
53 52 3 sylan FWordSN=FJ0..^Ny0..^N1y+11..^N
54 51 53 sselid FWordSN=FJ0..^Ny0..^N1y+10..^N
55 42 eleq2d N=Fy+10..^Ny+10..^F
56 55 3ad2ant2 FWordSN=FJ0..^Ny+10..^Ny+10..^F
57 56 adantr FWordSN=FJ0..^Ny0..^N1y+10..^Ny+10..^F
58 54 57 mpbid FWordSN=FJ0..^Ny0..^N1y+10..^F
59 cshwidxmod FWordSJy+10..^FFcyclShiftJy+1=Fy+1+JmodF
60 33 50 58 59 syl3anc FWordSN=FJ0..^Ny0..^N1FcyclShiftJy+1=Fy+1+JmodF
61 32 48 60 3eqtr4rd FWordSN=FJ0..^Ny0..^N1FcyclShiftJy+1=FcyclShiftJ+1y
62 61 3adant3 FWordSN=FJ0..^Ny0..^N1x=y+1FcyclShiftJy+1=FcyclShiftJ+1y
63 21 62 eqtrd FWordSN=FJ0..^Ny0..^N1x=y+1FcyclShiftJx=FcyclShiftJ+1y
64 63 eqeq1d FWordSN=FJ0..^Ny0..^N1x=y+1FcyclShiftJx=zFcyclShiftJ+1y=z
65 7 19 64 rexxfrd2 FWordSN=FJ0..^Nx1..^NFcyclShiftJx=zy0..^N1FcyclShiftJ+1y=z
66 65 abbidv FWordSN=FJ0..^Nz|x1..^NFcyclShiftJx=z=z|y0..^N1FcyclShiftJ+1y=z
67 25 anim2i FWordSJ0..^NFWordSJ
68 67 3adant2 FWordSN=FJ0..^NFWordSJ
69 cshwfn FWordSJFcyclShiftJFn0..^F
70 68 69 syl FWordSN=FJ0..^NFcyclShiftJFn0..^F
71 fnfun FcyclShiftJFn0..^FFunFcyclShiftJ
72 71 adantl FWordSN=FJ0..^NFcyclShiftJFn0..^FFunFcyclShiftJ
73 42 3ad2ant2 FWordSN=FJ0..^N0..^N=0..^F
74 51 73 sseqtrid FWordSN=FJ0..^N1..^N0..^F
75 74 adantr FWordSN=FJ0..^NFcyclShiftJFn0..^F1..^N0..^F
76 fndm FcyclShiftJFn0..^FdomFcyclShiftJ=0..^F
77 76 adantl FWordSN=FJ0..^NFcyclShiftJFn0..^FdomFcyclShiftJ=0..^F
78 75 77 sseqtrrd FWordSN=FJ0..^NFcyclShiftJFn0..^F1..^NdomFcyclShiftJ
79 72 78 jca FWordSN=FJ0..^NFcyclShiftJFn0..^FFunFcyclShiftJ1..^NdomFcyclShiftJ
80 70 79 mpdan FWordSN=FJ0..^NFunFcyclShiftJ1..^NdomFcyclShiftJ
81 dfimafn FunFcyclShiftJ1..^NdomFcyclShiftJFcyclShiftJ1..^N=z|x1..^NFcyclShiftJx=z
82 80 81 syl FWordSN=FJ0..^NFcyclShiftJ1..^N=z|x1..^NFcyclShiftJx=z
83 34 anim2i FWordSJ0..^NFWordSJ+1
84 83 3adant2 FWordSN=FJ0..^NFWordSJ+1
85 cshwfn FWordSJ+1FcyclShiftJ+1Fn0..^F
86 84 85 syl FWordSN=FJ0..^NFcyclShiftJ+1Fn0..^F
87 fnfun FcyclShiftJ+1Fn0..^FFunFcyclShiftJ+1
88 87 adantl FWordSN=FJ0..^NFcyclShiftJ+1Fn0..^FFunFcyclShiftJ+1
89 38 3ad2ant3 FWordSN=FJ0..^N0..^N10..^N
90 oveq2 F=N0..^F=0..^N
91 90 eqcoms N=F0..^F=0..^N
92 91 3ad2ant2 FWordSN=FJ0..^N0..^F=0..^N
93 89 92 sseqtrrd FWordSN=FJ0..^N0..^N10..^F
94 93 adantr FWordSN=FJ0..^NFcyclShiftJ+1Fn0..^F0..^N10..^F
95 fndm FcyclShiftJ+1Fn0..^FdomFcyclShiftJ+1=0..^F
96 95 adantl FWordSN=FJ0..^NFcyclShiftJ+1Fn0..^FdomFcyclShiftJ+1=0..^F
97 94 96 sseqtrrd FWordSN=FJ0..^NFcyclShiftJ+1Fn0..^F0..^N1domFcyclShiftJ+1
98 88 97 jca FWordSN=FJ0..^NFcyclShiftJ+1Fn0..^FFunFcyclShiftJ+10..^N1domFcyclShiftJ+1
99 86 98 mpdan FWordSN=FJ0..^NFunFcyclShiftJ+10..^N1domFcyclShiftJ+1
100 dfimafn FunFcyclShiftJ+10..^N1domFcyclShiftJ+1FcyclShiftJ+10..^N1=z|y0..^N1FcyclShiftJ+1y=z
101 99 100 syl FWordSN=FJ0..^NFcyclShiftJ+10..^N1=z|y0..^N1FcyclShiftJ+1y=z
102 66 82 101 3eqtr4d FWordSN=FJ0..^NFcyclShiftJ1..^N=FcyclShiftJ+10..^N1
103 1 102 eqtrd FWordSN=FJ0..^NF0..^NJ=FcyclShiftJ+10..^N1