Metamath Proof Explorer


Theorem onzsl

Description: An ordinal number is zero, a successor ordinal, or a limit ordinal number. (Contributed by NM, 1-Oct-2003) (Proof shortened by Andrew Salmon, 27-Aug-2011)

Ref Expression
Assertion onzsl ( 𝐴 ∈ On ↔ ( 𝐴 = ∅ ∨ ∃ 𝑥 ∈ On 𝐴 = suc 𝑥 ∨ ( 𝐴 ∈ V ∧ Lim 𝐴 ) ) )

Proof

Step Hyp Ref Expression
1 elex ( 𝐴 ∈ On → 𝐴 ∈ V )
2 eloni ( 𝐴 ∈ On → Ord 𝐴 )
3 ordzsl ( Ord 𝐴 ↔ ( 𝐴 = ∅ ∨ ∃ 𝑥 ∈ On 𝐴 = suc 𝑥 ∨ Lim 𝐴 ) )
4 3mix1 ( 𝐴 = ∅ → ( 𝐴 = ∅ ∨ ∃ 𝑥 ∈ On 𝐴 = suc 𝑥 ∨ ( 𝐴 ∈ V ∧ Lim 𝐴 ) ) )
5 4 adantl ( ( 𝐴 ∈ V ∧ 𝐴 = ∅ ) → ( 𝐴 = ∅ ∨ ∃ 𝑥 ∈ On 𝐴 = suc 𝑥 ∨ ( 𝐴 ∈ V ∧ Lim 𝐴 ) ) )
6 3mix2 ( ∃ 𝑥 ∈ On 𝐴 = suc 𝑥 → ( 𝐴 = ∅ ∨ ∃ 𝑥 ∈ On 𝐴 = suc 𝑥 ∨ ( 𝐴 ∈ V ∧ Lim 𝐴 ) ) )
7 6 adantl ( ( 𝐴 ∈ V ∧ ∃ 𝑥 ∈ On 𝐴 = suc 𝑥 ) → ( 𝐴 = ∅ ∨ ∃ 𝑥 ∈ On 𝐴 = suc 𝑥 ∨ ( 𝐴 ∈ V ∧ Lim 𝐴 ) ) )
8 3mix3 ( ( 𝐴 ∈ V ∧ Lim 𝐴 ) → ( 𝐴 = ∅ ∨ ∃ 𝑥 ∈ On 𝐴 = suc 𝑥 ∨ ( 𝐴 ∈ V ∧ Lim 𝐴 ) ) )
9 5 7 8 3jaodan ( ( 𝐴 ∈ V ∧ ( 𝐴 = ∅ ∨ ∃ 𝑥 ∈ On 𝐴 = suc 𝑥 ∨ Lim 𝐴 ) ) → ( 𝐴 = ∅ ∨ ∃ 𝑥 ∈ On 𝐴 = suc 𝑥 ∨ ( 𝐴 ∈ V ∧ Lim 𝐴 ) ) )
10 3 9 sylan2b ( ( 𝐴 ∈ V ∧ Ord 𝐴 ) → ( 𝐴 = ∅ ∨ ∃ 𝑥 ∈ On 𝐴 = suc 𝑥 ∨ ( 𝐴 ∈ V ∧ Lim 𝐴 ) ) )
11 1 2 10 syl2anc ( 𝐴 ∈ On → ( 𝐴 = ∅ ∨ ∃ 𝑥 ∈ On 𝐴 = suc 𝑥 ∨ ( 𝐴 ∈ V ∧ Lim 𝐴 ) ) )
12 0elon ∅ ∈ On
13 eleq1 ( 𝐴 = ∅ → ( 𝐴 ∈ On ↔ ∅ ∈ On ) )
14 12 13 mpbiri ( 𝐴 = ∅ → 𝐴 ∈ On )
15 suceloni ( 𝑥 ∈ On → suc 𝑥 ∈ On )
16 eleq1 ( 𝐴 = suc 𝑥 → ( 𝐴 ∈ On ↔ suc 𝑥 ∈ On ) )
17 15 16 syl5ibrcom ( 𝑥 ∈ On → ( 𝐴 = suc 𝑥𝐴 ∈ On ) )
18 17 rexlimiv ( ∃ 𝑥 ∈ On 𝐴 = suc 𝑥𝐴 ∈ On )
19 limelon ( ( 𝐴 ∈ V ∧ Lim 𝐴 ) → 𝐴 ∈ On )
20 14 18 19 3jaoi ( ( 𝐴 = ∅ ∨ ∃ 𝑥 ∈ On 𝐴 = suc 𝑥 ∨ ( 𝐴 ∈ V ∧ Lim 𝐴 ) ) → 𝐴 ∈ On )
21 11 20 impbii ( 𝐴 ∈ On ↔ ( 𝐴 = ∅ ∨ ∃ 𝑥 ∈ On 𝐴 = suc 𝑥 ∨ ( 𝐴 ∈ V ∧ Lim 𝐴 ) ) )