![]() |
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 3480 | . 2 ⊢ (𝑆 ∈ 𝑉 → 𝑆 ∈ V) | |
2 | elex 3480 | . 2 ⊢ (𝑇 ∈ 𝑊 → 𝑇 ∈ V) | |
3 | fveq2 6896 | . . . . . 6 ⊢ (𝑠 = 𝑆 → (♯‘𝑠) = (♯‘𝑆)) | |
4 | fveq2 6896 | . . . . . 6 ⊢ (𝑡 = 𝑇 → (♯‘𝑡) = (♯‘𝑇)) | |
5 | 3, 4 | oveqan12d 7438 | . . . . 5 ⊢ ((𝑠 = 𝑆 ∧ 𝑡 = 𝑇) → ((♯‘𝑠) + (♯‘𝑡)) = ((♯‘𝑆) + (♯‘𝑇))) |
6 | 5 | oveq2d 7435 | . . . 4 ⊢ ((𝑠 = 𝑆 ∧ 𝑡 = 𝑇) → (0..^((♯‘𝑠) + (♯‘𝑡))) = (0..^((♯‘𝑆) + (♯‘𝑇)))) |
7 | 3 | oveq2d 7435 | . . . . . . 7 ⊢ (𝑠 = 𝑆 → (0..^(♯‘𝑠)) = (0..^(♯‘𝑆))) |
8 | 7 | eleq2d 2811 | . . . . . 6 ⊢ (𝑠 = 𝑆 → (𝑥 ∈ (0..^(♯‘𝑠)) ↔ 𝑥 ∈ (0..^(♯‘𝑆)))) |
9 | 8 | adantr 479 | . . . . 5 ⊢ ((𝑠 = 𝑆 ∧ 𝑡 = 𝑇) → (𝑥 ∈ (0..^(♯‘𝑠)) ↔ 𝑥 ∈ (0..^(♯‘𝑆)))) |
10 | fveq1 6895 | . . . . . 6 ⊢ (𝑠 = 𝑆 → (𝑠‘𝑥) = (𝑆‘𝑥)) | |
11 | 10 | adantr 479 | . . . . 5 ⊢ ((𝑠 = 𝑆 ∧ 𝑡 = 𝑇) → (𝑠‘𝑥) = (𝑆‘𝑥)) |
12 | simpr 483 | . . . . . 6 ⊢ ((𝑠 = 𝑆 ∧ 𝑡 = 𝑇) → 𝑡 = 𝑇) | |
13 | 3 | oveq2d 7435 | . . . . . . 7 ⊢ (𝑠 = 𝑆 → (𝑥 − (♯‘𝑠)) = (𝑥 − (♯‘𝑆))) |
14 | 13 | adantr 479 | . . . . . 6 ⊢ ((𝑠 = 𝑆 ∧ 𝑡 = 𝑇) → (𝑥 − (♯‘𝑠)) = (𝑥 − (♯‘𝑆))) |
15 | 12, 14 | fveq12d 6903 | . . . . 5 ⊢ ((𝑠 = 𝑆 ∧ 𝑡 = 𝑇) → (𝑡‘(𝑥 − (♯‘𝑠))) = (𝑇‘(𝑥 − (♯‘𝑆)))) |
16 | 9, 11, 15 | ifbieq12d 4558 | . . . 4 ⊢ ((𝑠 = 𝑆 ∧ 𝑡 = 𝑇) → if(𝑥 ∈ (0..^(♯‘𝑠)), (𝑠‘𝑥), (𝑡‘(𝑥 − (♯‘𝑠)))) = if(𝑥 ∈ (0..^(♯‘𝑆)), (𝑆‘𝑥), (𝑇‘(𝑥 − (♯‘𝑆))))) |
17 | 6, 16 | mpteq12dv 5240 | . . 3 ⊢ ((𝑠 = 𝑆 ∧ 𝑡 = 𝑇) → (𝑥 ∈ (0..^((♯‘𝑠) + (♯‘𝑡))) ↦ if(𝑥 ∈ (0..^(♯‘𝑠)), (𝑠‘𝑥), (𝑡‘(𝑥 − (♯‘𝑠))))) = (𝑥 ∈ (0..^((♯‘𝑆) + (♯‘𝑇))) ↦ if(𝑥 ∈ (0..^(♯‘𝑆)), (𝑆‘𝑥), (𝑇‘(𝑥 − (♯‘𝑆)))))) |
18 | df-concat 14557 | . . 3 ⊢ ++ = (𝑠 ∈ V, 𝑡 ∈ V ↦ (𝑥 ∈ (0..^((♯‘𝑠) + (♯‘𝑡))) ↦ if(𝑥 ∈ (0..^(♯‘𝑠)), (𝑠‘𝑥), (𝑡‘(𝑥 − (♯‘𝑠)))))) | |
19 | ovex 7452 | . . . 4 ⊢ (0..^((♯‘𝑆) + (♯‘𝑇))) ∈ V | |
20 | 19 | mptex 7235 | . . 3 ⊢ (𝑥 ∈ (0..^((♯‘𝑆) + (♯‘𝑇))) ↦ if(𝑥 ∈ (0..^(♯‘𝑆)), (𝑆‘𝑥), (𝑇‘(𝑥 − (♯‘𝑆))))) ∈ V |
21 | 17, 18, 20 | ovmpoa 7576 | . 2 ⊢ ((𝑆 ∈ V ∧ 𝑇 ∈ V) → (𝑆 ++ 𝑇) = (𝑥 ∈ (0..^((♯‘𝑆) + (♯‘𝑇))) ↦ if(𝑥 ∈ (0..^(♯‘𝑆)), (𝑆‘𝑥), (𝑇‘(𝑥 − (♯‘𝑆)))))) |
22 | 1, 2, 21 | syl2an 594 | 1 ⊢ ((𝑆 ∈ 𝑉 ∧ 𝑇 ∈ 𝑊) → (𝑆 ++ 𝑇) = (𝑥 ∈ (0..^((♯‘𝑆) + (♯‘𝑇))) ↦ if(𝑥 ∈ (0..^(♯‘𝑆)), (𝑆‘𝑥), (𝑇‘(𝑥 − (♯‘𝑆)))))) |
Colors of variables: wff setvar class |
Syntax hints: → wi 4 ↔ wb 205 ∧ wa 394 = wceq 1533 ∈ wcel 2098 Vcvv 3461 ifcif 4530 ↦ cmpt 5232 ‘cfv 6549 (class class class)co 7419 0cc0 11140 + caddc 11143 − cmin 11476 ..^cfzo 13662 ♯chash 14325 ++ cconcat 14556 |
This theorem was proved from axioms: ax-mp 5 ax-1 6 ax-2 7 ax-3 8 ax-gen 1789 ax-4 1803 ax-5 1905 ax-6 1963 ax-7 2003 ax-8 2100 ax-9 2108 ax-10 2129 ax-11 2146 ax-12 2166 ax-ext 2696 ax-rep 5286 ax-sep 5300 ax-nul 5307 ax-pr 5429 |
This theorem depends on definitions: df-bi 206 df-an 395 df-or 846 df-3an 1086 df-tru 1536 df-fal 1546 df-ex 1774 df-nf 1778 df-sb 2060 df-mo 2528 df-eu 2557 df-clab 2703 df-cleq 2717 df-clel 2802 df-nfc 2877 df-ne 2930 df-ral 3051 df-rex 3060 df-reu 3364 df-rab 3419 df-v 3463 df-sbc 3774 df-csb 3890 df-dif 3947 df-un 3949 df-in 3951 df-ss 3961 df-nul 4323 df-if 4531 df-sn 4631 df-pr 4633 df-op 4637 df-uni 4910 df-iun 4999 df-br 5150 df-opab 5212 df-mpt 5233 df-id 5576 df-xp 5684 df-rel 5685 df-cnv 5686 df-co 5687 df-dm 5688 df-rn 5689 df-res 5690 df-ima 5691 df-iota 6501 df-fun 6551 df-fn 6552 df-f 6553 df-f1 6554 df-fo 6555 df-f1o 6556 df-fv 6557 df-ov 7422 df-oprab 7423 df-mpo 7424 df-concat 14557 |
This theorem is referenced by: ccatcl 14560 ccatlen 14561 ccatval1 14563 ccatval2 14564 ccatvalfn 14567 ccatalpha 14579 repswccat 14772 ccatco 14822 ofccat 14952 ccatws1f1o 32761 ccatmulgnn0dir 34302 |
Copyright terms: Public domain | W3C validator |