MPE Home Metamath Proof Explorer < Previous   Next >
Nearby theorems
Mirrors  >  Home  >  MPE Home  >  Th. List  >  revco Structured version   Visualization version   GIF version

Theorem revco 14791
Description: Mapping of words (i.e., a letterwise mapping) commutes with reversal. (Contributed by Stefan O'Rear, 27-Aug-2015.)
Assertion
Ref Expression
revco ((𝑊 ∈ Word 𝐴𝐹:𝐴𝐵) → (𝐹 ∘ (reverse‘𝑊)) = (reverse‘(𝐹𝑊)))

Proof of Theorem revco
Dummy variable 𝑥 is distinct from all other variables.
StepHypRef Expression
1 wrdfn 14485 . . . . . . 7 (𝑊 ∈ Word 𝐴𝑊 Fn (0..^(♯‘𝑊)))
21ad2antrr 733 . . . . . 6 (((𝑊 ∈ Word 𝐴𝐹:𝐴𝐵) ∧ 𝑥 ∈ (0..^(♯‘𝑊))) → 𝑊 Fn (0..^(♯‘𝑊)))
3 lencl 14490 . . . . . . . . . . . . 13 (𝑊 ∈ Word 𝐴 → (♯‘𝑊) ∈ ℕ0)
43nn0zd 12544 . . . . . . . . . . . 12 (𝑊 ∈ Word 𝐴 → (♯‘𝑊) ∈ ℤ)
5 fzoval 13609 . . . . . . . . . . . 12 ((♯‘𝑊) ∈ ℤ → (0..^(♯‘𝑊)) = (0...((♯‘𝑊) − 1)))
64, 5syl 17 . . . . . . . . . . 11 (𝑊 ∈ Word 𝐴 → (0..^(♯‘𝑊)) = (0...((♯‘𝑊) − 1)))
76adantr 482 . . . . . . . . . 10 ((𝑊 ∈ Word 𝐴𝐹:𝐴𝐵) → (0..^(♯‘𝑊)) = (0...((♯‘𝑊) − 1)))
87eleq2d 2827 . . . . . . . . 9 ((𝑊 ∈ Word 𝐴𝐹:𝐴𝐵) → (𝑥 ∈ (0..^(♯‘𝑊)) ↔ 𝑥 ∈ (0...((♯‘𝑊) − 1))))
98biimpa 478 . . . . . . . 8 (((𝑊 ∈ Word 𝐴𝐹:𝐴𝐵) ∧ 𝑥 ∈ (0..^(♯‘𝑊))) → 𝑥 ∈ (0...((♯‘𝑊) − 1)))
10 fznn0sub2 13584 . . . . . . . 8 (𝑥 ∈ (0...((♯‘𝑊) − 1)) → (((♯‘𝑊) − 1) − 𝑥) ∈ (0...((♯‘𝑊) − 1)))
119, 10syl 17 . . . . . . 7 (((𝑊 ∈ Word 𝐴𝐹:𝐴𝐵) ∧ 𝑥 ∈ (0..^(♯‘𝑊))) → (((♯‘𝑊) − 1) − 𝑥) ∈ (0...((♯‘𝑊) − 1)))
127adantr 482 . . . . . . 7 (((𝑊 ∈ Word 𝐴𝐹:𝐴𝐵) ∧ 𝑥 ∈ (0..^(♯‘𝑊))) → (0..^(♯‘𝑊)) = (0...((♯‘𝑊) − 1)))
1311, 12eleqtrrd 2844 . . . . . 6 (((𝑊 ∈ Word 𝐴𝐹:𝐴𝐵) ∧ 𝑥 ∈ (0..^(♯‘𝑊))) → (((♯‘𝑊) − 1) − 𝑥) ∈ (0..^(♯‘𝑊)))
14 fvco2 6928 . . . . . 6 ((𝑊 Fn (0..^(♯‘𝑊)) ∧ (((♯‘𝑊) − 1) − 𝑥) ∈ (0..^(♯‘𝑊))) → ((𝐹𝑊)‘(((♯‘𝑊) − 1) − 𝑥)) = (𝐹‘(𝑊‘(((♯‘𝑊) − 1) − 𝑥))))
152, 13, 14syl2anc 591 . . . . 5 (((𝑊 ∈ Word 𝐴𝐹:𝐴𝐵) ∧ 𝑥 ∈ (0..^(♯‘𝑊))) → ((𝐹𝑊)‘(((♯‘𝑊) − 1) − 𝑥)) = (𝐹‘(𝑊‘(((♯‘𝑊) − 1) − 𝑥))))
16 lenco 14789 . . . . . . . . 9 ((𝑊 ∈ Word 𝐴𝐹:𝐴𝐵) → (♯‘(𝐹𝑊)) = (♯‘𝑊))
1716oveq1d 7375 . . . . . . . 8 ((𝑊 ∈ Word 𝐴𝐹:𝐴𝐵) → ((♯‘(𝐹𝑊)) − 1) = ((♯‘𝑊) − 1))
1817oveq1d 7375 . . . . . . 7 ((𝑊 ∈ Word 𝐴𝐹:𝐴𝐵) → (((♯‘(𝐹𝑊)) − 1) − 𝑥) = (((♯‘𝑊) − 1) − 𝑥))
1918adantr 482 . . . . . 6 (((𝑊 ∈ Word 𝐴𝐹:𝐴𝐵) ∧ 𝑥 ∈ (0..^(♯‘𝑊))) → (((♯‘(𝐹𝑊)) − 1) − 𝑥) = (((♯‘𝑊) − 1) − 𝑥))
2019fveq2d 6835 . . . . 5 (((𝑊 ∈ Word 𝐴𝐹:𝐴𝐵) ∧ 𝑥 ∈ (0..^(♯‘𝑊))) → ((𝐹𝑊)‘(((♯‘(𝐹𝑊)) − 1) − 𝑥)) = ((𝐹𝑊)‘(((♯‘𝑊) − 1) − 𝑥)))
21 revfv 14720 . . . . . . 7 ((𝑊 ∈ Word 𝐴𝑥 ∈ (0..^(♯‘𝑊))) → ((reverse‘𝑊)‘𝑥) = (𝑊‘(((♯‘𝑊) − 1) − 𝑥)))
2221adantlr 722 . . . . . 6 (((𝑊 ∈ Word 𝐴𝐹:𝐴𝐵) ∧ 𝑥 ∈ (0..^(♯‘𝑊))) → ((reverse‘𝑊)‘𝑥) = (𝑊‘(((♯‘𝑊) − 1) − 𝑥)))
2322fveq2d 6835 . . . . 5 (((𝑊 ∈ Word 𝐴𝐹:𝐴𝐵) ∧ 𝑥 ∈ (0..^(♯‘𝑊))) → (𝐹‘((reverse‘𝑊)‘𝑥)) = (𝐹‘(𝑊‘(((♯‘𝑊) − 1) − 𝑥))))
2415, 20, 233eqtr4d 2786 . . . 4 (((𝑊 ∈ Word 𝐴𝐹:𝐴𝐵) ∧ 𝑥 ∈ (0..^(♯‘𝑊))) → ((𝐹𝑊)‘(((♯‘(𝐹𝑊)) − 1) − 𝑥)) = (𝐹‘((reverse‘𝑊)‘𝑥)))
2524mpteq2dva 5168 . . 3 ((𝑊 ∈ Word 𝐴𝐹:𝐴𝐵) → (𝑥 ∈ (0..^(♯‘𝑊)) ↦ ((𝐹𝑊)‘(((♯‘(𝐹𝑊)) − 1) − 𝑥))) = (𝑥 ∈ (0..^(♯‘𝑊)) ↦ (𝐹‘((reverse‘𝑊)‘𝑥))))
2616oveq2d 7376 . . . 4 ((𝑊 ∈ Word 𝐴𝐹:𝐴𝐵) → (0..^(♯‘(𝐹𝑊))) = (0..^(♯‘𝑊)))
2726mpteq1d 5165 . . 3 ((𝑊 ∈ Word 𝐴𝐹:𝐴𝐵) → (𝑥 ∈ (0..^(♯‘(𝐹𝑊))) ↦ ((𝐹𝑊)‘(((♯‘(𝐹𝑊)) − 1) − 𝑥))) = (𝑥 ∈ (0..^(♯‘𝑊)) ↦ ((𝐹𝑊)‘(((♯‘(𝐹𝑊)) − 1) − 𝑥))))
28 revlen 14719 . . . . . 6 (𝑊 ∈ Word 𝐴 → (♯‘(reverse‘𝑊)) = (♯‘𝑊))
2928adantr 482 . . . . 5 ((𝑊 ∈ Word 𝐴𝐹:𝐴𝐵) → (♯‘(reverse‘𝑊)) = (♯‘𝑊))
3029oveq2d 7376 . . . 4 ((𝑊 ∈ Word 𝐴𝐹:𝐴𝐵) → (0..^(♯‘(reverse‘𝑊))) = (0..^(♯‘𝑊)))
3130mpteq1d 5165 . . 3 ((𝑊 ∈ Word 𝐴𝐹:𝐴𝐵) → (𝑥 ∈ (0..^(♯‘(reverse‘𝑊))) ↦ (𝐹‘((reverse‘𝑊)‘𝑥))) = (𝑥 ∈ (0..^(♯‘𝑊)) ↦ (𝐹‘((reverse‘𝑊)‘𝑥))))
3225, 27, 313eqtr4rd 2787 . 2 ((𝑊 ∈ Word 𝐴𝐹:𝐴𝐵) → (𝑥 ∈ (0..^(♯‘(reverse‘𝑊))) ↦ (𝐹‘((reverse‘𝑊)‘𝑥))) = (𝑥 ∈ (0..^(♯‘(𝐹𝑊))) ↦ ((𝐹𝑊)‘(((♯‘(𝐹𝑊)) − 1) − 𝑥))))
33 simpr 486 . . 3 ((𝑊 ∈ Word 𝐴𝐹:𝐴𝐵) → 𝐹:𝐴𝐵)
34 revcl 14718 . . . . 5 (𝑊 ∈ Word 𝐴 → (reverse‘𝑊) ∈ Word 𝐴)
35 wrdf 14475 . . . . 5 ((reverse‘𝑊) ∈ Word 𝐴 → (reverse‘𝑊):(0..^(♯‘(reverse‘𝑊)))⟶𝐴)
3634, 35syl 17 . . . 4 (𝑊 ∈ Word 𝐴 → (reverse‘𝑊):(0..^(♯‘(reverse‘𝑊)))⟶𝐴)
3736adantr 482 . . 3 ((𝑊 ∈ Word 𝐴𝐹:𝐴𝐵) → (reverse‘𝑊):(0..^(♯‘(reverse‘𝑊)))⟶𝐴)
38 fcompt 7079 . . 3 ((𝐹:𝐴𝐵 ∧ (reverse‘𝑊):(0..^(♯‘(reverse‘𝑊)))⟶𝐴) → (𝐹 ∘ (reverse‘𝑊)) = (𝑥 ∈ (0..^(♯‘(reverse‘𝑊))) ↦ (𝐹‘((reverse‘𝑊)‘𝑥))))
3933, 37, 38syl2anc 591 . 2 ((𝑊 ∈ Word 𝐴𝐹:𝐴𝐵) → (𝐹 ∘ (reverse‘𝑊)) = (𝑥 ∈ (0..^(♯‘(reverse‘𝑊))) ↦ (𝐹‘((reverse‘𝑊)‘𝑥))))
40 ffun 6662 . . . 4 (𝐹:𝐴𝐵 → Fun 𝐹)
41 simpl 484 . . . 4 ((𝑊 ∈ Word 𝐴𝐹:𝐴𝐵) → 𝑊 ∈ Word 𝐴)
42 cofunexg 7895 . . . 4 ((Fun 𝐹𝑊 ∈ Word 𝐴) → (𝐹𝑊) ∈ V)
4340, 41, 42syl2an2 693 . . 3 ((𝑊 ∈ Word 𝐴𝐹:𝐴𝐵) → (𝐹𝑊) ∈ V)
44 revval 14717 . . 3 ((𝐹𝑊) ∈ V → (reverse‘(𝐹𝑊)) = (𝑥 ∈ (0..^(♯‘(𝐹𝑊))) ↦ ((𝐹𝑊)‘(((♯‘(𝐹𝑊)) − 1) − 𝑥))))
4543, 44syl 17 . 2 ((𝑊 ∈ Word 𝐴𝐹:𝐴𝐵) → (reverse‘(𝐹𝑊)) = (𝑥 ∈ (0..^(♯‘(𝐹𝑊))) ↦ ((𝐹𝑊)‘(((♯‘(𝐹𝑊)) − 1) − 𝑥))))
4632, 39, 453eqtr4d 2786 1 ((𝑊 ∈ Word 𝐴𝐹:𝐴𝐵) → (𝐹 ∘ (reverse‘𝑊)) = (reverse‘(𝐹𝑊)))
Colors of variables: wff setvar class
Syntax hints:  wi 4  wa 397   = wceq 1548  wcel 2121  Vcvv 3433  cmpt 5156  ccom 5625  Fun wfun 6483   Fn wfn 6484  wf 6485  cfv 6489  (class class class)co 7360  0cc0 11033  1c1 11034  cmin 11372  cz 12519  ...cfz 13456  ..^cfzo 13603  chash 14287  Word cword 14470  reversecreverse 14715
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 1975  ax-7 2016  ax-8 2123  ax-9 2131  ax-10 2154  ax-11 2170  ax-12 2191  ax-ext 2713  ax-rep 5202  ax-sep 5221  ax-nul 5231  ax-pow 5297  ax-pr 5365  ax-un 7682  ax-cnex 11089  ax-resscn 11090  ax-1cn 11091  ax-icn 11092  ax-addcl 11093  ax-addrcl 11094  ax-mulcl 11095  ax-mulrcl 11096  ax-mulcom 11097  ax-addass 11098  ax-mulass 11099  ax-distr 11100  ax-i2m1 11101  ax-1ne0 11102  ax-1rid 11103  ax-rnegex 11104  ax-rrecex 11105  ax-cnre 11106  ax-pre-lttri 11107  ax-pre-lttrn 11108  ax-pre-ltadd 11109  ax-pre-mulgt0 11110
This theorem depends on definitions:  df-bi 209  df-an 398  df-or 855  df-3or 1094  df-3an 1095  df-tru 1551  df-fal 1561  df-ex 1788  df-nf 1792  df-sb 2075  df-mo 2545  df-eu 2575  df-clab 2720  df-cleq 2733  df-clel 2816  df-nfc 2890  df-ne 2937  df-nel 3041  df-ral 3056  df-rex 3066  df-reu 3347  df-rab 3394  df-v 3435  df-sbc 3726  df-csb 3834  df-dif 3888  df-un 3890  df-in 3892  df-ss 3902  df-pss 3905  df-nul 4265  df-if 4458  df-pw 4534  df-sn 4559  df-pr 4561  df-op 4565  df-uni 4842  df-int 4881  df-iun 4926  df-br 5076  df-opab 5138  df-mpt 5157  df-tr 5183  df-id 5516  df-eprel 5521  df-po 5529  df-so 5530  df-fr 5574  df-we 5576  df-xp 5627  df-rel 5628  df-cnv 5629  df-co 5630  df-dm 5631  df-rn 5632  df-res 5633  df-ima 5634  df-pred 6256  df-ord 6317  df-on 6318  df-lim 6319  df-suc 6320  df-iota 6445  df-fun 6491  df-fn 6492  df-f 6493  df-f1 6494  df-fo 6495  df-f1o 6496  df-fv 6497  df-riota 7317  df-ov 7363  df-oprab 7364  df-mpo 7365  df-om 7811  df-1st 7935  df-2nd 7936  df-frecs 8225  df-wrecs 8256  df-recs 8305  df-rdg 8343  df-1o 8399  df-er 8637  df-en 8888  df-dom 8889  df-sdom 8890  df-fin 8891  df-card 9858  df-pnf 11176  df-mnf 11177  df-xr 11178  df-ltxr 11179  df-le 11180  df-sub 11374  df-neg 11375  df-nn 12170  df-n0 12433  df-z 12520  df-uz 12784  df-fz 13457  df-fzo 13604  df-hash 14288  df-word 14471  df-reverse 14716
This theorem is referenced by:  efginvrel1  19698
  Copyright terms: Public domain W3C validator