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

Theorem ccatfval 13913
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 3510 . 2 (𝑆𝑉𝑆 ∈ V)
2 elex 3510 . 2 (𝑇𝑊𝑇 ∈ V)
3 fveq2 6663 . . . . . 6 (𝑠 = 𝑆 → (♯‘𝑠) = (♯‘𝑆))
4 fveq2 6663 . . . . . 6 (𝑡 = 𝑇 → (♯‘𝑡) = (♯‘𝑇))
53, 4oveqan12d 7164 . . . . 5 ((𝑠 = 𝑆𝑡 = 𝑇) → ((♯‘𝑠) + (♯‘𝑡)) = ((♯‘𝑆) + (♯‘𝑇)))
65oveq2d 7161 . . . 4 ((𝑠 = 𝑆𝑡 = 𝑇) → (0..^((♯‘𝑠) + (♯‘𝑡))) = (0..^((♯‘𝑆) + (♯‘𝑇))))
73oveq2d 7161 . . . . . . 7 (𝑠 = 𝑆 → (0..^(♯‘𝑠)) = (0..^(♯‘𝑆)))
87eleq2d 2895 . . . . . 6 (𝑠 = 𝑆 → (𝑥 ∈ (0..^(♯‘𝑠)) ↔ 𝑥 ∈ (0..^(♯‘𝑆))))
98adantr 481 . . . . 5 ((𝑠 = 𝑆𝑡 = 𝑇) → (𝑥 ∈ (0..^(♯‘𝑠)) ↔ 𝑥 ∈ (0..^(♯‘𝑆))))
10 fveq1 6662 . . . . . 6 (𝑠 = 𝑆 → (𝑠𝑥) = (𝑆𝑥))
1110adantr 481 . . . . 5 ((𝑠 = 𝑆𝑡 = 𝑇) → (𝑠𝑥) = (𝑆𝑥))
12 simpr 485 . . . . . 6 ((𝑠 = 𝑆𝑡 = 𝑇) → 𝑡 = 𝑇)
133oveq2d 7161 . . . . . . 7 (𝑠 = 𝑆 → (𝑥 − (♯‘𝑠)) = (𝑥 − (♯‘𝑆)))
1413adantr 481 . . . . . 6 ((𝑠 = 𝑆𝑡 = 𝑇) → (𝑥 − (♯‘𝑠)) = (𝑥 − (♯‘𝑆)))
1512, 14fveq12d 6670 . . . . 5 ((𝑠 = 𝑆𝑡 = 𝑇) → (𝑡‘(𝑥 − (♯‘𝑠))) = (𝑇‘(𝑥 − (♯‘𝑆))))
169, 11, 15ifbieq12d 4490 . . . 4 ((𝑠 = 𝑆𝑡 = 𝑇) → if(𝑥 ∈ (0..^(♯‘𝑠)), (𝑠𝑥), (𝑡‘(𝑥 − (♯‘𝑠)))) = if(𝑥 ∈ (0..^(♯‘𝑆)), (𝑆𝑥), (𝑇‘(𝑥 − (♯‘𝑆)))))
176, 16mpteq12dv 5142 . . 3 ((𝑠 = 𝑆𝑡 = 𝑇) → (𝑥 ∈ (0..^((♯‘𝑠) + (♯‘𝑡))) ↦ if(𝑥 ∈ (0..^(♯‘𝑠)), (𝑠𝑥), (𝑡‘(𝑥 − (♯‘𝑠))))) = (𝑥 ∈ (0..^((♯‘𝑆) + (♯‘𝑇))) ↦ if(𝑥 ∈ (0..^(♯‘𝑆)), (𝑆𝑥), (𝑇‘(𝑥 − (♯‘𝑆))))))
18 df-concat 13911 . . 3 ++ = (𝑠 ∈ V, 𝑡 ∈ V ↦ (𝑥 ∈ (0..^((♯‘𝑠) + (♯‘𝑡))) ↦ if(𝑥 ∈ (0..^(♯‘𝑠)), (𝑠𝑥), (𝑡‘(𝑥 − (♯‘𝑠))))))
19 ovex 7178 . . . 4 (0..^((♯‘𝑆) + (♯‘𝑇))) ∈ V
2019mptex 6977 . . 3 (𝑥 ∈ (0..^((♯‘𝑆) + (♯‘𝑇))) ↦ if(𝑥 ∈ (0..^(♯‘𝑆)), (𝑆𝑥), (𝑇‘(𝑥 − (♯‘𝑆))))) ∈ V
2117, 18, 20ovmpoa 7294 . 2 ((𝑆 ∈ V ∧ 𝑇 ∈ V) → (𝑆 ++ 𝑇) = (𝑥 ∈ (0..^((♯‘𝑆) + (♯‘𝑇))) ↦ if(𝑥 ∈ (0..^(♯‘𝑆)), (𝑆𝑥), (𝑇‘(𝑥 − (♯‘𝑆))))))
221, 2, 21syl2an 595 1 ((𝑆𝑉𝑇𝑊) → (𝑆 ++ 𝑇) = (𝑥 ∈ (0..^((♯‘𝑆) + (♯‘𝑇))) ↦ if(𝑥 ∈ (0..^(♯‘𝑆)), (𝑆𝑥), (𝑇‘(𝑥 − (♯‘𝑆))))))
Colors of variables: wff setvar class
Syntax hints:  wi 4  wb 207  wa 396   = wceq 1528  wcel 2105  Vcvv 3492  ifcif 4463  cmpt 5137  cfv 6348  (class class class)co 7145  0cc0 10525   + caddc 10528  cmin 10858  ..^cfzo 13021  chash 13678   ++ cconcat 13910
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1787  ax-4 1801  ax-5 1902  ax-6 1961  ax-7 2006  ax-8 2107  ax-9 2115  ax-10 2136  ax-11 2151  ax-12 2167  ax-ext 2790  ax-rep 5181  ax-sep 5194  ax-nul 5201  ax-pr 5320
This theorem depends on definitions:  df-bi 208  df-an 397  df-or 842  df-3an 1081  df-tru 1531  df-ex 1772  df-nf 1776  df-sb 2061  df-mo 2615  df-eu 2647  df-clab 2797  df-cleq 2811  df-clel 2890  df-nfc 2960  df-ne 3014  df-ral 3140  df-rex 3141  df-reu 3142  df-rab 3144  df-v 3494  df-sbc 3770  df-csb 3881  df-dif 3936  df-un 3938  df-in 3940  df-ss 3949  df-nul 4289  df-if 4464  df-sn 4558  df-pr 4560  df-op 4564  df-uni 4831  df-iun 4912  df-br 5058  df-opab 5120  df-mpt 5138  df-id 5453  df-xp 5554  df-rel 5555  df-cnv 5556  df-co 5557  df-dm 5558  df-rn 5559  df-res 5560  df-ima 5561  df-iota 6307  df-fun 6350  df-fn 6351  df-f 6352  df-f1 6353  df-fo 6354  df-f1o 6355  df-fv 6356  df-ov 7148  df-oprab 7149  df-mpo 7150  df-concat 13911
This theorem is referenced by:  ccatcl  13914  ccatlen  13915  ccatlenOLD  13916  ccatval1  13918  ccatval1OLD  13919  ccatval2  13920  ccatvalfn  13923  ccatalpha  13935  repswccat  14136  ccatco  14185  ofccat  14317  ccatmulgnn0dir  31711
  Copyright terms: Public domain W3C validator