Metamath Proof Explorer


Theorem hashbclem

Description: Lemma for hashbc : inductive step. (Contributed by Mario Carneiro, 13-Jul-2014)

Ref Expression
Hypotheses hashbc.1 φAFin
hashbc.2 φ¬zA
hashbc.3 φj(Aj)=x𝒫A|x=j
hashbc.4 φK
Assertion hashbclem φ(AzK)=x𝒫Az|x=K

Proof

Step Hyp Ref Expression
1 hashbc.1 φAFin
2 hashbc.2 φ¬zA
3 hashbc.3 φj(Aj)=x𝒫A|x=j
4 hashbc.4 φK
5 oveq2 j=K(Aj)=(AK)
6 eqeq2 j=Kx=jx=K
7 6 rabbidv j=Kx𝒫A|x=j=x𝒫A|x=K
8 7 fveq2d j=Kx𝒫A|x=j=x𝒫A|x=K
9 5 8 eqeq12d j=K(Aj)=x𝒫A|x=j(AK)=x𝒫A|x=K
10 9 3 4 rspcdva φ(AK)=x𝒫A|x=K
11 ssun1 AAz
12 11 sspwi 𝒫A𝒫Az
13 12 sseli x𝒫Ax𝒫Az
14 13 adantl φx𝒫Ax𝒫Az
15 elpwi x𝒫AxA
16 15 ssneld x𝒫A¬zA¬zx
17 2 16 mpan9 φx𝒫A¬zx
18 14 17 jca φx𝒫Ax𝒫Az¬zx
19 elpwi x𝒫AzxAz
20 uncom Az=zA
21 19 20 sseqtrdi x𝒫AzxzA
22 21 adantr x𝒫Az¬zxxzA
23 simpr x𝒫Az¬zx¬zx
24 disjsn xz=¬zx
25 23 24 sylibr x𝒫Az¬zxxz=
26 disjssun xz=xzAxA
27 25 26 syl x𝒫Az¬zxxzAxA
28 22 27 mpbid x𝒫Az¬zxxA
29 vex xV
30 29 elpw x𝒫AxA
31 28 30 sylibr x𝒫Az¬zxx𝒫A
32 31 adantl φx𝒫Az¬zxx𝒫A
33 18 32 impbida φx𝒫Ax𝒫Az¬zx
34 33 anbi1d φx𝒫Ax=Kx𝒫Az¬zxx=K
35 anass x𝒫Az¬zxx=Kx𝒫Az¬zxx=K
36 34 35 bitrdi φx𝒫Ax=Kx𝒫Az¬zxx=K
37 36 rabbidva2 φx𝒫A|x=K=x𝒫Az|¬zxx=K
38 37 fveq2d φx𝒫A|x=K=x𝒫Az|¬zxx=K
39 10 38 eqtrd φ(AK)=x𝒫Az|¬zxx=K
40 oveq2 j=K1(Aj)=(AK1)
41 eqeq2 j=K1x=jx=K1
42 41 rabbidv j=K1x𝒫A|x=j=x𝒫A|x=K1
43 42 fveq2d j=K1x𝒫A|x=j=x𝒫A|x=K1
44 40 43 eqeq12d j=K1(Aj)=x𝒫A|x=j(AK1)=x𝒫A|x=K1
45 peano2zm KK1
46 4 45 syl φK1
47 44 3 46 rspcdva φ(AK1)=x𝒫A|x=K1
48 pwfi AFin𝒫AFin
49 1 48 sylib φ𝒫AFin
50 rabexg 𝒫AFinx𝒫A|x=K1V
51 49 50 syl φx𝒫A|x=K1V
52 snfi zFin
53 unfi AFinzFinAzFin
54 1 52 53 sylancl φAzFin
55 pwfi AzFin𝒫AzFin
56 54 55 sylib φ𝒫AzFin
57 ssrab2 x𝒫Az|zxx=K𝒫Az
58 ssfi 𝒫AzFinx𝒫Az|zxx=K𝒫Azx𝒫Az|zxx=KFin
59 56 57 58 sylancl φx𝒫Az|zxx=KFin
60 fveqeq2 x=ux=K1u=K1
61 60 elrab ux𝒫A|x=K1u𝒫Au=K1
62 eleq2 x=uzzxzuz
63 fveqeq2 x=uzx=Kuz=K
64 62 63 anbi12d x=uzzxx=Kzuzuz=K
65 elpwi u𝒫AuA
66 65 ad2antrl φu𝒫Au=K1uA
67 unss1 uAuzAz
68 66 67 syl φu𝒫Au=K1uzAz
69 vex uV
70 vsnex zV
71 69 70 unex uzV
72 71 elpw uz𝒫AzuzAz
73 68 72 sylibr φu𝒫Au=K1uz𝒫Az
74 1 adantr φu𝒫Au=K1AFin
75 74 66 ssfid φu𝒫Au=K1uFin
76 52 a1i φu𝒫Au=K1zFin
77 2 adantr φu𝒫Au=K1¬zA
78 66 77 ssneldd φu𝒫Au=K1¬zu
79 disjsn uz=¬zu
80 78 79 sylibr φu𝒫Au=K1uz=
81 hashun uFinzFinuz=uz=u+z
82 75 76 80 81 syl3anc φu𝒫Au=K1uz=u+z
83 simprr φu𝒫Au=K1u=K1
84 hashsng zVz=1
85 84 elv z=1
86 85 a1i φu𝒫Au=K1z=1
87 83 86 oveq12d φu𝒫Au=K1u+z=K-1+1
88 4 adantr φu𝒫Au=K1K
89 88 zcnd φu𝒫Au=K1K
90 ax-1cn 1
91 npcan K1K-1+1=K
92 89 90 91 sylancl φu𝒫Au=K1K-1+1=K
93 82 87 92 3eqtrd φu𝒫Au=K1uz=K
94 ssun2 zuz
95 vex zV
96 95 snss zuzzuz
97 94 96 mpbir zuz
98 93 97 jctil φu𝒫Au=K1zuzuz=K
99 64 73 98 elrabd φu𝒫Au=K1uzx𝒫Az|zxx=K
100 99 ex φu𝒫Au=K1uzx𝒫Az|zxx=K
101 61 100 biimtrid φux𝒫A|x=K1uzx𝒫Az|zxx=K
102 eleq2 x=vzxzv
103 fveqeq2 x=vx=Kv=K
104 102 103 anbi12d x=vzxx=Kzvv=K
105 104 elrab vx𝒫Az|zxx=Kv𝒫Azzvv=K
106 fveqeq2 x=vzx=K1vz=K1
107 elpwi v𝒫AzvAz
108 107 ad2antrl φv𝒫Azzvv=KvAz
109 108 20 sseqtrdi φv𝒫Azzvv=KvzA
110 ssundif vzAvzA
111 109 110 sylib φv𝒫Azzvv=KvzA
112 vex vV
113 112 difexi vzV
114 113 elpw vz𝒫AvzA
115 111 114 sylibr φv𝒫Azzvv=Kvz𝒫A
116 1 adantr φv𝒫Azzvv=KAFin
117 116 111 ssfid φv𝒫Azzvv=KvzFin
118 hashcl vzFinvz0
119 117 118 syl φv𝒫Azzvv=Kvz0
120 119 nn0cnd φv𝒫Azzvv=Kvz
121 pncan vz1vz+1-1=vz
122 120 90 121 sylancl φv𝒫Azzvv=Kvz+1-1=vz
123 undif1 vzz=vz
124 simprrl φv𝒫Azzvv=Kzv
125 124 snssd φv𝒫Azzvv=Kzv
126 ssequn2 zvvz=v
127 125 126 sylib φv𝒫Azzvv=Kvz=v
128 123 127 eqtrid φv𝒫Azzvv=Kvzz=v
129 128 fveq2d φv𝒫Azzvv=Kvzz=v
130 52 a1i φv𝒫Azzvv=KzFin
131 disjdifr vzz=
132 131 a1i φv𝒫Azzvv=Kvzz=
133 hashun vzFinzFinvzz=vzz=vz+z
134 117 130 132 133 syl3anc φv𝒫Azzvv=Kvzz=vz+z
135 85 oveq2i vz+z=vz+1
136 134 135 eqtrdi φv𝒫Azzvv=Kvzz=vz+1
137 simprrr φv𝒫Azzvv=Kv=K
138 129 136 137 3eqtr3d φv𝒫Azzvv=Kvz+1=K
139 138 oveq1d φv𝒫Azzvv=Kvz+1-1=K1
140 122 139 eqtr3d φv𝒫Azzvv=Kvz=K1
141 106 115 140 elrabd φv𝒫Azzvv=Kvzx𝒫A|x=K1
142 141 ex φv𝒫Azzvv=Kvzx𝒫A|x=K1
143 105 142 biimtrid φvx𝒫Az|zxx=Kvzx𝒫A|x=K1
144 61 105 anbi12i ux𝒫A|x=K1vx𝒫Az|zxx=Ku𝒫Au=K1v𝒫Azzvv=K
145 simp3rl φu𝒫Au=K1v𝒫Azzvv=Kzv
146 145 snssd φu𝒫Au=K1v𝒫Azzvv=Kzv
147 incom zu=uz
148 80 3adant3 φu𝒫Au=K1v𝒫Azzvv=Kuz=
149 147 148 eqtrid φu𝒫Au=K1v𝒫Azzvv=Kzu=
150 uneqdifeq zvzu=zu=vvz=u
151 146 149 150 syl2anc φu𝒫Au=K1v𝒫Azzvv=Kzu=vvz=u
152 151 bicomd φu𝒫Au=K1v𝒫Azzvv=Kvz=uzu=v
153 eqcom u=vzvz=u
154 eqcom v=uzuz=v
155 uncom uz=zu
156 155 eqeq1i uz=vzu=v
157 154 156 bitri v=uzzu=v
158 152 153 157 3bitr4g φu𝒫Au=K1v𝒫Azzvv=Ku=vzv=uz
159 158 3expib φu𝒫Au=K1v𝒫Azzvv=Ku=vzv=uz
160 144 159 biimtrid φux𝒫A|x=K1vx𝒫Az|zxx=Ku=vzv=uz
161 51 59 101 143 160 en3d φx𝒫A|x=K1x𝒫Az|zxx=K
162 ssrab2 x𝒫A|x=K1𝒫A
163 ssfi 𝒫AFinx𝒫A|x=K1𝒫Ax𝒫A|x=K1Fin
164 49 162 163 sylancl φx𝒫A|x=K1Fin
165 hashen x𝒫A|x=K1Finx𝒫Az|zxx=KFinx𝒫A|x=K1=x𝒫Az|zxx=Kx𝒫A|x=K1x𝒫Az|zxx=K
166 164 59 165 syl2anc φx𝒫A|x=K1=x𝒫Az|zxx=Kx𝒫A|x=K1x𝒫Az|zxx=K
167 161 166 mpbird φx𝒫A|x=K1=x𝒫Az|zxx=K
168 47 167 eqtrd φ(AK1)=x𝒫Az|zxx=K
169 39 168 oveq12d φ(AK)+(AK1)=x𝒫Az|¬zxx=K+x𝒫Az|zxx=K
170 52 a1i φzFin
171 disjsn Az=¬zA
172 2 171 sylibr φAz=
173 hashun AFinzFinAz=Az=A+z
174 1 170 172 173 syl3anc φAz=A+z
175 85 oveq2i A+z=A+1
176 174 175 eqtrdi φAz=A+1
177 176 oveq1d φ(AzK)=(A+1K)
178 hashcl AFinA0
179 1 178 syl φA0
180 bcpasc A0K(AK)+(AK1)=(A+1K)
181 179 4 180 syl2anc φ(AK)+(AK1)=(A+1K)
182 177 181 eqtr4d φ(AzK)=(AK)+(AK1)
183 pm2.1 ¬zxzx
184 183 biantrur x=K¬zxzxx=K
185 andir ¬zxzxx=K¬zxx=Kzxx=K
186 184 185 bitri x=K¬zxx=Kzxx=K
187 186 rabbii x𝒫Az|x=K=x𝒫Az|¬zxx=Kzxx=K
188 unrab x𝒫Az|¬zxx=Kx𝒫Az|zxx=K=x𝒫Az|¬zxx=Kzxx=K
189 187 188 eqtr4i x𝒫Az|x=K=x𝒫Az|¬zxx=Kx𝒫Az|zxx=K
190 189 fveq2i x𝒫Az|x=K=x𝒫Az|¬zxx=Kx𝒫Az|zxx=K
191 ssrab2 x𝒫Az|¬zxx=K𝒫Az
192 ssfi 𝒫AzFinx𝒫Az|¬zxx=K𝒫Azx𝒫Az|¬zxx=KFin
193 56 191 192 sylancl φx𝒫Az|¬zxx=KFin
194 inrab x𝒫Az|¬zxx=Kx𝒫Az|zxx=K=x𝒫Az|¬zxx=Kzxx=K
195 simprl ¬zxx=Kzxx=Kzx
196 simpll ¬zxx=Kzxx=K¬zx
197 195 196 pm2.65i ¬¬zxx=Kzxx=K
198 197 rgenw x𝒫Az¬¬zxx=Kzxx=K
199 rabeq0 x𝒫Az|¬zxx=Kzxx=K=x𝒫Az¬¬zxx=Kzxx=K
200 198 199 mpbir x𝒫Az|¬zxx=Kzxx=K=
201 194 200 eqtri x𝒫Az|¬zxx=Kx𝒫Az|zxx=K=
202 201 a1i φx𝒫Az|¬zxx=Kx𝒫Az|zxx=K=
203 hashun x𝒫Az|¬zxx=KFinx𝒫Az|zxx=KFinx𝒫Az|¬zxx=Kx𝒫Az|zxx=K=x𝒫Az|¬zxx=Kx𝒫Az|zxx=K=x𝒫Az|¬zxx=K+x𝒫Az|zxx=K
204 193 59 202 203 syl3anc φx𝒫Az|¬zxx=Kx𝒫Az|zxx=K=x𝒫Az|¬zxx=K+x𝒫Az|zxx=K
205 190 204 eqtrid φx𝒫Az|x=K=x𝒫Az|¬zxx=K+x𝒫Az|zxx=K
206 169 182 205 3eqtr4d φ(AzK)=x𝒫Az|x=K