Step | Hyp | Ref
| Expression |
1 | | s2len 14602 |
. . . . . . . 8
⊢
(♯‘〈“𝐴𝐵”〉) = 2 |
2 | 1 | oveq2i 7286 |
. . . . . . 7
⊢ (1 mod
(♯‘〈“𝐴𝐵”〉)) = (1 mod 2) |
3 | | 1re 10975 |
. . . . . . . 8
⊢ 1 ∈
ℝ |
4 | | 2rp 12735 |
. . . . . . . 8
⊢ 2 ∈
ℝ+ |
5 | | 0le1 11498 |
. . . . . . . 8
⊢ 0 ≤
1 |
6 | | 1lt2 12144 |
. . . . . . . 8
⊢ 1 <
2 |
7 | | modid 13616 |
. . . . . . . 8
⊢ (((1
∈ ℝ ∧ 2 ∈ ℝ+) ∧ (0 ≤ 1 ∧ 1 <
2)) → (1 mod 2) = 1) |
8 | 3, 4, 5, 6, 7 | mp4an 690 |
. . . . . . 7
⊢ (1 mod 2)
= 1 |
9 | 2, 8 | eqtri 2766 |
. . . . . 6
⊢ (1 mod
(♯‘〈“𝐴𝐵”〉)) = 1 |
10 | 9, 1 | opeq12i 4809 |
. . . . 5
⊢ 〈(1
mod (♯‘〈“𝐴𝐵”〉)),
(♯‘〈“𝐴𝐵”〉)〉 = 〈1,
2〉 |
11 | 10 | oveq2i 7286 |
. . . 4
⊢
(〈“𝐴𝐵”〉 substr 〈(1
mod (♯‘〈“𝐴𝐵”〉)),
(♯‘〈“𝐴𝐵”〉)〉) = (〈“𝐴𝐵”〉 substr 〈1,
2〉) |
12 | | s2cl 14591 |
. . . . . 6
⊢ ((𝐴 ∈ 𝑉 ∧ 𝐵 ∈ 𝑉) → 〈“𝐴𝐵”〉 ∈ Word 𝑉) |
13 | | tpid2g 4707 |
. . . . . . . . 9
⊢ (1 ∈
ℝ → 1 ∈ {0, 1, 2}) |
14 | 3, 13 | ax-mp 5 |
. . . . . . . 8
⊢ 1 ∈
{0, 1, 2} |
15 | | fz0tp 13357 |
. . . . . . . 8
⊢ (0...2) =
{0, 1, 2} |
16 | 14, 15 | eleqtrri 2838 |
. . . . . . 7
⊢ 1 ∈
(0...2) |
17 | | tpid3g 4708 |
. . . . . . . . . 10
⊢ (2 ∈
ℝ+ → 2 ∈ {0, 1, 2}) |
18 | 4, 17 | ax-mp 5 |
. . . . . . . . 9
⊢ 2 ∈
{0, 1, 2} |
19 | 18, 15 | eleqtrri 2838 |
. . . . . . . 8
⊢ 2 ∈
(0...2) |
20 | 1 | oveq2i 7286 |
. . . . . . . 8
⊢
(0...(♯‘〈“𝐴𝐵”〉)) = (0...2) |
21 | 19, 20 | eleqtrri 2838 |
. . . . . . 7
⊢ 2 ∈
(0...(♯‘〈“𝐴𝐵”〉)) |
22 | | swrdval2 14359 |
. . . . . . 7
⊢
((〈“𝐴𝐵”〉 ∈ Word 𝑉 ∧ 1 ∈ (0...2) ∧ 2 ∈
(0...(♯‘〈“𝐴𝐵”〉))) → (〈“𝐴𝐵”〉 substr 〈1, 2〉) =
(𝑖 ∈ (0..^(2 −
1)) ↦ (〈“𝐴𝐵”〉‘(𝑖 + 1)))) |
23 | 16, 21, 22 | mp3an23 1452 |
. . . . . 6
⊢
(〈“𝐴𝐵”〉 ∈ Word 𝑉 → (〈“𝐴𝐵”〉 substr 〈1, 2〉) =
(𝑖 ∈ (0..^(2 −
1)) ↦ (〈“𝐴𝐵”〉‘(𝑖 + 1)))) |
24 | 12, 23 | syl 17 |
. . . . 5
⊢ ((𝐴 ∈ 𝑉 ∧ 𝐵 ∈ 𝑉) → (〈“𝐴𝐵”〉 substr 〈1, 2〉) =
(𝑖 ∈ (0..^(2 −
1)) ↦ (〈“𝐴𝐵”〉‘(𝑖 + 1)))) |
25 | | 2m1e1 12099 |
. . . . . . . . 9
⊢ (2
− 1) = 1 |
26 | 25 | oveq2i 7286 |
. . . . . . . 8
⊢ (0..^(2
− 1)) = (0..^1) |
27 | | fzo01 13469 |
. . . . . . . 8
⊢ (0..^1) =
{0} |
28 | 26, 27 | eqtri 2766 |
. . . . . . 7
⊢ (0..^(2
− 1)) = {0} |
29 | 28 | a1i 11 |
. . . . . 6
⊢ ((𝐴 ∈ 𝑉 ∧ 𝐵 ∈ 𝑉) → (0..^(2 − 1)) =
{0}) |
30 | | simpr 485 |
. . . . . . . . . . . 12
⊢ (((𝐴 ∈ 𝑉 ∧ 𝐵 ∈ 𝑉) ∧ 𝑖 ∈ (0..^(2 − 1))) → 𝑖 ∈ (0..^(2 −
1))) |
31 | 30, 28 | eleqtrdi 2849 |
. . . . . . . . . . 11
⊢ (((𝐴 ∈ 𝑉 ∧ 𝐵 ∈ 𝑉) ∧ 𝑖 ∈ (0..^(2 − 1))) → 𝑖 ∈ {0}) |
32 | | elsni 4578 |
. . . . . . . . . . 11
⊢ (𝑖 ∈ {0} → 𝑖 = 0) |
33 | 31, 32 | syl 17 |
. . . . . . . . . 10
⊢ (((𝐴 ∈ 𝑉 ∧ 𝐵 ∈ 𝑉) ∧ 𝑖 ∈ (0..^(2 − 1))) → 𝑖 = 0) |
34 | 33 | oveq1d 7290 |
. . . . . . . . 9
⊢ (((𝐴 ∈ 𝑉 ∧ 𝐵 ∈ 𝑉) ∧ 𝑖 ∈ (0..^(2 − 1))) → (𝑖 + 1) = (0 +
1)) |
35 | | 0p1e1 12095 |
. . . . . . . . 9
⊢ (0 + 1) =
1 |
36 | 34, 35 | eqtrdi 2794 |
. . . . . . . 8
⊢ (((𝐴 ∈ 𝑉 ∧ 𝐵 ∈ 𝑉) ∧ 𝑖 ∈ (0..^(2 − 1))) → (𝑖 + 1) = 1) |
37 | 36 | fveq2d 6778 |
. . . . . . 7
⊢ (((𝐴 ∈ 𝑉 ∧ 𝐵 ∈ 𝑉) ∧ 𝑖 ∈ (0..^(2 − 1))) →
(〈“𝐴𝐵”〉‘(𝑖 + 1)) = (〈“𝐴𝐵”〉‘1)) |
38 | | s2fv1 14601 |
. . . . . . . 8
⊢ (𝐵 ∈ 𝑉 → (〈“𝐴𝐵”〉‘1) = 𝐵) |
39 | 38 | ad2antlr 724 |
. . . . . . 7
⊢ (((𝐴 ∈ 𝑉 ∧ 𝐵 ∈ 𝑉) ∧ 𝑖 ∈ (0..^(2 − 1))) →
(〈“𝐴𝐵”〉‘1) = 𝐵) |
40 | 37, 39 | eqtrd 2778 |
. . . . . 6
⊢ (((𝐴 ∈ 𝑉 ∧ 𝐵 ∈ 𝑉) ∧ 𝑖 ∈ (0..^(2 − 1))) →
(〈“𝐴𝐵”〉‘(𝑖 + 1)) = 𝐵) |
41 | 29, 40 | mpteq12dva 5163 |
. . . . 5
⊢ ((𝐴 ∈ 𝑉 ∧ 𝐵 ∈ 𝑉) → (𝑖 ∈ (0..^(2 − 1)) ↦
(〈“𝐴𝐵”〉‘(𝑖 + 1))) = (𝑖 ∈ {0} ↦ 𝐵)) |
42 | | fconstmpt 5649 |
. . . . . 6
⊢ ({0}
× {𝐵}) = (𝑖 ∈ {0} ↦ 𝐵) |
43 | | 0nn0 12248 |
. . . . . . . 8
⊢ 0 ∈
ℕ0 |
44 | | simpr 485 |
. . . . . . . 8
⊢ ((𝐴 ∈ 𝑉 ∧ 𝐵 ∈ 𝑉) → 𝐵 ∈ 𝑉) |
45 | | xpsng 7011 |
. . . . . . . 8
⊢ ((0
∈ ℕ0 ∧ 𝐵 ∈ 𝑉) → ({0} × {𝐵}) = {〈0, 𝐵〉}) |
46 | 43, 44, 45 | sylancr 587 |
. . . . . . 7
⊢ ((𝐴 ∈ 𝑉 ∧ 𝐵 ∈ 𝑉) → ({0} × {𝐵}) = {〈0, 𝐵〉}) |
47 | | s1val 14303 |
. . . . . . . 8
⊢ (𝐵 ∈ 𝑉 → 〈“𝐵”〉 = {〈0, 𝐵〉}) |
48 | 47 | adantl 482 |
. . . . . . 7
⊢ ((𝐴 ∈ 𝑉 ∧ 𝐵 ∈ 𝑉) → 〈“𝐵”〉 = {〈0, 𝐵〉}) |
49 | 46, 48 | eqtr4d 2781 |
. . . . . 6
⊢ ((𝐴 ∈ 𝑉 ∧ 𝐵 ∈ 𝑉) → ({0} × {𝐵}) = 〈“𝐵”〉) |
50 | 42, 49 | eqtr3id 2792 |
. . . . 5
⊢ ((𝐴 ∈ 𝑉 ∧ 𝐵 ∈ 𝑉) → (𝑖 ∈ {0} ↦ 𝐵) = 〈“𝐵”〉) |
51 | 24, 41, 50 | 3eqtrd 2782 |
. . . 4
⊢ ((𝐴 ∈ 𝑉 ∧ 𝐵 ∈ 𝑉) → (〈“𝐴𝐵”〉 substr 〈1, 2〉) =
〈“𝐵”〉) |
52 | 11, 51 | eqtrid 2790 |
. . 3
⊢ ((𝐴 ∈ 𝑉 ∧ 𝐵 ∈ 𝑉) → (〈“𝐴𝐵”〉 substr 〈(1 mod
(♯‘〈“𝐴𝐵”〉)),
(♯‘〈“𝐴𝐵”〉)〉) = 〈“𝐵”〉) |
53 | 9 | oveq2i 7286 |
. . . 4
⊢
(〈“𝐴𝐵”〉 prefix (1 mod
(♯‘〈“𝐴𝐵”〉))) = (〈“𝐴𝐵”〉 prefix 1) |
54 | | pfx1s2 31213 |
. . . 4
⊢ ((𝐴 ∈ 𝑉 ∧ 𝐵 ∈ 𝑉) → (〈“𝐴𝐵”〉 prefix 1) = 〈“𝐴”〉) |
55 | 53, 54 | eqtrid 2790 |
. . 3
⊢ ((𝐴 ∈ 𝑉 ∧ 𝐵 ∈ 𝑉) → (〈“𝐴𝐵”〉 prefix (1 mod
(♯‘〈“𝐴𝐵”〉))) = 〈“𝐴”〉) |
56 | 52, 55 | oveq12d 7293 |
. 2
⊢ ((𝐴 ∈ 𝑉 ∧ 𝐵 ∈ 𝑉) → ((〈“𝐴𝐵”〉 substr 〈(1 mod
(♯‘〈“𝐴𝐵”〉)),
(♯‘〈“𝐴𝐵”〉)〉) ++ (〈“𝐴𝐵”〉 prefix (1 mod
(♯‘〈“𝐴𝐵”〉)))) = (〈“𝐵”〉 ++
〈“𝐴”〉)) |
57 | | 1z 12350 |
. . 3
⊢ 1 ∈
ℤ |
58 | | cshword 14504 |
. . 3
⊢
((〈“𝐴𝐵”〉 ∈ Word 𝑉 ∧ 1 ∈ ℤ) →
(〈“𝐴𝐵”〉 cyclShift 1) =
((〈“𝐴𝐵”〉 substr 〈(1
mod (♯‘〈“𝐴𝐵”〉)),
(♯‘〈“𝐴𝐵”〉)〉) ++ (〈“𝐴𝐵”〉 prefix (1 mod
(♯‘〈“𝐴𝐵”〉))))) |
59 | 12, 57, 58 | sylancl 586 |
. 2
⊢ ((𝐴 ∈ 𝑉 ∧ 𝐵 ∈ 𝑉) → (〈“𝐴𝐵”〉 cyclShift 1) =
((〈“𝐴𝐵”〉 substr 〈(1
mod (♯‘〈“𝐴𝐵”〉)),
(♯‘〈“𝐴𝐵”〉)〉) ++ (〈“𝐴𝐵”〉 prefix (1 mod
(♯‘〈“𝐴𝐵”〉))))) |
60 | | df-s2 14561 |
. . 3
⊢
〈“𝐵𝐴”〉 =
(〈“𝐵”〉 ++ 〈“𝐴”〉) |
61 | 60 | a1i 11 |
. 2
⊢ ((𝐴 ∈ 𝑉 ∧ 𝐵 ∈ 𝑉) → 〈“𝐵𝐴”〉 = (〈“𝐵”〉 ++
〈“𝐴”〉)) |
62 | 56, 59, 61 | 3eqtr4d 2788 |
1
⊢ ((𝐴 ∈ 𝑉 ∧ 𝐵 ∈ 𝑉) → (〈“𝐴𝐵”〉 cyclShift 1) =
〈“𝐵𝐴”〉) |