Metamath Proof Explorer


Theorem dfom3

Description: The class of natural numbers _om can be defined as the intersection of all inductive sets (which is the smallest inductive set, since inductive sets are closed under intersection), which is valid provided we assume the Axiom of Infinity. Definition 6.3 of Eisenberg p. 82. (Contributed by NM, 6-Aug-1994)

Ref Expression
Assertion dfom3 ω = { 𝑥 ∣ ( ∅ ∈ 𝑥 ∧ ∀ 𝑦𝑥 suc 𝑦𝑥 ) }

Proof

Step Hyp Ref Expression
1 0ex ∅ ∈ V
2 1 elintab ( ∅ ∈ { 𝑥 ∣ ( ∅ ∈ 𝑥 ∧ ∀ 𝑦𝑥 suc 𝑦𝑥 ) } ↔ ∀ 𝑥 ( ( ∅ ∈ 𝑥 ∧ ∀ 𝑦𝑥 suc 𝑦𝑥 ) → ∅ ∈ 𝑥 ) )
3 simpl ( ( ∅ ∈ 𝑥 ∧ ∀ 𝑦𝑥 suc 𝑦𝑥 ) → ∅ ∈ 𝑥 )
4 2 3 mpgbir ∅ ∈ { 𝑥 ∣ ( ∅ ∈ 𝑥 ∧ ∀ 𝑦𝑥 suc 𝑦𝑥 ) }
5 suceq ( 𝑦 = 𝑧 → suc 𝑦 = suc 𝑧 )
6 5 eleq1d ( 𝑦 = 𝑧 → ( suc 𝑦𝑥 ↔ suc 𝑧𝑥 ) )
7 6 rspccv ( ∀ 𝑦𝑥 suc 𝑦𝑥 → ( 𝑧𝑥 → suc 𝑧𝑥 ) )
8 7 adantl ( ( ∅ ∈ 𝑥 ∧ ∀ 𝑦𝑥 suc 𝑦𝑥 ) → ( 𝑧𝑥 → suc 𝑧𝑥 ) )
9 8 a2i ( ( ( ∅ ∈ 𝑥 ∧ ∀ 𝑦𝑥 suc 𝑦𝑥 ) → 𝑧𝑥 ) → ( ( ∅ ∈ 𝑥 ∧ ∀ 𝑦𝑥 suc 𝑦𝑥 ) → suc 𝑧𝑥 ) )
10 9 alimi ( ∀ 𝑥 ( ( ∅ ∈ 𝑥 ∧ ∀ 𝑦𝑥 suc 𝑦𝑥 ) → 𝑧𝑥 ) → ∀ 𝑥 ( ( ∅ ∈ 𝑥 ∧ ∀ 𝑦𝑥 suc 𝑦𝑥 ) → suc 𝑧𝑥 ) )
11 vex 𝑧 ∈ V
12 11 elintab ( 𝑧 { 𝑥 ∣ ( ∅ ∈ 𝑥 ∧ ∀ 𝑦𝑥 suc 𝑦𝑥 ) } ↔ ∀ 𝑥 ( ( ∅ ∈ 𝑥 ∧ ∀ 𝑦𝑥 suc 𝑦𝑥 ) → 𝑧𝑥 ) )
13 11 sucex suc 𝑧 ∈ V
14 13 elintab ( suc 𝑧 { 𝑥 ∣ ( ∅ ∈ 𝑥 ∧ ∀ 𝑦𝑥 suc 𝑦𝑥 ) } ↔ ∀ 𝑥 ( ( ∅ ∈ 𝑥 ∧ ∀ 𝑦𝑥 suc 𝑦𝑥 ) → suc 𝑧𝑥 ) )
15 10 12 14 3imtr4i ( 𝑧 { 𝑥 ∣ ( ∅ ∈ 𝑥 ∧ ∀ 𝑦𝑥 suc 𝑦𝑥 ) } → suc 𝑧 { 𝑥 ∣ ( ∅ ∈ 𝑥 ∧ ∀ 𝑦𝑥 suc 𝑦𝑥 ) } )
16 15 rgenw 𝑧 ∈ ω ( 𝑧 { 𝑥 ∣ ( ∅ ∈ 𝑥 ∧ ∀ 𝑦𝑥 suc 𝑦𝑥 ) } → suc 𝑧 { 𝑥 ∣ ( ∅ ∈ 𝑥 ∧ ∀ 𝑦𝑥 suc 𝑦𝑥 ) } )
17 peano5 ( ( ∅ ∈ { 𝑥 ∣ ( ∅ ∈ 𝑥 ∧ ∀ 𝑦𝑥 suc 𝑦𝑥 ) } ∧ ∀ 𝑧 ∈ ω ( 𝑧 { 𝑥 ∣ ( ∅ ∈ 𝑥 ∧ ∀ 𝑦𝑥 suc 𝑦𝑥 ) } → suc 𝑧 { 𝑥 ∣ ( ∅ ∈ 𝑥 ∧ ∀ 𝑦𝑥 suc 𝑦𝑥 ) } ) ) → ω ⊆ { 𝑥 ∣ ( ∅ ∈ 𝑥 ∧ ∀ 𝑦𝑥 suc 𝑦𝑥 ) } )
18 4 16 17 mp2an ω ⊆ { 𝑥 ∣ ( ∅ ∈ 𝑥 ∧ ∀ 𝑦𝑥 suc 𝑦𝑥 ) }
19 peano1 ∅ ∈ ω
20 peano2 ( 𝑦 ∈ ω → suc 𝑦 ∈ ω )
21 20 rgen 𝑦 ∈ ω suc 𝑦 ∈ ω
22 omex ω ∈ V
23 eleq2 ( 𝑥 = ω → ( ∅ ∈ 𝑥 ↔ ∅ ∈ ω ) )
24 eleq2 ( 𝑥 = ω → ( suc 𝑦𝑥 ↔ suc 𝑦 ∈ ω ) )
25 24 raleqbi1dv ( 𝑥 = ω → ( ∀ 𝑦𝑥 suc 𝑦𝑥 ↔ ∀ 𝑦 ∈ ω suc 𝑦 ∈ ω ) )
26 23 25 anbi12d ( 𝑥 = ω → ( ( ∅ ∈ 𝑥 ∧ ∀ 𝑦𝑥 suc 𝑦𝑥 ) ↔ ( ∅ ∈ ω ∧ ∀ 𝑦 ∈ ω suc 𝑦 ∈ ω ) ) )
27 eleq2 ( 𝑥 = ω → ( 𝑧𝑥𝑧 ∈ ω ) )
28 26 27 imbi12d ( 𝑥 = ω → ( ( ( ∅ ∈ 𝑥 ∧ ∀ 𝑦𝑥 suc 𝑦𝑥 ) → 𝑧𝑥 ) ↔ ( ( ∅ ∈ ω ∧ ∀ 𝑦 ∈ ω suc 𝑦 ∈ ω ) → 𝑧 ∈ ω ) ) )
29 22 28 spcv ( ∀ 𝑥 ( ( ∅ ∈ 𝑥 ∧ ∀ 𝑦𝑥 suc 𝑦𝑥 ) → 𝑧𝑥 ) → ( ( ∅ ∈ ω ∧ ∀ 𝑦 ∈ ω suc 𝑦 ∈ ω ) → 𝑧 ∈ ω ) )
30 12 29 sylbi ( 𝑧 { 𝑥 ∣ ( ∅ ∈ 𝑥 ∧ ∀ 𝑦𝑥 suc 𝑦𝑥 ) } → ( ( ∅ ∈ ω ∧ ∀ 𝑦 ∈ ω suc 𝑦 ∈ ω ) → 𝑧 ∈ ω ) )
31 19 21 30 mp2ani ( 𝑧 { 𝑥 ∣ ( ∅ ∈ 𝑥 ∧ ∀ 𝑦𝑥 suc 𝑦𝑥 ) } → 𝑧 ∈ ω )
32 31 ssriv { 𝑥 ∣ ( ∅ ∈ 𝑥 ∧ ∀ 𝑦𝑥 suc 𝑦𝑥 ) } ⊆ ω
33 18 32 eqssi ω = { 𝑥 ∣ ( ∅ ∈ 𝑥 ∧ ∀ 𝑦𝑥 suc 𝑦𝑥 ) }