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

Theorem inf0 4578
Description: Our Axiom of Infinity derived from existence of omega. The proof shows that the especially contrived class "ran (rec({<.v, u>. | u = suc v}, x) |` om)" exists, is a subset of its union, and contains a given set x (and thus is non-empty). Thus it provides an example demonstrating that a set y exists with the necessary properties demanded by ax-inf 4594.
Hypothesis
Ref Expression
inf0.1 |- om e. V
Assertion
Ref Expression
inf0 |- E.y(x e. y /\ A.z(z e. y -> E.w(z e. w /\ w e. y)))
Distinct variable group:   x,y,z,w

Proof of Theorem inf0
StepHypRef Expression
1 visset 1804 . . . 4 |- x e. V
2 fr0t 3937 . . . 4 |- (x e. V -> ((rec({<.v, u>. | u = suc v}, x) |` om)` (/)) = x)
31, 2ax-mp 7 . . 3 |- ((rec({<.v, u>. | u = suc v}, x) |` om)` (/)) = x
4 frfnom 3936 . . . 4 |- (rec({<.v, u>. | u = suc v}, x) |` om) Fn om
5 peano1 3139 . . . 4 |- (/) e. om
6 fnfvelrn 3798 . . . 4 |- (((rec({<.v, u>. | u = suc v}, x) |` om) Fn om /\ (/) e. om) -> ((rec({<.v, u>. | u = suc v}, x) |` om)` (/)) e. ran (rec({<.v, u>. | u = suc v}, x) |` om))
74, 5, 6mp2an 695 . . 3 |- ((rec({<.v, u>. | u = suc v}, x) |` om)` (/)) e. ran (rec({<.v, u>. | u = suc v}, x) |` om)
83, 7eqeltrr 1537 . 2 |- x e. ran (rec({<.v, u>. | u = suc v}, x) |` om)
9 fvelrnb 3745 . . . . 5 |- ((rec({<.v, u>. | u = suc v}, x) |` om) Fn om -> (z e. ran (rec({<.v, u>. | u = suc v}, x) |` om) <-> E.f e. om ((rec({<.v, u>. | u = suc v}, x) |` om)` f) = z))
104, 9ax-mp 7 . . . 4 |- (z e. ran (rec({<.v, u>. | u = suc v}, x) |` om) <-> E.f e. om ((rec({<.v, u>. | u = suc v}, x) |` om)` f) = z)
11 eleq1 1526 . . . . . . . 8 |- (((rec({<.v, u>. | u = suc v}, x) |` om)` f) = z -> (((rec({<.v, u>. | u = suc v}, x) |` om)` f) e. ((rec({<.v, u>. | u = suc v}, x) |` om)` suc f) <-> z e. ((rec({<.v, u>. | u = suc v}, x) |` om)` suc f)))
12 fvex 3717 . . . . . . . . . . 11 |- ((rec({<.v, u>. | u = suc v}, x) |` om)` f) e. V
1312sucex 3040 . . . . . . . . . 10 |- suc ((rec({<.v, u>. | u = suc v}, x) |` om)` f) e. V
14 ax-17 968 . . . . . . . . . . 11 |- (z e. x -> A.v z e. x)
15 ax-17 968 . . . . . . . . . . 11 |- (z e. f -> A.v z e. f)
16 hbopab1 2802 . . . . . . . . . . . . . . 15 |- (z e. {<.v, u>. | u = suc v} -> A.v z e. {<.v, u>. | u = suc v})
1716, 14hbrdg 3921 . . . . . . . . . . . . . 14 |- (z e. rec({<.v, u>. | u = suc v}, x) -> A.v z e. rec({<.v, u>. | u = suc v}, x))
18 ax-17 968 . . . . . . . . . . . . . 14 |- (z e. om -> A.v z e. om)
1917, 18hbres 3354 . . . . . . . . . . . . 13 |- (z e. (rec({<.v, u>. | u = suc v}, x) |` om) -> A.v z e. (rec({<.v, u>. | u = suc v}, x) |` om))
2019, 15hbfv 3714 . . . . . . . . . . . 12 |- (z e. ((rec({<.v, u>. | u = suc v}, x) |` om)` f) -> A.v z e. ((rec({<.v, u>. | u = suc v}, x) |` om)` f))
2120hbsuc 3030 . . . . . . . . . . 11 |- (z e. suc ((rec({<.v, u>. | u = suc v}, x) |` om)` f) -> A.v z e. suc ((rec({<.v, u>. | u = suc v}, x) |` om)` f))
22 eqid 1468 . . . . . . . . . . 11 |- (rec({<.v, u>. | u = suc v}, x) |` om) = (rec({<.v, u>. | u = suc v}, x) |` om)
23 suceq 3024 . . . . . . . . . . 11 |- (v = ((rec({<.v, u>. | u = suc v}, x) |` om)` f) -> suc v = suc ((rec({<.v, u>. | u = suc v}, x) |` om)` f))
2414, 15, 21, 22, 23frsucopab 3939 . . . . . . . . . 10 |- ((f e. om /\ suc ((rec({<.v, u>. | u = suc v}, x) |` om)` f) e. V) -> ((rec({<.v, u>. | u = suc v}, x) |` om)` suc f) = suc ((rec({<.v, u>. | u = suc v}, x) |` om)` f))
2513, 24mpan2 694 . . . . . . . . 9 |- (f e. om -> ((rec({<.v, u>. | u = suc v}, x) |` om)` suc f) = suc ((rec({<.v, u>. | u = suc v}, x) |` om)` f))
2612sucid 3041 . . . . . . . . 9 |- ((rec({<.v, u>. | u = suc v}, x) |` om)` f) e. suc ((rec({<.v, u>. | u = suc v}, x) |` om)` f)
2725, 26syl5eleqr 1547 . . . . . . . 8 |- (f e. om -> ((rec({<.v, u>. | u = suc v}, x) |` om)` f) e. ((rec({<.v, u>. | u = suc v}, x) |` om)` suc f))
2811, 27syl5bi 208 . . . . . . 7 |- (((rec({<.v, u>. | u = suc v}, x) |` om)` f) = z -> (f e. om -> z e. ((rec({<.v, u>. | u = suc v}, x) |` om)` suc f)))
29 peano2b 3137 . . . . . . . . 9 |- (f e. om <-> suc f e. om)
30 fnfvelrn 3798 . . . . . . . . . 10 |- (((rec({<.v, u>. | u = suc v}, x) |` om) Fn om /\ suc f e. om) -> ((rec({<.v, u>. | u = suc v}, x) |` om)` suc f) e. ran (rec({<.v, u>. | u = suc v}, x) |` om))
314, 30mpan 693 . . . . . . . . 9 |- (suc f e. om -> ((rec({<.v, u>. | u = suc v}, x) |` om)` suc f) e. ran (rec({<.v, u>. | u = suc v}, x) |` om))
3229, 31sylbi 199 . . . . . . . 8 |- (f e. om -> ((rec({<.v, u>. | u = suc v}, x) |` om)` suc f) e. ran (rec({<.v, u>. | u = suc v}, x) |` om))
3332a1i 8 . . . . . . 7 |- (((rec({<.v, u>. | u = suc v}, x) |` om)` f) = z -> (f e. om -> ((rec({<.v, u>. | u = suc v}, x) |` om)` suc f) e. ran (rec({<.v, u>. | u = suc v}, x) |` om)))
3428, 33jcad 598 . . . . . 6 |- (((rec({<.v, u>. | u = suc v}, x) |` om)` f) = z -> (f e. om -> (z e. ((rec({<.v, u>. | u = suc v}, x) |` om)` suc f) /\ ((rec({<.v, u>. | u = suc v}, x) |` om)` suc f) e. ran (rec({<.v, u>. | u = suc v}, x) |` om))))
35 fvex 3717 . . . . . . 7 |- ((rec({<.v, u>. | u = suc v}, x) |` om)` suc f) e. V
36 eleq2 1527 . . . . . . . 8 |- (w = ((rec({<.v, u>. | u = suc v}, x) |` om)` suc f) -> (z e. w <-> z e. ((rec({<.v, u>. | u = suc v}, x) |` om)` suc f)))
37 eleq1 1526 . . . . . . . 8 |- (w = ((rec({<.v, u>. | u = suc v}, x) |` om)` suc f) -> (w e. ran (rec({<.v, u>. | u = suc v}, x) |` om) <-> ((rec({<.v, u>. | u = suc v}, x) |` om)` suc f) e. ran (rec({<.v, u>. | u = suc v}, x) |` om)))
3836, 37anbi12d 626 . . . . . . 7 |- (w = ((rec({<.v, u>. | u = suc v}, x) |` om)` suc f) -> ((z e. w /\ w e. ran (rec({<.v, u>. | u = suc v}, x) |` om)) <-> (z e. ((rec({<.v, u>. | u = suc v}, x) |` om)` suc f) /\ ((rec({<.v, u>. | u = suc v}