| Step | Hyp | Ref
| Expression |
| 1 | | s2len 14928 |
. . . . . . . 8
⊢
(♯‘〈“𝐴𝐵”〉) = 2 |
| 2 | 1 | oveq2i 7442 |
. . . . . . 7
⊢ (1 mod
(♯‘〈“𝐴𝐵”〉)) = (1 mod 2) |
| 3 | | 1re 11261 |
. . . . . . . 8
⊢ 1 ∈
ℝ |
| 4 | | 2rp 13039 |
. . . . . . . 8
⊢ 2 ∈
ℝ+ |
| 5 | | 0le1 11786 |
. . . . . . . 8
⊢ 0 ≤
1 |
| 6 | | 1lt2 12437 |
. . . . . . . 8
⊢ 1 <
2 |
| 7 | | modid 13936 |
. . . . . . . 8
⊢ (((1
∈ ℝ ∧ 2 ∈ ℝ+) ∧ (0 ≤ 1 ∧ 1 <
2)) → (1 mod 2) = 1) |
| 8 | 3, 4, 5, 6, 7 | mp4an 693 |
. . . . . . 7
⊢ (1 mod 2)
= 1 |
| 9 | 2, 8 | eqtri 2765 |
. . . . . 6
⊢ (1 mod
(♯‘〈“𝐴𝐵”〉)) = 1 |
| 10 | 9, 1 | opeq12i 4878 |
. . . . 5
⊢ 〈(1
mod (♯‘〈“𝐴𝐵”〉)),
(♯‘〈“𝐴𝐵”〉)〉 = 〈1,
2〉 |
| 11 | 10 | oveq2i 7442 |
. . . 4
⊢
(〈“𝐴𝐵”〉 substr 〈(1
mod (♯‘〈“𝐴𝐵”〉)),
(♯‘〈“𝐴𝐵”〉)〉) = (〈“𝐴𝐵”〉 substr 〈1,
2〉) |
| 12 | | s2cl 14917 |
. . . . . 6
⊢ ((𝐴 ∈ 𝑉 ∧ 𝐵 ∈ 𝑉) → 〈“𝐴𝐵”〉 ∈ Word 𝑉) |
| 13 | | tpid2g 4771 |
. . . . . . . . 9
⊢ (1 ∈
ℝ → 1 ∈ {0, 1, 2}) |
| 14 | 3, 13 | ax-mp 5 |
. . . . . . . 8
⊢ 1 ∈
{0, 1, 2} |
| 15 | | fz0tp 13668 |
. . . . . . . 8
⊢ (0...2) =
{0, 1, 2} |
| 16 | 14, 15 | eleqtrri 2840 |
. . . . . . 7
⊢ 1 ∈
(0...2) |
| 17 | | tpid3g 4772 |
. . . . . . . . . 10
⊢ (2 ∈
ℝ+ → 2 ∈ {0, 1, 2}) |
| 18 | 4, 17 | ax-mp 5 |
. . . . . . . . 9
⊢ 2 ∈
{0, 1, 2} |
| 19 | 18, 15 | eleqtrri 2840 |
. . . . . . . 8
⊢ 2 ∈
(0...2) |
| 20 | 1 | oveq2i 7442 |
. . . . . . . 8
⊢
(0...(♯‘〈“𝐴𝐵”〉)) = (0...2) |
| 21 | 19, 20 | eleqtrri 2840 |
. . . . . . 7
⊢ 2 ∈
(0...(♯‘〈“𝐴𝐵”〉)) |
| 22 | | swrdval2 14684 |
. . . . . . 7
⊢
((〈“𝐴𝐵”〉 ∈ Word 𝑉 ∧ 1 ∈ (0...2) ∧ 2 ∈
(0...(♯‘〈“𝐴𝐵”〉))) → (〈“𝐴𝐵”〉 substr 〈1, 2〉) =
(𝑖 ∈ (0..^(2 −
1)) ↦ (〈“𝐴𝐵”〉‘(𝑖 + 1)))) |
| 23 | 16, 21, 22 | mp3an23 1455 |
. . . . . 6
⊢
(〈“𝐴𝐵”〉 ∈ Word 𝑉 → (〈“𝐴𝐵”〉 substr 〈1, 2〉) =
(𝑖 ∈ (0..^(2 −
1)) ↦ (〈“𝐴𝐵”〉‘(𝑖 + 1)))) |
| 24 | 12, 23 | syl 17 |
. . . . 5
⊢ ((𝐴 ∈ 𝑉 ∧ 𝐵 ∈ 𝑉) → (〈“𝐴𝐵”〉 substr 〈1, 2〉) =
(𝑖 ∈ (0..^(2 −
1)) ↦ (〈“𝐴𝐵”〉‘(𝑖 + 1)))) |
| 25 | | 2m1e1 12392 |
. . . . . . . . 9
⊢ (2
− 1) = 1 |
| 26 | 25 | oveq2i 7442 |
. . . . . . . 8
⊢ (0..^(2
− 1)) = (0..^1) |
| 27 | | fzo01 13786 |
. . . . . . . 8
⊢ (0..^1) =
{0} |
| 28 | 26, 27 | eqtri 2765 |
. . . . . . 7
⊢ (0..^(2
− 1)) = {0} |
| 29 | 28 | a1i 11 |
. . . . . 6
⊢ ((𝐴 ∈ 𝑉 ∧ 𝐵 ∈ 𝑉) → (0..^(2 − 1)) =
{0}) |
| 30 | | simpr 484 |
. . . . . . . . . . . 12
⊢ (((𝐴 ∈ 𝑉 ∧ 𝐵 ∈ 𝑉) ∧ 𝑖 ∈ (0..^(2 − 1))) → 𝑖 ∈ (0..^(2 −
1))) |
| 31 | 30, 28 | eleqtrdi 2851 |
. . . . . . . . . . 11
⊢ (((𝐴 ∈ 𝑉 ∧ 𝐵 ∈ 𝑉) ∧ 𝑖 ∈ (0..^(2 − 1))) → 𝑖 ∈ {0}) |
| 32 | | elsni 4643 |
. . . . . . . . . . 11
⊢ (𝑖 ∈ {0} → 𝑖 = 0) |
| 33 | 31, 32 | syl 17 |
. . . . . . . . . 10
⊢ (((𝐴 ∈ 𝑉 ∧ 𝐵 ∈ 𝑉) ∧ 𝑖 ∈ (0..^(2 − 1))) → 𝑖 = 0) |
| 34 | 33 | oveq1d 7446 |
. . . . . . . . 9
⊢ (((𝐴 ∈ 𝑉 ∧ 𝐵 ∈ 𝑉) ∧ 𝑖 ∈ (0..^(2 − 1))) → (𝑖 + 1) = (0 +
1)) |
| 35 | | 0p1e1 12388 |
. . . . . . . . 9
⊢ (0 + 1) =
1 |
| 36 | 34, 35 | eqtrdi 2793 |
. . . . . . . 8
⊢ (((𝐴 ∈ 𝑉 ∧ 𝐵 ∈ 𝑉) ∧ 𝑖 ∈ (0..^(2 − 1))) → (𝑖 + 1) = 1) |
| 37 | 36 | fveq2d 6910 |
. . . . . . 7
⊢ (((𝐴 ∈ 𝑉 ∧ 𝐵 ∈ 𝑉) ∧ 𝑖 ∈ (0..^(2 − 1))) →
(〈“𝐴𝐵”〉‘(𝑖 + 1)) = (〈“𝐴𝐵”〉‘1)) |
| 38 | | s2fv1 14927 |
. . . . . . . 8
⊢ (𝐵 ∈ 𝑉 → (〈“𝐴𝐵”〉‘1) = 𝐵) |
| 39 | 38 | ad2antlr 727 |
. . . . . . 7
⊢ (((𝐴 ∈ 𝑉 ∧ 𝐵 ∈ 𝑉) ∧ 𝑖 ∈ (0..^(2 − 1))) →
(〈“𝐴𝐵”〉‘1) = 𝐵) |
| 40 | 37, 39 | eqtrd 2777 |
. . . . . 6
⊢ (((𝐴 ∈ 𝑉 ∧ 𝐵 ∈ 𝑉) ∧ 𝑖 ∈ (0..^(2 − 1))) →
(〈“𝐴𝐵”〉‘(𝑖 + 1)) = 𝐵) |
| 41 | 29, 40 | mpteq12dva 5231 |
. . . . 5
⊢ ((𝐴 ∈ 𝑉 ∧ 𝐵 ∈ 𝑉) → (𝑖 ∈ (0..^(2 − 1)) ↦
(〈“𝐴𝐵”〉‘(𝑖 + 1))) = (𝑖 ∈ {0} ↦ 𝐵)) |
| 42 | | fconstmpt 5747 |
. . . . . 6
⊢ ({0}
× {𝐵}) = (𝑖 ∈ {0} ↦ 𝐵) |
| 43 | | 0nn0 12541 |
. . . . . . . 8
⊢ 0 ∈
ℕ0 |
| 44 | | simpr 484 |
. . . . . . . 8
⊢ ((𝐴 ∈ 𝑉 ∧ 𝐵 ∈ 𝑉) → 𝐵 ∈ 𝑉) |
| 45 | | xpsng 7159 |
. . . . . . . 8
⊢ ((0
∈ ℕ0 ∧ 𝐵 ∈ 𝑉) → ({0} × {𝐵}) = {〈0, 𝐵〉}) |
| 46 | 43, 44, 45 | sylancr 587 |
. . . . . . 7
⊢ ((𝐴 ∈ 𝑉 ∧ 𝐵 ∈ 𝑉) → ({0} × {𝐵}) = {〈0, 𝐵〉}) |
| 47 | | s1val 14636 |
. . . . . . . 8
⊢ (𝐵 ∈ 𝑉 → 〈“𝐵”〉 = {〈0, 𝐵〉}) |
| 48 | 47 | adantl 481 |
. . . . . . 7
⊢ ((𝐴 ∈ 𝑉 ∧ 𝐵 ∈ 𝑉) → 〈“𝐵”〉 = {〈0, 𝐵〉}) |
| 49 | 46, 48 | eqtr4d 2780 |
. . . . . 6
⊢ ((𝐴 ∈ 𝑉 ∧ 𝐵 ∈ 𝑉) → ({0} × {𝐵}) = 〈“𝐵”〉) |
| 50 | 42, 49 | eqtr3id 2791 |
. . . . 5
⊢ ((𝐴 ∈ 𝑉 ∧ 𝐵 ∈ 𝑉) → (𝑖 ∈ {0} ↦ 𝐵) = 〈“𝐵”〉) |
| 51 | 24, 41, 50 | 3eqtrd 2781 |
. . . 4
⊢ ((𝐴 ∈ 𝑉 ∧ 𝐵 ∈ 𝑉) → (〈“𝐴𝐵”〉 substr 〈1, 2〉) =
〈“𝐵”〉) |
| 52 | 11, 51 | eqtrid 2789 |
. . 3
⊢ ((𝐴 ∈ 𝑉 ∧ 𝐵 ∈ 𝑉) → (〈“𝐴𝐵”〉 substr 〈(1 mod
(♯‘〈“𝐴𝐵”〉)),
(♯‘〈“𝐴𝐵”〉)〉) = 〈“𝐵”〉) |
| 53 | 9 | oveq2i 7442 |
. . . 4
⊢
(〈“𝐴𝐵”〉 prefix (1 mod
(♯‘〈“𝐴𝐵”〉))) = (〈“𝐴𝐵”〉 prefix 1) |
| 54 | | pfx1s2 32923 |
. . . 4
⊢ ((𝐴 ∈ 𝑉 ∧ 𝐵 ∈ 𝑉) → (〈“𝐴𝐵”〉 prefix 1) = 〈“𝐴”〉) |
| 55 | 53, 54 | eqtrid 2789 |
. . 3
⊢ ((𝐴 ∈ 𝑉 ∧ 𝐵 ∈ 𝑉) → (〈“𝐴𝐵”〉 prefix (1 mod
(♯‘〈“𝐴𝐵”〉))) = 〈“𝐴”〉) |
| 56 | 52, 55 | oveq12d 7449 |
. 2
⊢ ((𝐴 ∈ 𝑉 ∧ 𝐵 ∈ 𝑉) → ((〈“𝐴𝐵”〉 substr 〈(1 mod
(♯‘〈“𝐴𝐵”〉)),
(♯‘〈“𝐴𝐵”〉)〉) ++ (〈“𝐴𝐵”〉 prefix (1 mod
(♯‘〈“𝐴𝐵”〉)))) = (〈“𝐵”〉 ++
〈“𝐴”〉)) |
| 57 | | 1z 12647 |
. . 3
⊢ 1 ∈
ℤ |
| 58 | | cshword 14829 |
. . 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 14887 |
. . 3
⊢
〈“𝐵𝐴”〉 =
(〈“𝐵”〉 ++ 〈“𝐴”〉) |
| 61 | 60 | a1i 11 |
. 2
⊢ ((𝐴 ∈ 𝑉 ∧ 𝐵 ∈ 𝑉) → 〈“𝐵𝐴”〉 = (〈“𝐵”〉 ++
〈“𝐴”〉)) |
| 62 | 56, 59, 61 | 3eqtr4d 2787 |
1
⊢ ((𝐴 ∈ 𝑉 ∧ 𝐵 ∈ 𝑉) → (〈“𝐴𝐵”〉 cyclShift 1) =
〈“𝐵𝐴”〉) |