Metamath Proof Explorer


Theorem cofon2

Description: Cofinality theorem for ordinals. If A and B are mutually cofinal, then their upper bounds agree. Compare cofcut2 for surreals. (Contributed by Scott Fenton, 20-Jan-2025)

Ref Expression
Hypotheses cofon2.1 ( 𝜑𝐴 ∈ 𝒫 On )
cofon2.2 ( 𝜑𝐵 ∈ 𝒫 On )
cofon2.3 ( 𝜑 → ∀ 𝑥𝐴𝑦𝐵 𝑥𝑦 )
cofon2.4 ( 𝜑 → ∀ 𝑧𝐵𝑤𝐴 𝑧𝑤 )
Assertion cofon2 ( 𝜑 { 𝑎 ∈ On ∣ 𝐴𝑎 } = { 𝑏 ∈ On ∣ 𝐵𝑏 } )

Proof

Step Hyp Ref Expression
1 cofon2.1 ( 𝜑𝐴 ∈ 𝒫 On )
2 cofon2.2 ( 𝜑𝐵 ∈ 𝒫 On )
3 cofon2.3 ( 𝜑 → ∀ 𝑥𝐴𝑦𝐵 𝑥𝑦 )
4 cofon2.4 ( 𝜑 → ∀ 𝑧𝐵𝑤𝐴 𝑧𝑤 )
5 sseq1 ( 𝑧 = 𝑏 → ( 𝑧𝑤𝑏𝑤 ) )
6 5 rexbidv ( 𝑧 = 𝑏 → ( ∃ 𝑤𝐴 𝑧𝑤 ↔ ∃ 𝑤𝐴 𝑏𝑤 ) )
7 4 adantr ( ( 𝜑𝑏𝐵 ) → ∀ 𝑧𝐵𝑤𝐴 𝑧𝑤 )
8 simpr ( ( 𝜑𝑏𝐵 ) → 𝑏𝐵 )
9 6 7 8 rspcdva ( ( 𝜑𝑏𝐵 ) → ∃ 𝑤𝐴 𝑏𝑤 )
10 sseq2 ( 𝑤 = 𝑐 → ( 𝑏𝑤𝑏𝑐 ) )
11 10 cbvrexvw ( ∃ 𝑤𝐴 𝑏𝑤 ↔ ∃ 𝑐𝐴 𝑏𝑐 )
12 9 11 sylib ( ( 𝜑𝑏𝐵 ) → ∃ 𝑐𝐴 𝑏𝑐 )
13 ssintub 𝐴 { 𝑎 ∈ On ∣ 𝐴𝑎 }
14 13 a1i ( ( 𝜑𝑏𝐵 ) → 𝐴 { 𝑎 ∈ On ∣ 𝐴𝑎 } )
15 14 sselda ( ( ( 𝜑𝑏𝐵 ) ∧ 𝑐𝐴 ) → 𝑐 { 𝑎 ∈ On ∣ 𝐴𝑎 } )
16 2 elpwid ( 𝜑𝐵 ⊆ On )
17 16 ad2antrr ( ( ( 𝜑𝑏𝐵 ) ∧ 𝑐𝐴 ) → 𝐵 ⊆ On )
18 simplr ( ( ( 𝜑𝑏𝐵 ) ∧ 𝑐𝐴 ) → 𝑏𝐵 )
19 17 18 sseldd ( ( ( 𝜑𝑏𝐵 ) ∧ 𝑐𝐴 ) → 𝑏 ∈ On )
20 1 elpwid ( 𝜑𝐴 ⊆ On )
21 ssorduni ( 𝐴 ⊆ On → Ord 𝐴 )
22 20 21 syl ( 𝜑 → Ord 𝐴 )
23 ordsuc ( Ord 𝐴 ↔ Ord suc 𝐴 )
24 22 23 sylib ( 𝜑 → Ord suc 𝐴 )
25 1 uniexd ( 𝜑 𝐴 ∈ V )
26 sucexg ( 𝐴 ∈ V → suc 𝐴 ∈ V )
27 elong ( suc 𝐴 ∈ V → ( suc 𝐴 ∈ On ↔ Ord suc 𝐴 ) )
28 25 26 27 3syl ( 𝜑 → ( suc 𝐴 ∈ On ↔ Ord suc 𝐴 ) )
29 24 28 mpbird ( 𝜑 → suc 𝐴 ∈ On )
30 onsucuni ( 𝐴 ⊆ On → 𝐴 ⊆ suc 𝐴 )
31 20 30 syl ( 𝜑𝐴 ⊆ suc 𝐴 )
32 sseq2 ( 𝑎 = suc 𝐴 → ( 𝐴𝑎𝐴 ⊆ suc 𝐴 ) )
33 32 rspcev ( ( suc 𝐴 ∈ On ∧ 𝐴 ⊆ suc 𝐴 ) → ∃ 𝑎 ∈ On 𝐴𝑎 )
34 29 31 33 syl2anc ( 𝜑 → ∃ 𝑎 ∈ On 𝐴𝑎 )
35 onintrab2 ( ∃ 𝑎 ∈ On 𝐴𝑎 { 𝑎 ∈ On ∣ 𝐴𝑎 } ∈ On )
36 34 35 sylib ( 𝜑 { 𝑎 ∈ On ∣ 𝐴𝑎 } ∈ On )
37 36 ad2antrr ( ( ( 𝜑𝑏𝐵 ) ∧ 𝑐𝐴 ) → { 𝑎 ∈ On ∣ 𝐴𝑎 } ∈ On )
38 ontr2 ( ( 𝑏 ∈ On ∧ { 𝑎 ∈ On ∣ 𝐴𝑎 } ∈ On ) → ( ( 𝑏𝑐𝑐 { 𝑎 ∈ On ∣ 𝐴𝑎 } ) → 𝑏 { 𝑎 ∈ On ∣ 𝐴𝑎 } ) )
39 19 37 38 syl2anc ( ( ( 𝜑𝑏𝐵 ) ∧ 𝑐𝐴 ) → ( ( 𝑏𝑐𝑐 { 𝑎 ∈ On ∣ 𝐴𝑎 } ) → 𝑏 { 𝑎 ∈ On ∣ 𝐴𝑎 } ) )
40 15 39 mpan2d ( ( ( 𝜑𝑏𝐵 ) ∧ 𝑐𝐴 ) → ( 𝑏𝑐𝑏 { 𝑎 ∈ On ∣ 𝐴𝑎 } ) )
41 40 rexlimdva ( ( 𝜑𝑏𝐵 ) → ( ∃ 𝑐𝐴 𝑏𝑐𝑏 { 𝑎 ∈ On ∣ 𝐴𝑎 } ) )
42 12 41 mpd ( ( 𝜑𝑏𝐵 ) → 𝑏 { 𝑎 ∈ On ∣ 𝐴𝑎 } )
43 42 ex ( 𝜑 → ( 𝑏𝐵𝑏 { 𝑎 ∈ On ∣ 𝐴𝑎 } ) )
44 43 ssrdv ( 𝜑𝐵 { 𝑎 ∈ On ∣ 𝐴𝑎 } )
45 1 3 44 cofon1 ( 𝜑 { 𝑎 ∈ On ∣ 𝐴𝑎 } = { 𝑏 ∈ On ∣ 𝐵𝑏 } )