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

Theorem revco 14794
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 14488 . . . . . . 7 (𝑊 ∈ Word 𝐴𝑊 Fn (0..^(♯‘𝑊)))
21ad2antrr 732 . . . . . 6 (((𝑊 ∈ Word 𝐴𝐹:𝐴𝐵) ∧ 𝑥 ∈ (0..^(♯‘𝑊))) → 𝑊 Fn (0..^(♯‘𝑊)))
3 lencl 14493 . . . . . . . . . . . . 13 (𝑊 ∈ Word 𝐴 → (♯‘𝑊) ∈ ℕ0)
43nn0zd 12547 . . . . . . . . . . . 12 (𝑊 ∈ Word 𝐴 → (♯‘𝑊) ∈ ℤ)
5 fzoval 13612 . . . . . . . . . . . 12 ((♯‘𝑊) ∈ ℤ → (0..^(♯‘𝑊)) = (0...((♯‘𝑊) − 1)))
64, 5syl 17 . . . . . . . . . . 11 (𝑊 ∈ Word 𝐴 → (0..^(♯‘𝑊)) = (0...((♯‘𝑊) − 1)))
76adantr 481 . . . . . . . . . 10 ((𝑊 ∈ Word 𝐴𝐹:𝐴𝐵) → (0..^(♯‘𝑊)) = (0...((♯‘𝑊) − 1)))
87eleq2d 2826 . . . . . . . . 9 ((𝑊 ∈ Word 𝐴𝐹:𝐴𝐵) → (𝑥 ∈ (0..^(♯‘𝑊)) ↔ 𝑥 ∈ (0...((♯‘𝑊) − 1))))
98biimpa 477 . . . . . . . 8 (((𝑊 ∈ Word 𝐴𝐹:𝐴𝐵) ∧ 𝑥 ∈ (0..^(♯‘𝑊))) → 𝑥 ∈ (0...((♯‘𝑊) − 1)))
10 fznn0sub2 13587 . . . . . . . 8 (𝑥 ∈ (0...((♯‘𝑊) − 1)) → (((♯‘𝑊) − 1) − 𝑥) ∈ (0...((♯‘𝑊) − 1)))
119, 10syl 17 . . . . . . 7 (((𝑊 ∈ Word 𝐴𝐹:𝐴𝐵) ∧ 𝑥 ∈ (0..^(♯‘𝑊))) → (((♯‘𝑊) − 1) − 𝑥) ∈ (0...((♯‘𝑊) − 1)))
127adantr 481 . . . . . . 7 (((𝑊 ∈ Word 𝐴𝐹:𝐴𝐵) ∧ 𝑥 ∈ (0..^(♯‘𝑊))) → (0..^(♯‘𝑊)) = (0...((♯‘𝑊) − 1)))
1311, 12eleqtrrd 2843 . . . . . 6 (((𝑊 ∈ Word 𝐴𝐹:𝐴𝐵) ∧ 𝑥 ∈ (0..^(♯‘𝑊))) → (((♯‘𝑊) − 1) − 𝑥) ∈ (0..^(♯‘𝑊)))
14 fvco2 6931 . . . . . 6 ((𝑊 Fn (0..^(♯‘𝑊)) ∧ (((♯‘𝑊) − 1) − 𝑥) ∈ (0..^(♯‘𝑊))) → ((𝐹𝑊)‘(((♯‘𝑊) − 1) − 𝑥)) = (𝐹‘(𝑊‘(((♯‘𝑊) − 1) − 𝑥))))
152, 13, 14syl2anc 590 . . . . 5 (((𝑊 ∈ Word 𝐴𝐹:𝐴𝐵) ∧ 𝑥 ∈ (0..^(♯‘𝑊))) → ((𝐹𝑊)‘(((♯‘𝑊) − 1) − 𝑥)) = (𝐹‘(𝑊‘(((♯‘𝑊) − 1) − 𝑥))))
16 lenco 14792 . . . . . . . . 9 ((𝑊 ∈ Word 𝐴𝐹:𝐴𝐵) → (♯‘(𝐹𝑊)) = (♯‘𝑊))
1716oveq1d 7378 . . . . . . . 8 ((𝑊 ∈ Word 𝐴𝐹:𝐴𝐵) → ((♯‘(𝐹𝑊)) − 1) = ((♯‘𝑊) − 1))
1817oveq1d 7378 . . . . . . 7 ((𝑊 ∈ Word 𝐴𝐹:𝐴𝐵) → (((♯‘(𝐹𝑊)) − 1) − 𝑥) = (((♯‘𝑊) − 1) − 𝑥))
1918adantr 481 . . . . . 6 (((𝑊 ∈ Word 𝐴𝐹:𝐴𝐵) ∧ 𝑥 ∈ (0..^(♯‘𝑊))) → (((♯‘(𝐹𝑊)) − 1) − 𝑥) = (((♯‘𝑊) − 1) − 𝑥))
2019fveq2d 6838 . . . . 5 (((𝑊 ∈ Word 𝐴𝐹:𝐴𝐵) ∧ 𝑥 ∈ (0..^(♯‘𝑊))) → ((𝐹𝑊)‘(((♯‘(𝐹𝑊)) − 1) − 𝑥)) = ((𝐹𝑊)‘(((♯‘𝑊) − 1) − 𝑥)))
21 revfv 14723 . . . . . . 7 ((𝑊 ∈ Word 𝐴𝑥 ∈ (0..^(♯‘𝑊))) → ((reverse‘𝑊)‘𝑥) = (𝑊‘(((♯‘𝑊) − 1) − 𝑥)))
2221adantlr 721 . . . . . 6 (((𝑊 ∈ Word 𝐴𝐹:𝐴𝐵) ∧ 𝑥 ∈ (0..^(♯‘𝑊))) → ((reverse‘𝑊)‘𝑥) = (𝑊‘(((♯‘𝑊) − 1) − 𝑥)))
2322fveq2d 6838 . . . . 5 (((𝑊 ∈ Word 𝐴𝐹:𝐴𝐵) ∧ 𝑥 ∈ (0..^(♯‘𝑊))) → (𝐹‘((reverse‘𝑊)‘𝑥)) = (𝐹‘(𝑊‘(((♯‘𝑊) − 1) − 𝑥))))
2415, 20, 233eqtr4d 2785 . . . 4 (((𝑊 ∈ Word 𝐴𝐹:𝐴𝐵) ∧ 𝑥 ∈ (0..^(♯‘𝑊))) → ((𝐹𝑊)‘(((♯‘(𝐹𝑊)) − 1) − 𝑥)) = (𝐹‘((reverse‘𝑊)‘𝑥)))
2524mpteq2dva 5172 . . 3 ((𝑊 ∈ Word 𝐴𝐹:𝐴𝐵) → (𝑥 ∈ (0..^(♯‘𝑊)) ↦ ((𝐹𝑊)‘(((♯‘(𝐹𝑊)) − 1) − 𝑥))) = (𝑥 ∈ (0..^(♯‘𝑊)) ↦ (𝐹‘((reverse‘𝑊)‘𝑥))))
2616oveq2d 7379 . . . 4 ((𝑊 ∈ Word 𝐴𝐹:𝐴𝐵) → (0..^(♯‘(𝐹𝑊))) = (0..^(♯‘𝑊)))
2726mpteq1d 5169 . . 3 ((𝑊 ∈ Word 𝐴𝐹:𝐴𝐵) → (𝑥 ∈ (0..^(♯‘(𝐹𝑊))) ↦ ((𝐹𝑊)‘(((♯‘(𝐹𝑊)) − 1) − 𝑥))) = (𝑥 ∈ (0..^(♯‘𝑊)) ↦ ((𝐹𝑊)‘(((♯‘(𝐹𝑊)) − 1) − 𝑥))))
28 revlen 14722 . . . . . 6 (𝑊 ∈ Word 𝐴 → (♯‘(reverse‘𝑊)) = (♯‘𝑊))
2928adantr 481 . . . . 5 ((𝑊 ∈ Word 𝐴𝐹:𝐴𝐵) → (♯‘(reverse‘𝑊)) = (♯‘𝑊))
3029oveq2d 7379 . . . 4 ((𝑊 ∈ Word 𝐴𝐹:𝐴𝐵) → (0..^(♯‘(reverse‘𝑊))) = (0..^(♯‘𝑊)))
3130mpteq1d 5169 . . 3 ((𝑊 ∈ Word 𝐴𝐹:𝐴𝐵) → (𝑥 ∈ (0..^(♯‘(reverse‘𝑊))) ↦ (𝐹‘((reverse‘𝑊)‘𝑥))) = (𝑥 ∈ (0..^(♯‘𝑊)) ↦ (𝐹‘((reverse‘𝑊)‘𝑥))))
3225, 27, 313eqtr4rd 2786 . 2 ((𝑊 ∈ Word 𝐴𝐹:𝐴𝐵) → (𝑥 ∈ (0..^(♯‘(reverse‘𝑊))) ↦ (𝐹‘((reverse‘𝑊)‘𝑥))) = (𝑥 ∈ (0..^(♯‘(𝐹𝑊))) ↦ ((𝐹𝑊)‘(((♯‘(𝐹𝑊)) − 1) − 𝑥))))
33 simpr 485 . . 3 ((𝑊 ∈ Word 𝐴𝐹:𝐴𝐵) → 𝐹:𝐴𝐵)
34 revcl 14721 . . . . 5 (𝑊 ∈ Word 𝐴 → (reverse‘𝑊) ∈ Word 𝐴)
35 wrdf 14478 . . . . 5 ((reverse‘𝑊) ∈ Word 𝐴 → (reverse‘𝑊):(0..^(♯‘(reverse‘𝑊)))⟶𝐴)
3634, 35syl 17 . . . 4 (𝑊 ∈ Word 𝐴 → (reverse‘𝑊):(0..^(♯‘(reverse‘𝑊)))⟶𝐴)
3736adantr 481 . . 3 ((𝑊 ∈ Word 𝐴𝐹:𝐴𝐵) → (reverse‘𝑊):(0..^(♯‘(reverse‘𝑊)))⟶𝐴)
38 fcompt 7082 . . 3 ((𝐹:𝐴𝐵 ∧ (reverse‘𝑊):(0..^(♯‘(reverse‘𝑊)))⟶𝐴) → (𝐹 ∘ (reverse‘𝑊)) = (𝑥 ∈ (0..^(♯‘(reverse‘𝑊))) ↦ (𝐹‘((reverse‘𝑊)‘𝑥))))
3933, 37, 38syl2anc 590 . 2 ((𝑊 ∈ Word 𝐴𝐹:𝐴𝐵) → (𝐹 ∘ (reverse‘𝑊)) = (𝑥 ∈ (0..^(♯‘(reverse‘𝑊))) ↦ (𝐹‘((reverse‘𝑊)‘𝑥))))
40 ffun 6665 . . . 4 (𝐹:𝐴𝐵 → Fun 𝐹)
41 simpl 483 . . . 4 ((𝑊 ∈ Word 𝐴𝐹:𝐴𝐵) → 𝑊 ∈ Word 𝐴)
42 cofunexg 7898 . . . 4 ((Fun 𝐹𝑊 ∈ Word 𝐴) → (𝐹𝑊) ∈ V)
4340, 41, 42syl2an2 692 . . 3 ((𝑊 ∈ Word 𝐴𝐹:𝐴𝐵) → (𝐹𝑊) ∈ V)
44 revval 14720 . . 3 ((𝐹𝑊) ∈ V → (reverse‘(𝐹𝑊)) = (𝑥 ∈ (0..^(♯‘(𝐹𝑊))) ↦ ((𝐹𝑊)‘(((♯‘(𝐹𝑊)) − 1) − 𝑥))))
4543, 44syl 17 . 2 ((𝑊 ∈ Word 𝐴𝐹:𝐴𝐵) → (reverse‘(𝐹𝑊)) = (𝑥 ∈ (0..^(♯‘(𝐹𝑊))) ↦ ((𝐹𝑊)‘(((♯‘(𝐹𝑊)) − 1) − 𝑥))))
4632, 39, 453eqtr4d 2785 1 ((𝑊 ∈ Word 𝐴𝐹:𝐴𝐵) → (𝐹 ∘ (reverse‘𝑊)) = (reverse‘(𝐹𝑊)))
Colors of variables: wff setvar class
Syntax hints:  wi 4  wa 396   = wceq 1547  wcel 2119  Vcvv 3432  cmpt 5160  ccom 5629  Fun wfun 6486   Fn wfn 6487  wf 6488  cfv 6492  (class class class)co 7363  0cc0 11036  1c1 11037  cmin 11375  cz 12522  ...cfz 13459  ..^cfzo 13606  chash 14290  Word cword 14473  reversecreverse 14718
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1802  ax-4 1816  ax-5 1917  ax-6 1974  ax-7 2015  ax-8 2121  ax-9 2129  ax-10 2152  ax-11 2168  ax-12 2189  ax-ext 2712  ax-rep 5206  ax-sep 5225  ax-nul 5235  ax-pow 5301  ax-pr 5369  ax-un 7685  ax-cnex 11092  ax-resscn 11093  ax-1cn 11094  ax-icn 11095  ax-addcl 11096  ax-addrcl 11097  ax-mulcl 11098  ax-mulrcl 11099  ax-mulcom 11100  ax-addass 11101  ax-mulass 11102  ax-distr 11103  ax-i2m1 11104  ax-1ne0 11105  ax-1rid 11106  ax-rnegex 11107  ax-rrecex 11108  ax-cnre 11109  ax-pre-lttri 11110  ax-pre-lttrn 11111  ax-pre-ltadd 11112  ax-pre-mulgt0 11113
This theorem depends on definitions:  df-bi 208  df-an 397  df-or 854  df-3or 1093  df-3an 1094  df-tru 1550  df-fal 1560  df-ex 1787  df-nf 1791  df-sb 2074  df-mo 2543  df-eu 2573  df-clab 2719  df-cleq 2732  df-clel 2815  df-nfc 2889  df-ne 2936  df-nel 3040  df-ral 3055  df-rex 3065  df-reu 3346  df-rab 3393  df-v 3434  df-sbc 3731  df-csb 3839  df-dif 3893  df-un 3895  df-in 3897  df-ss 3907  df-pss 3910  df-nul 4269  df-if 4462  df-pw 4538  df-sn 4563  df-pr 4565  df-op 4569  df-uni 4846  df-int 4885  df-iun 4930  df-br 5080  df-opab 5142  df-mpt 5161  df-tr 5187  df-id 5520  df-eprel 5525  df-po 5533  df-so 5534  df-fr 5578  df-we 5580  df-xp 5631  df-rel 5632  df-cnv 5633  df-co 5634  df-dm 5635  df-rn 5636  df-res 5637  df-ima 5638  df-pred 6259  df-ord 6320  df-on 6321  df-lim 6322  df-suc 6323  df-iota 6448  df-fun 6494  df-fn 6495  df-f 6496  df-f1 6497  df-fo 6498  df-f1o 6499  df-fv 6500  df-riota 7320  df-ov 7366  df-oprab 7367  df-mpo 7368  df-om 7814  df-1st 7938  df-2nd 7939  df-frecs 8228  df-wrecs 8259  df-recs 8308  df-rdg 8346  df-1o 8402  df-er 8640  df-en 8891  df-dom 8892  df-sdom 8893  df-fin 8894  df-card 9861  df-pnf 11179  df-mnf 11180  df-xr 11181  df-ltxr 11182  df-le 11183  df-sub 11377  df-neg 11378  df-nn 12173  df-n0 12436  df-z 12523  df-uz 12787  df-fz 13460  df-fzo 13607  df-hash 14291  df-word 14474  df-reverse 14719
This theorem is referenced by:  efginvrel1  19701
  Copyright terms: Public domain W3C validator