Metamath Proof Explorer


Theorem onsucf1olem

Description: The successor operation is bijective between the ordinals and the class of successor ordinals. Lemma 1.17 of Schloeder p. 2. (Contributed by RP, 18-Jan-2025)

Ref Expression
Assertion onsucf1olem ( ( 𝐴 ∈ On ∧ 𝐴 ≠ ∅ ∧ ¬ Lim 𝐴 ) → ∃! 𝑏 ∈ On 𝐴 = suc 𝑏 )

Proof

Step Hyp Ref Expression
1 onuni ( 𝐴 ∈ On → 𝐴 ∈ On )
2 1 3ad2ant1 ( ( 𝐴 ∈ On ∧ 𝐴 ≠ ∅ ∧ ¬ Lim 𝐴 ) → 𝐴 ∈ On )
3 eloni ( 𝐴 ∈ On → Ord 𝐴 )
4 unizlim ( Ord 𝐴 → ( 𝐴 = 𝐴 ↔ ( 𝐴 = ∅ ∨ Lim 𝐴 ) ) )
5 oran ( ( 𝐴 = ∅ ∨ Lim 𝐴 ) ↔ ¬ ( ¬ 𝐴 = ∅ ∧ ¬ Lim 𝐴 ) )
6 df-ne ( 𝐴 ≠ ∅ ↔ ¬ 𝐴 = ∅ )
7 6 anbi1i ( ( 𝐴 ≠ ∅ ∧ ¬ Lim 𝐴 ) ↔ ( ¬ 𝐴 = ∅ ∧ ¬ Lim 𝐴 ) )
8 5 7 xchbinxr ( ( 𝐴 = ∅ ∨ Lim 𝐴 ) ↔ ¬ ( 𝐴 ≠ ∅ ∧ ¬ Lim 𝐴 ) )
9 4 8 bitrdi ( Ord 𝐴 → ( 𝐴 = 𝐴 ↔ ¬ ( 𝐴 ≠ ∅ ∧ ¬ Lim 𝐴 ) ) )
10 3 9 syl ( 𝐴 ∈ On → ( 𝐴 = 𝐴 ↔ ¬ ( 𝐴 ≠ ∅ ∧ ¬ Lim 𝐴 ) ) )
11 pm2.21 ( ¬ ( 𝐴 ≠ ∅ ∧ ¬ Lim 𝐴 ) → ( ( 𝐴 ≠ ∅ ∧ ¬ Lim 𝐴 ) → 𝐴 = suc 𝐴 ) )
12 10 11 biimtrdi ( 𝐴 ∈ On → ( 𝐴 = 𝐴 → ( ( 𝐴 ≠ ∅ ∧ ¬ Lim 𝐴 ) → 𝐴 = suc 𝐴 ) ) )
13 12 com23 ( 𝐴 ∈ On → ( ( 𝐴 ≠ ∅ ∧ ¬ Lim 𝐴 ) → ( 𝐴 = 𝐴𝐴 = suc 𝐴 ) ) )
14 13 3impib ( ( 𝐴 ∈ On ∧ 𝐴 ≠ ∅ ∧ ¬ Lim 𝐴 ) → ( 𝐴 = 𝐴𝐴 = suc 𝐴 ) )
15 idd ( ( 𝐴 ∈ On ∧ 𝐴 ≠ ∅ ∧ ¬ Lim 𝐴 ) → ( 𝐴 = suc 𝐴𝐴 = suc 𝐴 ) )
16 onuniorsuc ( 𝐴 ∈ On → ( 𝐴 = 𝐴𝐴 = suc 𝐴 ) )
17 16 3ad2ant1 ( ( 𝐴 ∈ On ∧ 𝐴 ≠ ∅ ∧ ¬ Lim 𝐴 ) → ( 𝐴 = 𝐴𝐴 = suc 𝐴 ) )
18 14 15 17 mpjaod ( ( 𝐴 ∈ On ∧ 𝐴 ≠ ∅ ∧ ¬ Lim 𝐴 ) → 𝐴 = suc 𝐴 )
19 2 18 jca ( ( 𝐴 ∈ On ∧ 𝐴 ≠ ∅ ∧ ¬ Lim 𝐴 ) → ( 𝐴 ∈ On ∧ 𝐴 = suc 𝐴 ) )
20 eleq1 ( 𝑏 = 𝐴 → ( 𝑏 ∈ On ↔ 𝐴 ∈ On ) )
21 suceq ( 𝑏 = 𝐴 → suc 𝑏 = suc 𝐴 )
22 21 eqeq2d ( 𝑏 = 𝐴 → ( 𝐴 = suc 𝑏𝐴 = suc 𝐴 ) )
23 20 22 anbi12d ( 𝑏 = 𝐴 → ( ( 𝑏 ∈ On ∧ 𝐴 = suc 𝑏 ) ↔ ( 𝐴 ∈ On ∧ 𝐴 = suc 𝐴 ) ) )
24 2 19 23 spcedv ( ( 𝐴 ∈ On ∧ 𝐴 ≠ ∅ ∧ ¬ Lim 𝐴 ) → ∃ 𝑏 ( 𝑏 ∈ On ∧ 𝐴 = suc 𝑏 ) )
25 onsucf1lem ( 𝐴 ∈ On → ∃* 𝑏 ∈ On 𝐴 = suc 𝑏 )
26 25 3ad2ant1 ( ( 𝐴 ∈ On ∧ 𝐴 ≠ ∅ ∧ ¬ Lim 𝐴 ) → ∃* 𝑏 ∈ On 𝐴 = suc 𝑏 )
27 df-eu ( ∃! 𝑏 ( 𝑏 ∈ On ∧ 𝐴 = suc 𝑏 ) ↔ ( ∃ 𝑏 ( 𝑏 ∈ On ∧ 𝐴 = suc 𝑏 ) ∧ ∃* 𝑏 ( 𝑏 ∈ On ∧ 𝐴 = suc 𝑏 ) ) )
28 df-reu ( ∃! 𝑏 ∈ On 𝐴 = suc 𝑏 ↔ ∃! 𝑏 ( 𝑏 ∈ On ∧ 𝐴 = suc 𝑏 ) )
29 df-rmo ( ∃* 𝑏 ∈ On 𝐴 = suc 𝑏 ↔ ∃* 𝑏 ( 𝑏 ∈ On ∧ 𝐴 = suc 𝑏 ) )
30 29 anbi2i ( ( ∃ 𝑏 ( 𝑏 ∈ On ∧ 𝐴 = suc 𝑏 ) ∧ ∃* 𝑏 ∈ On 𝐴 = suc 𝑏 ) ↔ ( ∃ 𝑏 ( 𝑏 ∈ On ∧ 𝐴 = suc 𝑏 ) ∧ ∃* 𝑏 ( 𝑏 ∈ On ∧ 𝐴 = suc 𝑏 ) ) )
31 27 28 30 3bitr4i ( ∃! 𝑏 ∈ On 𝐴 = suc 𝑏 ↔ ( ∃ 𝑏 ( 𝑏 ∈ On ∧ 𝐴 = suc 𝑏 ) ∧ ∃* 𝑏 ∈ On 𝐴 = suc 𝑏 ) )
32 24 26 31 sylanbrc ( ( 𝐴 ∈ On ∧ 𝐴 ≠ ∅ ∧ ¬ Lim 𝐴 ) → ∃! 𝑏 ∈ On 𝐴 = suc 𝑏 )