| Metamath Proof Explorer |
< Previous
Next >
Nearby theorems |
||
| Mirrors > Home > MPE Home > Th. List > ccatval2 | Structured version Visualization version GIF version | ||
| Description: Value of a symbol in the right half of a concatenated word. (Contributed by Stefan O'Rear, 15-Aug-2015.) (Revised by Mario Carneiro, 22-Sep-2015.) |
| Ref | Expression |
|---|---|
| ccatval2 | ⊢ ((𝑆 ∈ Word 𝐵 ∧ 𝑇 ∈ Word 𝐵 ∧ 𝐼 ∈ ((♯‘𝑆)..^((♯‘𝑆) + (♯‘𝑇)))) → ((𝑆 ++ 𝑇)‘𝐼) = (𝑇‘(𝐼 − (♯‘𝑆)))) |
| Step | Hyp | Ref | Expression |
|---|---|---|---|
| 1 | ccatfval 14527 | . . 3 ⊢ ((𝑆 ∈ Word 𝐵 ∧ 𝑇 ∈ Word 𝐵) → (𝑆 ++ 𝑇) = (𝑥 ∈ (0..^((♯‘𝑆) + (♯‘𝑇))) ↦ if(𝑥 ∈ (0..^(♯‘𝑆)), (𝑆‘𝑥), (𝑇‘(𝑥 − (♯‘𝑆)))))) | |
| 2 | 1 | 3adant3 1138 | . 2 ⊢ ((𝑆 ∈ Word 𝐵 ∧ 𝑇 ∈ Word 𝐵 ∧ 𝐼 ∈ ((♯‘𝑆)..^((♯‘𝑆) + (♯‘𝑇)))) → (𝑆 ++ 𝑇) = (𝑥 ∈ (0..^((♯‘𝑆) + (♯‘𝑇))) ↦ if(𝑥 ∈ (0..^(♯‘𝑆)), (𝑆‘𝑥), (𝑇‘(𝑥 − (♯‘𝑆)))))) |
| 3 | eleq1 2827 | . . . 4 ⊢ (𝑥 = 𝐼 → (𝑥 ∈ (0..^(♯‘𝑆)) ↔ 𝐼 ∈ (0..^(♯‘𝑆)))) | |
| 4 | fveq2 6828 | . . . 4 ⊢ (𝑥 = 𝐼 → (𝑆‘𝑥) = (𝑆‘𝐼)) | |
| 5 | fvoveq1 7380 | . . . 4 ⊢ (𝑥 = 𝐼 → (𝑇‘(𝑥 − (♯‘𝑆))) = (𝑇‘(𝐼 − (♯‘𝑆)))) | |
| 6 | 3, 4, 5 | ifbieq12d 4484 | . . 3 ⊢ (𝑥 = 𝐼 → if(𝑥 ∈ (0..^(♯‘𝑆)), (𝑆‘𝑥), (𝑇‘(𝑥 − (♯‘𝑆)))) = if(𝐼 ∈ (0..^(♯‘𝑆)), (𝑆‘𝐼), (𝑇‘(𝐼 − (♯‘𝑆))))) |
| 7 | fzodisj 13640 | . . . . . 6 ⊢ ((0..^(♯‘𝑆)) ∩ ((♯‘𝑆)..^((♯‘𝑆) + (♯‘𝑇)))) = ∅ | |
| 8 | minel 4395 | . . . . . 6 ⊢ ((𝐼 ∈ ((♯‘𝑆)..^((♯‘𝑆) + (♯‘𝑇))) ∧ ((0..^(♯‘𝑆)) ∩ ((♯‘𝑆)..^((♯‘𝑆) + (♯‘𝑇)))) = ∅) → ¬ 𝐼 ∈ (0..^(♯‘𝑆))) | |
| 9 | 7, 8 | mpan2 697 | . . . . 5 ⊢ (𝐼 ∈ ((♯‘𝑆)..^((♯‘𝑆) + (♯‘𝑇))) → ¬ 𝐼 ∈ (0..^(♯‘𝑆))) |
| 10 | 9 | 3ad2ant3 1141 | . . . 4 ⊢ ((𝑆 ∈ Word 𝐵 ∧ 𝑇 ∈ Word 𝐵 ∧ 𝐼 ∈ ((♯‘𝑆)..^((♯‘𝑆) + (♯‘𝑇)))) → ¬ 𝐼 ∈ (0..^(♯‘𝑆))) |
| 11 | 10 | iffalsed 4466 | . . 3 ⊢ ((𝑆 ∈ Word 𝐵 ∧ 𝑇 ∈ Word 𝐵 ∧ 𝐼 ∈ ((♯‘𝑆)..^((♯‘𝑆) + (♯‘𝑇)))) → if(𝐼 ∈ (0..^(♯‘𝑆)), (𝑆‘𝐼), (𝑇‘(𝐼 − (♯‘𝑆)))) = (𝑇‘(𝐼 − (♯‘𝑆)))) |
| 12 | 6, 11 | sylan9eqr 2796 | . 2 ⊢ (((𝑆 ∈ Word 𝐵 ∧ 𝑇 ∈ Word 𝐵 ∧ 𝐼 ∈ ((♯‘𝑆)..^((♯‘𝑆) + (♯‘𝑇)))) ∧ 𝑥 = 𝐼) → if(𝑥 ∈ (0..^(♯‘𝑆)), (𝑆‘𝑥), (𝑇‘(𝑥 − (♯‘𝑆)))) = (𝑇‘(𝐼 − (♯‘𝑆)))) |
| 13 | wrdfin 14486 | . . . . . 6 ⊢ (𝑆 ∈ Word 𝐵 → 𝑆 ∈ Fin) | |
| 14 | 13 | adantr 481 | . . . . 5 ⊢ ((𝑆 ∈ Word 𝐵 ∧ 𝑇 ∈ Word 𝐵) → 𝑆 ∈ Fin) |
| 15 | hashcl 14310 | . . . . 5 ⊢ (𝑆 ∈ Fin → (♯‘𝑆) ∈ ℕ0) | |
| 16 | fzoss1 13633 | . . . . . 6 ⊢ ((♯‘𝑆) ∈ (ℤ≥‘0) → ((♯‘𝑆)..^((♯‘𝑆) + (♯‘𝑇))) ⊆ (0..^((♯‘𝑆) + (♯‘𝑇)))) | |
| 17 | nn0uz 12818 | . . . . . 6 ⊢ ℕ0 = (ℤ≥‘0) | |
| 18 | 16, 17 | eleq2s 2857 | . . . . 5 ⊢ ((♯‘𝑆) ∈ ℕ0 → ((♯‘𝑆)..^((♯‘𝑆) + (♯‘𝑇))) ⊆ (0..^((♯‘𝑆) + (♯‘𝑇)))) |
| 19 | 14, 15, 18 | 3syl 18 | . . . 4 ⊢ ((𝑆 ∈ Word 𝐵 ∧ 𝑇 ∈ Word 𝐵) → ((♯‘𝑆)..^((♯‘𝑆) + (♯‘𝑇))) ⊆ (0..^((♯‘𝑆) + (♯‘𝑇)))) |
| 20 | 19 | sseld 3914 | . . 3 ⊢ ((𝑆 ∈ Word 𝐵 ∧ 𝑇 ∈ Word 𝐵) → (𝐼 ∈ ((♯‘𝑆)..^((♯‘𝑆) + (♯‘𝑇))) → 𝐼 ∈ (0..^((♯‘𝑆) + (♯‘𝑇))))) |
| 21 | 20 | 3impia 1123 | . 2 ⊢ ((𝑆 ∈ Word 𝐵 ∧ 𝑇 ∈ Word 𝐵 ∧ 𝐼 ∈ ((♯‘𝑆)..^((♯‘𝑆) + (♯‘𝑇)))) → 𝐼 ∈ (0..^((♯‘𝑆) + (♯‘𝑇)))) |
| 22 | fvexd 6843 | . 2 ⊢ ((𝑆 ∈ Word 𝐵 ∧ 𝑇 ∈ Word 𝐵 ∧ 𝐼 ∈ ((♯‘𝑆)..^((♯‘𝑆) + (♯‘𝑇)))) → (𝑇‘(𝐼 − (♯‘𝑆))) ∈ V) | |
| 23 | 2, 12, 21, 22 | fvmptd 6944 | 1 ⊢ ((𝑆 ∈ Word 𝐵 ∧ 𝑇 ∈ Word 𝐵 ∧ 𝐼 ∈ ((♯‘𝑆)..^((♯‘𝑆) + (♯‘𝑇)))) → ((𝑆 ++ 𝑇)‘𝐼) = (𝑇‘(𝐼 − (♯‘𝑆)))) |
| Colors of variables: wff setvar class |
| Syntax hints: ¬ wn 3 → wi 4 ∧ wa 396 ∧ w3a 1092 = wceq 1547 ∈ wcel 2119 Vcvv 3431 ∩ cin 3882 ⊆ wss 3883 ∅c0 4262 ifcif 4455 ↦ cmpt 5154 ‘cfv 6486 (class class class)co 7357 Fincfn 8884 0cc0 11030 + caddc 11033 − cmin 11369 ℕ0cn0 12429 ℤ≥cuz 12780 ..^cfzo 13600 ♯chash 14284 Word cword 14467 ++ cconcat 14524 |
| 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 2711 ax-rep 5200 ax-sep 5219 ax-nul 5229 ax-pow 5295 ax-pr 5363 ax-un 7679 ax-cnex 11086 ax-resscn 11087 ax-1cn 11088 ax-icn 11089 ax-addcl 11090 ax-addrcl 11091 ax-mulcl 11092 ax-mulrcl 11093 ax-mulcom 11094 ax-addass 11095 ax-mulass 11096 ax-distr 11097 ax-i2m1 11098 ax-1ne0 11099 ax-1rid 11100 ax-rnegex 11101 ax-rrecex 11102 ax-cnre 11103 ax-pre-lttri 11104 ax-pre-lttrn 11105 ax-pre-ltadd 11106 ax-pre-mulgt0 11107 |
| 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 2718 df-cleq 2731 df-clel 2814 df-nfc 2888 df-ne 2935 df-nel 3039 df-ral 3054 df-rex 3064 df-reu 3345 df-rab 3392 df-v 3433 df-sbc 3724 df-csb 3832 df-dif 3886 df-un 3888 df-in 3890 df-ss 3900 df-pss 3903 df-nul 4263 df-if 4456 df-pw 4532 df-sn 4557 df-pr 4559 df-op 4563 df-uni 4840 df-int 4879 df-iun 4924 df-br 5074 df-opab 5136 df-mpt 5155 df-tr 5181 df-id 5514 df-eprel 5519 df-po 5527 df-so 5528 df-fr 5572 df-we 5574 df-xp 5625 df-rel 5626 df-cnv 5627 df-co 5628 df-dm 5629 df-rn 5630 df-res 5631 df-ima 5632 df-pred 6253 df-ord 6314 df-on 6315 df-lim 6316 df-suc 6317 df-iota 6442 df-fun 6488 df-fn 6489 df-f 6490 df-f1 6491 df-fo 6492 df-f1o 6493 df-fv 6494 df-riota 7314 df-ov 7360 df-oprab 7361 df-mpo 7362 df-om 7808 df-1st 7932 df-2nd 7933 df-frecs 8222 df-wrecs 8253 df-recs 8302 df-rdg 8340 df-1o 8396 df-er 8634 df-en 8885 df-dom 8886 df-sdom 8887 df-fin 8888 df-card 9855 df-pnf 11173 df-mnf 11174 df-xr 11175 df-ltxr 11176 df-le 11177 df-sub 11371 df-neg 11372 df-nn 12167 df-n0 12430 df-z 12517 df-uz 12781 df-fz 13454 df-fzo 13601 df-hash 14285 df-word 14468 df-concat 14525 |
| This theorem is referenced by: ccatval3 14533 ccatsymb 14537 ccatval21sw 14540 ccatlid 14541 ccatass 14543 ccatrn 14544 lswccatn0lsw 14546 ccats1val2 14582 ccat2s1p2 14585 ccatswrd 14623 ccatpfx 14655 pfxccatin12lem2 14685 pfxccatin12 14687 revccat 14720 cshwidxmod 14757 chnccat 18584 clwwlkccatlem 30078 ccatf1 33029 cycpmco2lem2 33209 cycpmco2lem4 33211 |
| Copyright terms: Public domain | W3C validator |