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

Theorem fpar 8129
Description: Merge two functions in parallel. Use as the second argument of a composition with a binary operation to build compound functions such as (𝑥 ∈ (0[,)+∞), 𝑦 ∈ ℝ ↦ ((√‘𝑥) + (sin‘𝑦))), see also ex-fpar 31068. (Contributed by NM, 17-Sep-2007.) (Proof shortened by Mario Carneiro, 28-Apr-2015.)
Hypothesis
Ref Expression
fpar.1 𝐻 = ((◡(1st ↾ (V × V)) ∘ (𝐹 ∘ (1st ↾ (V × V)))) ∩ (◡(2nd ↾ (V × V)) ∘ (𝐺 ∘ (2nd ↾ (V × V)))))
Assertion
Ref Expression
fpar ((𝐹 Fn 𝐴 ∧ 𝐺 Fn 𝐵) → 𝐻 = (𝑥 ∈ 𝐴, 𝑦 ∈ 𝐵 ↦ ⟨(𝐹‘𝑥), (𝐺‘𝑦)⟩))
Distinct variable groups:   𝑥,𝑦,𝐴   𝑥,𝐵,𝑦   𝑥,𝐹,𝑦   𝑥,𝐺,𝑦
Allowed substitution hints:   𝐻(𝑥, 𝑦)

