Metamath Proof Explorer


Theorem oldlim

Description: The value of the old set at a limit ordinal. (Contributed by Scott Fenton, 8-Aug-2024)

Ref Expression
Assertion oldlim ( ( Lim 𝐴 ∧ 𝐴 ∈ 𝑉 ) → ( O ‘ 𝐴 ) = ∪ ( O “ 𝐴 ) )

Proof

Step Hyp Ref Expression
1 simprl ⊢ ( ( ( Lim 𝐴 ∧ 𝐴 ∈ 𝑉 ) ∧ ( 𝑐 ∈ 𝐴 ∧ 𝑥 ∈ ( M ‘ 𝑐 ) ) ) → 𝑐 ∈ 𝐴 )
2 limsuc ⊢ ( Lim 𝐴 → ( 𝑐 ∈ 𝐴 ↔ suc 𝑐 ∈ 𝐴 ) )
3 2 ad2antrr ⊢ ( ( ( Lim 𝐴 ∧ 𝐴 ∈ 𝑉 ) ∧ ( 𝑐 ∈ 𝐴 ∧ 𝑥 ∈ ( M ‘ 𝑐 ) ) ) → ( 𝑐 ∈ 𝐴 ↔ suc 𝑐 ∈ 𝐴 ) )
4 1 3 mpbid ⊢ ( ( ( Lim 𝐴 ∧ 𝐴 ∈ 𝑉 ) ∧ ( 𝑐 ∈ 𝐴 ∧ 𝑥 ∈ ( M ‘ 𝑐 ) ) ) → suc 𝑐 ∈ 𝐴 )
5 simprr ⊢ ( ( ( Lim 𝐴 ∧ 𝐴 ∈ 𝑉 ) ∧ ( 𝑐 ∈ 𝐴 ∧ 𝑥 ∈ ( M ‘ 𝑐 ) ) ) → 𝑥 ∈ ( M ‘ 𝑐 ) )
6 limord ⊢ ( Lim 𝐴 → Ord 𝐴 )
7 elex ⊢ ( 𝐴 ∈ 𝑉 → 𝐴 ∈ V )
8 6 7 anim12i ⊢ ( ( Lim 𝐴 ∧ 𝐴 ∈ 𝑉 ) → ( Ord 𝐴 ∧ 𝐴 ∈ V ) )
9 elon2 ⊢ ( 𝐴 ∈ On ↔ ( Ord 𝐴 ∧ 𝐴 ∈ V ) )
10 8 9 sylibr ⊢ ( ( Lim 𝐴 ∧ 𝐴 ∈ 𝑉 ) → 𝐴 ∈ On )
11 onelon ⊢ ( ( 𝐴 ∈ On ∧ 𝑐 ∈ 𝐴 ) → 𝑐 ∈ On )
12 10 1 11 syl2an2r ⊢ ( ( ( Lim 𝐴 ∧ 𝐴 ∈ 𝑉 ) ∧ ( 𝑐 ∈ 𝐴 ∧ 𝑥 ∈ ( M ‘ 𝑐 ) ) ) → 𝑐 ∈ On )
13 madeoldsuc ⊢ ( 𝑐 ∈ On → ( M ‘ 𝑐 ) = ( O ‘ suc 𝑐 ) )
14 12 13 syl ⊢ ( ( ( Lim 𝐴 ∧ 𝐴 ∈ 𝑉 ) ∧ ( 𝑐 ∈ 𝐴 ∧ 𝑥 ∈ ( M ‘ 𝑐 ) ) ) → ( M ‘ 𝑐 ) = ( O ‘ suc 𝑐 ) )
15 5 14 eleqtrd ⊢ ( ( ( Lim 𝐴 ∧ 𝐴 ∈ 𝑉 ) ∧ ( 𝑐 ∈ 𝐴 ∧ 𝑥 ∈ ( M ‘ 𝑐 ) ) ) → 𝑥 ∈ ( O ‘ suc 𝑐 ) )
16 fveq2 ⊢ ( 𝑏 = suc 𝑐 → ( O ‘ 𝑏 ) = ( O ‘ suc 𝑐 ) )
17 16 eleq2d ⊢ ( 𝑏 = suc 𝑐 → ( 𝑥 ∈ ( O ‘ 𝑏 ) ↔ 𝑥 ∈ ( O ‘ suc 𝑐 ) ) )
18 17 rspcev ⊢ ( ( suc 𝑐 ∈ 𝐴 ∧ 𝑥 ∈ ( O ‘ suc 𝑐 ) ) → ∃ 𝑏 ∈ 𝐴 𝑥 ∈ ( O ‘ 𝑏 ) )
19 4 15 18 syl2anc ⊢ ( ( ( Lim 𝐴 ∧ 𝐴 ∈ 𝑉 ) ∧ ( 𝑐 ∈ 𝐴 ∧ 𝑥 ∈ ( M ‘ 𝑐 ) ) ) → ∃ 𝑏 ∈ 𝐴 𝑥 ∈ ( O ‘ 𝑏 ) )
20 19 rexlimdvaa ⊢ ( ( Lim 𝐴 ∧ 𝐴 ∈ 𝑉 ) → ( ∃ 𝑐 ∈ 𝐴 𝑥 ∈ ( M ‘ 𝑐 ) → ∃ 𝑏 ∈ 𝐴 𝑥 ∈ ( O ‘ 𝑏 ) ) )
21 simprl ⊢ ( ( ( Lim 𝐴 ∧ 𝐴 ∈ 𝑉 ) ∧ ( 𝑏 ∈ 𝐴 ∧ 𝑥 ∈ ( O ‘ 𝑏 ) ) ) → 𝑏 ∈ 𝐴 )
22 simprr ⊢ ( ( ( Lim 𝐴 ∧ 𝐴 ∈ 𝑉 ) ∧ ( 𝑏 ∈ 𝐴 ∧ 𝑥 ∈ ( O ‘ 𝑏 ) ) ) → 𝑥 ∈ ( O ‘ 𝑏 ) )
23 22 oldmaded ⊢ ( ( ( Lim 𝐴 ∧ 𝐴 ∈ 𝑉 ) ∧ ( 𝑏 ∈ 𝐴 ∧ 𝑥 ∈ ( O ‘ 𝑏 ) ) ) → 𝑥 ∈ ( M ‘ 𝑏 ) )
24 fveq2 ⊢ ( 𝑐 = 𝑏 → ( M ‘ 𝑐 ) = ( M ‘ 𝑏 ) )
25 24 eleq2d ⊢ ( 𝑐 = 𝑏 → ( 𝑥 ∈ ( M ‘ 𝑐 ) ↔ 𝑥 ∈ ( M ‘ 𝑏 ) ) )
26 25 rspcev ⊢ ( ( 𝑏 ∈ 𝐴 ∧ 𝑥 ∈ ( M ‘ 𝑏 ) ) → ∃ 𝑐 ∈ 𝐴 𝑥 ∈ ( M ‘ 𝑐 ) )
27 21 23 26 syl2anc ⊢ ( ( ( Lim 𝐴 ∧ 𝐴 ∈ 𝑉 ) ∧ ( 𝑏 ∈ 𝐴 ∧ 𝑥 ∈ ( O ‘ 𝑏 ) ) ) → ∃ 𝑐 ∈ 𝐴 𝑥 ∈ ( M ‘ 𝑐 ) )
28 27 rexlimdvaa ⊢ ( ( Lim 𝐴 ∧ 𝐴 ∈ 𝑉 ) → ( ∃ 𝑏 ∈ 𝐴 𝑥 ∈ ( O ‘ 𝑏 ) → ∃ 𝑐 ∈ 𝐴 𝑥 ∈ ( M ‘ 𝑐 ) ) )
29 20 28 impbid ⊢ ( ( Lim 𝐴 ∧ 𝐴 ∈ 𝑉 ) → ( ∃ 𝑐 ∈ 𝐴 𝑥 ∈ ( M ‘ 𝑐 ) ↔ ∃ 𝑏 ∈ 𝐴 𝑥 ∈ ( O ‘ 𝑏 ) ) )
30 elold ⊢ ( 𝐴 ∈ On → ( 𝑥 ∈ ( O ‘ 𝐴 ) ↔ ∃ 𝑐 ∈ 𝐴 𝑥 ∈ ( M ‘ 𝑐 ) ) )
31 10 30 syl ⊢ ( ( Lim 𝐴 ∧ 𝐴 ∈ 𝑉 ) → ( 𝑥 ∈ ( O ‘ 𝐴 ) ↔ ∃ 𝑐 ∈ 𝐴 𝑥 ∈ ( M ‘ 𝑐 ) ) )
32 eliun ⊢ ( 𝑥 ∈ ∪ 𝑏 ∈ 𝐴 ( O ‘ 𝑏 ) ↔ ∃ 𝑏 ∈ 𝐴 𝑥 ∈ ( O ‘ 𝑏 ) )
33 32 a1i ⊢ ( ( Lim 𝐴 ∧ 𝐴 ∈ 𝑉 ) → ( 𝑥 ∈ ∪ 𝑏 ∈ 𝐴 ( O ‘ 𝑏 ) ↔ ∃ 𝑏 ∈ 𝐴 𝑥 ∈ ( O ‘ 𝑏 ) ) )
34 29 31 33 3bitr4d ⊢ ( ( Lim 𝐴 ∧ 𝐴 ∈ 𝑉 ) → ( 𝑥 ∈ ( O ‘ 𝐴 ) ↔ 𝑥 ∈ ∪ 𝑏 ∈ 𝐴 ( O ‘ 𝑏 ) ) )
35 34 eqrdv ⊢ ( ( Lim 𝐴 ∧ 𝐴 ∈ 𝑉 ) → ( O ‘ 𝐴 ) = ∪ 𝑏 ∈ 𝐴 ( O ‘ 𝑏 ) )
36 oldf ⊢ O : On ⟶ 𝒫 No
37 ffun ⊢ ( O : On ⟶ 𝒫 No → Fun O )
38 funiunfv ⊢ ( Fun O → ∪ 𝑏 ∈ 𝐴 ( O ‘ 𝑏 ) = ∪ ( O “ 𝐴 ) )
39 36 37 38 mp2b ⊢ ∪ 𝑏 ∈ 𝐴 ( O ‘ 𝑏 ) = ∪ ( O “ 𝐴 )
40 35 39 eqtrdi ⊢ ( ( Lim 𝐴 ∧ 𝐴 ∈ 𝑉 ) → ( O ‘ 𝐴 ) = ∪ ( O “ 𝐴 ) )