Metamath Proof Explorer


Theorem swrdrn3

Description: Express the range of a subword. Stronger version of swrdrn2 . (Contributed by Thierry Arnoux, 13-Dec-2023)

Ref Expression
Assertion swrdrn3 W Word V M 0 N N 0 W ran W substr M N = W M ..^ N

Proof

Step Hyp Ref Expression
1 simpr W Word V M 0 N N 0 W i 0 ..^ N M i 0 ..^ N M
2 fzssz 0 W
3 simpl3 W Word V M 0 N N 0 W i 0 ..^ N M N 0 W
4 2 3 sseldi W Word V M 0 N N 0 W i 0 ..^ N M N
5 fzssz 0 N
6 simpl2 W Word V M 0 N N 0 W i 0 ..^ N M M 0 N
7 5 6 sseldi W Word V M 0 N N 0 W i 0 ..^ N M M
8 fzoaddel2 i 0 ..^ N M N M i + M M ..^ N
9 1 4 7 8 syl3anc W Word V M 0 N N 0 W i 0 ..^ N M i + M M ..^ N
10 simpr W Word V M 0 N N 0 W j M ..^ N j M ..^ N
11 simpl2 W Word V M 0 N N 0 W j M ..^ N M 0 N
12 5 11 sseldi W Word V M 0 N N 0 W j M ..^ N M
13 12 zcnd W Word V M 0 N N 0 W j M ..^ N M
14 simpl3 W Word V M 0 N N 0 W j M ..^ N N 0 W
15 2 14 sseldi W Word V M 0 N N 0 W j M ..^ N N
16 15 zcnd W Word V M 0 N N 0 W j M ..^ N N
17 13 16 pncan3d W Word V M 0 N N 0 W j M ..^ N M + N - M = N
18 17 oveq2d W Word V M 0 N N 0 W j M ..^ N M ..^ M + N - M = M ..^ N
19 10 18 eleqtrrd W Word V M 0 N N 0 W j M ..^ N j M ..^ M + N - M
20 15 12 zsubcld W Word V M 0 N N 0 W j M ..^ N N M
21 fzosubel3 j M ..^ M + N - M N M j M 0 ..^ N M
22 19 20 21 syl2anc W Word V M 0 N N 0 W j M ..^ N j M 0 ..^ N M
23 simpr W Word V M 0 N N 0 W j M ..^ N i = j M i = j M
24 23 oveq1d W Word V M 0 N N 0 W j M ..^ N i = j M i + M = j - M + M
25 24 eqeq2d W Word V M 0 N N 0 W j M ..^ N i = j M j = i + M j = j - M + M
26 fzossz M ..^ N
27 26 10 sseldi W Word V M 0 N N 0 W j M ..^ N j
28 27 zcnd W Word V M 0 N N 0 W j M ..^ N j
29 28 13 npcand W Word V M 0 N N 0 W j M ..^ N j - M + M = j
30 29 eqcomd W Word V M 0 N N 0 W j M ..^ N j = j - M + M
31 22 25 30 rspcedvd W Word V M 0 N N 0 W j M ..^ N i 0 ..^ N M j = i + M
32 eqcom y = W j W j = y
33 simpr W Word V M 0 N N 0 W j = i + M j = i + M
34 33 fveq2d W Word V M 0 N N 0 W j = i + M W j = W i + M
35 34 eqeq2d W Word V M 0 N N 0 W j = i + M y = W j y = W i + M
36 32 35 syl5bbr W Word V M 0 N N 0 W j = i + M W j = y y = W i + M
37 9 31 36 rexxfrd W Word V M 0 N N 0 W j M ..^ N W j = y i 0 ..^ N M y = W i + M
38 eqid i 0 ..^ N M W i + M = i 0 ..^ N M W i + M
39 fvex W i + M V
40 38 39 elrnmpti y ran i 0 ..^ N M W i + M i 0 ..^ N M y = W i + M
41 37 40 syl6bbr W Word V M 0 N N 0 W j M ..^ N W j = y y ran i 0 ..^ N M W i + M
42 wrdf W Word V W : 0 ..^ W V
43 42 3ad2ant1 W Word V M 0 N N 0 W W : 0 ..^ W V
44 43 ffnd W Word V M 0 N N 0 W W Fn 0 ..^ W
45 elfzuz M 0 N M 0
46 45 3ad2ant2 W Word V M 0 N N 0 W M 0
47 fzoss1 M 0 M ..^ N 0 ..^ N
48 46 47 syl W Word V M 0 N N 0 W M ..^ N 0 ..^ N
49 elfzuz3 N 0 W W N
50 49 3ad2ant3 W Word V M 0 N N 0 W W N
51 fzoss2 W N 0 ..^ N 0 ..^ W
52 50 51 syl W Word V M 0 N N 0 W 0 ..^ N 0 ..^ W
53 48 52 sstrd W Word V M 0 N N 0 W M ..^ N 0 ..^ W
54 44 53 fvelimabd W Word V M 0 N N 0 W y W M ..^ N j M ..^ N W j = y
55 swrdval2 W Word V M 0 N N 0 W W substr M N = i 0 ..^ N M W i + M
56 55 rneqd W Word V M 0 N N 0 W ran W substr M N = ran i 0 ..^ N M W i + M
57 56 eleq2d W Word V M 0 N N 0 W y ran W substr M N y ran i 0 ..^ N M W i + M
58 41 54 57 3bitr4rd W Word V M 0 N N 0 W y ran W substr M N y W M ..^ N
59 58 eqrdv W Word V M 0 N N 0 W ran W substr M N = W M ..^ N