HomeHome Metamath Proof Explorer < Previous   Next >
Related theorems
Unicode version

Theorem unifi 4532
Description: The finite union of finite sets is finite. Exercise 13 of [Enderton] p. 144.
Assertion
Ref Expression
unifi |- ((E.n e. om A ~~ n /\ A.x e. A E.n e. om x ~~ n) -> E.n e. om U.A ~~ n)
Distinct variable group:   x,n,A

Proof of Theorem unifi
StepHypRef Expression
1 breq2 2613 . . . 4 |- (n = m -> (A ~~ n <-> A ~~ m))
21cbvrexv 1792 . . 3 |- (E.n e. om A ~~ n <-> E.m e. om A ~~ m)
3 breq2 2613 . . . . . . . . 9 |- (m = (/) -> (y ~~ m <-> y ~~ (/)))
43anbi1d 615 . . . . . . . 8 |- (m = (/) -> ((y ~~ m /\ A.x e. y E.n e. om x ~~ n) <-> (y ~~ (/) /\ A.x e. y E.n e. om x ~~ n)))
54imbi1d 611 . . . . . . 7 |- (m = (/) -> (((y ~~ m /\ A.x e. y E.n e. om x ~~ n) -> E.n e. om U.y ~~ n) <-> ((y ~~ (/) /\ A.x e. y E.n e. om x ~~ n) -> E.n e. om U.y ~~ n)))
65albidv 1273 . . . . . 6 |- (m = (/) -> (A.y((y ~~ m /\ A.x e. y E.n e. om x ~~ n) -> E.n e. om U.y ~~ n) <-> A.y((y ~~ (/) /\ A.x e. y E.n e. om x ~~ n) -> E.n e. om U.y ~~ n)))
7 breq2 2613 . . . . . . . . 9 |- (m = k -> (y ~~ m <-> y ~~ k))
87anbi1d 615 . . . . . . . 8 |- (m = k -> ((y ~~ m /\ A.x e. y E.n e. om x ~~ n) <-> (y ~~ k /\ A.x e. y E.n e. om x ~~ n)))
98imbi1d 611 . . . . . . 7 |- (m = k -> (((y ~~ m /\ A.x e. y E.n e. om x ~~ n) -> E.n e. om U.y ~~ n) <-> ((y ~~ k /\ A.x e. y E.n e. om x ~~ n) -> E.n e. om U.y ~~ n)))
109albidv 1273 . . . . . 6 |- (m = k -> (A.y((y ~~ m /\ A.x e. y E.n e. om x ~~ n) -> E.n e. om U.y ~~ n) <-> A.y((y ~~ k /\ A.x e. y E.n e. om x ~~ n) -> E.n e. om U.y ~~ n)))
11 breq2 2613 . . . . . . . . 9 |- (m = suc k -> (y ~~ m <-> y ~~ suc k))
1211anbi1d 615 . . . . . . . 8 |- (m = suc k -> ((y ~~ m /\ A.x e. y E.n e. om x ~~ n) <-> (y ~~ suc k /\ A.x e. y E.n e. om x ~~ n)))
1312imbi1d 611 . . . . . . 7 |- (m = suc k -> (((y ~~ m /\ A.x e. y E.n e. om x ~~ n) -> E.n e. om U.y ~~ n) <-> ((y ~~ suc k /\ A.x e. y E.n e. om x ~~ n) -> E.n e. om U.y ~~ n)))
1413albidv 1273 . . . . . 6 |- (m = suc k -> (A.y((y ~~ m /\ A.x e. y E.n e. om x ~~ n) -> E.n e. om U.y ~~ n) <-> A.y((y ~~ suc k /\ A.x e. y E.n e. om x ~~ n) -> E.n e. om U.y ~~ n)))
15 en0 4404 . . . . . . . . 9 |- (y ~~ (/) <-> y = (/))
16 unieq 2500 . . . . . . . . . . 11 |- (y = (/) -> U.y = U.(/))
17 uni0 2515 . . . . . . . . . . . 12 |- U.(/) = (/)
18 0ex 2701 . . . . . . . . . . . . 13 |- (/) e. V
1918enref 4372 . . . . . . . . . . . 12 |- (/) ~~ (/)
2017, 19eqbrtr 2624 . . . . . . . . . . 11 |- U.(/) ~~ (/)
2116, 20syl6eqbr 2642 . . . . . . . . . 10 |- (y = (/) -> U.y ~~ (/))
22 peano1 3139 . . . . . . . . . . 11 |- (/) e. om
23 breq2 2613 . . . . . . . . . . . 12 |- (n = (/) -> (U.y ~~ n <-> U.y ~~ (/)))
2423rcla4ev 1868 . . . . . . . . . . 11 |- (((/) e. om /\ U.y ~~ (/)) -> E.n e. om U.y ~~ n)
2522, 24mpan 693 . . . . . . . . . 10 |- (U.y ~~ (/) -> E.n e. om U.y ~~ n)
2621, 25syl 10 . . . . . . . . 9 |- (y = (/) -> E.n e. om U.y ~~ n)
2715, 26sylbi 199 . . . . . . . 8 |- (y ~~ (/) -> E.n e. om U.y ~~ n)
2827adantr 389 . . . . . . 7 |- ((y ~~ (/) /\ A.x e. y E.n e. om x ~~ n) -> E.n e. om U.y ~~ n)
2928ax-gen 960 . . . . . 6 |- A.y((y ~~ (/) /\ A.x e. y E.n e. om x ~~ n) -> E.n e. om U.y ~~ n)
30 breq1 2612 . . . . . . . . . . 11 |- (y = z -> (y ~~ k <-> z ~~ k))
31 raleq1 1778 . . . . . . . . . . 11 |- (y = z -> (A.x e. y E.n e. om x ~~ n <-> A.x e. z E.n e. om x ~~ n))
3230, 31anbi12d 626 . . . . . . . . . 10 |- (y = z -> ((y ~~ k /\ A.x e. y E.n e. om x ~~ n) <-> (z ~~ k /\ A.x e. z E.n e. om x ~~ n)))
33 unieq 2500 . . . . . . . . . . . 12 |- (y = z -> U.y = U.z)
3433breq1d 2619 . . . . . . . . . . 11 |- (y = z -> (U.y ~~ n <-> U.z ~~ n))
3534rexbidv 1656 . . . . . . . . . 10 |- (y = z -> (E.n e. om U.y ~~ n <-> E.n e. om U.z ~~ n))
3632, 35imbi12d 624 . . . . . . . . 9 |- (y = z -> (((y ~~ k /\ A.x e. y E.n e. om x ~~ n) -> E.n e. om U.y ~~ n) <-> ((z ~~ k /\ A.x e. z E.n e. om x ~~ n) -> E.n e. om U.z ~~ n)))
3736cbvalv 1309 . . . . . . . 8 |- (A.y((y ~~ k /\ A.x e. y E.n e. om x ~~ n) -> E.n e. om U.y ~~ n) <-> A.z((z ~~ k /\ A.x e. z E.n e. om x ~~ n) -> E.n e. om U.z ~~ n))
38 visset 1804 . . . . . . . . . . . . . . 15 |- k e. V
3938sucex 3040 . . . . . . . . . . . . . 14 |- suc k e. V
4039ensym 4393 . . . . . . . . . . . . 13 |- (y ~~ suc k -> suc k ~~ y)
41 visset 1804 . . . . . . . . . . . . . 14 |- y e. V
4241bren 4359 . . . . . . . . . . . . 13 |- (suc k ~~ y <-> E.f f:suc k-1-1-onto->y)
4340, 42sylib 198 . . . . . . . . . . . 12 |- (y ~~ suc k -> E.f f:suc k-1-1-onto->y)
44 unfi 4528 . . . . . . . . . . . . . . . 16 |- ((E.n e. om U.(f"k) ~~ n /\ E.n e. om (f` k) ~~ n) -> E.n e. om (U.(f"k) u. (f` k)) ~~ n)
45 visset 1804 . . . . . . . . . . . . . . . . . . . . 21 |- f e. V
46 imaexg 3400 . . . . . . . . . . . . . . . . . . . . 21 |- (f e. V -> (f"k) e. V)
4745, 46ax-mp 7 . . . . . . . . . . . . . . . . . . . 20 |- (f"k) e. V
48 breq1 2612 . . . . . . . . . . . . . . . . . . . . . 22 |- (z = (f"k) -> (z ~~ k <-> (f"k) ~~ k))
49 raleq1 1778 . . . . . . . . . . . . . . . . . . . . . 22 |- (z = (f"k) -> (A.x e. z E.n e. om x ~~ n <-> A.x e. (f"k)E.n e. om x ~~ n))
5048, 49anbi12d 626 . . . . . . . . . . . . . . . . . . . . 21 |- (z = (f"k) -> ((z ~~ k /\ A.x e. z E.n e. om x ~~ n) <-> ((f"k) ~~ k /\ A.x e. (f"k)E.n e. om x ~~ n)))
51 unieq 2500 . . . . . . . . . . . . . . . . . . . . . . 23 |- (z = (f"k) -> U.z = U.(f"k))
5251breq1d 2619 . . . . . . . . . . . . . . . . . . . . . 22 |- (z = (f"k) -> (U.z ~~ n <-> U.(f"k) ~~ n))
5352rexbidv 1656 . . . . . . . . . . . . . . . . . . . . 21 |- (z = (f"k) -> (E.n e. om U.z ~~ n <-> E.n e. om U.(f"k) ~~ n))
5450, 53imbi12d 624 . . . . . . . . . . . . . . . . . . . 20 |- (z = (f"k) -> (((z ~~ k /\ A.x e. z E.n e. om x ~~ n) -> E.n e. om U.z ~~ n) <-> (((f"k) ~~ k /\ A.x e. (f"k)E.n e. om x ~~ n) -> E.n e. om U.(f"k) ~~ n)))
5547, 54cla4v 1859 . . . . . . . . . . . . . . . . . . 19 |- (A.z((z ~~ k /\ A.x e. z E.n e. om x ~~ n) -> E.n e. om U.z ~~ n) -> (((f"k) ~~ k /\ A.x e. (f"k)E.n e. om x ~~ n) -> E.n e. om U.(f"k) ~~ n))
5655imp 350 . . . . . . . . . . . . . . . . . 18 |- ((A.z((z ~~ k /\ A.x e. z E.n e. om x ~~ n) -> E.n e. om U.z ~~ n) /\ ((f"k) ~~ k /\ A.x e. (f"k)E.n e. om x ~~ n)) -> E.n e. om U.(f"k) ~~ n)
57 f1of1 3673 . . . . . . . . . . . . . . . . . . . . . 22 |- (f:suc k-1-1-onto->y -> f:suc k-1-1->y)
58 sssucid 3037 . . . . . . . . . . . . . . . . . . . . . . 23 |- k (_ suc k
59 f1ores 3688 . . . . . . . . . . . . . . . . . . . . . . 23 |- ((f:suc k-1-1->y /\ k (_ suc k) -> (f |` k):k-1-1-onto->(f"k))
6058, 59mpan2 694 . . . . . . . . . . . . . . . . . . . . . 22 |- (f:suc k-1-1->y -> (f |` k):k-1-1-onto->(f"k))
6138f1oen 4379 . . . . . . . . . . . . . . . . . . . . . 22 |- ((f |` k):k-1-1-onto->(f"k) -> k ~~ (f"k))
6257, 60, 613syl 20 . . . . . . . . . . . . . . . . . . . . 21 |- (f:suc k-1-1-onto->y -> k ~~ (f"k))
6347ensym 4393 . . . . . . . . . . . . . . . . . . . . 21 |- (k ~~ (f"k) -> (f"k) ~~ k)
6462, 63syl 10 . . . . . . . . . . . . . . . . . . . 20 |- (f:suc k-1-1-onto->y -> (f"k) ~~ k)
6564adantr 389 . . . . . . . . . . . . . . . . . . 19 |- ((f:suc k-1-1-onto->y /\ A.x e. y E.n e. om x ~~ n) -> (f"k) ~~ k)
66 ssun1 2183 . . . . . . . . . . . . . . . . . . . . . . 23 |- (f"k) (_ ((f"k) u. {(f` k)})
6766a1i 8 . . . . . . . . . . . . . . . . . . . . . 22 |- (f:suc k-1-1-onto->y -> (