![]() |
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 3492 | . 2 ⊢ (𝑆 ∈ 𝑉 → 𝑆 ∈ V) | |
2 | elex 3492 | . 2 ⊢ (𝑇 ∈ 𝑊 → 𝑇 ∈ V) | |
3 | fveq2 6888 | . . . . . 6 ⊢ (𝑠 = 𝑆 → (♯‘𝑠) = (♯‘𝑆)) | |
4 | fveq2 6888 | . . . . . 6 ⊢ (𝑡 = 𝑇 → (♯‘𝑡) = (♯‘𝑇)) | |
5 | 3, 4 | oveqan12d 7424 | . . . . 5 ⊢ ((𝑠 = 𝑆 ∧ 𝑡 = 𝑇) → ((♯‘𝑠) + (♯‘𝑡)) = ((♯‘𝑆) + (♯‘𝑇))) |
6 | 5 | oveq2d 7421 | . . . 4 ⊢ ((𝑠 = 𝑆 ∧ 𝑡 = 𝑇) → (0..^((♯‘𝑠) + (♯‘𝑡))) = (0..^((♯‘𝑆) + (♯‘𝑇)))) |
7 | 3 | oveq2d 7421 | . . . . . . 7 ⊢ (𝑠 = 𝑆 → (0..^(♯‘𝑠)) = (0..^(♯‘𝑆))) |
8 | 7 | eleq2d 2819 | . . . . . 6 ⊢ (𝑠 = 𝑆 → (𝑥 ∈ (0..^(♯‘𝑠)) ↔ 𝑥 ∈ (0..^(♯‘𝑆)))) |
9 | 8 | adantr 481 | . . . . 5 ⊢ ((𝑠 = 𝑆 ∧ 𝑡 = 𝑇) → (𝑥 ∈ (0..^(♯‘𝑠)) ↔ 𝑥 ∈ (0..^(♯‘𝑆)))) |
10 | fveq1 6887 | . . . . . 6 ⊢ (𝑠 = 𝑆 → (𝑠‘𝑥) = (𝑆‘𝑥)) | |
11 | 10 | adantr 481 | . . . . 5 ⊢ ((𝑠 = 𝑆 ∧ 𝑡 = 𝑇) → (𝑠‘𝑥) = (𝑆‘𝑥)) |
12 | simpr 485 | . . . . . 6 ⊢ ((𝑠 = 𝑆 ∧ 𝑡 = 𝑇) → 𝑡 = 𝑇) | |
13 | 3 | oveq2d 7421 | . . . . . . 7 ⊢ (𝑠 = 𝑆 → (𝑥 − (♯‘𝑠)) = (𝑥 − (♯‘𝑆))) |
14 | 13 | adantr 481 | . . . . . 6 ⊢ ((𝑠 = 𝑆 ∧ 𝑡 = 𝑇) → (𝑥 − (♯‘𝑠)) = (𝑥 − (♯‘𝑆))) |
15 | 12, 14 | fveq12d 6895 | . . . . 5 ⊢ ((𝑠 = 𝑆 ∧ 𝑡 = 𝑇) → (𝑡‘(𝑥 − (♯‘𝑠))) = (𝑇‘(𝑥 − (♯‘𝑆)))) |
16 | 9, 11, 15 | ifbieq12d 4555 | . . . 4 ⊢ ((𝑠 = 𝑆 ∧ 𝑡 = 𝑇) → if(𝑥 ∈ (0..^(♯‘𝑠)), (𝑠‘𝑥), (𝑡‘(𝑥 − (♯‘𝑠)))) = if(𝑥 ∈ (0..^(♯‘𝑆)), (𝑆‘𝑥), (𝑇‘(𝑥 − (♯‘𝑆))))) |
17 | 6, 16 | mpteq12dv 5238 | . . 3 ⊢ ((𝑠 = 𝑆 ∧ 𝑡 = 𝑇) → (𝑥 ∈ (0..^((♯‘𝑠) + (♯‘𝑡))) ↦ if(𝑥 ∈ (0..^(♯‘𝑠)), (𝑠‘𝑥), (𝑡‘(𝑥 − (♯‘𝑠))))) = (𝑥 ∈ (0..^((♯‘𝑆) + (♯‘𝑇))) ↦ if(𝑥 ∈ (0..^(♯‘𝑆)), (𝑆‘𝑥), (𝑇‘(𝑥 − (♯‘𝑆)))))) |
18 | df-concat 14517 | . . 3 ⊢ ++ = (𝑠 ∈ V, 𝑡 ∈ V ↦ (𝑥 ∈ (0..^((♯‘𝑠) + (♯‘𝑡))) ↦ if(𝑥 ∈ (0..^(♯‘𝑠)), (𝑠‘𝑥), (𝑡‘(𝑥 − (♯‘𝑠)))))) | |
19 | ovex 7438 | . . . 4 ⊢ (0..^((♯‘𝑆) + (♯‘𝑇))) ∈ V | |
20 | 19 | mptex 7221 | . . 3 ⊢ (𝑥 ∈ (0..^((♯‘𝑆) + (♯‘𝑇))) ↦ if(𝑥 ∈ (0..^(♯‘𝑆)), (𝑆‘𝑥), (𝑇‘(𝑥 − (♯‘𝑆))))) ∈ V |
21 | 17, 18, 20 | ovmpoa 7559 | . 2 ⊢ ((𝑆 ∈ V ∧ 𝑇 ∈ V) → (𝑆 ++ 𝑇) = (𝑥 ∈ (0..^((♯‘𝑆) + (♯‘𝑇))) ↦ if(𝑥 ∈ (0..^(♯‘𝑆)), (𝑆‘𝑥), (𝑇‘(𝑥 − (♯‘𝑆)))))) |
22 | 1, 2, 21 | syl2an 596 | 1 ⊢ ((𝑆 ∈ 𝑉 ∧ 𝑇 ∈ 𝑊) → (𝑆 ++ 𝑇) = (𝑥 ∈ (0..^((♯‘𝑆) + (♯‘𝑇))) ↦ if(𝑥 ∈ (0..^(♯‘𝑆)), (𝑆‘𝑥), (𝑇‘(𝑥 − (♯‘𝑆)))))) |
Colors of variables: wff setvar class |
Syntax hints: → wi 4 ↔ wb 205 ∧ wa 396 = wceq 1541 ∈ wcel 2106 Vcvv 3474 ifcif 4527 ↦ cmpt 5230 ‘cfv 6540 (class class class)co 7405 0cc0 11106 + caddc 11109 − cmin 11440 ..^cfzo 13623 ♯chash 14286 ++ cconcat 14516 |
This theorem was proved from axioms: ax-mp 5 ax-1 6 ax-2 7 ax-3 8 ax-gen 1797 ax-4 1811 ax-5 1913 ax-6 1971 ax-7 2011 ax-8 2108 ax-9 2116 ax-10 2137 ax-11 2154 ax-12 2171 ax-ext 2703 ax-rep 5284 ax-sep 5298 ax-nul 5305 ax-pr 5426 |
This theorem depends on definitions: df-bi 206 df-an 397 df-or 846 df-3an 1089 df-tru 1544 df-fal 1554 df-ex 1782 df-nf 1786 df-sb 2068 df-mo 2534 df-eu 2563 df-clab 2710 df-cleq 2724 df-clel 2810 df-nfc 2885 df-ne 2941 df-ral 3062 df-rex 3071 df-reu 3377 df-rab 3433 df-v 3476 df-sbc 3777 df-csb 3893 df-dif 3950 df-un 3952 df-in 3954 df-ss 3964 df-nul 4322 df-if 4528 df-sn 4628 df-pr 4630 df-op 4634 df-uni 4908 df-iun 4998 df-br 5148 df-opab 5210 df-mpt 5231 df-id 5573 df-xp 5681 df-rel 5682 df-cnv 5683 df-co 5684 df-dm 5685 df-rn 5686 df-res 5687 df-ima 5688 df-iota 6492 df-fun 6542 df-fn 6543 df-f 6544 df-f1 6545 df-fo 6546 df-f1o 6547 df-fv 6548 df-ov 7408 df-oprab 7409 df-mpo 7410 df-concat 14517 |
This theorem is referenced by: ccatcl 14520 ccatlen 14521 ccatval1 14523 ccatval2 14524 ccatvalfn 14527 ccatalpha 14539 repswccat 14732 ccatco 14782 ofccat 14912 ccatmulgnn0dir 33541 |
Copyright terms: Public domain | W3C validator |