Metamath Proof Explorer


Theorem cofon1

Description: Cofinality theorem for ordinals. If A is cofinal with B and the upper bound of A dominates B , then their upper bounds are equal. Compare with cofcut1 for surreals. (Contributed by Scott Fenton, 20-Jan-2025)

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

Proof

Step Hyp Ref Expression
1 cofon1.1 ( 𝜑𝐴 ∈ 𝒫 On )
2 cofon1.2 ( 𝜑 → ∀ 𝑥𝐴𝑦𝐵 𝑥𝑦 )
3 cofon1.3 ( 𝜑𝐵 { 𝑧 ∈ On ∣ 𝐴𝑧 } )
4 sseq2 ( 𝑤 = 𝑧 → ( 𝐵𝑤𝐵𝑧 ) )
5 4 cbvrabv { 𝑤 ∈ On ∣ 𝐵𝑤 } = { 𝑧 ∈ On ∣ 𝐵𝑧 }
6 sseq1 ( 𝑥 = 𝑎 → ( 𝑥𝑦𝑎𝑦 ) )
7 6 rexbidv ( 𝑥 = 𝑎 → ( ∃ 𝑦𝐵 𝑥𝑦 ↔ ∃ 𝑦𝐵 𝑎𝑦 ) )
8 2 ad2antrr ( ( ( 𝜑𝑧 ∈ On ) ∧ ( 𝐵𝑧𝑎𝐴 ) ) → ∀ 𝑥𝐴𝑦𝐵 𝑥𝑦 )
9 simprr ( ( ( 𝜑𝑧 ∈ On ) ∧ ( 𝐵𝑧𝑎𝐴 ) ) → 𝑎𝐴 )
10 7 8 9 rspcdva ( ( ( 𝜑𝑧 ∈ On ) ∧ ( 𝐵𝑧𝑎𝐴 ) ) → ∃ 𝑦𝐵 𝑎𝑦 )
11 sseq2 ( 𝑦 = 𝑏 → ( 𝑎𝑦𝑎𝑏 ) )
12 11 cbvrexvw ( ∃ 𝑦𝐵 𝑎𝑦 ↔ ∃ 𝑏𝐵 𝑎𝑏 )
13 10 12 sylib ( ( ( 𝜑𝑧 ∈ On ) ∧ ( 𝐵𝑧𝑎𝐴 ) ) → ∃ 𝑏𝐵 𝑎𝑏 )
14 simprl ( ( ( 𝜑𝑧 ∈ On ) ∧ ( 𝐵𝑧𝑎𝐴 ) ) → 𝐵𝑧 )
15 14 sselda ( ( ( ( 𝜑𝑧 ∈ On ) ∧ ( 𝐵𝑧𝑎𝐴 ) ) ∧ 𝑏𝐵 ) → 𝑏𝑧 )
16 1 elpwid ( 𝜑𝐴 ⊆ On )
17 16 ad3antrrr ( ( ( ( 𝜑𝑧 ∈ On ) ∧ ( 𝐵𝑧𝑎𝐴 ) ) ∧ 𝑏𝐵 ) → 𝐴 ⊆ On )
18 simplrr ( ( ( ( 𝜑𝑧 ∈ On ) ∧ ( 𝐵𝑧𝑎𝐴 ) ) ∧ 𝑏𝐵 ) → 𝑎𝐴 )
19 17 18 sseldd ( ( ( ( 𝜑𝑧 ∈ On ) ∧ ( 𝐵𝑧𝑎𝐴 ) ) ∧ 𝑏𝐵 ) → 𝑎 ∈ On )
20 simpllr ( ( ( ( 𝜑𝑧 ∈ On ) ∧ ( 𝐵𝑧𝑎𝐴 ) ) ∧ 𝑏𝐵 ) → 𝑧 ∈ On )
21 ontr2 ( ( 𝑎 ∈ On ∧ 𝑧 ∈ On ) → ( ( 𝑎𝑏𝑏𝑧 ) → 𝑎𝑧 ) )
22 19 20 21 syl2anc ( ( ( ( 𝜑𝑧 ∈ On ) ∧ ( 𝐵𝑧𝑎𝐴 ) ) ∧ 𝑏𝐵 ) → ( ( 𝑎𝑏𝑏𝑧 ) → 𝑎𝑧 ) )
23 15 22 mpan2d ( ( ( ( 𝜑𝑧 ∈ On ) ∧ ( 𝐵𝑧𝑎𝐴 ) ) ∧ 𝑏𝐵 ) → ( 𝑎𝑏𝑎𝑧 ) )
24 23 rexlimdva ( ( ( 𝜑𝑧 ∈ On ) ∧ ( 𝐵𝑧𝑎𝐴 ) ) → ( ∃ 𝑏𝐵 𝑎𝑏𝑎𝑧 ) )
25 13 24 mpd ( ( ( 𝜑𝑧 ∈ On ) ∧ ( 𝐵𝑧𝑎𝐴 ) ) → 𝑎𝑧 )
26 25 expr ( ( ( 𝜑𝑧 ∈ On ) ∧ 𝐵𝑧 ) → ( 𝑎𝐴𝑎𝑧 ) )
27 26 ssrdv ( ( ( 𝜑𝑧 ∈ On ) ∧ 𝐵𝑧 ) → 𝐴𝑧 )
28 27 ex ( ( 𝜑𝑧 ∈ On ) → ( 𝐵𝑧𝐴𝑧 ) )
29 28 ss2rabdv ( 𝜑 → { 𝑧 ∈ On ∣ 𝐵𝑧 } ⊆ { 𝑧 ∈ On ∣ 𝐴𝑧 } )
30 5 29 eqsstrid ( 𝜑 → { 𝑤 ∈ On ∣ 𝐵𝑤 } ⊆ { 𝑧 ∈ On ∣ 𝐴𝑧 } )
31 intss ( { 𝑤 ∈ On ∣ 𝐵𝑤 } ⊆ { 𝑧 ∈ On ∣ 𝐴𝑧 } → { 𝑧 ∈ On ∣ 𝐴𝑧 } ⊆ { 𝑤 ∈ On ∣ 𝐵𝑤 } )
32 30 31 syl ( 𝜑 { 𝑧 ∈ On ∣ 𝐴𝑧 } ⊆ { 𝑤 ∈ On ∣ 𝐵𝑤 } )
33 sseq2 ( 𝑤 = { 𝑧 ∈ On ∣ 𝐴𝑧 } → ( 𝐵𝑤𝐵 { 𝑧 ∈ On ∣ 𝐴𝑧 } ) )
34 ssorduni ( 𝐴 ⊆ On → Ord 𝐴 )
35 16 34 syl ( 𝜑 → Ord 𝐴 )
36 ordsuc ( Ord 𝐴 ↔ Ord suc 𝐴 )
37 35 36 sylib ( 𝜑 → Ord suc 𝐴 )
38 1 uniexd ( 𝜑 𝐴 ∈ V )
39 sucexg ( 𝐴 ∈ V → suc 𝐴 ∈ V )
40 38 39 syl ( 𝜑 → suc 𝐴 ∈ V )
41 elong ( suc 𝐴 ∈ V → ( suc 𝐴 ∈ On ↔ Ord suc 𝐴 ) )
42 40 41 syl ( 𝜑 → ( suc 𝐴 ∈ On ↔ Ord suc 𝐴 ) )
43 37 42 mpbird ( 𝜑 → suc 𝐴 ∈ On )
44 onsucuni ( 𝐴 ⊆ On → 𝐴 ⊆ suc 𝐴 )
45 16 44 syl ( 𝜑𝐴 ⊆ suc 𝐴 )
46 sseq2 ( 𝑧 = suc 𝐴 → ( 𝐴𝑧𝐴 ⊆ suc 𝐴 ) )
47 46 rspcev ( ( suc 𝐴 ∈ On ∧ 𝐴 ⊆ suc 𝐴 ) → ∃ 𝑧 ∈ On 𝐴𝑧 )
48 43 45 47 syl2anc ( 𝜑 → ∃ 𝑧 ∈ On 𝐴𝑧 )
49 onintrab2 ( ∃ 𝑧 ∈ On 𝐴𝑧 { 𝑧 ∈ On ∣ 𝐴𝑧 } ∈ On )
50 48 49 sylib ( 𝜑 { 𝑧 ∈ On ∣ 𝐴𝑧 } ∈ On )
51 33 50 3 elrabd ( 𝜑 { 𝑧 ∈ On ∣ 𝐴𝑧 } ∈ { 𝑤 ∈ On ∣ 𝐵𝑤 } )
52 intss1 ( { 𝑧 ∈ On ∣ 𝐴𝑧 } ∈ { 𝑤 ∈ On ∣ 𝐵𝑤 } → { 𝑤 ∈ On ∣ 𝐵𝑤 } ⊆ { 𝑧 ∈ On ∣ 𝐴𝑧 } )
53 51 52 syl ( 𝜑 { 𝑤 ∈ On ∣ 𝐵𝑤 } ⊆ { 𝑧 ∈ On ∣ 𝐴𝑧 } )
54 32 53 eqssd ( 𝜑 { 𝑧 ∈ On ∣ 𝐴𝑧 } = { 𝑤 ∈ On ∣ 𝐵𝑤 } )