![]() |
Metamath Proof Explorer |
< Previous
Next >
Nearby theorems |
|
Mirrors > Home > MPE Home > Th. List > revlen | Structured version Visualization version GIF version |
Description: The reverse of a word has the same length as the original. (Contributed by Stefan O'Rear, 26-Aug-2015.) |
Ref | Expression |
---|---|
revlen | ⊢ (𝑊 ∈ Word 𝐴 → (♯‘(reverse‘𝑊)) = (♯‘𝑊)) |
Step | Hyp | Ref | Expression |
---|---|---|---|
1 | revval 13709 | . . 3 ⊢ (𝑊 ∈ Word 𝐴 → (reverse‘𝑊) = (𝑥 ∈ (0..^(♯‘𝑊)) ↦ (𝑊‘(((♯‘𝑊) − 1) − 𝑥)))) | |
2 | 1 | fveq2d 6356 | . 2 ⊢ (𝑊 ∈ Word 𝐴 → (♯‘(reverse‘𝑊)) = (♯‘(𝑥 ∈ (0..^(♯‘𝑊)) ↦ (𝑊‘(((♯‘𝑊) − 1) − 𝑥))))) |
3 | wrdf 13496 | . . . . . 6 ⊢ (𝑊 ∈ Word 𝐴 → 𝑊:(0..^(♯‘𝑊))⟶𝐴) | |
4 | 3 | adantr 472 | . . . . 5 ⊢ ((𝑊 ∈ Word 𝐴 ∧ 𝑥 ∈ (0..^(♯‘𝑊))) → 𝑊:(0..^(♯‘𝑊))⟶𝐴) |
5 | simpr 479 | . . . . . . . 8 ⊢ ((𝑊 ∈ Word 𝐴 ∧ 𝑥 ∈ (0..^(♯‘𝑊))) → 𝑥 ∈ (0..^(♯‘𝑊))) | |
6 | lencl 13510 | . . . . . . . . . 10 ⊢ (𝑊 ∈ Word 𝐴 → (♯‘𝑊) ∈ ℕ0) | |
7 | 6 | adantr 472 | . . . . . . . . 9 ⊢ ((𝑊 ∈ Word 𝐴 ∧ 𝑥 ∈ (0..^(♯‘𝑊))) → (♯‘𝑊) ∈ ℕ0) |
8 | nn0z 11592 | . . . . . . . . 9 ⊢ ((♯‘𝑊) ∈ ℕ0 → (♯‘𝑊) ∈ ℤ) | |
9 | fzoval 12665 | . . . . . . . . 9 ⊢ ((♯‘𝑊) ∈ ℤ → (0..^(♯‘𝑊)) = (0...((♯‘𝑊) − 1))) | |
10 | 7, 8, 9 | 3syl 18 | . . . . . . . 8 ⊢ ((𝑊 ∈ Word 𝐴 ∧ 𝑥 ∈ (0..^(♯‘𝑊))) → (0..^(♯‘𝑊)) = (0...((♯‘𝑊) − 1))) |
11 | 5, 10 | eleqtrd 2841 | . . . . . . 7 ⊢ ((𝑊 ∈ Word 𝐴 ∧ 𝑥 ∈ (0..^(♯‘𝑊))) → 𝑥 ∈ (0...((♯‘𝑊) − 1))) |
12 | fznn0sub2 12640 | . . . . . . 7 ⊢ (𝑥 ∈ (0...((♯‘𝑊) − 1)) → (((♯‘𝑊) − 1) − 𝑥) ∈ (0...((♯‘𝑊) − 1))) | |
13 | 11, 12 | syl 17 | . . . . . 6 ⊢ ((𝑊 ∈ Word 𝐴 ∧ 𝑥 ∈ (0..^(♯‘𝑊))) → (((♯‘𝑊) − 1) − 𝑥) ∈ (0...((♯‘𝑊) − 1))) |
14 | 13, 10 | eleqtrrd 2842 | . . . . 5 ⊢ ((𝑊 ∈ Word 𝐴 ∧ 𝑥 ∈ (0..^(♯‘𝑊))) → (((♯‘𝑊) − 1) − 𝑥) ∈ (0..^(♯‘𝑊))) |
15 | 4, 14 | ffvelrnd 6523 | . . . 4 ⊢ ((𝑊 ∈ Word 𝐴 ∧ 𝑥 ∈ (0..^(♯‘𝑊))) → (𝑊‘(((♯‘𝑊) − 1) − 𝑥)) ∈ 𝐴) |
16 | eqid 2760 | . . . 4 ⊢ (𝑥 ∈ (0..^(♯‘𝑊)) ↦ (𝑊‘(((♯‘𝑊) − 1) − 𝑥))) = (𝑥 ∈ (0..^(♯‘𝑊)) ↦ (𝑊‘(((♯‘𝑊) − 1) − 𝑥))) | |
17 | 15, 16 | fmptd 6548 | . . 3 ⊢ (𝑊 ∈ Word 𝐴 → (𝑥 ∈ (0..^(♯‘𝑊)) ↦ (𝑊‘(((♯‘𝑊) − 1) − 𝑥))):(0..^(♯‘𝑊))⟶𝐴) |
18 | ffn 6206 | . . 3 ⊢ ((𝑥 ∈ (0..^(♯‘𝑊)) ↦ (𝑊‘(((♯‘𝑊) − 1) − 𝑥))):(0..^(♯‘𝑊))⟶𝐴 → (𝑥 ∈ (0..^(♯‘𝑊)) ↦ (𝑊‘(((♯‘𝑊) − 1) − 𝑥))) Fn (0..^(♯‘𝑊))) | |
19 | hashfn 13356 | . . 3 ⊢ ((𝑥 ∈ (0..^(♯‘𝑊)) ↦ (𝑊‘(((♯‘𝑊) − 1) − 𝑥))) Fn (0..^(♯‘𝑊)) → (♯‘(𝑥 ∈ (0..^(♯‘𝑊)) ↦ (𝑊‘(((♯‘𝑊) − 1) − 𝑥)))) = (♯‘(0..^(♯‘𝑊)))) | |
20 | 17, 18, 19 | 3syl 18 | . 2 ⊢ (𝑊 ∈ Word 𝐴 → (♯‘(𝑥 ∈ (0..^(♯‘𝑊)) ↦ (𝑊‘(((♯‘𝑊) − 1) − 𝑥)))) = (♯‘(0..^(♯‘𝑊)))) |
21 | hashfzo0 13409 | . . 3 ⊢ ((♯‘𝑊) ∈ ℕ0 → (♯‘(0..^(♯‘𝑊))) = (♯‘𝑊)) | |
22 | 6, 21 | syl 17 | . 2 ⊢ (𝑊 ∈ Word 𝐴 → (♯‘(0..^(♯‘𝑊))) = (♯‘𝑊)) |
23 | 2, 20, 22 | 3eqtrd 2798 | 1 ⊢ (𝑊 ∈ Word 𝐴 → (♯‘(reverse‘𝑊)) = (♯‘𝑊)) |
Colors of variables: wff setvar class |
Syntax hints: → wi 4 ∧ wa 383 = wceq 1632 ∈ wcel 2139 ↦ cmpt 4881 Fn wfn 6044 ⟶wf 6045 ‘cfv 6049 (class class class)co 6813 0cc0 10128 1c1 10129 − cmin 10458 ℕ0cn0 11484 ℤcz 11569 ...cfz 12519 ..^cfzo 12659 ♯chash 13311 Word cword 13477 reversecreverse 13483 |
This theorem was proved from axioms: ax-mp 5 ax-1 6 ax-2 7 ax-3 8 ax-gen 1871 ax-4 1886 ax-5 1988 ax-6 2054 ax-7 2090 ax-8 2141 ax-9 2148 ax-10 2168 ax-11 2183 ax-12 2196 ax-13 2391 ax-ext 2740 ax-rep 4923 ax-sep 4933 ax-nul 4941 ax-pow 4992 ax-pr 5055 ax-un 7114 ax-cnex 10184 ax-resscn 10185 ax-1cn 10186 ax-icn 10187 ax-addcl 10188 ax-addrcl 10189 ax-mulcl 10190 ax-mulrcl 10191 ax-mulcom 10192 ax-addass 10193 ax-mulass 10194 ax-distr 10195 ax-i2m1 10196 ax-1ne0 10197 ax-1rid 10198 ax-rnegex 10199 ax-rrecex 10200 ax-cnre 10201 ax-pre-lttri 10202 ax-pre-lttrn 10203 ax-pre-ltadd 10204 ax-pre-mulgt0 10205 |
This theorem depends on definitions: df-bi 197 df-or 384 df-an 385 df-3or 1073 df-3an 1074 df-tru 1635 df-ex 1854 df-nf 1859 df-sb 2047 df-eu 2611 df-mo 2612 df-clab 2747 df-cleq 2753 df-clel 2756 df-nfc 2891 df-ne 2933 df-nel 3036 df-ral 3055 df-rex 3056 df-reu 3057 df-rab 3059 df-v 3342 df-sbc 3577 df-csb 3675 df-dif 3718 df-un 3720 df-in 3722 df-ss 3729 df-pss 3731 df-nul 4059 df-if 4231 df-pw 4304 df-sn 4322 df-pr 4324 df-tp 4326 df-op 4328 df-uni 4589 df-int 4628 df-iun 4674 df-br 4805 df-opab 4865 df-mpt 4882 df-tr 4905 df-id 5174 df-eprel 5179 df-po 5187 df-so 5188 df-fr 5225 df-we 5227 df-xp 5272 df-rel 5273 df-cnv 5274 df-co 5275 df-dm 5276 df-rn 5277 df-res 5278 df-ima 5279 df-pred 5841 df-ord 5887 df-on 5888 df-lim 5889 df-suc 5890 df-iota 6012 df-fun 6051 df-fn 6052 df-f 6053 df-f1 6054 df-fo 6055 df-f1o 6056 df-fv 6057 df-riota 6774 df-ov 6816 df-oprab 6817 df-mpt2 6818 df-om 7231 df-1st 7333 df-2nd 7334 df-wrecs 7576 df-recs 7637 df-rdg 7675 df-1o 7729 df-oadd 7733 df-er 7911 df-en 8122 df-dom 8123 df-sdom 8124 df-fin 8125 df-card 8955 df-pnf 10268 df-mnf 10269 df-xr 10270 df-ltxr 10271 df-le 10272 df-sub 10460 df-neg 10461 df-nn 11213 df-n0 11485 df-z 11570 df-uz 11880 df-fz 12520 df-fzo 12660 df-hash 13312 df-word 13485 df-reverse 13491 |
This theorem is referenced by: rev0 13713 revs1 13714 revccat 13715 revrev 13716 revco 13780 psgnuni 18119 |
Copyright terms: Public domain | W3C validator |