| Metamath Proof Explorer |
< Previous
Next >
Nearby theorems |
||
| Mirrors > Home > MPE Home > Th. List > ccatfval | Structured version Visualization version GIF version | ||
| Description: Value of the concatenation operator. (Contributed by Stefan O'Rear, 15-Aug-2015.) |
| Ref | Expression |
|---|---|
| ccatfval | ⊢ ((𝑆 ∈ 𝑉 ∧ 𝑇 ∈ 𝑊) → (𝑆 ++ 𝑇) = (𝑥 ∈ (0..^((♯‘𝑆) + (♯‘𝑇))) ↦ if(𝑥 ∈ (0..^(♯‘𝑆)), (𝑆‘𝑥), (𝑇‘(𝑥 − (♯‘𝑆)))))) |
| Step | Hyp | Ref | Expression |
|---|---|---|---|
| 1 | elex 3474 | . 2 ⊢ (𝑆 ∈ 𝑉 → 𝑆 ∈ V) | |
| 2 | elex 3474 | . 2 ⊢ (𝑇 ∈ 𝑊 → 𝑇 ∈ V) | |
| 3 | fveq2 6882 | . . . . . 6 ⊢ (𝑠 = 𝑆 → (♯‘𝑠) = (♯‘𝑆)) | |
| 4 | fveq2 6882 | . . . . . 6 ⊢ (𝑡 = 𝑇 → (♯‘𝑡) = (♯‘𝑇)) | |
| 5 | 3, 4 | oveqan12d 7436 | . . . . 5 ⊢ ((𝑠 = 𝑆 ∧ 𝑡 = 𝑇) → ((♯‘𝑠) + (♯‘𝑡)) = ((♯‘𝑆) + (♯‘𝑇))) |
| 6 | 5 | oveq2d 7433 | . . . 4 ⊢ ((𝑠 = 𝑆 ∧ 𝑡 = 𝑇) → (0..^((♯‘𝑠) + (♯‘𝑡))) = (0..^((♯‘𝑆) + (♯‘𝑇)))) |
| 7 | 3 | oveq2d 7433 | . . . . . . 7 ⊢ (𝑠 = 𝑆 → (0..^(♯‘𝑠)) = (0..^(♯‘𝑆))) |
| 8 | 7 | eleq2d 2848 | . . . . . 6 ⊢ (𝑠 = 𝑆 → (𝑥 ∈ (0..^(♯‘𝑠)) ↔ 𝑥 ∈ (0..^(♯‘𝑆)))) |
| 9 | 8 | adantr 486 | . . . . 5 ⊢ ((𝑠 = 𝑆 ∧ 𝑡 = 𝑇) → (𝑥 ∈ (0..^(♯‘𝑠)) ↔ 𝑥 ∈ (0..^(♯‘𝑆)))) |
| 10 | fveq1 6881 | . . . . . 6 ⊢ (𝑠 = 𝑆 → (𝑠‘𝑥) = (𝑆‘𝑥)) | |
| 11 | 10 | adantr 486 | . . . . 5 ⊢ ((𝑠 = 𝑆 ∧ 𝑡 = 𝑇) → (𝑠‘𝑥) = (𝑆‘𝑥)) |
| 12 | simpr 490 | . . . . . 6 ⊢ ((𝑠 = 𝑆 ∧ 𝑡 = 𝑇) → 𝑡 = 𝑇) | |
| 13 | 3 | oveq2d 7433 | . . . . . . 7 ⊢ (𝑠 = 𝑆 → (𝑥 − (♯‘𝑠)) = (𝑥 − (♯‘𝑆))) |
| 14 | 13 | adantr 486 | . . . . . 6 ⊢ ((𝑠 = 𝑆 ∧ 𝑡 = 𝑇) → (𝑥 − (♯‘𝑠)) = (𝑥 − (♯‘𝑆))) |
| 15 | 12, 14 | fveq12d 6889 | . . . . 5 ⊢ ((𝑠 = 𝑆 ∧ 𝑡 = 𝑇) → (𝑡‘(𝑥 − (♯‘𝑠))) = (𝑇‘(𝑥 − (♯‘𝑆)))) |
| 16 | 9, 11, 15 | ifbieq12d 4514 | . . . 4 ⊢ ((𝑠 = 𝑆 ∧ 𝑡 = 𝑇) → if(𝑥 ∈ (0..^(♯‘𝑠)), (𝑠‘𝑥), (𝑡‘(𝑥 − (♯‘𝑠)))) = if(𝑥 ∈ (0..^(♯‘𝑆)), (𝑆‘𝑥), (𝑇‘(𝑥 − (♯‘𝑆))))) |
| 17 | 6, 16 | mpteq12dv 5196 | . . 3 ⊢ ((𝑠 = 𝑆 ∧ 𝑡 = 𝑇) → (𝑥 ∈ (0..^((♯‘𝑠) + (♯‘𝑡))) ↦ if(𝑥 ∈ (0..^(♯‘𝑠)), (𝑠‘𝑥), (𝑡‘(𝑥 − (♯‘𝑠))))) = (𝑥 ∈ (0..^((♯‘𝑆) + (♯‘𝑇))) ↦ if(𝑥 ∈ (0..^(♯‘𝑆)), (𝑆‘𝑥), (𝑇‘(𝑥 − (♯‘𝑆)))))) |
| 18 | df-concat 14640 | . . 3 ⊢ ++ = (𝑠 ∈ V, 𝑡 ∈ V ↦ (𝑥 ∈ (0..^((♯‘𝑠) + (♯‘𝑡))) ↦ if(𝑥 ∈ (0..^(♯‘𝑠)), (𝑠‘𝑥), (𝑡‘(𝑥 − (♯‘𝑠)))))) | |
| 19 | ovex 7450 | . . . 4 ⊢ (0..^((♯‘𝑆) + (♯‘𝑇))) ∈ V | |
| 20 | 19 | mptex 7226 | . . 3 ⊢ (𝑥 ∈ (0..^((♯‘𝑆) + (♯‘𝑇))) ↦ if(𝑥 ∈ (0..^(♯‘𝑆)), (𝑆‘𝑥), (𝑇‘(𝑥 − (♯‘𝑆))))) ∈ V |
| 21 | 17, 18, 20 | ovmpoa 7572 | . 2 ⊢ ((𝑆 ∈ V ∧ 𝑇 ∈ V) → (𝑆 ++ 𝑇) = (𝑥 ∈ (0..^((♯‘𝑆) + (♯‘𝑇))) ↦ if(𝑥 ∈ (0..^(♯‘𝑆)), (𝑆‘𝑥), (𝑇‘(𝑥 − (♯‘𝑆)))))) |
| 22 | 1, 2, 21 | syl2an 608 | 1 ⊢ ((𝑆 ∈ 𝑉 ∧ 𝑇 ∈ 𝑊) → (𝑆 ++ 𝑇) = (𝑥 ∈ (0..^((♯‘𝑆) + (♯‘𝑇))) ↦ if(𝑥 ∈ (0..^(♯‘𝑆)), (𝑆‘𝑥), (𝑇‘(𝑥 − (♯‘𝑆)))))) |
| Colors of variables: wff setvar class |
| This proof depends on syntax axioms: → wi 4 ↔ wb 209 ∧ wa 401 = wceq 1570 ∈ wcel 2145 Vcvv 3453 ifcif 4485 ↦ cmpt 5190 ‘cfv 6537 (class class class)co 7417 0cc0 11128 + caddc 11131 − cmin 11469 ..^cfzo 13713 ♯chash 14398 ++ cconcat 14639 |
| This proof depends on axioms: ax-mp 5 ax-1 6 ax-2 7 ax-3 8 ax-gen 1828 ax-4 1842 ax-5 1943 ax-6 2000 ax-7 2041 ax-8 2147 ax-9 2155 ax-10 2178 ax-11 2194 ax-12 2215 ax-ext 2734 ax-rep 5236 ax-sep 5255 ax-nul 5267 ax-pr 5402 |
| This proof depends on definitions: df-bi 210 df-an 402 df-or 862 df-3an 1105 df-tru 1573 df-fal 1583 df-ex 1813 df-nf 1817 df-sb 2100 df-mo 2566 df-eu 2596 df-clab 2741 df-cleq 2754 df-clel 2837 df-nfc 2911 df-ne 2958 df-ral 3079 df-rex 3089 df-reu 3368 df-rab 3415 df-v 3455 df-sbc 3743 df-csb 3851 df-dif 3905 df-un 3907 df-in 3909 df-ss 3919 df-nul 4283 df-if 4486 df-sn 4588 df-pr 4590 df-op 4594 df-uni 4871 df-iun 4956 df-br 5108 df-opab 5172 df-mpt 5191 df-id 5554 df-xp 5665 df-rel 5666 df-cnv 5667 df-co 5668 df-dm 5669 df-rn 5670 df-res 5671 df-ima 5672 df-iota 6493 df-fun 6539 df-fn 6540 df-f 6541 df-f1 6542 df-fo 6543 df-f1o 6544 df-fv 6545 df-ov 7420 df-oprab 7421 df-mpo 7422 df-concat 14640 |
| This theorem is used by: ccatcl 14643 ccatlen 14644 ccatval1 14646 ccatval2 14647 ccatvalfn 14650 ccatalpha 14664 repswccat 14861 ccatco 14910 ofccat 15046 ccatws1f1o 33401 ccatmulgnn0dir 35061 |
| Copyright terms: Public domain | W3C validator |