Metamath Proof Explorer


Theorem cshwcshid

Description: A cyclically shifted word can be reconstructed by cyclically shifting it again. Lemma for erclwwlksym and erclwwlknsym . (Contributed by AV, 8-Apr-2018) (Revised by AV, 11-Jun-2018) (Proof shortened by AV, 3-Nov-2018)

Ref Expression
Hypotheses cshwcshid.1 φ y Word V
cshwcshid.2 φ x = y
Assertion cshwcshid φ m 0 y x = y cyclShift m n 0 x y = x cyclShift n

Proof

Step Hyp Ref Expression
1 cshwcshid.1 φ y Word V
2 cshwcshid.2 φ x = y
3 fznn0sub2 m 0 y y m 0 y
4 oveq2 x = y 0 x = 0 y
5 4 eleq2d x = y y m 0 x y m 0 y
6 3 5 syl5ibr x = y m 0 y y m 0 x
7 6 2 syl11 m 0 y φ y m 0 x
8 7 adantr m 0 y x = y cyclShift m φ y m 0 x
9 8 impcom φ m 0 y x = y cyclShift m y m 0 x
10 simpl y Word V m 0 y y Word V
11 elfzelz m 0 y m
12 11 adantl y Word V m 0 y m
13 elfz2nn0 m 0 y m 0 y 0 m y
14 nn0z y 0 y
15 nn0z m 0 m
16 zsubcl y m y m
17 14 15 16 syl2anr m 0 y 0 y m
18 17 3adant3 m 0 y 0 m y y m
19 13 18 sylbi m 0 y y m
20 19 adantl y Word V m 0 y y m
21 10 12 20 3jca y Word V m 0 y y Word V m y m
22 1 21 sylan φ m 0 y y Word V m y m
23 2cshw y Word V m y m y cyclShift m cyclShift y m = y cyclShift m + y - m
24 22 23 syl φ m 0 y y cyclShift m cyclShift y m = y cyclShift m + y - m
25 nn0cn m 0 m
26 nn0cn y 0 y
27 25 26 anim12i m 0 y 0 m y
28 27 3adant3 m 0 y 0 m y m y
29 13 28 sylbi m 0 y m y
30 pncan3 m y m + y - m = y
31 29 30 syl m 0 y m + y - m = y
32 31 adantl φ m 0 y m + y - m = y
33 32 oveq2d φ m 0 y y cyclShift m + y - m = y cyclShift y
34 cshwn y Word V y cyclShift y = y
35 1 34 syl φ y cyclShift y = y
36 35 adantr φ m 0 y y cyclShift y = y
37 24 33 36 3eqtrrd φ m 0 y y = y cyclShift m cyclShift y m
38 37 adantrr φ m 0 y x = y cyclShift m y = y cyclShift m cyclShift y m
39 oveq1 x = y cyclShift m x cyclShift y m = y cyclShift m cyclShift y m
40 39 eqeq2d x = y cyclShift m y = x cyclShift y m y = y cyclShift m cyclShift y m
41 40 adantl m 0 y x = y cyclShift m y = x cyclShift y m y = y cyclShift m cyclShift y m
42 41 adantl φ m 0 y x = y cyclShift m y = x cyclShift y m y = y cyclShift m cyclShift y m
43 38 42 mpbird φ m 0 y x = y cyclShift m y = x cyclShift y m
44 oveq2 n = y m x cyclShift n = x cyclShift y m
45 44 rspceeqv y m 0 x y = x cyclShift y m n 0 x y = x cyclShift n
46 9 43 45 syl2anc φ m 0 y x = y cyclShift m n 0 x y = x cyclShift n
47 46 ex φ m 0 y x = y cyclShift m n 0 x y = x cyclShift n