Proof of Theorem fpar
StepHypRef Expression
1 fparlem3 8127 . . 3 (𝐹 Fn 𝐴 → (◡(1st ↾ (V × V)) ∘ (𝐹 ∘ (1st ↾ (V × V)))) = ∪ 𝑥 ∈ 𝐴 (({𝑥} × V) × ({(𝐹‘𝑥)} × V)))
2 fparlem4 8128 . . 3 (𝐺 Fn 𝐵 → (◡(2nd ↾ (V × V)) ∘ (𝐺 ∘ (2nd ↾ (V × V)))) = ∪ 𝑦 ∈ 𝐵 ((V × {𝑦}) × (V × {(𝐺‘𝑦)})))
31, 2ineqan12d 4119 . 2 ((𝐹 Fn 𝐴 ∧ 𝐺 Fn 𝐵) → ((◡(1st ↾ (V × V)) ∘ (𝐹 ∘ (1st ↾ (V × V)))) ∩ (◡(2nd ↾ (V × V)) ∘ (𝐺 ∘ (2nd ↾ (V × V))))) = (∪ 𝑥 ∈ 𝐴 (({𝑥} × V) × ({(𝐹‘𝑥)} × V)) ∩ ∪ 𝑦 ∈ 𝐵 ((V × {𝑦}) × (V × {(𝐺‘𝑦)}))))
4 fpar.1 . 2 𝐻 = ((◡(1st ↾ (V × V)) ∘ (𝐹 ∘ (1st ↾ (V × V)))) ∩ (◡(2nd ↾ (V × V)) ∘ (𝐺 ∘ (2nd ↾ (V × V)))))
5 opex 5431 . . . 4 ⟨(𝐹‘𝑥), (𝐺‘𝑦)⟩ ∈ V
65dfmpo 8115 . . 3 (𝑥 ∈ 𝐴, 𝑦 ∈ 𝐵 ↦ ⟨(𝐹‘𝑥), (𝐺‘𝑦)⟩) = ∪ 𝑥 ∈ 𝐴 ∪ 𝑦 ∈ 𝐵 {⟨⟨𝑥, 𝑦⟩, ⟨(𝐹‘𝑥), (𝐺‘𝑦)⟩⟩}
7 inxp 5808 . . . . . . . 8 ((({𝑥} × V) × ({(𝐹‘𝑥)} × V)) ∩ ((V × {𝑦}) × (V × {(𝐺‘𝑦)}))) = ((({𝑥} × V) ∩ (V × {𝑦})) × (({(𝐹‘𝑥)} × V) ∩ (V × {(𝐺‘𝑦)})))
8 inxp 5808 . . . . . . . . . 10 (({𝑥} × V) ∩ (V × {𝑦})) = (({𝑥} ∩ V) × (V ∩ {𝑦}))
9 inv1 4347 . . . . . . . . . . 11 ({𝑥} ∩ V) = {𝑥}
10 incom 4106 . . . . . . . . . . . 12 (V ∩ {𝑦}) = ({𝑦} ∩ V)
11 inv1 4347 . . . . . . . . . . . 12 ({𝑦} ∩ V) = {𝑦}
1210, 11eqtri 2783 . . . . . . . . . . 11 (V ∩ {𝑦}) = {𝑦}
139, 12xpeq12i 5678 . . . . . . . . . 10 (({𝑥} ∩ V) × (V ∩ {𝑦})) = ({𝑥} × {𝑦})
14 vex 3454 . . . . . . . . . . 11 𝑥 ∈ V
15 vex 3454 . . . . . . . . . . 11 𝑦 ∈ V
1614, 15xpsn 7141 . . . . . . . . . 10 ({𝑥} × {𝑦}) = {⟨𝑥, 𝑦⟩}
178, 13, 163eqtri 2787 . . . . . . . . 9 (({𝑥} × V) ∩ (V × {𝑦})) = {⟨𝑥, 𝑦⟩}
18 inxp 5808 . . . . . . . . . 10 (({(𝐹‘𝑥)} × V) ∩ (V × {(𝐺‘𝑦)})) = (({(𝐹‘𝑥)} ∩ V) × (V ∩ {(𝐺‘𝑦)}))
19 inv1 4347 . . . . . . . . . . 11 ({(𝐹‘𝑥)} ∩ V) = {(𝐹‘𝑥)}
20 incom 4106 . . . . . . . . . . . 12 (V ∩ {(𝐺‘𝑦)}) = ({(𝐺‘𝑦)} ∩ V)
21 inv1 4347 . . . . . . . . . . . 12 ({(𝐺‘𝑦)} ∩ V) = {(𝐺‘𝑦)}
2220, 21eqtri 2783 . . . . . . . . . . 11 (V ∩ {(𝐺‘𝑦)}) = {(𝐺‘𝑦)}
2319, 22xpeq12i 5678 . . . . . . . . . 10 (({(𝐹‘𝑥)} ∩ V) × (V ∩ {(𝐺‘𝑦)})) = ({(𝐹‘𝑥)} × {(𝐺‘𝑦)})
24 fvex 6898 . . . . . . . . . . 11 (𝐹‘𝑥) ∈ V
25 fvex 6898 . . . . . . . . . . 11 (𝐺‘𝑦) ∈ V
2624, 25xpsn 7141 . . . . . . . . . 10 ({(𝐹‘𝑥)} × {(𝐺‘𝑦)}) = {⟨(𝐹‘𝑥), (𝐺‘𝑦)⟩}
2718, 23, 263eqtri 2787 . . . . . . . . 9 (({(𝐹‘𝑥)} × V) ∩ (V × {(𝐺‘𝑦)})) = {⟨(𝐹‘𝑥), (𝐺‘𝑦)⟩}
2817, 27xpeq12i 5678 . . . . . . . 8 ((({𝑥} × V) ∩ (V × {𝑦})) × (({(𝐹‘𝑥)} × V) ∩ (V × {(𝐺‘𝑦)}))) = ({⟨𝑥, 𝑦⟩} × {⟨(𝐹‘𝑥), (𝐺‘𝑦)⟩})
29 opex 5431 . . . . . . . . 9 ⟨𝑥, 𝑦⟩ ∈ V
3029, 5xpsn 7141 . . . . . . . 8 ({⟨𝑥, 𝑦⟩} × {⟨(𝐹‘𝑥), (𝐺‘𝑦)⟩}) = {⟨⟨𝑥, 𝑦⟩, ⟨(𝐹‘𝑥), (𝐺‘𝑦)⟩⟩}
317, 28, 303eqtri 2787 . . . . . . 7 ((({𝑥} × V) × ({(𝐹‘𝑥)} × V)) ∩ ((V × {𝑦}) × (V × {(𝐺‘𝑦)}))) = {⟨⟨𝑥, 𝑦⟩, ⟨(𝐹‘𝑥), (𝐺‘𝑦)⟩⟩}
3231a1i 11 . . . . . 6 (𝑦 ∈ 𝐵 → ((({𝑥} × V) × ({(𝐹‘𝑥)} × V)) ∩ ((V × {𝑦}) × (V × {(𝐺‘𝑦)}))) = {⟨⟨𝑥, 𝑦⟩, ⟨(𝐹‘𝑥), (𝐺‘𝑦)⟩⟩})
3332iuneq2i 4972 . . . . 5 ∪ 𝑦 ∈ 𝐵 ((({𝑥} × V) × ({(𝐹‘𝑥)} × V)) ∩ ((V × {𝑦}) × (V × {(𝐺‘𝑦)}))) = ∪ 𝑦 ∈ 𝐵 {⟨⟨𝑥, 𝑦⟩, ⟨(𝐹‘𝑥), (𝐺‘𝑦)⟩⟩}
3433a1i 11 . . . 4 (𝑥 ∈ 𝐴 → ∪ 𝑦 ∈ 𝐵 ((({𝑥} × V) × ({(𝐹‘𝑥)} × V)) ∩ ((V × {𝑦}) × (V × {(𝐺‘𝑦)}))) = ∪ 𝑦 ∈ 𝐵 {⟨⟨𝑥, 𝑦⟩, ⟨(𝐹‘𝑥), (𝐺‘𝑦)⟩⟩})
3534iuneq2i 4972 . . 3 ∪ 𝑥 ∈ 𝐴 ∪ 𝑦 ∈ 𝐵 ((({𝑥} × V) × ({(𝐹‘𝑥)} × V)) ∩ ((V × {𝑦}) × (V × {(𝐺‘𝑦)}))) = ∪ 𝑥 ∈ 𝐴 ∪ 𝑦 ∈ 𝐵 {⟨⟨𝑥, 𝑦⟩, ⟨(𝐹‘𝑥), (𝐺‘𝑦)⟩⟩}
36 2iunin 5035 . . 3 ∪ 𝑥 ∈ 𝐴 ∪ 𝑦 ∈ 𝐵 ((({𝑥} × V) × ({(𝐹‘𝑥)} × V)) ∩ ((V × {𝑦}) × (V × {(𝐺‘𝑦)}))) = (∪ 𝑥 ∈ 𝐴 (({𝑥} × V) × ({(𝐹‘𝑥)} × V)) ∩ ∪ 𝑦 ∈ 𝐵 ((V × {𝑦}) × (V × {(𝐺‘𝑦)})))
376, 35, 363eqtr2i 2789 . 2 (𝑥 ∈ 𝐴, 𝑦 ∈ 𝐵 ↦ ⟨(𝐹‘𝑥), (𝐺‘𝑦)⟩) = (∪ 𝑥 ∈ 𝐴 (({𝑥} × V) × ({(𝐹‘𝑥)} × V)) ∩ ∪ 𝑦 ∈ 𝐵 ((V × {𝑦}) × (V × {(𝐺‘𝑦)})))
383, 4, 373eqtr4g 2820 1 ((𝐹 Fn 𝐴 ∧ 𝐺 Fn 𝐵) → 𝐻 = (𝑥 ∈ 𝐴, 𝑦 ∈ 𝐵 ↦ ⟨(𝐹‘𝑥), (𝐺‘𝑦)⟩))
Colors of variables:    wff setvar class
This proof depends on syntax axioms:   → wi 4   ∧ wa 401   = wceq 1569   ∈ wcel 2144  Vcvv 3450   ∩ cin 4089  {csn 4584  ⟨cop 4834  ∪ ciun 4950   × cxp 5648  ◡ccnv 5649   ↾ cres 5652   ∘ ccom 5654   Fn wfn 6533  ‘cfv 6538   ∈ cmpo 7422  1st c1st 7999  2nd c2nd 8000
This proof depends on axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1827  ax-4 1841  ax-5 1942  ax-6 1999  ax-7 2040  ax-8 2146  ax-9 2154  ax-10 2177  ax-11 2193  ax-12 2212  ax-ext 2732  ax-sep 5248  ax-nul 5259  ax-pr 5390  ax-un 7751
This proof depends on definitions:  df-bi 210  df-an 402  df-or 862  df-3an 1105  df-tru 1572  df-fal 1582  df-ex 1812  df-nf 1816  df-sb 2099  df-mo 2564  df-eu 2594  df-clab 2739  df-cleq 2752  df-clel 2835  df-nfc 2909  df-ne 2956  df-ral 3077  df-rex 3087  df-reu 3366  df-rab 3413  df-v 3452  df-sbc 3739  df-csb 3847  df-ss 3896  df-dif 4047  df-in 4091  df-un 4151  df-nul 4279  df-if 4482  df-sn 4585  df-pr 4587  df-op 4835  df-uni 4867  df-iun 4952  df-br 5103  df-opab 5167  df-mpt 5186  df-id 5545  df-xp 5656  df-rel 5657  df-cnv 5658  df-co 5659  df-dm 5660  df-rn 5661  df-res 5662  df-ima 5663  df-iota 6494  df-fun 6540  df-fn 6541  df-f 6542  df-f1 6543  df-fo 6544  df-f1o 6545  df-fv 6546  df-oprab 7424  df-mpo 7425  df-1st 8001  df-2nd 8002
This theorem is used by:  fsplitfpar  8131  ex-fpar  31068
  Copyright terms: Public domain W3C validator