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 14325 | . . 3 ⊢ (𝑊 ∈ Word 𝐴 → (reverse‘𝑊) = (𝑥 ∈ (0..^(♯‘𝑊)) ↦ (𝑊‘(((♯‘𝑊) − 1) − 𝑥)))) | |
2 | 1 | fveq2d 6721 | . 2 ⊢ (𝑊 ∈ Word 𝐴 → (♯‘(reverse‘𝑊)) = (♯‘(𝑥 ∈ (0..^(♯‘𝑊)) ↦ (𝑊‘(((♯‘𝑊) − 1) − 𝑥))))) |
3 | wrdf 14074 | . . . . . 6 ⊢ (𝑊 ∈ Word 𝐴 → 𝑊:(0..^(♯‘𝑊))⟶𝐴) | |
4 | 3 | adantr 484 | . . . . 5 ⊢ ((𝑊 ∈ Word 𝐴 ∧ 𝑥 ∈ (0..^(♯‘𝑊))) → 𝑊:(0..^(♯‘𝑊))⟶𝐴) |
5 | simpr 488 | . . . . . . . 8 ⊢ ((𝑊 ∈ Word 𝐴 ∧ 𝑥 ∈ (0..^(♯‘𝑊))) → 𝑥 ∈ (0..^(♯‘𝑊))) | |
6 | lencl 14088 | . . . . . . . . . 10 ⊢ (𝑊 ∈ Word 𝐴 → (♯‘𝑊) ∈ ℕ0) | |
7 | 6 | adantr 484 | . . . . . . . . 9 ⊢ ((𝑊 ∈ Word 𝐴 ∧ 𝑥 ∈ (0..^(♯‘𝑊))) → (♯‘𝑊) ∈ ℕ0) |
8 | nn0z 12200 | . . . . . . . . 9 ⊢ ((♯‘𝑊) ∈ ℕ0 → (♯‘𝑊) ∈ ℤ) | |
9 | fzoval 13244 | . . . . . . . . 9 ⊢ ((♯‘𝑊) ∈ ℤ → (0..^(♯‘𝑊)) = (0...((♯‘𝑊) − 1))) | |
10 | 7, 8, 9 | 3syl 18 | . . . . . . . 8 ⊢ ((𝑊 ∈ Word 𝐴 ∧ 𝑥 ∈ (0..^(♯‘𝑊))) → (0..^(♯‘𝑊)) = (0...((♯‘𝑊) − 1))) |
11 | 5, 10 | eleqtrd 2840 | . . . . . . 7 ⊢ ((𝑊 ∈ Word 𝐴 ∧ 𝑥 ∈ (0..^(♯‘𝑊))) → 𝑥 ∈ (0...((♯‘𝑊) − 1))) |
12 | fznn0sub2 13219 | . . . . . . 7 ⊢ (𝑥 ∈ (0...((♯‘𝑊) − 1)) → (((♯‘𝑊) − 1) − 𝑥) ∈ (0...((♯‘𝑊) − 1))) | |
13 | 11, 12 | syl 17 | . . . . . 6 ⊢ ((𝑊 ∈ Word 𝐴 ∧ 𝑥 ∈ (0..^(♯‘𝑊))) → (((♯‘𝑊) − 1) − 𝑥) ∈ (0...((♯‘𝑊) − 1))) |
14 | 13, 10 | eleqtrrd 2841 | . . . . 5 ⊢ ((𝑊 ∈ Word 𝐴 ∧ 𝑥 ∈ (0..^(♯‘𝑊))) → (((♯‘𝑊) − 1) − 𝑥) ∈ (0..^(♯‘𝑊))) |
15 | 4, 14 | ffvelrnd 6905 | . . . 4 ⊢ ((𝑊 ∈ Word 𝐴 ∧ 𝑥 ∈ (0..^(♯‘𝑊))) → (𝑊‘(((♯‘𝑊) − 1) − 𝑥)) ∈ 𝐴) |
16 | 15 | fmpttd 6932 | . . 3 ⊢ (𝑊 ∈ Word 𝐴 → (𝑥 ∈ (0..^(♯‘𝑊)) ↦ (𝑊‘(((♯‘𝑊) − 1) − 𝑥))):(0..^(♯‘𝑊))⟶𝐴) |
17 | ffn 6545 | . . 3 ⊢ ((𝑥 ∈ (0..^(♯‘𝑊)) ↦ (𝑊‘(((♯‘𝑊) − 1) − 𝑥))):(0..^(♯‘𝑊))⟶𝐴 → (𝑥 ∈ (0..^(♯‘𝑊)) ↦ (𝑊‘(((♯‘𝑊) − 1) − 𝑥))) Fn (0..^(♯‘𝑊))) | |
18 | hashfn 13942 | . . 3 ⊢ ((𝑥 ∈ (0..^(♯‘𝑊)) ↦ (𝑊‘(((♯‘𝑊) − 1) − 𝑥))) Fn (0..^(♯‘𝑊)) → (♯‘(𝑥 ∈ (0..^(♯‘𝑊)) ↦ (𝑊‘(((♯‘𝑊) − 1) − 𝑥)))) = (♯‘(0..^(♯‘𝑊)))) | |
19 | 16, 17, 18 | 3syl 18 | . 2 ⊢ (𝑊 ∈ Word 𝐴 → (♯‘(𝑥 ∈ (0..^(♯‘𝑊)) ↦ (𝑊‘(((♯‘𝑊) − 1) − 𝑥)))) = (♯‘(0..^(♯‘𝑊)))) |
20 | hashfzo0 13997 | . . 3 ⊢ ((♯‘𝑊) ∈ ℕ0 → (♯‘(0..^(♯‘𝑊))) = (♯‘𝑊)) | |
21 | 6, 20 | syl 17 | . 2 ⊢ (𝑊 ∈ Word 𝐴 → (♯‘(0..^(♯‘𝑊))) = (♯‘𝑊)) |
22 | 2, 19, 21 | 3eqtrd 2781 | 1 ⊢ (𝑊 ∈ Word 𝐴 → (♯‘(reverse‘𝑊)) = (♯‘𝑊)) |
Colors of variables: wff setvar class |
Syntax hints: → wi 4 ∧ wa 399 = wceq 1543 ∈ wcel 2110 ↦ cmpt 5135 Fn wfn 6375 ⟶wf 6376 ‘cfv 6380 (class class class)co 7213 0cc0 10729 1c1 10730 − cmin 11062 ℕ0cn0 12090 ℤcz 12176 ...cfz 13095 ..^cfzo 13238 ♯chash 13896 Word cword 14069 reversecreverse 14323 |
This theorem was proved from axioms: ax-mp 5 ax-1 6 ax-2 7 ax-3 8 ax-gen 1803 ax-4 1817 ax-5 1918 ax-6 1976 ax-7 2016 ax-8 2112 ax-9 2120 ax-10 2141 ax-11 2158 ax-12 2175 ax-ext 2708 ax-rep 5179 ax-sep 5192 ax-nul 5199 ax-pow 5258 ax-pr 5322 ax-un 7523 ax-cnex 10785 ax-resscn 10786 ax-1cn 10787 ax-icn 10788 ax-addcl 10789 ax-addrcl 10790 ax-mulcl 10791 ax-mulrcl 10792 ax-mulcom 10793 ax-addass 10794 ax-mulass 10795 ax-distr 10796 ax-i2m1 10797 ax-1ne0 10798 ax-1rid 10799 ax-rnegex 10800 ax-rrecex 10801 ax-cnre 10802 ax-pre-lttri 10803 ax-pre-lttrn 10804 ax-pre-ltadd 10805 ax-pre-mulgt0 10806 |
This theorem depends on definitions: df-bi 210 df-an 400 df-or 848 df-3or 1090 df-3an 1091 df-tru 1546 df-fal 1556 df-ex 1788 df-nf 1792 df-sb 2071 df-mo 2539 df-eu 2568 df-clab 2715 df-cleq 2729 df-clel 2816 df-nfc 2886 df-ne 2941 df-nel 3047 df-ral 3066 df-rex 3067 df-reu 3068 df-rab 3070 df-v 3410 df-sbc 3695 df-csb 3812 df-dif 3869 df-un 3871 df-in 3873 df-ss 3883 df-pss 3885 df-nul 4238 df-if 4440 df-pw 4515 df-sn 4542 df-pr 4544 df-tp 4546 df-op 4548 df-uni 4820 df-int 4860 df-iun 4906 df-br 5054 df-opab 5116 df-mpt 5136 df-tr 5162 df-id 5455 df-eprel 5460 df-po 5468 df-so 5469 df-fr 5509 df-we 5511 df-xp 5557 df-rel 5558 df-cnv 5559 df-co 5560 df-dm 5561 df-rn 5562 df-res 5563 df-ima 5564 df-pred 6160 df-ord 6216 df-on 6217 df-lim 6218 df-suc 6219 df-iota 6338 df-fun 6382 df-fn 6383 df-f 6384 df-f1 6385 df-fo 6386 df-f1o 6387 df-fv 6388 df-riota 7170 df-ov 7216 df-oprab 7217 df-mpo 7218 df-om 7645 df-1st 7761 df-2nd 7762 df-wrecs 8047 df-recs 8108 df-rdg 8146 df-1o 8202 df-er 8391 df-en 8627 df-dom 8628 df-sdom 8629 df-fin 8630 df-card 9555 df-pnf 10869 df-mnf 10870 df-xr 10871 df-ltxr 10872 df-le 10873 df-sub 11064 df-neg 11065 df-nn 11831 df-n0 12091 df-z 12177 df-uz 12439 df-fz 13096 df-fzo 13239 df-hash 13897 df-word 14070 df-reverse 14324 |
This theorem is referenced by: rev0 14329 revs1 14330 revccat 14331 revrev 14332 revco 14399 psgnuni 18891 revpfxsfxrev 32790 swrdrevpfx 32791 revwlk 32799 swrdwlk 32801 |
Copyright terms: Public domain | W3C validator |