Metamath Proof Explorer


Theorem resixpfo

Description: Restriction of elements of an infinite Cartesian product creates a surjection, if the original Cartesian product is nonempty. (Contributed by Mario Carneiro, 27-Aug-2015)

Ref Expression
Hypothesis resixpfo.1 F=fxACfB
Assertion resixpfo BAxACF:xAContoxBC

Proof

Step Hyp Ref Expression
1 resixpfo.1 F=fxACfB
2 resixp BAfxACfBxBC
3 2 1 fmptd BAF:xACxBC
4 3 adantr BAxACF:xACxBC
5 n0 xACggxAC
6 eleq1w z=xzBxB
7 6 ifbid z=xifzBhg=ifxBhg
8 id z=xz=x
9 7 8 fveq12d z=xifzBhgz=ifxBhgx
10 9 cbvmptv zAifzBhgz=xAifxBhgx
11 vex hV
12 11 elixp hxBChFnBxBhxC
13 12 simprbi hxBCxBhxC
14 fveq1 h=ifxBhghx=ifxBhgx
15 14 eleq1d h=ifxBhghxCifxBhgxC
16 fveq1 g=ifxBhggx=ifxBhgx
17 16 eleq1d g=ifxBhggxCifxBhgxC
18 simpl xBhxCxAgxCxBhxC
19 18 imp xBhxCxAgxCxBhxC
20 simplrr xBhxCxAgxC¬xBgxC
21 15 17 19 20 ifbothda xBhxCxAgxCifxBhgxC
22 21 exp32 xBhxCxAgxCifxBhgxC
23 22 ralimi2 xBhxCxAgxCifxBhgxC
24 13 23 syl hxBCxAgxCifxBhgxC
25 24 adantl BAhxBCxAgxCifxBhgxC
26 ralim xAgxCifxBhgxCxAgxCxAifxBhgxC
27 25 26 syl BAhxBCxAgxCxAifxBhgxC
28 vex gV
29 28 elixp gxACgFnAxAgxC
30 29 simprbi gxACxAgxC
31 27 30 impel BAhxBCgxACxAifxBhgxC
32 n0i gxAC¬xAC=
33 ixpprc ¬AVxAC=
34 32 33 nsyl2 gxACAV
35 34 adantl BAhxBCgxACAV
36 mptelixpg AVxAifxBhgxxACxAifxBhgxC
37 35 36 syl BAhxBCgxACxAifxBhgxxACxAifxBhgxC
38 31 37 mpbird BAhxBCgxACxAifxBhgxxAC
39 10 38 eqeltrid BAhxBCgxACzAifzBhgzxAC
40 reseq1 f=zAifzBhgzfB=zAifzBhgzB
41 iftrue zBifzBhg=h
42 41 fveq1d zBifzBhgz=hz
43 42 mpteq2ia zBifzBhgz=zBhz
44 resmpt BAzAifzBhgzB=zBifzBhgz
45 44 ad2antrr BAhxBCgxACzAifzBhgzB=zBifzBhgz
46 ixpfn hxBChFnB
47 46 ad2antlr BAhxBCgxAChFnB
48 dffn5 hFnBh=zBhz
49 47 48 sylib BAhxBCgxACh=zBhz
50 43 45 49 3eqtr4a BAhxBCgxACzAifzBhgzB=h
51 50 11 eqeltrdi BAhxBCgxACzAifzBhgzBV
52 1 40 39 51 fvmptd3 BAhxBCgxACFzAifzBhgz=zAifzBhgzB
53 52 50 eqtr2d BAhxBCgxACh=FzAifzBhgz
54 fveq2 y=zAifzBhgzFy=FzAifzBhgz
55 54 rspceeqv zAifzBhgzxACh=FzAifzBhgzyxACh=Fy
56 39 53 55 syl2anc BAhxBCgxACyxACh=Fy
57 56 ex BAhxBCgxACyxACh=Fy
58 57 ralrimdva BAgxAChxBCyxACh=Fy
59 58 exlimdv BAggxAChxBCyxACh=Fy
60 5 59 biimtrid BAxAChxBCyxACh=Fy
61 60 imp BAxAChxBCyxACh=Fy
62 dffo3 F:xAContoxBCF:xACxBChxBCyxACh=Fy
63 4 61 62 sylanbrc BAxACF:xAContoxBC