Metamath Proof Explorer


Theorem onsupnmax

Description: If the union of a class of ordinals is not the maximum element of that class, then the union is a limit ordinal or empty. But this isn't a biconditional since A could be a non-empty set where a limit ordinal or the empty set happens to be the largest element. (Contributed by RP, 27-Jan-2025)

Ref Expression
Assertion onsupnmax ( 𝐴 ⊆ On → ( ¬ 𝐴𝐴 𝐴 = 𝐴 ) )

Proof

Step Hyp Ref Expression
1 rexnal ( ∃ 𝑥𝐴 ¬ ∃ 𝑦𝐴 𝑥𝑦 ↔ ¬ ∀ 𝑥𝐴𝑦𝐴 𝑥𝑦 )
2 ralnex ( ∀ 𝑦𝐴 ¬ 𝑥𝑦 ↔ ¬ ∃ 𝑦𝐴 𝑥𝑦 )
3 2 rexbii ( ∃ 𝑥𝐴𝑦𝐴 ¬ 𝑥𝑦 ↔ ∃ 𝑥𝐴 ¬ ∃ 𝑦𝐴 𝑥𝑦 )
4 ssunib ( 𝐴 𝐴 ↔ ∀ 𝑥𝐴𝑦𝐴 𝑥𝑦 )
5 4 notbii ( ¬ 𝐴 𝐴 ↔ ¬ ∀ 𝑥𝐴𝑦𝐴 𝑥𝑦 )
6 1 3 5 3bitr4ri ( ¬ 𝐴 𝐴 ↔ ∃ 𝑥𝐴𝑦𝐴 ¬ 𝑥𝑦 )
7 simpll ( ( ( 𝐴 ⊆ On ∧ 𝐴 ∈ On ) ∧ 𝑥𝐴 ) → 𝐴 ⊆ On )
8 7 sselda ( ( ( ( 𝐴 ⊆ On ∧ 𝐴 ∈ On ) ∧ 𝑥𝐴 ) ∧ 𝑦𝐴 ) → 𝑦 ∈ On )
9 simpl ( ( 𝐴 ⊆ On ∧ 𝐴 ∈ On ) → 𝐴 ⊆ On )
10 9 sselda ( ( ( 𝐴 ⊆ On ∧ 𝐴 ∈ On ) ∧ 𝑥𝐴 ) → 𝑥 ∈ On )
11 10 adantr ( ( ( ( 𝐴 ⊆ On ∧ 𝐴 ∈ On ) ∧ 𝑥𝐴 ) ∧ 𝑦𝐴 ) → 𝑥 ∈ On )
12 ontri1 ( ( 𝑦 ∈ On ∧ 𝑥 ∈ On ) → ( 𝑦𝑥 ↔ ¬ 𝑥𝑦 ) )
13 8 11 12 syl2anc ( ( ( ( 𝐴 ⊆ On ∧ 𝐴 ∈ On ) ∧ 𝑥𝐴 ) ∧ 𝑦𝐴 ) → ( 𝑦𝑥 ↔ ¬ 𝑥𝑦 ) )
14 13 ralbidva ( ( ( 𝐴 ⊆ On ∧ 𝐴 ∈ On ) ∧ 𝑥𝐴 ) → ( ∀ 𝑦𝐴 𝑦𝑥 ↔ ∀ 𝑦𝐴 ¬ 𝑥𝑦 ) )
15 14 rexbidva ( ( 𝐴 ⊆ On ∧ 𝐴 ∈ On ) → ( ∃ 𝑥𝐴𝑦𝐴 𝑦𝑥 ↔ ∃ 𝑥𝐴𝑦𝐴 ¬ 𝑥𝑦 ) )
16 6 15 bitr4id ( ( 𝐴 ⊆ On ∧ 𝐴 ∈ On ) → ( ¬ 𝐴 𝐴 ↔ ∃ 𝑥𝐴𝑦𝐴 𝑦𝑥 ) )
17 unielid ( 𝐴𝐴 ↔ ∃ 𝑥𝐴𝑦𝐴 𝑦𝑥 )
18 17 a1i ( ( 𝐴 ⊆ On ∧ 𝐴 ∈ On ) → ( 𝐴𝐴 ↔ ∃ 𝑥𝐴𝑦𝐴 𝑦𝑥 ) )
19 18 biimprd ( ( 𝐴 ⊆ On ∧ 𝐴 ∈ On ) → ( ∃ 𝑥𝐴𝑦𝐴 𝑦𝑥 𝐴𝐴 ) )
20 16 19 sylbid ( ( 𝐴 ⊆ On ∧ 𝐴 ∈ On ) → ( ¬ 𝐴 𝐴 𝐴𝐴 ) )
21 20 con1d ( ( 𝐴 ⊆ On ∧ 𝐴 ∈ On ) → ( ¬ 𝐴𝐴𝐴 𝐴 ) )
22 uniss ( 𝐴 𝐴 𝐴 𝐴 )
23 21 22 syl6 ( ( 𝐴 ⊆ On ∧ 𝐴 ∈ On ) → ( ¬ 𝐴𝐴 𝐴 𝐴 ) )
24 ssorduni ( 𝐴 ⊆ On → Ord 𝐴 )
25 orduniss ( Ord 𝐴 𝐴 𝐴 )
26 24 25 syl ( 𝐴 ⊆ On → 𝐴 𝐴 )
27 26 biantrud ( 𝐴 ⊆ On → ( 𝐴 𝐴 ↔ ( 𝐴 𝐴 𝐴 𝐴 ) ) )
28 eqss ( 𝐴 = 𝐴 ↔ ( 𝐴 𝐴 𝐴 𝐴 ) )
29 27 28 bitr4di ( 𝐴 ⊆ On → ( 𝐴 𝐴 𝐴 = 𝐴 ) )
30 29 adantr ( ( 𝐴 ⊆ On ∧ 𝐴 ∈ On ) → ( 𝐴 𝐴 𝐴 = 𝐴 ) )
31 23 30 sylibd ( ( 𝐴 ⊆ On ∧ 𝐴 ∈ On ) → ( ¬ 𝐴𝐴 𝐴 = 𝐴 ) )
32 31 ex ( 𝐴 ⊆ On → ( 𝐴 ∈ On → ( ¬ 𝐴𝐴 𝐴 = 𝐴 ) ) )
33 unon On = On
34 33 a1i ( 𝐴 = On → On = On )
35 unieq ( 𝐴 = On → 𝐴 = On )
36 id ( 𝐴 = On → 𝐴 = On )
37 34 35 36 3eqtr4rd ( 𝐴 = On → 𝐴 = 𝐴 )
38 37 a1i13 ( 𝐴 ⊆ On → ( 𝐴 = On → ( ¬ 𝐴𝐴 𝐴 = 𝐴 ) ) )
39 ordeleqon ( Ord 𝐴 ↔ ( 𝐴 ∈ On ∨ 𝐴 = On ) )
40 24 39 sylib ( 𝐴 ⊆ On → ( 𝐴 ∈ On ∨ 𝐴 = On ) )
41 32 38 40 mpjaod ( 𝐴 ⊆ On → ( ¬ 𝐴𝐴 𝐴 = 𝐴 ) )