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

Theorem revco 14861
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 14555 . . . . . . 7 (𝑊 ∈ Word 𝐴𝑊 Fn (0..^(♯‘𝑊)))
21ad2antrr 738 . . . . . 6 (((𝑊 ∈ Word 𝐴𝐹:𝐴𝐵) ∧ 𝑥 ∈ (0..^(♯‘𝑊))) → 𝑊 Fn (0..^(♯‘𝑊)))
3 lencl 14560 . . . . . . . . . . . . 13 (𝑊 ∈ Word 𝐴 → (♯‘𝑊) ∈ ℕ0)
43nn0zd 12607 . . . . . . . . . . . 12 (𝑊 ∈ Word 𝐴 → (♯‘𝑊) ∈ ℤ)
5 fzoval 13679 . . . . . . . . . . . 12 ((♯‘𝑊) ∈ ℤ → (0..^(♯‘𝑊)) = (0...((♯‘𝑊) − 1)))
64, 5syl 18 . . . . . . . . . . 11 (𝑊 ∈ Word 𝐴 → (0..^(♯‘𝑊)) = (0...((♯‘𝑊) − 1)))
76adantr 485 . . . . . . . . . 10 ((𝑊 ∈ Word 𝐴𝐹:𝐴𝐵) → (0..^(♯‘𝑊)) = (0...((♯‘𝑊) − 1)))
87eleq2d 2851 . . . . . . . . 9 ((𝑊 ∈ Word 𝐴𝐹:𝐴𝐵) → (𝑥 ∈ (0..^(♯‘𝑊)) ↔ 𝑥 ∈ (0...((♯‘𝑊) − 1))))
98biimpa 481 . . . . . . . 8 (((𝑊 ∈ Word 𝐴𝐹:𝐴𝐵) ∧ 𝑥 ∈ (0..^(♯‘𝑊))) → 𝑥 ∈ (0...((♯‘𝑊) − 1)))
10 fznn0sub2 13654 . . . . . . . 8 (𝑥 ∈ (0...((♯‘𝑊) − 1)) → (((♯‘𝑊) − 1) − 𝑥) ∈ (0...((♯‘𝑊) − 1)))
119, 10syl 18 . . . . . . 7 (((𝑊 ∈ Word 𝐴𝐹:𝐴𝐵) ∧ 𝑥 ∈ (0..^(♯‘𝑊))) → (((♯‘𝑊) − 1) − 𝑥) ∈ (0...((♯‘𝑊) − 1)))
127adantr 485 . . . . . . 7 (((𝑊 ∈ Word 𝐴𝐹:𝐴𝐵) ∧ 𝑥 ∈ (0..^(♯‘𝑊))) → (0..^(♯‘𝑊)) = (0...((♯‘𝑊) − 1)))
1311, 12eleqtrrd 2868 . . . . . 6 (((𝑊 ∈ Word 𝐴𝐹:𝐴𝐵) ∧ 𝑥 ∈ (0..^(♯‘𝑊))) → (((♯‘𝑊) − 1) − 𝑥) ∈ (0..^(♯‘𝑊)))
14 fvco2 6968 . . . . . 6 ((𝑊 Fn (0..^(♯‘𝑊)) ∧ (((♯‘𝑊) − 1) − 𝑥) ∈ (0..^(♯‘𝑊))) → ((𝐹𝑊)‘(((♯‘𝑊) − 1) − 𝑥)) = (𝐹‘(𝑊‘(((♯‘𝑊) − 1) − 𝑥))))
152, 13, 14syl2anc 595 . . . . 5 (((𝑊 ∈ Word 𝐴𝐹:𝐴𝐵) ∧ 𝑥 ∈ (0..^(♯‘𝑊))) → ((𝐹𝑊)‘(((♯‘𝑊) − 1) − 𝑥)) = (𝐹‘(𝑊‘(((♯‘𝑊) − 1) − 𝑥))))
16 lenco 14859 . . . . . . . . 9 ((𝑊 ∈ Word 𝐴𝐹:𝐴𝐵) → (♯‘(𝐹𝑊)) = (♯‘𝑊))
1716oveq1d 7415 . . . . . . . 8 ((𝑊 ∈ Word 𝐴𝐹:𝐴𝐵) → ((♯‘(𝐹𝑊)) − 1) = ((♯‘𝑊) − 1))
1817oveq1d 7415 . . . . . . 7 ((𝑊 ∈ Word 𝐴𝐹:𝐴𝐵) → (((♯‘(𝐹𝑊)) − 1) − 𝑥) = (((♯‘𝑊) − 1) − 𝑥))
1918adantr 485 . . . . . 6 (((𝑊 ∈ Word 𝐴𝐹:𝐴𝐵) ∧ 𝑥 ∈ (0..^(♯‘𝑊))) → (((♯‘(𝐹𝑊)) − 1) − 𝑥) = (((♯‘𝑊) − 1) − 𝑥))
2019fveq2d 6875 . . . . 5 (((𝑊 ∈ Word 𝐴𝐹:𝐴𝐵) ∧ 𝑥 ∈ (0..^(♯‘𝑊))) → ((𝐹𝑊)‘(((♯‘(𝐹𝑊)) − 1) − 𝑥)) = ((𝐹𝑊)‘(((♯‘𝑊) − 1) − 𝑥)))
21 revfv 14790 . . . . . . 7 ((𝑊 ∈ Word 𝐴𝑥 ∈ (0..^(♯‘𝑊))) → ((reverse‘𝑊)‘𝑥) = (𝑊‘(((♯‘𝑊) − 1) − 𝑥)))
2221adantlr 727 . . . . . 6 (((𝑊 ∈ Word 𝐴𝐹:𝐴𝐵) ∧ 𝑥 ∈ (0..^(♯‘𝑊))) → ((reverse‘𝑊)‘𝑥) = (𝑊‘(((♯‘𝑊) − 1) − 𝑥)))
2322fveq2d 6875 . . . . 5 (((𝑊 ∈ Word 𝐴𝐹:𝐴𝐵) ∧ 𝑥 ∈ (0..^(♯‘𝑊))) → (𝐹‘((reverse‘𝑊)‘𝑥)) = (𝐹‘(𝑊‘(((♯‘𝑊) − 1) − 𝑥))))
2415, 20, 233eqtr4d 2810 . . . 4 (((𝑊 ∈ Word 𝐴𝐹:𝐴𝐵) ∧ 𝑥 ∈ (0..^(♯‘𝑊))) → ((𝐹𝑊)‘(((♯‘(𝐹𝑊)) − 1) − 𝑥)) = (𝐹‘((reverse‘𝑊)‘𝑥)))
2524mpteq2dva 5198 . . 3 ((𝑊 ∈ Word 𝐴𝐹:𝐴𝐵) → (𝑥 ∈ (0..^(♯‘𝑊)) ↦ ((𝐹𝑊)‘(((♯‘(𝐹𝑊)) − 1) − 𝑥))) = (𝑥 ∈ (0..^(♯‘𝑊)) ↦ (𝐹‘((reverse‘𝑊)‘𝑥))))
2616oveq2d 7416 . . . 4 ((𝑊 ∈ Word 𝐴𝐹:𝐴𝐵) → (0..^(♯‘(𝐹𝑊))) = (0..^(♯‘𝑊)))
2726mpteq1d 5195 . . 3 ((𝑊 ∈ Word 𝐴𝐹:𝐴𝐵) → (𝑥 ∈ (0..^(♯‘(𝐹𝑊))) ↦ ((𝐹𝑊)‘(((♯‘(𝐹𝑊)) − 1) − 𝑥))) = (𝑥 ∈ (0..^(♯‘𝑊)) ↦ ((𝐹𝑊)‘(((♯‘(𝐹𝑊)) − 1) − 𝑥))))
28 revlen 14789 . . . . . 6 (𝑊 ∈ Word 𝐴 → (♯‘(reverse‘𝑊)) = (♯‘𝑊))
2928adantr 485 . . . . 5 ((𝑊 ∈ Word 𝐴𝐹:𝐴𝐵) → (♯‘(reverse‘𝑊)) = (♯‘𝑊))
3029oveq2d 7416 . . . 4 ((𝑊 ∈ Word 𝐴𝐹:𝐴𝐵) → (0..^(♯‘(reverse‘𝑊))) = (0..^(♯‘𝑊)))
3130mpteq1d 5195 . . 3 ((𝑊 ∈ Word 𝐴𝐹:𝐴𝐵) → (𝑥 ∈ (0..^(♯‘(reverse‘𝑊))) ↦ (𝐹‘((reverse‘𝑊)‘𝑥))) = (𝑥 ∈ (0..^(♯‘𝑊)) ↦ (𝐹‘((reverse‘𝑊)‘𝑥))))
3225, 27, 313eqtr4rd 2811 . 2 ((𝑊 ∈ Word 𝐴𝐹:𝐴𝐵) → (𝑥 ∈ (0..^(♯‘(reverse‘𝑊))) ↦ (𝐹‘((reverse‘𝑊)‘𝑥))) = (𝑥 ∈ (0..^(♯‘(𝐹𝑊))) ↦ ((𝐹𝑊)‘(((♯‘(𝐹𝑊)) − 1) − 𝑥))))
33 simpr 489 . . 3 ((𝑊 ∈ Word 𝐴𝐹:𝐴𝐵) → 𝐹:𝐴𝐵)
34 revcl 14788 . . . . 5 (𝑊 ∈ Word 𝐴 → (reverse‘𝑊) ∈ Word 𝐴)
35 wrdf 14545 . . . . 5 ((reverse‘𝑊) ∈ Word 𝐴 → (reverse‘𝑊):(0..^(♯‘(reverse‘𝑊)))⟶𝐴)
3634, 35syl 18 . . . 4 (𝑊 ∈ Word 𝐴 → (reverse‘𝑊):(0..^(♯‘(reverse‘𝑊)))⟶𝐴)
3736adantr 485 . . 3 ((𝑊 ∈ Word 𝐴𝐹:𝐴𝐵) → (reverse‘𝑊):(0..^(♯‘(reverse‘𝑊)))⟶𝐴)
38 fcompt 7119 . . 3 ((𝐹:𝐴𝐵 ∧ (reverse‘𝑊):(0..^(♯‘(reverse‘𝑊)))⟶𝐴) → (𝐹 ∘ (reverse‘𝑊)) = (𝑥 ∈ (0..^(♯‘(reverse‘𝑊))) ↦ (𝐹‘((reverse‘𝑊)‘𝑥))))
3933, 37, 38syl2anc 595 . 2 ((𝑊 ∈ Word 𝐴𝐹:𝐴𝐵) → (𝐹 ∘ (reverse‘𝑊)) = (𝑥 ∈ (0..^(♯‘(reverse‘𝑊))) ↦ (𝐹‘((reverse‘𝑊)‘𝑥))))
40 ffun 6698 . . . 4 (𝐹:𝐴𝐵 → Fun 𝐹)
41 simpl 487 . . . 4 ((𝑊 ∈ Word 𝐴𝐹:𝐴𝐵) → 𝑊 ∈ Word 𝐴)
42 cofunexg 7934 . . . 4 ((Fun 𝐹𝑊 ∈ Word 𝐴) → (𝐹𝑊) ∈ V)
4340, 41, 42syl2an2 698 . . 3 ((𝑊 ∈ Word 𝐴𝐹:𝐴𝐵) → (𝐹𝑊) ∈ V)
44 revval 14787 . . 3 ((𝐹𝑊) ∈ V → (reverse‘(𝐹𝑊)) = (𝑥 ∈ (0..^(♯‘(𝐹𝑊))) ↦ ((𝐹𝑊)‘(((♯‘(𝐹𝑊)) − 1) − 𝑥))))
4543, 44syl 18 . 2 ((𝑊 ∈ Word 𝐴𝐹:𝐴𝐵) → (reverse‘(𝐹𝑊)) = (𝑥 ∈ (0..^(♯‘(𝐹𝑊))) ↦ ((𝐹𝑊)‘(((♯‘(𝐹𝑊)) − 1) − 𝑥))))
4632, 39, 453eqtr4d 2810 1 ((𝑊 ∈ Word 𝐴𝐹:𝐴𝐵) → (𝐹 ∘ (reverse‘𝑊)) = (reverse‘(𝐹𝑊)))
Colors of variables: wff setvar class
Syntax hints:  wi 4  wa 400   = wceq 1563  wcel 2145  Vcvv 3457  cmpt 5186  ccom 5656  Fun wfun 6519   Fn wfn 6520  wf 6521  cfv 6525  (class class class)co 7400  0cc0 11088  1c1 11089  cmin 11429  cz 12582  ...cfz 13526  ..^cfzo 13673  chash 14357  Word cword 14540  reversecreverse 14785
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1818  ax-4 1832  ax-5 1933  ax-6 1990  ax-7 2031  ax-8 2147  ax-9 2155  ax-10 2178  ax-11 2194  ax-12 2215  ax-ext 2737  ax-rep 5232  ax-sep 5251  ax-nul 5261  ax-pow 5327  ax-pr 5395  ax-un 7722  ax-cnex 11144  ax-resscn 11145  ax-1cn 11146  ax-icn 11147  ax-addcl 11148  ax-addrcl 11149  ax-mulcl 11150  ax-mulrcl 11151  ax-mulcom 11152  ax-addass 11153  ax-mulass 11154  ax-distr 11155  ax-i2m1 11156  ax-1ne0 11157  ax-1rid 11158  ax-rnegex 11159  ax-rrecex 11160  ax-cnre 11161  ax-pre-lttri 11162  ax-pre-lttrn 11163  ax-pre-ltadd 11164  ax-pre-mulgt0 11165
This theorem depends on definitions:  df-bi 210  df-an 401  df-or 861  df-3or 1102  df-3an 1103  df-tru 1566  df-fal 1576  df-ex 1803  df-nf 1807  df-sb 2094  df-mo 2569  df-eu 2599  df-clab 2744  df-cleq 2757  df-clel 2840  df-nfc 2914  df-ne 2961  df-nel 3065  df-ral 3080  df-rex 3090  df-reu 3371  df-rab 3418  df-v 3459  df-sbc 3748  df-csb 3856  df-dif 3910  df-un 3912  df-in 3914  df-ss 3924  df-pss 3927  df-nul 4289  df-if 4484  df-pw 4560  df-sn 4586  df-pr 4588  df-op 4592  df-uni 4869  df-int 4909  df-iun 4954  df-br 5106  df-opab 5168  df-mpt 5187  df-tr 5213  df-id 5547  df-eprel 5552  df-po 5560  df-so 5561  df-fr 5605  df-we 5607  df-xp 5658  df-rel 5659  df-cnv 5660  df-co 5661  df-dm 5662  df-rn 5663  df-res 5664  df-ima 5665  df-pred 6292  df-ord 6353  df-on 6354  df-lim 6355  df-suc 6356  df-iota 6481  df-fun 6527  df-fn 6528  df-f 6529  df-f1 6530  df-fo 6531  df-f1o 6532  df-fv 6533  df-riota 7357  df-ov 7403  df-oprab 7404  df-mpo 7405  df-om 7851  df-1st 7974  df-2nd 7975  df-frecs 8266  df-wrecs 8297  df-recs 8346  df-rdg 8385  df-1o 8441  df-er 8682  df-en 8932  df-dom 8933  df-sdom 8934  df-fin 8935  df-card 9913  df-pnf 11233  df-mnf 11234  df-xr 11235  df-ltxr 11236  df-le 11237  df-sub 11431  df-neg 11432  df-nn 12225  df-n0 12496  df-z 12583  df-uz 12854  df-fz 13527  df-fzo 13674  df-hash 14358  df-word 14541  df-reverse 14786
This theorem is referenced by:  efginvrel1  19789
  Copyright terms: Public domain W3C validator