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

Theorem fpar 8116
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 31045. (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 8114 . . 3 (𝐹 Fn 𝐴 → (◡(1st ↾ (V × V)) ∘ (𝐹 ∘ (1st ↾ (V × V)))) = ∪ 𝑥 ∈ 𝐴 (({𝑥} × V) × ({(𝐹‘𝑥)} × V)))
2 fparlem4 8115 . . 3 (𝐺 Fn 𝐵 → (◡(2nd ↾ (V × V)) ∘ (𝐺 ∘ (2nd ↾ (V × V)))) = ∪ 𝑦 ∈ 𝐵 ((V × {𝑦}) × (V × {(𝐺‘𝑦)})))
31, 2ineqan12d 4168 . 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 5432 . . . 4 ⟨(𝐹‘𝑥), (𝐺‘𝑦)⟩ ∈ V
65dfmpo 8102 . . 3 (𝑥 ∈ 𝐴, 𝑦 ∈ 𝐵 ↦ ⟨(𝐹‘𝑥), (𝐺‘𝑦)⟩) = ∪ 𝑥 ∈ 𝐴 ∪ 𝑦 ∈ 𝐵 {⟨⟨𝑥, 𝑦⟩, ⟨(𝐹‘𝑥), (𝐺‘𝑦)⟩⟩}
7 inxp 5809 . . . . . . . 8 ((({𝑥} × V) × ({(𝐹‘𝑥)} × V)) ∩ ((V × {𝑦}) × (V × {(𝐺‘𝑦)}))) = ((({𝑥} × V) ∩ (V × {𝑦})) × (({(𝐹‘𝑥)} × V) ∩ (V × {(𝐺‘𝑦)})))
8 inxp 5809 . . . . . . . . . 10 (({𝑥} × V) ∩ (V × {𝑦})) = (({𝑥} ∩ V) × (V ∩ {𝑦}))
9 inv1 4348 . . . . . . . . . . 11 ({𝑥} ∩ V) = {𝑥}
10 incom 4155 . . . . . . . . . . . 12 (V ∩ {𝑦}) = ({𝑦} ∩ V)
11 inv1 4348 . . . . . . . . . . . 12 ({𝑦} ∩ V) = {𝑦}
1210, 11eqtri 2784 . . . . . . . . . . 11 (V ∩ {𝑦}) = {𝑦}
139, 12xpeq12i 5679 . . . . . . . . . 10 (({𝑥} ∩ V) × (V ∩ {𝑦})) = ({𝑥} × {𝑦})
14 vex 3455 . . . . . . . . . . 11 𝑥 ∈ V
15 vex 3455 . . . . . . . . . . 11 𝑦 ∈ V
1614, 15xpsn 7133 . . . . . . . . . 10 ({𝑥} × {𝑦}) = {⟨𝑥, 𝑦⟩}
178, 13, 163eqtri 2788 . . . . . . . . 9 (({𝑥} × V) ∩ (V × {𝑦})) = {⟨𝑥, 𝑦⟩}
18 inxp 5809 . . . . . . . . . 10 (({(𝐹‘𝑥)} × V) ∩ (V × {(𝐺‘𝑦)})) = (({(𝐹‘𝑥)} ∩ V) × (V ∩ {(𝐺‘𝑦)}))
19 inv1 4348 . . . . . . . . . . 11 ({(𝐹‘𝑥)} ∩ V) = {(𝐹‘𝑥)}
20 incom 4155 . . . . . . . . . . . 12 (V ∩ {(𝐺‘𝑦)}) = ({(𝐺‘𝑦)} ∩ V)
21 inv1 4348 . . . . . . . . . . . 12 ({(𝐺‘𝑦)} ∩ V) = {(𝐺‘𝑦)}
2220, 21eqtri 2784 . . . . . . . . . . 11 (V ∩ {(𝐺‘𝑦)}) = {(𝐺‘𝑦)}
2319, 22xpeq12i 5679 . . . . . . . . . 10 (({(𝐹‘𝑥)} ∩ V) × (V ∩ {(𝐺‘𝑦)})) = ({(𝐹‘𝑥)} × {(𝐺‘𝑦)})
24 fvex 6890 . . . . . . . . . . 11 (𝐹‘𝑥) ∈ V
25 fvex 6890 . . . . . . . . . . 11 (𝐺‘𝑦) ∈ V
2624, 25xpsn 7133 . . . . . . . . . 10 ({(𝐹‘𝑥)} × {(𝐺‘𝑦)}) = {⟨(𝐹‘𝑥), (𝐺‘𝑦)⟩}
2718, 23, 263eqtri 2788 . . . . . . . . 9 (({(𝐹‘𝑥)} × V) ∩ (V × {(𝐺‘𝑦)})) = {⟨(𝐹‘𝑥), (𝐺‘𝑦)⟩}
2817, 27xpeq12i 5679 . . . . . . . 8 ((({𝑥} × V) ∩ (V × {𝑦})) × (({(𝐹‘𝑥)} × V) ∩ (V × {(𝐺‘𝑦)}))) = ({⟨𝑥, 𝑦⟩} × {⟨(𝐹‘𝑥), (𝐺‘𝑦)⟩})
29 opex 5432 . . . . . . . . 9 ⟨𝑥, 𝑦⟩ ∈ V
3029, 5xpsn 7133 . . . . . . . 8 ({⟨𝑥, 𝑦⟩} × {⟨(𝐹‘𝑥), (𝐺‘𝑦)⟩}) = {⟨⟨𝑥, 𝑦⟩, ⟨(𝐹‘𝑥), (𝐺‘𝑦)⟩⟩}
317, 28, 303eqtri 2788 . . . . . . 7 ((({𝑥} × V) × ({(𝐹‘𝑥)} × V)) ∩ ((V × {𝑦}) × (V × {(𝐺‘𝑦)}))) = {⟨⟨𝑥, 𝑦⟩, ⟨(𝐹‘𝑥), (𝐺‘𝑦)⟩⟩}
3231a1i 11 . . . . . 6 (𝑦 ∈ 𝐵 → ((({𝑥} × V) × ({(𝐹‘𝑥)} × V)) ∩ ((V × {𝑦}) × (V × {(𝐺‘𝑦)}))) = {⟨⟨𝑥, 𝑦⟩, ⟨(𝐹‘𝑥), (𝐺‘𝑦)⟩⟩})
3332iuneq2i 4973 . . . . 5 ∪ 𝑦 ∈ 𝐵 ((({𝑥} × V) × ({(𝐹‘𝑥)} × V)) ∩ ((V × {𝑦}) × (V × {(𝐺‘𝑦)}))) = ∪ 𝑦 ∈ 𝐵 {⟨⟨𝑥, 𝑦⟩, ⟨(𝐹‘𝑥), (𝐺‘𝑦)⟩⟩}
3433a1i 11 . . . 4 (𝑥 ∈ 𝐴 → ∪ 𝑦 ∈ 𝐵 ((({𝑥} × V) × ({(𝐹‘𝑥)} × V)) ∩ ((V × {𝑦}) × (V × {(𝐺‘𝑦)}))) = ∪ 𝑦 ∈ 𝐵 {⟨⟨𝑥, 𝑦⟩, ⟨(𝐹‘𝑥), (𝐺‘𝑦)⟩⟩})
3534iuneq2i 4973 . . 3 ∪ 𝑥 ∈ 𝐴 ∪ 𝑦 ∈ 𝐵 ((({𝑥} × V) × ({(𝐹‘𝑥)} × V)) ∩ ((V × {𝑦}) × (V × {(𝐺‘𝑦)}))) = ∪ 𝑥 ∈ 𝐴 ∪ 𝑦 ∈ 𝐵 {⟨⟨𝑥, 𝑦⟩, ⟨(𝐹‘𝑥), (𝐺‘𝑦)⟩⟩}
36 2iunin 5036 . . 3 ∪ 𝑥 ∈ 𝐴 ∪ 𝑦 ∈ 𝐵 ((({𝑥} × V) × ({(𝐹‘𝑥)} × V)) ∩ ((V × {𝑦}) × (V × {(𝐺‘𝑦)}))) = (∪ 𝑥 ∈ 𝐴 (({𝑥} × V) × ({(𝐹‘𝑥)} × V)) ∩ ∪ 𝑦 ∈ 𝐵 ((V × {𝑦}) × (V × {(𝐺‘𝑦)})))
376, 35, 363eqtr2i 2790 . 2 (𝑥 ∈ 𝐴, 𝑦 ∈ 𝐵 ↦ ⟨(𝐹‘𝑥), (𝐺‘𝑦)⟩) = (∪ 𝑥 ∈ 𝐴 (({𝑥} × V) × ({(𝐹‘𝑥)} × V)) ∩ ∪ 𝑦 ∈ 𝐵 ((V × {𝑦}) × (V × {(𝐺‘𝑦)})))
383, 4, 373eqtr4g 2821 1 ((𝐹 Fn 𝐴 ∧ 𝐺 Fn 𝐵) → 𝐻 = (𝑥 ∈ 𝐴, 𝑦 ∈ 𝐵 ↦ ⟨(𝐹‘𝑥), (𝐺‘𝑦)⟩))
Colors of variables:    wff setvar class
This proof depends on syntax axioms:   → wi 4   ∧ wa 401   = wceq 1570   ∈ wcel 2145  Vcvv 3451   ∩ cin 3898  {csn 4584  ⟨cop 4590  ∪ ciun 4951   × cxp 5649  ◡ccnv 5650   ↾ cres 5653   ∘ ccom 5655   Fn wfn 6526  ‘cfv 6531   ∈ cmpo 7414  1st c1st 7988  2nd c2nd 7989
This proof depends on axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1828  ax-4 1842  ax-5 1943  ax-6 2000  ax-7 2041  ax-8 2147  ax-9 2155  ax-10 2178  ax-11 2194  ax-12 2213  ax-ext 2733  ax-sep 5249  ax-nul 5260  ax-pr 5391  ax-un 7740
This proof depends on definitions:  df-bi 210  df-an 402  df-or 862  df-3an 1105  df-tru 1573  df-fal 1583  df-ex 1813  df-nf 1817  df-sb 2100  df-mo 2565  df-eu 2595  df-clab 2740  df-cleq 2753  df-clel 2836  df-nfc 2910  df-ne 2957  df-ral 3078  df-rex 3088  df-reu 3367  df-rab 3414  df-v 3453  df-sbc 3740  df-csb 3848  df-dif 3902  df-un 3904  df-in 3906  df-ss 3916  df-nul 4280  df-if 4483  df-sn 4585  df-pr 4587  df-op 4591  df-uni 4868  df-iun 4953  df-br 5104  df-opab 5168  df-mpt 5187  df-id 5546  df-xp 5657  df-rel 5658  df-cnv 5659  df-co 5660  df-dm 5661  df-rn 5662  df-res 5663  df-ima 5664  df-iota 6487  df-fun 6533  df-fn 6534  df-f 6535  df-f1 6536  df-fo 6537  df-f1o 6538  df-fv 6539  df-oprab 7416  df-mpo 7417  df-1st 7990  df-2nd 7991
This theorem is used by:  fsplitfpar  8118  ex-fpar  31045
  Copyright terms: Public domain W3C validator