Metamath Proof Explorer


Theorem finixpnum

Description: A finite Cartesian product of numerable sets is numerable. (Contributed by Brendan Leahy, 24-Feb-2019)

Ref Expression
Assertion finixpnum AFinxABdomcardxABdomcard

Proof

Step Hyp Ref Expression
1 raleq w=xwBdomcardxBdomcard
2 ixpeq1 w=xwB=xB
3 ixp0x xB=
4 2 3 eqtrdi w=xwB=
5 4 eleq1d w=xwBdomcarddomcard
6 1 5 imbi12d w=xwBdomcardxwBdomcardxBdomcarddomcard
7 raleq w=yxwBdomcardxyBdomcard
8 ixpeq1 w=yxwB=xyB
9 8 eleq1d w=yxwBdomcardxyBdomcard
10 7 9 imbi12d w=yxwBdomcardxwBdomcardxyBdomcardxyBdomcard
11 raleq w=yzxwBdomcardxyzBdomcard
12 ralunb xyzBdomcardxyBdomcardxzBdomcard
13 vex zV
14 ralsnsg zVxzBdomcard[˙z/x]˙Bdomcard
15 sbcel1g zV[˙z/x]˙Bdomcardz/xBdomcard
16 14 15 bitrd zVxzBdomcardz/xBdomcard
17 13 16 ax-mp xzBdomcardz/xBdomcard
18 17 anbi2i xyBdomcardxzBdomcardxyBdomcardz/xBdomcard
19 12 18 bitri xyzBdomcardxyBdomcardz/xBdomcard
20 11 19 bitrdi w=yzxwBdomcardxyBdomcardz/xBdomcard
21 ixpeq1 w=yzxwB=xyzB
22 21 eleq1d w=yzxwBdomcardxyzBdomcard
23 20 22 imbi12d w=yzxwBdomcardxwBdomcardxyBdomcardz/xBdomcardxyzBdomcard
24 raleq w=AxwBdomcardxABdomcard
25 ixpeq1 w=AxwB=xAB
26 25 eleq1d w=AxwBdomcardxABdomcard
27 24 26 imbi12d w=AxwBdomcardxwBdomcardxABdomcardxABdomcard
28 snfi Fin
29 finnum Findomcard
30 28 29 mp1i xBdomcarddomcard
31 pm2.27 xyBdomcardxyBdomcardxyBdomcardxyBdomcard
32 xpnum xyBdomcardz/xBdomcardxyB×z/xBdomcard
33 32 ancoms z/xBdomcardxyBdomcardxyB×z/xBdomcard
34 xp1st wxyB×z/xB1stwxyB
35 ixpfn 1stwxyB1stwFny
36 34 35 syl wxyB×z/xB1stwFny
37 fvex 2ndwV
38 13 37 fnsn z2ndwFnz
39 36 38 jctir wxyB×z/xB1stwFnyz2ndwFnz
40 disjsn yz=¬zy
41 40 biimpri ¬zyyz=
42 fnun 1stwFnyz2ndwFnzyz=1stwz2ndwFnyz
43 39 41 42 syl2anr ¬zywxyB×z/xB1stwz2ndwFnyz
44 fvex 1stwV
45 44 elixp 1stwxyB1stwFnyxy1stwxB
46 34 45 sylib wxyB×z/xB1stwFnyxy1stwxB
47 fvun1 1stwFnyz2ndwFnzyz=xy1stwz2ndwx=1stwx
48 38 47 mp3an2 1stwFnyyz=xy1stwz2ndwx=1stwx
49 48 anassrs 1stwFnyyz=xy1stwz2ndwx=1stwx
50 49 eleq1d 1stwFnyyz=xy1stwz2ndwxB1stwxB
51 50 biimprd 1stwFnyyz=xy1stwxB1stwz2ndwxB
52 51 ralimdva 1stwFnyyz=xy1stwxBxy1stwz2ndwxB
53 52 ancoms yz=1stwFnyxy1stwxBxy1stwz2ndwxB
54 53 impr yz=1stwFnyxy1stwxBxy1stwz2ndwxB
55 41 46 54 syl2an ¬zywxyB×z/xBxy1stwz2ndwxB
56 vsnid zz
57 41 56 jctir ¬zyyz=zz
58 fvun2 1stwFnyz2ndwFnzyz=zz1stwz2ndwz=z2ndwz
59 38 58 mp3an2 1stwFnyyz=zz1stwz2ndwz=z2ndwz
60 36 57 59 syl2anr ¬zywxyB×z/xB1stwz2ndwz=z2ndwz
61 csbfv z/x1stwz2ndwx=1stwz2ndwz
62 13 37 fvsn z2ndwz=2ndw
63 62 eqcomi 2ndw=z2ndwz
64 60 61 63 3eqtr4g ¬zywxyB×z/xBz/x1stwz2ndwx=2ndw
65 xp2nd wxyB×z/xB2ndwz/xB
66 65 adantl ¬zywxyB×z/xB2ndwz/xB
67 64 66 eqeltrd ¬zywxyB×z/xBz/x1stwz2ndwxz/xB
68 ralsnsg zVxz1stwz2ndwxB[˙z/x]˙1stwz2ndwxB
69 13 68 ax-mp xz1stwz2ndwxB[˙z/x]˙1stwz2ndwxB
70 sbcel12 [˙z/x]˙1stwz2ndwxBz/x1stwz2ndwxz/xB
71 69 70 bitri xz1stwz2ndwxBz/x1stwz2ndwxz/xB
72 67 71 sylibr ¬zywxyB×z/xBxz1stwz2ndwxB
73 ralun xy1stwz2ndwxBxz1stwz2ndwxBxyz1stwz2ndwxB
74 55 72 73 syl2anc ¬zywxyB×z/xBxyz1stwz2ndwxB
75 snex z2ndwV
76 44 75 unex 1stwz2ndwV
77 76 elixp 1stwz2ndwxyzB1stwz2ndwFnyzxyz1stwz2ndwxB
78 43 74 77 sylanbrc ¬zywxyB×z/xB1stwz2ndwxyzB
79 78 fmpttd ¬zywxyB×z/xB1stwz2ndw:xyB×z/xBxyzB
80 ixpfn uxyzBuFnyz
81 ssun1 yyz
82 fnssres uFnyzyyzuyFny
83 80 81 82 sylancl uxyzBuyFny
84 vex uV
85 84 elixp uxyzBuFnyzxyzuxB
86 ssralv yyzxyzuxBxyuxB
87 81 86 ax-mp xyzuxBxyuxB
88 fvres xyuyx=ux
89 88 eleq1d xyuyxBuxB
90 89 biimprd xyuxBuyxB
91 90 ralimia xyuxBxyuyxB
92 87 91 syl xyzuxBxyuyxB
93 92 adantl uFnyzxyzuxBxyuyxB
94 85 93 sylbi uxyzBxyuyxB
95 84 resex uyV
96 95 elixp uyxyBuyFnyxyuyxB
97 83 94 96 sylanbrc uxyzBuyxyB
98 ssun2 zyz
99 98 56 sselii zyz
100 csbeq1 w=zw/xB=z/xB
101 100 fvixp uwyzw/xBzyzuzz/xB
102 99 101 mpan2 uwyzw/xBuzz/xB
103 nfcv _wB
104 nfcsb1v _xw/xB
105 csbeq1a x=wB=w/xB
106 103 104 105 cbvixp xyzB=wyzw/xB
107 102 106 eleq2s uxyzBuzz/xB
108 opelxpi uyxyBuzz/xBuyuzxyB×z/xB
109 97 107 108 syl2anc uxyzBuyuzxyB×z/xB
110 109 adantl ¬zyuxyzBuyuzxyB×z/xB
111 disj3 yz=y=yz
112 40 111 sylbb1 ¬zyy=yz
113 difun2 yzz=yz
114 112 113 eqtr4di ¬zyy=yzz
115 114 reseq2d ¬zyuy=uyzz
116 115 uneq1d ¬zyuyzuz=uyzzzuz
117 116 adantr ¬zyuxyzBuyzuz=uyzzzuz
118 fvex uzV
119 95 118 op1std w=uyuz1stw=uy
120 95 118 op2ndd w=uyuz2ndw=uz
121 120 opeq2d w=uyuzz2ndw=zuz
122 121 sneqd w=uyuzz2ndw=zuz
123 119 122 uneq12d w=uyuz1stwz2ndw=uyzuz
124 eqid wxyB×z/xB1stwz2ndw=wxyB×z/xB1stwz2ndw
125 snex zuzV
126 95 125 unex uyzuzV
127 123 124 126 fvmpt uyuzxyB×z/xBwxyB×z/xB1stwz2ndwuyuz=uyzuz
128 109 127 syl uxyzBwxyB×z/xB1stwz2ndwuyuz=uyzuz
129 128 adantl ¬zyuxyzBwxyB×z/xB1stwz2ndwuyuz=uyzuz
130 fnsnsplit uFnyzzyzu=uyzzzuz
131 80 99 130 sylancl uxyzBu=uyzzzuz
132 131 adantl ¬zyuxyzBu=uyzzzuz
133 117 129 132 3eqtr4rd ¬zyuxyzBu=wxyB×z/xB1stwz2ndwuyuz
134 fveq2 v=uyuzwxyB×z/xB1stwz2ndwv=wxyB×z/xB1stwz2ndwuyuz
135 134 rspceeqv uyuzxyB×z/xBu=wxyB×z/xB1stwz2ndwuyuzvxyB×z/xBu=wxyB×z/xB1stwz2ndwv
136 110 133 135 syl2anc ¬zyuxyzBvxyB×z/xBu=wxyB×z/xB1stwz2ndwv
137 136 ralrimiva ¬zyuxyzBvxyB×z/xBu=wxyB×z/xB1stwz2ndwv
138 dffo3 wxyB×z/xB1stwz2ndw:xyB×z/xBontoxyzBwxyB×z/xB1stwz2ndw:xyB×z/xBxyzBuxyzBvxyB×z/xBu=wxyB×z/xB1stwz2ndwv
139 79 137 138 sylanbrc ¬zywxyB×z/xB1stwz2ndw:xyB×z/xBontoxyzB
140 fonum xyB×z/xBdomcardwxyB×z/xB1stwz2ndw:xyB×z/xBontoxyzBxyzBdomcard
141 33 139 140 syl2anr ¬zyz/xBdomcardxyBdomcardxyzBdomcard
142 141 expr ¬zyz/xBdomcardxyBdomcardxyzBdomcard
143 31 142 syl9r ¬zyz/xBdomcardxyBdomcardxyBdomcardxyBdomcardxyzBdomcard
144 143 expimpd ¬zyz/xBdomcardxyBdomcardxyBdomcardxyBdomcardxyzBdomcard
145 144 ancomsd ¬zyxyBdomcardz/xBdomcardxyBdomcardxyBdomcardxyzBdomcard
146 145 com23 ¬zyxyBdomcardxyBdomcardxyBdomcardz/xBdomcardxyzBdomcard
147 146 adantl yFin¬zyxyBdomcardxyBdomcardxyBdomcardz/xBdomcardxyzBdomcard
148 6 10 23 27 30 147 findcard2s AFinxABdomcardxABdomcard
149 148 imp AFinxABdomcardxABdomcard