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

Theorem fnpprod 5844
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 5840 . . . . . . . . . 10 (x PProd (F, G)yabcd(x = a, b y = c, d (aFc bGd)))
6 brpprod 5840 . . . . . . . . . 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 5518 . . . . . . . . . . . . . . . . . . . . . . . 24 ((Fun F aFc aFg) → c = g)
11103expib 1154 . . . . . . . . . . . . . . . . . . . . . . 23 (Fun F → ((aFc aFg) → c = g))
12 fununiq 5518 . . . . . . . . . . . . . . . . . . . . . . . . 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 4643 . . . . . . . . . . . . . . . . . . . . . . 23 (e = a → (eFgaFg))
19 breq1 4643 . . . . . . . . . . . . . . . . . . . . . . 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 4603 . . . . . . . . . . . . . . . . . . . . . . . 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 4603 . . . . . . . . . . . . . . . . . . . . . 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 5120 . . . . 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 5841 . . . . 5 dom PProd (F, G) = (dom F × dom G)
57 xpeq12 4804 . . . . 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 4791 . . 3 (F Fn A ↔ (Fun F dom F = A))
62 df-fn 4791 . . 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 4791 . 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 4562   class class class wbr 4640   × cxp 4771  dom cdm 4773  Fun wfun 4776   Fn wfn 4777   PProd cpprod 5738
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 4079  ax-xp 4080  ax-cnv 4081  ax-1c 4082  ax-sset 4083  ax-si 4084  ax-ins2 4085  ax-ins3 4086  ax-typlower 4087  ax-sn 4088
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 2479  df-ne 2519  df-ral 2620  df-rex 2621  df-reu 2622  df-rmo 2623  df-rab 2624  df-v 2862  df-sbc 3048  df-nin 3212  df-compl 3213  df-in 3214  df-un 3215  df-dif 3216  df-symdif 3217  df-ss 3260  df-pss 3262  df-nul 3552  df-if 3664  df-pw 3725  df-sn 3742  df-pr 3743  df-uni 3893  df-int 3928  df-opk 4059  df-1c 4137  df-pw1 4138  df-uni1 4139  df-xpk 4186  df-cnvk 4187  df-ins2k 4188  df-ins3k 4189  df-imak 4190  df-cok 4191  df-p6 4192  df-sik 4193  df-ssetk 4194  df-imagek 4195  df-idk 4196  df-iota 4340  df-0c 4378  df-addc 4379  df-nnc 4380  df-fin 4381  df-lefin 4441  df-ltfin 4442  df-ncfin 4443  df-tfin 4444  df-evenfin 4445  df-oddfin 4446  df-sfin 4447  df-spfin 4448  df-phi 4566  df-op 4567  df-proj1 4568  df-proj2 4569  df-opab 4624  df-br 4641  df-1st 4724  df-co 4727  df-ima 4728  df-id 4768  df-xp 4785  df-cnv 4786  df-rn 4787  df-dm 4788  df-fun 4790  df-fn 4791  df-2nd 4798  df-txp 5737  df-pprod 5739
This theorem is referenced by:  f1opprod  5845
  Copyright terms: Public domain W3C validator