NFE Home New Foundations Explorer < Previous   Next >
Nearby theorems
Mirrors  >  Home  >  NFE Home  >  Th. List  >  fnpprod GIF version

Theorem fnpprod 5843
Description: Functionhood law for parallel product. (Contributed by SF, 24-Feb-2015.)
Assertion
Ref Expression
fnpprod ((F Fn A G Fn B) → PProd (F, G) Fn (A × B))

Proof of Theorem fnpprod
Dummy variables a b c d e f g h x y z are mutually distinct and distinct from all other variables.
StepHypRef Expression
1 ee4anv 1915 . . . . . . . . 9 (abef(cd(x = a, b y = c, d (aFc bGd)) gh(x = e, f z = g, h (eFg fGh))) ↔ (abcd(x = a, b y = c, d (aFc bGd)) efgh(x = e, f z = g, h (eFg fGh))))
2 ee4anv 1915 . . . . . . . . . . 11 (cdgh((x = a, b y = c, d (aFc bGd)) (x = e, f z = g, h (eFg fGh))) ↔ (cd(x = a, b y = c, d (aFc bGd)) gh(x = e, f z = g, h (eFg fGh))))
322exbii 1583 . . . . . . . . . 10 (efcdgh((x = a, b y = c, d (aFc bGd)) (x = e, f z = g, h (eFg fGh))) ↔ ef(cd(x = a, b y = c, d (aFc bGd)) gh(x = e, f z = g, h (eFg fGh))))
432exbii 1583 . . . . . . . . 9 (abefcdgh((x = a, b y = c, d (aFc bGd)) (x = e, f z = g, h (eFg fGh))) ↔ abef(cd(x = a, b y = c, d (aFc bGd)) gh(x = e, f z = g, h (eFg fGh))))
5 brpprod 5839 . . . . . . . . . 10 (x PProd (F, G)yabcd(x = a, b y = c, d (aFc bGd)))
6 brpprod 5839 . . . . . . . . . 10 (x PProd (F, G)zefgh(x = e, f z = g, h (eFg fGh)))
75, 6anbi12i 678 . . . . . . . . 9 ((x PProd (F, G)y x PProd (F, G)z) ↔ (abcd(x = a, b y = c, d (aFc bGd)) efgh(x = e, f z = g, h (eFg fGh))))
81, 4, 73bitr4ri 269 . . . . . . . 8 ((x PProd (F, G)y x PProd (F, G)z) ↔ abefcdgh((x = a, b y = c, d (aFc bGd)) (x = e, f z = g, h (eFg fGh))))
9 an42 798 . . . . . . . . . . . . . . . . . . . . . 22 (((aFc bGd) (aFg bGh)) ↔ ((aFc aFg) (bGh bGd)))
10 fununiq 5517 . . . . . . . . . . . . . . . . . . . . . . . 24 ((Fun F aFc aFg) → c = g)
11103expib 1154 . . . . . . . . . . . . . . . . . . . . . . 23 (Fun F → ((aFc aFg) → c = g))
12 fununiq 5517 . . . . . . . . . . . . . . . . . . . . . . . . 25 ((Fun G bGh bGd) → h = d)
1312eqcomd 2358 . . . . . . . . . . . . . . . . . . . . . . . 24 ((Fun G bGh bGd) → d = h)
14133expib 1154 . . . . . . . . . . . . . . . . . . . . . . 23 (Fun G → ((bGh bGd) → d = h))
1511, 14im2anan9 808 . . . . . . . . . . . . . . . . . . . . . 22 ((Fun F Fun G) → (((aFc aFg) (bGh bGd)) → (c = g d = h)))
169, 15syl5bi 208 . . . . . . . . . . . . . . . . . . . . 21 ((Fun F Fun G) → (((aFc bGd) (aFg bGh)) → (c = g d = h)))
1716exp3acom23 1372 . . . . . . . . . . . . . . . . . . . 20 ((Fun F Fun G) → ((aFg bGh) → ((aFc bGd) → (c = g d = h))))
18 breq1 4642 . . . . . . . . . . . . . . . . . . . . . . 23 (e = a → (eFgaFg))
19 breq1 4642 . . . . . . . . . . . . . . . . . . . . . . 23 (f = b → (fGhbGh))
2018, 19bi2anan9 843 . . . . . . . . . . . . . . . . . . . . . 22 ((e = a f = b) → ((eFg fGh) ↔ (aFg bGh)))
2120adantr 451 . . . . . . . . . . . . . . . . . . . . 21 (((e = a f = b) z = g, h) → ((eFg fGh) ↔ (aFg bGh)))
22 eqeq2 2362 . . . . . . . . . . . . . . . . . . . . . . . 24 (z = g, h → (c, d = zc, d = g, h))
23 opth 4602 . . . . . . . . . . . . . . . . . . . . . . . 24 (c, d = g, h ↔ (c = g d = h))
2422, 23syl6bb 252 . . . . . . . . . . . . . . . . . . . . . . 23 (z = g, h → (c, d = z ↔ (c = g d = h)))
2524imbi2d 307 . . . . . . . . . . . . . . . . . . . . . 22 (z = g, h → (((aFc bGd) → c, d = z) ↔ ((aFc bGd) → (c = g d = h))))
2625adantl 452 . . . . . . . . . . . . . . . . . . . . 21 (((e = a f = b) z = g, h) → (((aFc bGd) → c, d = z) ↔ ((aFc bGd) → (c = g d = h))))
2721, 26imbi12d 311 . . . . . . . . . . . . . . . . . . . 20 (((e = a f = b) z = g, h) → (((eFg fGh) → ((aFc bGd) → c, d = z)) ↔ ((aFg bGh) → ((aFc bGd) → (c = g d = h)))))
2817, 27syl5ibrcom 213 . . . . . . . . . . . . . . . . . . 19 ((Fun F Fun G) → (((e = a f = b) z = g, h) → ((eFg fGh) → ((aFc bGd) → c, d = z))))
2928exp3a 425 . . . . . . . . . . . . . . . . . 18 ((Fun F Fun G) → ((e = a f = b) → (z = g, h → ((eFg fGh) → ((aFc bGd) → c, d = z)))))
30293impd 1165 . . . . . . . . . . . . . . . . 17 ((Fun F Fun G) → (((e = a f = b) z = g, h (eFg fGh)) → ((aFc bGd) → c, d = z)))
3130com23 72 . . . . . . . . . . . . . . . 16 ((Fun F Fun G) → ((aFc bGd) → (((e = a f = b) z = g, h (eFg fGh)) → c, d = z)))
32 eqeq1 2359 . . . . . . . . . . . . . . . . . . . . 21 (x = a, b → (x = e, fa, b = e, f))
33 eqcom 2355 . . . . . . . . . . . . . . . . . . . . . 22 (a, b = e, fe, f = a, b)
34 opth 4602 . . . . . . . . . . . . . . . . . . . . . 22 (e, f = a, b ↔ (e = a f = b))
3533, 34bitri 240 . . . . . . . . . . . . . . . . . . . . 21 (a, b = e, f ↔ (e = a f = b))
3632, 35syl6bb 252 . . . . . . . . . . . . . . . . . . . 20 (x = a, b → (x = e, f ↔ (e = a f = b)))
37363anbi1d 1256 . . . . . . . . . . . . . . . . . . 19 (x = a, b → ((x = e, f z = g, h (eFg fGh)) ↔ ((e = a f = b) z = g, h (eFg fGh))))
3837adantr 451 . . . . . . . . . . . . . . . . . 18 ((x = a, b y = c, d) → ((x = e, f z = g, h (eFg fGh)) ↔ ((e = a f = b) z = g, h (eFg fGh))))
39 eqeq1 2359 . . . . . . . . . . . . . . . . . . 19 (y = c, d → (y = zc, d = z))
4039adantl 452 . . . . . . . . . . . . . . . . . 18 ((x = a, b y = c, d) → (y = zc, d = z))
4138, 40imbi12d 311 . . . . . . . . . . . . . . . . 17 ((x = a, b y = c, d) → (((x = e, f z = g, h (eFg fGh)) → y = z) ↔ (((e = a f = b) z = g, h (eFg fGh)) → c, d = z)))
4241imbi2d 307 . . . . . . . . . . . . . . . 16 ((x = a, b y = c, d) → (((aFc bGd) → ((x = e, f z = g, h (eFg fGh)) → y = z)) ↔ ((aFc bGd) → (((e = a f = b) z = g, h (eFg fGh)) → c, d = z))))
4331, 42syl5ibrcom 213 . . . . . . . . . . . . . . 15 ((Fun F Fun G) → ((x = a, b y = c, d) → ((aFc bGd) → ((x = e, f z = g, h (eFg fGh)) → y = z))))
4443exp3a 425 . . . . . . . . . . . . . 14 ((Fun F Fun G) → (x = a, b → (y = c, d → ((aFc bGd) → ((x = e, f z = g, h (eFg fGh)) → y = z)))))
45443impd 1165 . . . . . . . . . . . . 13 ((Fun F Fun G) → ((x = a, b y = c, d (aFc bGd)) → ((x = e, f z = g, h (eFg fGh)) → y = z)))
4645imp3a 420 . . . . . . . . . . . 12 ((Fun F Fun G) → (((x = a, b y = c, d (aFc bGd)) (x = e, f z = g, h (eFg fGh))) → y = z))
4746exlimdvv 1637 . . . . . . . . . . 11 ((Fun F Fun G) → (gh((x = a, b y = c, d (aFc bGd)) (x = e, f z = g, h (eFg fGh))) → y = z))
4847exlimdvv 1637 . . . . . . . . . 10 ((Fun F Fun G) → (cdgh((x = a, b y = c, d (aFc bGd)) (x = e, f z = g, h (eFg fGh))) → y = z))
4948exlimdvv 1637 . . . . . . . . 9 ((Fun F Fun G) → (efcdgh((x = a, b y = c, d (aFc bGd)) (x = e, f z = g, h (eFg fGh))) → y = z))
5049exlimdvv 1637 . . . . . . . 8 ((Fun F Fun G) → (abefcdgh((x = a, b y = c, d (aFc bGd)) (x = e, f z = g, h (eFg fGh))) → y = z))
518, 50syl5bi 208 . . . . . . 7 ((Fun F Fun G) → ((x PProd (F, G)y x PProd (F, G)z) → y = z))
5251alrimiv 1631 . . . . . 6 ((Fun F Fun G) → z((x PProd (F, G)y x PProd (F, G)z) → y = z))
5352alrimivv 1632 . . . . 5 ((Fun F Fun G) → xyz((x PProd (F, G)y x PProd (F, G)z) → y = z))
54 dffun2 5119 . . . . 5 (Fun PProd (F, G) ↔ xyz((x PProd (F, G)y x PProd (F, G)z) → y = z))
5553, 54sylibr 203 . . . 4 ((Fun F Fun G) → Fun PProd (F, G))
56 dmpprod 5840 . . . . 5 dom PProd (F, G) = (dom F × dom G)
57 xpeq12 4803 . . . . 5 ((dom F = A dom G = B) → (dom F × dom G) = (A × B))
5856, 57syl5eq 2397 . . . 4 ((dom F = A dom G = B) → dom PProd (F, G) = (A × B))
5955, 58anim12i 549 . . 3 (((Fun F Fun G) (dom F = A dom G = B)) → (Fun PProd (F, G) dom PProd (F, G) = (A × B)))
6059an4s 799 . 2 (((Fun F dom F = A) (Fun G dom G = B)) → (Fun PProd (F, G) dom PProd (F, G) = (A × B)))
61 df-fn 4790 . . 3 (F Fn A ↔ (Fun F dom F = A))
62 df-fn 4790 . . 3 (G Fn B ↔ (Fun G dom G = B))
6361, 62anbi12i 678 . 2 ((F Fn A G Fn B) ↔ ((Fun F dom F = A) (Fun G dom G = B)))
64 df-fn 4790 . 2 ( PProd (F, G) Fn (A × B) ↔ (Fun PProd (F, G) dom PProd (F, G) = (A × B)))
6560, 63, 643imtr4i 257 1 ((F Fn A G Fn B) → PProd (F, G) Fn (A × B))
Colors of variables: wff setvar class
Syntax hints:  wi 4  wb 176   wa 358   w3a 934  wal 1540  wex 1541   = wceq 1642  cop 4561   class class class wbr 4639   × cxp 4770  dom cdm 4772  Fun wfun 4775   Fn wfn 4776   PProd cpprod 5737
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1546  ax-5 1557  ax-17 1616  ax-9 1654  ax-8 1675  ax-13 1712  ax-14 1714  ax-6 1729  ax-7 1734  ax-11 1746  ax-12 1925  ax-ext 2334  ax-nin 4078  ax-xp 4079  ax-cnv 4080  ax-1c 4081  ax-sset 4082  ax-si 4083  ax-ins2 4084  ax-ins3 4085  ax-typlower 4086  ax-sn 4087
This theorem depends on definitions:  df-bi 177  df-or 359  df-an 360  df-3or 935  df-3an 936  df-nan 1288  df-tru 1319  df-ex 1542  df-nf 1545  df-sb 1649  df-eu 2208  df-mo 2209  df-clab 2340  df-cleq 2346  df-clel 2349  df-nfc 2478  df-ne 2518  df-ral 2619  df-rex 2620  df-reu 2621  df-rmo 2622  df-rab 2623  df-v 2861  df-sbc 3047  df-nin 3211  df-compl 3212  df-in 3213  df-un 3214  df-dif 3215  df-symdif 3216  df-ss 3259  df-pss 3261  df-nul 3551  df-if 3663  df-pw 3724  df-sn 3741  df-pr 3742  df-uni 3892  df-int 3927  df-opk 4058  df-1c 4136  df-pw1 4137  df-uni1 4138  df-xpk 4185  df-cnvk 4186  df-ins2k 4187  df-ins3k 4188  df-imak 4189  df-cok 4190  df-p6 4191  df-sik 4192  df-ssetk 4193  df-imagek 4194  df-idk 4195  df-iota 4339  df-0c 4377  df-addc 4378  df-nnc 4379  df-fin 4380  df-lefin 4440  df-ltfin 4441  df-ncfin 4442  df-tfin 4443  df-evenfin 4444  df-oddfin 4445  df-sfin 4446  df-spfin 4447  df-phi 4565  df-op 4566  df-proj1 4567  df-proj2 4568  df-opab 4623  df-br 4640  df-1st 4723  df-co 4726  df-ima 4727  df-id 4767  df-xp 4784  df-cnv 4785  df-rn 4786  df-dm 4787  df-fun 4789  df-fn 4790  df-2nd 4797  df-txp 5736  df-pprod 5738
This theorem is referenced by:  f1opprod  5844
  Copyright terms: Public domain W3C validator