| 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 14731 | . . 3 ⊢ ((𝑆 ∈ Word 𝐵 ∧ 𝑇 ∈ Word 𝐵) → (𝑆 ++ 𝑇) = (𝑥 ∈ (0..^((♯‘𝑆) + (♯‘𝑇))) ↦ if(𝑥 ∈ (0..^(♯‘𝑆)), (𝑆‘𝑥), (𝑇‘(𝑥 − (♯‘𝑆)))))) | |
| 2 | 1 | 3adant3 1150 | . 2 ⊢ ((𝑆 ∈ Word 𝐵 ∧ 𝑇 ∈ Word 𝐵 ∧ 𝐼 ∈ ((♯‘𝑆)..^((♯‘𝑆) + (♯‘𝑇)))) → (𝑆 ++ 𝑇) = (𝑥 ∈ (0..^((♯‘𝑆) + (♯‘𝑇))) ↦ if(𝑥 ∈ (0..^(♯‘𝑆)), (𝑆‘𝑥), (𝑇‘(𝑥 − (♯‘𝑆)))))) |
| 3 | eleq1 2852 | . . . 4 ⊢ (𝑥 = 𝐼 → (𝑥 ∈ (0..^(♯‘𝑆)) ↔ 𝐼 ∈ (0..^(♯‘𝑆)))) | |
| 4 | fveq2 6896 | . . . 4 ⊢ (𝑥 = 𝐼 → (𝑆‘𝑥) = (𝑆‘𝐼)) | |
| 5 | fvoveq1 7453 | . . . 4 ⊢ (𝑥 = 𝐼 → (𝑇‘(𝑥 − (♯‘𝑆))) = (𝑇‘(𝐼 − (♯‘𝑆)))) | |
| 6 | 3, 4, 5 | ifbieq12d 4514 | . . 3 ⊢ (𝑥 = 𝐼 → if(𝑥 ∈ (0..^(♯‘𝑆)), (𝑆‘𝑥), (𝑇‘(𝑥 − (♯‘𝑆)))) = if(𝐼 ∈ (0..^(♯‘𝑆)), (𝑆‘𝐼), (𝑇‘(𝐼 − (♯‘𝑆))))) |
| 7 | fzodisj 13841 | . . . . . 6 ⊢ ((0..^(♯‘𝑆)) ∩ ((♯‘𝑆)..^((♯‘𝑆) + (♯‘𝑇)))) = ∅ | |
| 8 | minel 4422 | . . . . . 6 ⊢ ((𝐼 ∈ ((♯‘𝑆)..^((♯‘𝑆) + (♯‘𝑇))) ∧ ((0..^(♯‘𝑆)) ∩ ((♯‘𝑆)..^((♯‘𝑆) + (♯‘𝑇)))) = ∅) → ¬ 𝐼 ∈ (0..^(♯‘𝑆))) | |
| 9 | 7, 8 | mpan2 704 | . . . . 5 ⊢ (𝐼 ∈ ((♯‘𝑆)..^((♯‘𝑆) + (♯‘𝑇))) → ¬ 𝐼 ∈ (0..^(♯‘𝑆))) |
| 10 | 9 | 3ad2ant3 1153 | . . . 4 ⊢ ((𝑆 ∈ Word 𝐵 ∧ 𝑇 ∈ Word 𝐵 ∧ 𝐼 ∈ ((♯‘𝑆)..^((♯‘𝑆) + (♯‘𝑇)))) → ¬ 𝐼 ∈ (0..^(♯‘𝑆))) |
| 11 | 10 | iffalsed 4496 | . . 3 ⊢ ((𝑆 ∈ Word 𝐵 ∧ 𝑇 ∈ Word 𝐵 ∧ 𝐼 ∈ ((♯‘𝑆)..^((♯‘𝑆) + (♯‘𝑇)))) → if(𝐼 ∈ (0..^(♯‘𝑆)), (𝑆‘𝐼), (𝑇‘(𝐼 − (♯‘𝑆)))) = (𝑇‘(𝐼 − (♯‘𝑆)))) |
| 12 | 6, 11 | sylan9eqr 2820 | . 2 ⊢ (((𝑆 ∈ Word 𝐵 ∧ 𝑇 ∈ Word 𝐵 ∧ 𝐼 ∈ ((♯‘𝑆)..^((♯‘𝑆) + (♯‘𝑇)))) ∧ 𝑥 = 𝐼) → if(𝑥 ∈ (0..^(♯‘𝑆)), (𝑆‘𝑥), (𝑇‘(𝑥 − (♯‘𝑆)))) = (𝑇‘(𝐼 − (♯‘𝑆)))) |
| 13 | wrdfin 14690 | . . . . . 6 ⊢ (𝑆 ∈ Word 𝐵 → 𝑆 ∈ Fin) | |
| 14 | 13 | adantr 486 | . . . . 5 ⊢ ((𝑆 ∈ Word 𝐵 ∧ 𝑇 ∈ Word 𝐵) → 𝑆 ∈ Fin) |
| 15 | hashcl 14513 | . . . . 5 ⊢ (𝑆 ∈ Fin → (♯‘𝑆) ∈ ℕ0) | |
| 16 | fzoss1 13834 | . . . . . 6 ⊢ ((♯‘𝑆) ∈ (ℤ≥‘0) → ((♯‘𝑆)..^((♯‘𝑆) + (♯‘𝑇))) ⊆ (0..^((♯‘𝑆) + (♯‘𝑇)))) | |
| 17 | nn0uz 13016 | . . . . . 6 ⊢ ℕ0 = (ℤ≥‘0) | |
| 18 | 16, 17 | eleq2s 2882 | . . . . 5 ⊢ ((♯‘𝑆) ∈ ℕ0 → ((♯‘𝑆)..^((♯‘𝑆) + (♯‘𝑇))) ⊆ (0..^((♯‘𝑆) + (♯‘𝑇)))) |
| 19 | 14, 15, 18 | 3syl 19 | . . . 4 ⊢ ((𝑆 ∈ Word 𝐵 ∧ 𝑇 ∈ Word 𝐵) → ((♯‘𝑆)..^((♯‘𝑆) + (♯‘𝑇))) ⊆ (0..^((♯‘𝑆) + (♯‘𝑇)))) |
| 20 | 19 | sseld 3912 | . . 3 ⊢ ((𝑆 ∈ Word 𝐵 ∧ 𝑇 ∈ Word 𝐵) → (𝐼 ∈ ((♯‘𝑆)..^((♯‘𝑆) + (♯‘𝑇))) → 𝐼 ∈ (0..^((♯‘𝑆) + (♯‘𝑇))))) |
| 21 | 20 | 3impia 1135 | . 2 ⊢ ((𝑆 ∈ Word 𝐵 ∧ 𝑇 ∈ Word 𝐵 ∧ 𝐼 ∈ ((♯‘𝑆)..^((♯‘𝑆) + (♯‘𝑇)))) → 𝐼 ∈ (0..^((♯‘𝑆) + (♯‘𝑇)))) |
| 22 | fvexd 6911 | . 2 ⊢ ((𝑆 ∈ Word 𝐵 ∧ 𝑇 ∈ Word 𝐵 ∧ 𝐼 ∈ ((♯‘𝑆)..^((♯‘𝑆) + (♯‘𝑇)))) → (𝑇‘(𝐼 − (♯‘𝑆))) ∈ V) | |
| 23 | 2, 12, 21, 22 | fvmptd 7012 | 1 ⊢ ((𝑆 ∈ Word 𝐵 ∧ 𝑇 ∈ Word 𝐵 ∧ 𝐼 ∈ ((♯‘𝑆)..^((♯‘𝑆) + (♯‘𝑇)))) → ((𝑆 ++ 𝑇)‘𝐼) = (𝑇‘(𝐼 − (♯‘𝑆)))) |
| Colors of variables: wff setvar class |
| This proof depends on syntax axioms: ¬ wn 3 → wi 4 ∧ wa 401 ∧ w3a 1103 = wceq 1569 ∈ wcel 2146 Vcvv 3454 ⊆ wss 3900 ∩ cin 4092 ∅c0 4281 ifcif 4485 ↦ cmpt 5189 ‘cfv 6547 (class class class)co 7430 Fincfn 8987 0cc0 11213 + caddc 11216 − cmin 11554 ℕ0cn0 12619 ℤ≥cuz 12978 ..^cfzo 13801 ♯chash 14487 Word cword 14671 ++ cconcat 14728 |
| This proof depends on axioms: ax-mp 5 ax-1 6 ax-2 7 ax-3 8 ax-gen 1827 ax-4 1841 ax-5 1944 ax-6 2001 ax-7 2042 ax-8 2148 ax-9 2156 ax-10 2179 ax-11 2196 ax-12 2215 ax-ext 2735 ax-rep 5235 ax-sep 5252 ax-nul 5263 ax-pow 5331 ax-pr 5395 ax-un 7761 ax-cnex 11269 ax-resscn 11270 ax-1cn 11271 ax-icn 11272 ax-addcl 11273 ax-addrcl 11274 ax-mulcl 11275 ax-mulrcl 11276 ax-mulcom 11277 ax-addass 11278 ax-mulass 11279 ax-distr 11280 ax-i2m1 11281 ax-1ne0 11282 ax-1rid 11283 ax-rnegex 11284 ax-rrecex 11285 ax-cnre 11286 ax-pre-lttri 11287 ax-pre-lttrn 11288 ax-pre-ltadd 11289 ax-pre-mulgt0 11290 |
| This proof depends on definitions: df-bi 210 df-an 402 df-or 862 df-3or 1104 df-3an 1105 df-tru 1572 df-fal 1582 df-ex 1812 df-nf 1816 df-sb 2101 df-mo 2567 df-eu 2597 df-clab 2742 df-cleq 2755 df-clel 2839 df-nfc 2913 df-ne 2960 df-nel 3066 df-ral 3081 df-rex 3091 df-reu 3370 df-rab 3417 df-v 3456 df-sbc 3743 df-csb 3852 df-ss 3901 df-pss 4017 df-dif 4050 df-in 4094 df-un 4154 df-nul 4282 df-if 4486 df-pw 4562 df-sn 4589 df-pr 4591 df-op 4839 df-uni 4871 df-int 4911 df-iun 4956 df-br 5107 df-opab 5171 df-mpt 5190 df-tr 5216 df-id 5550 df-eprel 5555 df-po 5563 df-so 5564 df-fr 5608 df-we 5610 df-xp 5661 df-rel 5662 df-cnv 5663 df-co 5664 df-dm 5665 df-rn 5666 df-res 5667 df-ima 5668 df-pred 6311 df-ord 6372 df-on 6373 df-lim 6374 df-suc 6375 df-iota 6501 df-fun 6549 df-fn 6550 df-f 6551 df-f1 6552 df-fo 6553 df-f1o 6554 df-fv 6555 df-riota 7387 df-ov 7433 df-oprab 7434 df-mpo 7435 df-om 7888 df-1st 8011 df-2nd 8012 df-frecs 8313 df-wrecs 8344 df-recs 8393 df-rdg 8432 df-1o 8490 df-er 8731 df-en 8988 df-dom 8989 df-sdom 8990 df-fin 8991 df-card 10033 df-pnf 11358 df-mnf 11359 df-xr 11360 df-ltxr 11361 df-le 11362 df-sub 11556 df-neg 11557 df-nn 12349 df-n0 12620 df-z 12707 df-uz 12979 df-fz 13653 df-fzo 13802 df-hash 14488 df-word 14672 df-concat 14729 |
| This theorem is used by: ccatval3 14737 ccatsymb 14741 ccatval21sw 14744 ccatlid 14745 ccatass 14747 ccatrn 14748 ccatf1 14749 lswccatn0lsw 14751 ccats1val2 14789 ccat2s1p2 14792 ccatswrd 14832 ccatpfx 14864 pfxccatin12lem2 14894 pfxccatin12 14896 revccat 14929 cshwidxmod 14968 chnccat 18815 clwwlkccatlem 30595 cycpmco2lem2 33744 cycpmco2lem4 33746 |
| Copyright terms: Public domain | W3C validator |