Metamath Proof Explorer


Theorem cofonr

Description: Inverse cofinality law for ordinals. Contrast with cofcutr for surreals. (Contributed by Scott Fenton, 20-Jan-2025)

Ref Expression
Hypotheses cofonr.1 ( 𝜑𝐴 ∈ On )
cofonr.2 ( 𝜑𝐴 = { 𝑥 ∈ On ∣ 𝑋𝑥 } )
Assertion cofonr ( 𝜑 → ∀ 𝑦𝐴𝑧𝑋 𝑦𝑧 )

Proof

Step Hyp Ref Expression
1 cofonr.1 ( 𝜑𝐴 ∈ On )
2 cofonr.2 ( 𝜑𝐴 = { 𝑥 ∈ On ∣ 𝑋𝑥 } )
3 onss ( 𝐴 ∈ On → 𝐴 ⊆ On )
4 1 3 syl ( 𝜑𝐴 ⊆ On )
5 4 sselda ( ( 𝜑𝑦𝐴 ) → 𝑦 ∈ On )
6 eloni ( 𝑦 ∈ On → Ord 𝑦 )
7 ordirr ( Ord 𝑦 → ¬ 𝑦𝑦 )
8 5 6 7 3syl ( ( 𝜑𝑦𝐴 ) → ¬ 𝑦𝑦 )
9 2 adantr ( ( 𝜑𝑦𝐴 ) → 𝐴 = { 𝑥 ∈ On ∣ 𝑋𝑥 } )
10 9 adantr ( ( ( 𝜑𝑦𝐴 ) ∧ 𝑋𝑦 ) → 𝐴 = { 𝑥 ∈ On ∣ 𝑋𝑥 } )
11 5 adantr ( ( ( 𝜑𝑦𝐴 ) ∧ 𝑋𝑦 ) → 𝑦 ∈ On )
12 simpr ( ( ( 𝜑𝑦𝐴 ) ∧ 𝑋𝑦 ) → 𝑋𝑦 )
13 sseq2 ( 𝑥 = 𝑦 → ( 𝑋𝑥𝑋𝑦 ) )
14 13 elrab ( 𝑦 ∈ { 𝑥 ∈ On ∣ 𝑋𝑥 } ↔ ( 𝑦 ∈ On ∧ 𝑋𝑦 ) )
15 11 12 14 sylanbrc ( ( ( 𝜑𝑦𝐴 ) ∧ 𝑋𝑦 ) → 𝑦 ∈ { 𝑥 ∈ On ∣ 𝑋𝑥 } )
16 intss1 ( 𝑦 ∈ { 𝑥 ∈ On ∣ 𝑋𝑥 } → { 𝑥 ∈ On ∣ 𝑋𝑥 } ⊆ 𝑦 )
17 15 16 syl ( ( ( 𝜑𝑦𝐴 ) ∧ 𝑋𝑦 ) → { 𝑥 ∈ On ∣ 𝑋𝑥 } ⊆ 𝑦 )
18 10 17 eqsstrd ( ( ( 𝜑𝑦𝐴 ) ∧ 𝑋𝑦 ) → 𝐴𝑦 )
19 simplr ( ( ( 𝜑𝑦𝐴 ) ∧ 𝑋𝑦 ) → 𝑦𝐴 )
20 18 19 sseldd ( ( ( 𝜑𝑦𝐴 ) ∧ 𝑋𝑦 ) → 𝑦𝑦 )
21 8 20 mtand ( ( 𝜑𝑦𝐴 ) → ¬ 𝑋𝑦 )
22 dfss3 ( 𝑋𝑦 ↔ ∀ 𝑧𝑋 𝑧𝑦 )
23 21 22 sylnib ( ( 𝜑𝑦𝐴 ) → ¬ ∀ 𝑧𝑋 𝑧𝑦 )
24 2 1 eqeltrrd ( 𝜑 { 𝑥 ∈ On ∣ 𝑋𝑥 } ∈ On )
25 onintrab2 ( ∃ 𝑥 ∈ On 𝑋𝑥 { 𝑥 ∈ On ∣ 𝑋𝑥 } ∈ On )
26 24 25 sylibr ( 𝜑 → ∃ 𝑥 ∈ On 𝑋𝑥 )
27 26 adantr ( ( 𝜑𝑦𝐴 ) → ∃ 𝑥 ∈ On 𝑋𝑥 )
28 onss ( 𝑥 ∈ On → 𝑥 ⊆ On )
29 28 adantl ( ( ( 𝜑𝑦𝐴 ) ∧ 𝑥 ∈ On ) → 𝑥 ⊆ On )
30 sstr ( ( 𝑋𝑥𝑥 ⊆ On ) → 𝑋 ⊆ On )
31 30 expcom ( 𝑥 ⊆ On → ( 𝑋𝑥𝑋 ⊆ On ) )
32 29 31 syl ( ( ( 𝜑𝑦𝐴 ) ∧ 𝑥 ∈ On ) → ( 𝑋𝑥𝑋 ⊆ On ) )
33 32 rexlimdva ( ( 𝜑𝑦𝐴 ) → ( ∃ 𝑥 ∈ On 𝑋𝑥𝑋 ⊆ On ) )
34 27 33 mpd ( ( 𝜑𝑦𝐴 ) → 𝑋 ⊆ On )
35 34 sselda ( ( ( 𝜑𝑦𝐴 ) ∧ 𝑧𝑋 ) → 𝑧 ∈ On )
36 ontri1 ( ( 𝑦 ∈ On ∧ 𝑧 ∈ On ) → ( 𝑦𝑧 ↔ ¬ 𝑧𝑦 ) )
37 5 35 36 syl2an2r ( ( ( 𝜑𝑦𝐴 ) ∧ 𝑧𝑋 ) → ( 𝑦𝑧 ↔ ¬ 𝑧𝑦 ) )
38 37 rexbidva ( ( 𝜑𝑦𝐴 ) → ( ∃ 𝑧𝑋 𝑦𝑧 ↔ ∃ 𝑧𝑋 ¬ 𝑧𝑦 ) )
39 rexnal ( ∃ 𝑧𝑋 ¬ 𝑧𝑦 ↔ ¬ ∀ 𝑧𝑋 𝑧𝑦 )
40 38 39 bitrdi ( ( 𝜑𝑦𝐴 ) → ( ∃ 𝑧𝑋 𝑦𝑧 ↔ ¬ ∀ 𝑧𝑋 𝑧𝑦 ) )
41 23 40 mpbird ( ( 𝜑𝑦𝐴 ) → ∃ 𝑧𝑋 𝑦𝑧 )
42 41 ralrimiva ( 𝜑 → ∀ 𝑦𝐴𝑧𝑋 𝑦𝑧 )