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

Theorem revco 14733
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 14427 . . . . . . 7 (𝑊 ∈ Word 𝐴𝑊 Fn (0..^(♯‘𝑊)))
21ad2antrr 726 . . . . . 6 (((𝑊 ∈ Word 𝐴𝐹:𝐴𝐵) ∧ 𝑥 ∈ (0..^(♯‘𝑊))) → 𝑊 Fn (0..^(♯‘𝑊)))
3 lencl 14432 . . . . . . . . . . . . 13 (𝑊 ∈ Word 𝐴 → (♯‘𝑊) ∈ ℕ0)
43nn0zd 12486 . . . . . . . . . . . 12 (𝑊 ∈ Word 𝐴 → (♯‘𝑊) ∈ ℤ)
5 fzoval 13552 . . . . . . . . . . . 12 ((♯‘𝑊) ∈ ℤ → (0..^(♯‘𝑊)) = (0...((♯‘𝑊) − 1)))
64, 5syl 17 . . . . . . . . . . 11 (𝑊 ∈ Word 𝐴 → (0..^(♯‘𝑊)) = (0...((♯‘𝑊) − 1)))
76adantr 480 . . . . . . . . . 10 ((𝑊 ∈ Word 𝐴𝐹:𝐴𝐵) → (0..^(♯‘𝑊)) = (0...((♯‘𝑊) − 1)))
87eleq2d 2815 . . . . . . . . 9 ((𝑊 ∈ Word 𝐴𝐹:𝐴𝐵) → (𝑥 ∈ (0..^(♯‘𝑊)) ↔ 𝑥 ∈ (0...((♯‘𝑊) − 1))))
98biimpa 476 . . . . . . . 8 (((𝑊 ∈ Word 𝐴𝐹:𝐴𝐵) ∧ 𝑥 ∈ (0..^(♯‘𝑊))) → 𝑥 ∈ (0...((♯‘𝑊) − 1)))
10 fznn0sub2 13527 . . . . . . . 8 (𝑥 ∈ (0...((♯‘𝑊) − 1)) → (((♯‘𝑊) − 1) − 𝑥) ∈ (0...((♯‘𝑊) − 1)))
119, 10syl 17 . . . . . . 7 (((𝑊 ∈ Word 𝐴𝐹:𝐴𝐵) ∧ 𝑥 ∈ (0..^(♯‘𝑊))) → (((♯‘𝑊) − 1) − 𝑥) ∈ (0...((♯‘𝑊) − 1)))
127adantr 480 . . . . . . 7 (((𝑊 ∈ Word 𝐴𝐹:𝐴𝐵) ∧ 𝑥 ∈ (0..^(♯‘𝑊))) → (0..^(♯‘𝑊)) = (0...((♯‘𝑊) − 1)))
1311, 12eleqtrrd 2832 . . . . . 6 (((𝑊 ∈ Word 𝐴𝐹:𝐴𝐵) ∧ 𝑥 ∈ (0..^(♯‘𝑊))) → (((♯‘𝑊) − 1) − 𝑥) ∈ (0..^(♯‘𝑊)))
14 fvco2 6914 . . . . . 6 ((𝑊 Fn (0..^(♯‘𝑊)) ∧ (((♯‘𝑊) − 1) − 𝑥) ∈ (0..^(♯‘𝑊))) → ((𝐹𝑊)‘(((♯‘𝑊) − 1) − 𝑥)) = (𝐹‘(𝑊‘(((♯‘𝑊) − 1) − 𝑥))))
152, 13, 14syl2anc 584 . . . . 5 (((𝑊 ∈ Word 𝐴𝐹:𝐴𝐵) ∧ 𝑥 ∈ (0..^(♯‘𝑊))) → ((𝐹𝑊)‘(((♯‘𝑊) − 1) − 𝑥)) = (𝐹‘(𝑊‘(((♯‘𝑊) − 1) − 𝑥))))
16 lenco 14731 . . . . . . . . 9 ((𝑊 ∈ Word 𝐴𝐹:𝐴𝐵) → (♯‘(𝐹𝑊)) = (♯‘𝑊))
1716oveq1d 7356 . . . . . . . 8 ((𝑊 ∈ Word 𝐴𝐹:𝐴𝐵) → ((♯‘(𝐹𝑊)) − 1) = ((♯‘𝑊) − 1))
1817oveq1d 7356 . . . . . . 7 ((𝑊 ∈ Word 𝐴𝐹:𝐴𝐵) → (((♯‘(𝐹𝑊)) − 1) − 𝑥) = (((♯‘𝑊) − 1) − 𝑥))
1918adantr 480 . . . . . 6 (((𝑊 ∈ Word 𝐴𝐹:𝐴𝐵) ∧ 𝑥 ∈ (0..^(♯‘𝑊))) → (((♯‘(𝐹𝑊)) − 1) − 𝑥) = (((♯‘𝑊) − 1) − 𝑥))
2019fveq2d 6821 . . . . 5 (((𝑊 ∈ Word 𝐴𝐹:𝐴𝐵) ∧ 𝑥 ∈ (0..^(♯‘𝑊))) → ((𝐹𝑊)‘(((♯‘(𝐹𝑊)) − 1) − 𝑥)) = ((𝐹𝑊)‘(((♯‘𝑊) − 1) − 𝑥)))
21 revfv 14662 . . . . . . 7 ((𝑊 ∈ Word 𝐴𝑥 ∈ (0..^(♯‘𝑊))) → ((reverse‘𝑊)‘𝑥) = (𝑊‘(((♯‘𝑊) − 1) − 𝑥)))
2221adantlr 715 . . . . . 6 (((𝑊 ∈ Word 𝐴𝐹:𝐴𝐵) ∧ 𝑥 ∈ (0..^(♯‘𝑊))) → ((reverse‘𝑊)‘𝑥) = (𝑊‘(((♯‘𝑊) − 1) − 𝑥)))
2322fveq2d 6821 . . . . 5 (((𝑊 ∈ Word 𝐴𝐹:𝐴𝐵) ∧ 𝑥 ∈ (0..^(♯‘𝑊))) → (𝐹‘((reverse‘𝑊)‘𝑥)) = (𝐹‘(𝑊‘(((♯‘𝑊) − 1) − 𝑥))))
2415, 20, 233eqtr4d 2775 . . . 4 (((𝑊 ∈ Word 𝐴𝐹:𝐴𝐵) ∧ 𝑥 ∈ (0..^(♯‘𝑊))) → ((𝐹𝑊)‘(((♯‘(𝐹𝑊)) − 1) − 𝑥)) = (𝐹‘((reverse‘𝑊)‘𝑥)))
2524mpteq2dva 5182 . . 3 ((𝑊 ∈ Word 𝐴𝐹:𝐴𝐵) → (𝑥 ∈ (0..^(♯‘𝑊)) ↦ ((𝐹𝑊)‘(((♯‘(𝐹𝑊)) − 1) − 𝑥))) = (𝑥 ∈ (0..^(♯‘𝑊)) ↦ (𝐹‘((reverse‘𝑊)‘𝑥))))
2616oveq2d 7357 . . . 4 ((𝑊 ∈ Word 𝐴𝐹:𝐴𝐵) → (0..^(♯‘(𝐹𝑊))) = (0..^(♯‘𝑊)))
2726mpteq1d 5179 . . 3 ((𝑊 ∈ Word 𝐴𝐹:𝐴𝐵) → (𝑥 ∈ (0..^(♯‘(𝐹𝑊))) ↦ ((𝐹𝑊)‘(((♯‘(𝐹𝑊)) − 1) − 𝑥))) = (𝑥 ∈ (0..^(♯‘𝑊)) ↦ ((𝐹𝑊)‘(((♯‘(𝐹𝑊)) − 1) − 𝑥))))
28 revlen 14661 . . . . . 6 (𝑊 ∈ Word 𝐴 → (♯‘(reverse‘𝑊)) = (♯‘𝑊))
2928adantr 480 . . . . 5 ((𝑊 ∈ Word 𝐴𝐹:𝐴𝐵) → (♯‘(reverse‘𝑊)) = (♯‘𝑊))
3029oveq2d 7357 . . . 4 ((𝑊 ∈ Word 𝐴𝐹:𝐴𝐵) → (0..^(♯‘(reverse‘𝑊))) = (0..^(♯‘𝑊)))
3130mpteq1d 5179 . . 3 ((𝑊 ∈ Word 𝐴𝐹:𝐴𝐵) → (𝑥 ∈ (0..^(♯‘(reverse‘𝑊))) ↦ (𝐹‘((reverse‘𝑊)‘𝑥))) = (𝑥 ∈ (0..^(♯‘𝑊)) ↦ (𝐹‘((reverse‘𝑊)‘𝑥))))
3225, 27, 313eqtr4rd 2776 . 2 ((𝑊 ∈ Word 𝐴𝐹:𝐴𝐵) → (𝑥 ∈ (0..^(♯‘(reverse‘𝑊))) ↦ (𝐹‘((reverse‘𝑊)‘𝑥))) = (𝑥 ∈ (0..^(♯‘(𝐹𝑊))) ↦ ((𝐹𝑊)‘(((♯‘(𝐹𝑊)) − 1) − 𝑥))))
33 simpr 484 . . 3 ((𝑊 ∈ Word 𝐴𝐹:𝐴𝐵) → 𝐹:𝐴𝐵)
34 revcl 14660 . . . . 5 (𝑊 ∈ Word 𝐴 → (reverse‘𝑊) ∈ Word 𝐴)
35 wrdf 14417 . . . . 5 ((reverse‘𝑊) ∈ Word 𝐴 → (reverse‘𝑊):(0..^(♯‘(reverse‘𝑊)))⟶𝐴)
3634, 35syl 17 . . . 4 (𝑊 ∈ Word 𝐴 → (reverse‘𝑊):(0..^(♯‘(reverse‘𝑊)))⟶𝐴)
3736adantr 480 . . 3 ((𝑊 ∈ Word 𝐴𝐹:𝐴𝐵) → (reverse‘𝑊):(0..^(♯‘(reverse‘𝑊)))⟶𝐴)
38 fcompt 7061 . . 3 ((𝐹:𝐴𝐵 ∧ (reverse‘𝑊):(0..^(♯‘(reverse‘𝑊)))⟶𝐴) → (𝐹 ∘ (reverse‘𝑊)) = (𝑥 ∈ (0..^(♯‘(reverse‘𝑊))) ↦ (𝐹‘((reverse‘𝑊)‘𝑥))))
3933, 37, 38syl2anc 584 . 2 ((𝑊 ∈ Word 𝐴𝐹:𝐴𝐵) → (𝐹 ∘ (reverse‘𝑊)) = (𝑥 ∈ (0..^(♯‘(reverse‘𝑊))) ↦ (𝐹‘((reverse‘𝑊)‘𝑥))))
40 ffun 6650 . . . 4 (𝐹:𝐴𝐵 → Fun 𝐹)
41 simpl 482 . . . 4 ((𝑊 ∈ Word 𝐴𝐹:𝐴𝐵) → 𝑊 ∈ Word 𝐴)
42 cofunexg 7876 . . . 4 ((Fun 𝐹𝑊 ∈ Word 𝐴) → (𝐹𝑊) ∈ V)
4340, 41, 42syl2an2 686 . . 3 ((𝑊 ∈ Word 𝐴𝐹:𝐴𝐵) → (𝐹𝑊) ∈ V)
44 revval 14659 . . 3 ((𝐹𝑊) ∈ V → (reverse‘(𝐹𝑊)) = (𝑥 ∈ (0..^(♯‘(𝐹𝑊))) ↦ ((𝐹𝑊)‘(((♯‘(𝐹𝑊)) − 1) − 𝑥))))
4543, 44syl 17 . 2 ((𝑊 ∈ Word 𝐴𝐹:𝐴𝐵) → (reverse‘(𝐹𝑊)) = (𝑥 ∈ (0..^(♯‘(𝐹𝑊))) ↦ ((𝐹𝑊)‘(((♯‘(𝐹𝑊)) − 1) − 𝑥))))
4632, 39, 453eqtr4d 2775 1 ((𝑊 ∈ Word 𝐴𝐹:𝐴𝐵) → (𝐹 ∘ (reverse‘𝑊)) = (reverse‘(𝐹𝑊)))
Colors of variables: wff setvar class
Syntax hints:  wi 4  wa 395   = wceq 1541  wcel 2110  Vcvv 3434  cmpt 5170  ccom 5618  Fun wfun 6471   Fn wfn 6472  wf 6473  cfv 6477  (class class class)co 7341  0cc0 10998  1c1 10999  cmin 11336  cz 12460  ...cfz 13399  ..^cfzo 13546  chash 14229  Word cword 14412  reversecreverse 14657
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1796  ax-4 1810  ax-5 1911  ax-6 1968  ax-7 2009  ax-8 2112  ax-9 2120  ax-10 2143  ax-11 2159  ax-12 2179  ax-ext 2702  ax-rep 5215  ax-sep 5232  ax-nul 5242  ax-pow 5301  ax-pr 5368  ax-un 7663  ax-cnex 11054  ax-resscn 11055  ax-1cn 11056  ax-icn 11057  ax-addcl 11058  ax-addrcl 11059  ax-mulcl 11060  ax-mulrcl 11061  ax-mulcom 11062  ax-addass 11063  ax-mulass 11064  ax-distr 11065  ax-i2m1 11066  ax-1ne0 11067  ax-1rid 11068  ax-rnegex 11069  ax-rrecex 11070  ax-cnre 11071  ax-pre-lttri 11072  ax-pre-lttrn 11073  ax-pre-ltadd 11074  ax-pre-mulgt0 11075
This theorem depends on definitions:  df-bi 207  df-an 396  df-or 848  df-3or 1087  df-3an 1088  df-tru 1544  df-fal 1554  df-ex 1781  df-nf 1785  df-sb 2067  df-mo 2534  df-eu 2563  df-clab 2709  df-cleq 2722  df-clel 2804  df-nfc 2879  df-ne 2927  df-nel 3031  df-ral 3046  df-rex 3055  df-reu 3345  df-rab 3394  df-v 3436  df-sbc 3740  df-csb 3849  df-dif 3903  df-un 3905  df-in 3907  df-ss 3917  df-pss 3920  df-nul 4282  df-if 4474  df-pw 4550  df-sn 4575  df-pr 4577  df-op 4581  df-uni 4858  df-int 4896  df-iun 4941  df-br 5090  df-opab 5152  df-mpt 5171  df-tr 5197  df-id 5509  df-eprel 5514  df-po 5522  df-so 5523  df-fr 5567  df-we 5569  df-xp 5620  df-rel 5621  df-cnv 5622  df-co 5623  df-dm 5624  df-rn 5625  df-res 5626  df-ima 5627  df-pred 6244  df-ord 6305  df-on 6306  df-lim 6307  df-suc 6308  df-iota 6433  df-fun 6479  df-fn 6480  df-f 6481  df-f1 6482  df-fo 6483  df-f1o 6484  df-fv 6485  df-riota 7298  df-ov 7344  df-oprab 7345  df-mpo 7346  df-om 7792  df-1st 7916  df-2nd 7917  df-frecs 8206  df-wrecs 8237  df-recs 8286  df-rdg 8324  df-1o 8380  df-er 8617  df-en 8865  df-dom 8866  df-sdom 8867  df-fin 8868  df-card 9824  df-pnf 11140  df-mnf 11141  df-xr 11142  df-ltxr 11143  df-le 11144  df-sub 11338  df-neg 11339  df-nn 12118  df-n0 12374  df-z 12461  df-uz 12725  df-fz 13400  df-fzo 13547  df-hash 14230  df-word 14413  df-reverse 14658
This theorem is referenced by:  efginvrel1  19633
  Copyright terms: Public domain W3C validator