MPE Home Metamath Proof Explorer < Previous   Next >
Nearby theorems
Mirrors  >  Home  >  MPE Home  >  Th. List  >  ccatfval Structured version   Visualization version   GIF version

Theorem ccatfval 14508
Description: Value of the concatenation operator. (Contributed by Stefan O'Rear, 15-Aug-2015.)
Assertion
Ref Expression
ccatfval ((𝑆𝑉𝑇𝑊) → (𝑆 ++ 𝑇) = (𝑥 ∈ (0..^((♯‘𝑆) + (♯‘𝑇))) ↦ if(𝑥 ∈ (0..^(♯‘𝑆)), (𝑆𝑥), (𝑇‘(𝑥 − (♯‘𝑆))))))
Distinct variable groups:   𝑥,𝑆   𝑥,𝑇
Allowed substitution hints:   𝑉(𝑥)   𝑊(𝑥)

Proof of Theorem ccatfval
Dummy variables 𝑡 𝑠 are mutually distinct and distinct from all other variables.
StepHypRef Expression
1 elex 3463 . 2 (𝑆𝑉𝑆 ∈ V)
2 elex 3463 . 2 (𝑇𝑊𝑇 ∈ V)
3 fveq2 6842 . . . . . 6 (𝑠 = 𝑆 → (♯‘𝑠) = (♯‘𝑆))
4 fveq2 6842 . . . . . 6 (𝑡 = 𝑇 → (♯‘𝑡) = (♯‘𝑇))
53, 4oveqan12d 7387 . . . . 5 ((𝑠 = 𝑆𝑡 = 𝑇) → ((♯‘𝑠) + (♯‘𝑡)) = ((♯‘𝑆) + (♯‘𝑇)))
65oveq2d 7384 . . . 4 ((𝑠 = 𝑆𝑡 = 𝑇) → (0..^((♯‘𝑠) + (♯‘𝑡))) = (0..^((♯‘𝑆) + (♯‘𝑇))))
73oveq2d 7384 . . . . . . 7 (𝑠 = 𝑆 → (0..^(♯‘𝑠)) = (0..^(♯‘𝑆)))
87eleq2d 2823 . . . . . 6 (𝑠 = 𝑆 → (𝑥 ∈ (0..^(♯‘𝑠)) ↔ 𝑥 ∈ (0..^(♯‘𝑆))))
98adantr 480 . . . . 5 ((𝑠 = 𝑆𝑡 = 𝑇) → (𝑥 ∈ (0..^(♯‘𝑠)) ↔ 𝑥 ∈ (0..^(♯‘𝑆))))
10 fveq1 6841 . . . . . 6 (𝑠 = 𝑆 → (𝑠𝑥) = (𝑆𝑥))
1110adantr 480 . . . . 5 ((𝑠 = 𝑆𝑡 = 𝑇) → (𝑠𝑥) = (𝑆𝑥))
12 simpr 484 . . . . . 6 ((𝑠 = 𝑆𝑡 = 𝑇) → 𝑡 = 𝑇)
133oveq2d 7384 . . . . . . 7 (𝑠 = 𝑆 → (𝑥 − (♯‘𝑠)) = (𝑥 − (♯‘𝑆)))
1413adantr 480 . . . . . 6 ((𝑠 = 𝑆𝑡 = 𝑇) → (𝑥 − (♯‘𝑠)) = (𝑥 − (♯‘𝑆)))
1512, 14fveq12d 6849 . . . . 5 ((𝑠 = 𝑆𝑡 = 𝑇) → (𝑡‘(𝑥 − (♯‘𝑠))) = (𝑇‘(𝑥 − (♯‘𝑆))))
169, 11, 15ifbieq12d 4510 . . . 4 ((𝑠 = 𝑆𝑡 = 𝑇) → if(𝑥 ∈ (0..^(♯‘𝑠)), (𝑠𝑥), (𝑡‘(𝑥 − (♯‘𝑠)))) = if(𝑥 ∈ (0..^(♯‘𝑆)), (𝑆𝑥), (𝑇‘(𝑥 − (♯‘𝑆)))))
176, 16mpteq12dv 5187 . . 3 ((𝑠 = 𝑆𝑡 = 𝑇) → (𝑥 ∈ (0..^((♯‘𝑠) + (♯‘𝑡))) ↦ if(𝑥 ∈ (0..^(♯‘𝑠)), (𝑠𝑥), (𝑡‘(𝑥 − (♯‘𝑠))))) = (𝑥 ∈ (0..^((♯‘𝑆) + (♯‘𝑇))) ↦ if(𝑥 ∈ (0..^(♯‘𝑆)), (𝑆𝑥), (𝑇‘(𝑥 − (♯‘𝑆))))))
18 df-concat 14506 . . 3 ++ = (𝑠 ∈ V, 𝑡 ∈ V ↦ (𝑥 ∈ (0..^((♯‘𝑠) + (♯‘𝑡))) ↦ if(𝑥 ∈ (0..^(♯‘𝑠)), (𝑠𝑥), (𝑡‘(𝑥 − (♯‘𝑠))))))
19 ovex 7401 . . . 4 (0..^((♯‘𝑆) + (♯‘𝑇))) ∈ V
2019mptex 7179 . . 3 (𝑥 ∈ (0..^((♯‘𝑆) + (♯‘𝑇))) ↦ if(𝑥 ∈ (0..^(♯‘𝑆)), (𝑆𝑥), (𝑇‘(𝑥 − (♯‘𝑆))))) ∈ V
2117, 18, 20ovmpoa 7523 . 2 ((𝑆 ∈ V ∧ 𝑇 ∈ V) → (𝑆 ++ 𝑇) = (𝑥 ∈ (0..^((♯‘𝑆) + (♯‘𝑇))) ↦ if(𝑥 ∈ (0..^(♯‘𝑆)), (𝑆𝑥), (𝑇‘(𝑥 − (♯‘𝑆))))))
221, 2, 21syl2an 597 1 ((𝑆𝑉𝑇𝑊) → (𝑆 ++ 𝑇) = (𝑥 ∈ (0..^((♯‘𝑆) + (♯‘𝑇))) ↦ if(𝑥 ∈ (0..^(♯‘𝑆)), (𝑆𝑥), (𝑇‘(𝑥 − (♯‘𝑆))))))
Colors of variables: wff setvar class
Syntax hints:  wi 4  wb 206  wa 395   = wceq 1542  wcel 2114  Vcvv 3442  ifcif 4481  cmpt 5181  cfv 6500  (class class class)co 7368  0cc0 11038   + caddc 11041  cmin 11376  ..^cfzo 13582  chash 14265   ++ cconcat 14505
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 1912  ax-6 1969  ax-7 2010  ax-8 2116  ax-9 2124  ax-10 2147  ax-11 2163  ax-12 2185  ax-ext 2709  ax-rep 5226  ax-sep 5243  ax-nul 5253  ax-pr 5379
This theorem depends on definitions:  df-bi 207  df-an 396  df-or 849  df-3an 1089  df-tru 1545  df-fal 1555  df-ex 1782  df-nf 1786  df-sb 2069  df-mo 2540  df-eu 2570  df-clab 2716  df-cleq 2729  df-clel 2812  df-nfc 2886  df-ne 2934  df-ral 3053  df-rex 3063  df-reu 3353  df-rab 3402  df-v 3444  df-sbc 3743  df-csb 3852  df-dif 3906  df-un 3908  df-in 3910  df-ss 3920  df-nul 4288  df-if 4482  df-sn 4583  df-pr 4585  df-op 4589  df-uni 4866  df-iun 4950  df-br 5101  df-opab 5163  df-mpt 5182  df-id 5527  df-xp 5638  df-rel 5639  df-cnv 5640  df-co 5641  df-dm 5642  df-rn 5643  df-res 5644  df-ima 5645  df-iota 6456  df-fun 6502  df-fn 6503  df-f 6504  df-f1 6505  df-fo 6506  df-f1o 6507  df-fv 6508  df-ov 7371  df-oprab 7372  df-mpo 7373  df-concat 14506
This theorem is referenced by:  ccatcl  14509  ccatlen  14510  ccatval1  14512  ccatval2  14513  ccatvalfn  14516  ccatalpha  14529  repswccat  14721  ccatco  14770  ofccat  14904  ccatws1f1o  33043  ccatmulgnn0dir  34719
  Copyright terms: Public domain W3C validator