Metamath Proof Explorer


Theorem onsetrec

Description: Construct On using set recursion. When x e. On , the function F constructs the least ordinal greater than any of the elements of x , which is U. x for a limit ordinal and suc U. x for a successor ordinal.

For example, ( F{ 1o , 2o } ) = { U. { 1o , 2o } , suc U. { 1o , 2o } } = { 2o , 3o } which contains 3o , and ( F_om ) = { U.om , suc U. om } = {om , om +o 1o } , which contains _om . If we start with the empty set and keep applying F transfinitely many times, all ordinal numbers will be generated.

Any function F fulfilling lemmas onsetreclem2 and onsetreclem3 will recursively generate On ; for example, F = ( x e.V |-> suc suc U. x } ) also works. Whether this function or the function in the theorem is used, taking this theorem as a definition of On is unsatisfying because it relies on the different properties of limit and successor ordinals. A different approach could be to let F = ( x e. V |-> { y e. ~P x | Tr y } ) , based on dfon2 .

The proof of this theorem uses the dummy variable a rather than x to avoid a distinct variable condition between F and x . (Contributed by Emmett Weisz, 22-Jun-2021)

Ref Expression
Hypothesis onsetrec.1 𝐹 = ( 𝑥 ∈ V ↦ { 𝑥 , suc 𝑥 } )
Assertion onsetrec setrecs ( 𝐹 ) = On

Proof

Step Hyp Ref Expression
1 onsetrec.1 𝐹 = ( 𝑥 ∈ V ↦ { 𝑥 , suc 𝑥 } )
2 eqid setrecs ( 𝐹 ) = setrecs ( 𝐹 )
3 1 onsetreclem2 ( 𝑎 ⊆ On → ( 𝐹𝑎 ) ⊆ On )
4 3 ax-gen 𝑎 ( 𝑎 ⊆ On → ( 𝐹𝑎 ) ⊆ On )
5 4 a1i ( ⊤ → ∀ 𝑎 ( 𝑎 ⊆ On → ( 𝐹𝑎 ) ⊆ On ) )
6 2 5 setrec2v ( ⊤ → setrecs ( 𝐹 ) ⊆ On )
7 6 mptru setrecs ( 𝐹 ) ⊆ On
8 vex 𝑎 ∈ V
9 8 a1i ( 𝑎 ⊆ setrecs ( 𝐹 ) → 𝑎 ∈ V )
10 id ( 𝑎 ⊆ setrecs ( 𝐹 ) → 𝑎 ⊆ setrecs ( 𝐹 ) )
11 2 9 10 setrec1 ( 𝑎 ⊆ setrecs ( 𝐹 ) → ( 𝐹𝑎 ) ⊆ setrecs ( 𝐹 ) )
12 1 onsetreclem3 ( 𝑎 ∈ On → 𝑎 ∈ ( 𝐹𝑎 ) )
13 ssel ( ( 𝐹𝑎 ) ⊆ setrecs ( 𝐹 ) → ( 𝑎 ∈ ( 𝐹𝑎 ) → 𝑎 ∈ setrecs ( 𝐹 ) ) )
14 11 12 13 syl2im ( 𝑎 ⊆ setrecs ( 𝐹 ) → ( 𝑎 ∈ On → 𝑎 ∈ setrecs ( 𝐹 ) ) )
15 14 com12 ( 𝑎 ∈ On → ( 𝑎 ⊆ setrecs ( 𝐹 ) → 𝑎 ∈ setrecs ( 𝐹 ) ) )
16 15 rgen 𝑎 ∈ On ( 𝑎 ⊆ setrecs ( 𝐹 ) → 𝑎 ∈ setrecs ( 𝐹 ) )
17 tfi ( ( setrecs ( 𝐹 ) ⊆ On ∧ ∀ 𝑎 ∈ On ( 𝑎 ⊆ setrecs ( 𝐹 ) → 𝑎 ∈ setrecs ( 𝐹 ) ) ) → setrecs ( 𝐹 ) = On )
18 7 16 17 mp2an setrecs ( 𝐹 ) = On