Metamath Proof Explorer |
< Previous
Next >
Nearby theorems |
||
Mirrors > Home > MPE Home > Th. List > lswco | Structured version Visualization version GIF version |
Description: Mapping of (nonempty) words commutes with the "last symbol" operation. This theorem would not hold if 𝑊 = ∅, (𝐹‘∅) ≠ ∅ and ∅ ∈ 𝐴, because then (lastS‘(𝐹 ∘ 𝑊)) = (lastS‘∅) = ∅ ≠ (𝐹‘∅) = (𝐹(lastS‘𝑊)). (Contributed by AV, 11-Nov-2018.) |
Ref | Expression |
---|---|
lswco | ⊢ ((𝑊 ∈ Word 𝐴 ∧ 𝑊 ≠ ∅ ∧ 𝐹:𝐴⟶𝐵) → (lastS‘(𝐹 ∘ 𝑊)) = (𝐹‘(lastS‘𝑊))) |
Step | Hyp | Ref | Expression |
---|---|---|---|
1 | ffun 6510 | . . . . . 6 ⊢ (𝐹:𝐴⟶𝐵 → Fun 𝐹) | |
2 | 1 | anim1i 614 | . . . . 5 ⊢ ((𝐹:𝐴⟶𝐵 ∧ 𝑊 ∈ Word 𝐴) → (Fun 𝐹 ∧ 𝑊 ∈ Word 𝐴)) |
3 | 2 | ancoms 459 | . . . 4 ⊢ ((𝑊 ∈ Word 𝐴 ∧ 𝐹:𝐴⟶𝐵) → (Fun 𝐹 ∧ 𝑊 ∈ Word 𝐴)) |
4 | 3 | 3adant2 1123 | . . 3 ⊢ ((𝑊 ∈ Word 𝐴 ∧ 𝑊 ≠ ∅ ∧ 𝐹:𝐴⟶𝐵) → (Fun 𝐹 ∧ 𝑊 ∈ Word 𝐴)) |
5 | cofunexg 7639 | . . 3 ⊢ ((Fun 𝐹 ∧ 𝑊 ∈ Word 𝐴) → (𝐹 ∘ 𝑊) ∈ V) | |
6 | lsw 13904 | . . 3 ⊢ ((𝐹 ∘ 𝑊) ∈ V → (lastS‘(𝐹 ∘ 𝑊)) = ((𝐹 ∘ 𝑊)‘((♯‘(𝐹 ∘ 𝑊)) − 1))) | |
7 | 4, 5, 6 | 3syl 18 | . 2 ⊢ ((𝑊 ∈ Word 𝐴 ∧ 𝑊 ≠ ∅ ∧ 𝐹:𝐴⟶𝐵) → (lastS‘(𝐹 ∘ 𝑊)) = ((𝐹 ∘ 𝑊)‘((♯‘(𝐹 ∘ 𝑊)) − 1))) |
8 | lenco 14182 | . . . 4 ⊢ ((𝑊 ∈ Word 𝐴 ∧ 𝐹:𝐴⟶𝐵) → (♯‘(𝐹 ∘ 𝑊)) = (♯‘𝑊)) | |
9 | 8 | 3adant2 1123 | . . 3 ⊢ ((𝑊 ∈ Word 𝐴 ∧ 𝑊 ≠ ∅ ∧ 𝐹:𝐴⟶𝐵) → (♯‘(𝐹 ∘ 𝑊)) = (♯‘𝑊)) |
10 | 9 | fvoveq1d 7167 | . 2 ⊢ ((𝑊 ∈ Word 𝐴 ∧ 𝑊 ≠ ∅ ∧ 𝐹:𝐴⟶𝐵) → ((𝐹 ∘ 𝑊)‘((♯‘(𝐹 ∘ 𝑊)) − 1)) = ((𝐹 ∘ 𝑊)‘((♯‘𝑊) − 1))) |
11 | wrdf 13854 | . . . . . . 7 ⊢ (𝑊 ∈ Word 𝐴 → 𝑊:(0..^(♯‘𝑊))⟶𝐴) | |
12 | 11 | adantr 481 | . . . . . 6 ⊢ ((𝑊 ∈ Word 𝐴 ∧ 𝑊 ≠ ∅) → 𝑊:(0..^(♯‘𝑊))⟶𝐴) |
13 | lennncl 13872 | . . . . . . 7 ⊢ ((𝑊 ∈ Word 𝐴 ∧ 𝑊 ≠ ∅) → (♯‘𝑊) ∈ ℕ) | |
14 | fzo0end 13117 | . . . . . . 7 ⊢ ((♯‘𝑊) ∈ ℕ → ((♯‘𝑊) − 1) ∈ (0..^(♯‘𝑊))) | |
15 | 13, 14 | syl 17 | . . . . . 6 ⊢ ((𝑊 ∈ Word 𝐴 ∧ 𝑊 ≠ ∅) → ((♯‘𝑊) − 1) ∈ (0..^(♯‘𝑊))) |
16 | 12, 15 | jca 512 | . . . . 5 ⊢ ((𝑊 ∈ Word 𝐴 ∧ 𝑊 ≠ ∅) → (𝑊:(0..^(♯‘𝑊))⟶𝐴 ∧ ((♯‘𝑊) − 1) ∈ (0..^(♯‘𝑊)))) |
17 | 16 | 3adant3 1124 | . . . 4 ⊢ ((𝑊 ∈ Word 𝐴 ∧ 𝑊 ≠ ∅ ∧ 𝐹:𝐴⟶𝐵) → (𝑊:(0..^(♯‘𝑊))⟶𝐴 ∧ ((♯‘𝑊) − 1) ∈ (0..^(♯‘𝑊)))) |
18 | fvco3 6753 | . . . 4 ⊢ ((𝑊:(0..^(♯‘𝑊))⟶𝐴 ∧ ((♯‘𝑊) − 1) ∈ (0..^(♯‘𝑊))) → ((𝐹 ∘ 𝑊)‘((♯‘𝑊) − 1)) = (𝐹‘(𝑊‘((♯‘𝑊) − 1)))) | |
19 | 17, 18 | syl 17 | . . 3 ⊢ ((𝑊 ∈ Word 𝐴 ∧ 𝑊 ≠ ∅ ∧ 𝐹:𝐴⟶𝐵) → ((𝐹 ∘ 𝑊)‘((♯‘𝑊) − 1)) = (𝐹‘(𝑊‘((♯‘𝑊) − 1)))) |
20 | lsw 13904 | . . . . . 6 ⊢ (𝑊 ∈ Word 𝐴 → (lastS‘𝑊) = (𝑊‘((♯‘𝑊) − 1))) | |
21 | 20 | 3ad2ant1 1125 | . . . . 5 ⊢ ((𝑊 ∈ Word 𝐴 ∧ 𝑊 ≠ ∅ ∧ 𝐹:𝐴⟶𝐵) → (lastS‘𝑊) = (𝑊‘((♯‘𝑊) − 1))) |
22 | 21 | eqcomd 2824 | . . . 4 ⊢ ((𝑊 ∈ Word 𝐴 ∧ 𝑊 ≠ ∅ ∧ 𝐹:𝐴⟶𝐵) → (𝑊‘((♯‘𝑊) − 1)) = (lastS‘𝑊)) |
23 | 22 | fveq2d 6667 | . . 3 ⊢ ((𝑊 ∈ Word 𝐴 ∧ 𝑊 ≠ ∅ ∧ 𝐹:𝐴⟶𝐵) → (𝐹‘(𝑊‘((♯‘𝑊) − 1))) = (𝐹‘(lastS‘𝑊))) |
24 | 19, 23 | eqtrd 2853 | . 2 ⊢ ((𝑊 ∈ Word 𝐴 ∧ 𝑊 ≠ ∅ ∧ 𝐹:𝐴⟶𝐵) → ((𝐹 ∘ 𝑊)‘((♯‘𝑊) − 1)) = (𝐹‘(lastS‘𝑊))) |
25 | 7, 10, 24 | 3eqtrd 2857 | 1 ⊢ ((𝑊 ∈ Word 𝐴 ∧ 𝑊 ≠ ∅ ∧ 𝐹:𝐴⟶𝐵) → (lastS‘(𝐹 ∘ 𝑊)) = (𝐹‘(lastS‘𝑊))) |
Colors of variables: wff setvar class |
Syntax hints: → wi 4 ∧ wa 396 ∧ w3a 1079 = wceq 1528 ∈ wcel 2105 ≠ wne 3013 Vcvv 3492 ∅c0 4288 ∘ ccom 5552 Fun wfun 6342 ⟶wf 6344 ‘cfv 6348 (class class class)co 7145 0cc0 10525 1c1 10526 − cmin 10858 ℕcn 11626 ..^cfzo 13021 ♯chash 13678 Word cword 13849 lastSclsw 13902 |
This theorem was proved from axioms: ax-mp 5 ax-1 6 ax-2 7 ax-3 8 ax-gen 1787 ax-4 1801 ax-5 1902 ax-6 1961 ax-7 2006 ax-8 2107 ax-9 2115 ax-10 2136 ax-11 2151 ax-12 2167 ax-ext 2790 ax-rep 5181 ax-sep 5194 ax-nul 5201 ax-pow 5257 ax-pr 5320 ax-un 7450 ax-cnex 10581 ax-resscn 10582 ax-1cn 10583 ax-icn 10584 ax-addcl 10585 ax-addrcl 10586 ax-mulcl 10587 ax-mulrcl 10588 ax-mulcom 10589 ax-addass 10590 ax-mulass 10591 ax-distr 10592 ax-i2m1 10593 ax-1ne0 10594 ax-1rid 10595 ax-rnegex 10596 ax-rrecex 10597 ax-cnre 10598 ax-pre-lttri 10599 ax-pre-lttrn 10600 ax-pre-ltadd 10601 ax-pre-mulgt0 10602 |
This theorem depends on definitions: df-bi 208 df-an 397 df-or 842 df-3or 1080 df-3an 1081 df-tru 1531 df-ex 1772 df-nf 1776 df-sb 2061 df-mo 2615 df-eu 2647 df-clab 2797 df-cleq 2811 df-clel 2890 df-nfc 2960 df-ne 3014 df-nel 3121 df-ral 3140 df-rex 3141 df-reu 3142 df-rab 3144 df-v 3494 df-sbc 3770 df-csb 3881 df-dif 3936 df-un 3938 df-in 3940 df-ss 3949 df-pss 3951 df-nul 4289 df-if 4464 df-pw 4537 df-sn 4558 df-pr 4560 df-tp 4562 df-op 4564 df-uni 4831 df-int 4868 df-iun 4912 df-br 5058 df-opab 5120 df-mpt 5138 df-tr 5164 df-id 5453 df-eprel 5458 df-po 5467 df-so 5468 df-fr 5507 df-we 5509 df-xp 5554 df-rel 5555 df-cnv 5556 df-co 5557 df-dm 5558 df-rn 5559 df-res 5560 df-ima 5561 df-pred 6141 df-ord 6187 df-on 6188 df-lim 6189 df-suc 6190 df-iota 6307 df-fun 6350 df-fn 6351 df-f 6352 df-f1 6353 df-fo 6354 df-f1o 6355 df-fv 6356 df-riota 7103 df-ov 7148 df-oprab 7149 df-mpo 7150 df-om 7570 df-1st 7678 df-2nd 7679 df-wrecs 7936 df-recs 7997 df-rdg 8035 df-1o 8091 df-oadd 8095 df-er 8278 df-en 8498 df-dom 8499 df-sdom 8500 df-fin 8501 df-card 9356 df-pnf 10665 df-mnf 10666 df-xr 10667 df-ltxr 10668 df-le 10669 df-sub 10860 df-neg 10861 df-nn 11627 df-n0 11886 df-z 11970 df-uz 12232 df-fz 12881 df-fzo 13022 df-hash 13679 df-word 13850 df-lsw 13903 |
This theorem is referenced by: (None) |
Copyright terms: Public domain | W3C validator |