Metamath Proof Explorer


Theorem coflton

Description: Cofinality theorem for ordinals. If A is cofinal with B and B precedes C , then A precedes C . Compare cofsslt for surreals. (Contributed by Scott Fenton, 20-Jan-2025)

Ref Expression
Hypotheses coflton.1 ( 𝜑𝐴 ⊆ On )
coflton.2 ( 𝜑𝐵 ⊆ On )
coflton.3 ( 𝜑𝐶 ⊆ On )
coflton.4 ( 𝜑 → ∀ 𝑥𝐴𝑦𝐵 𝑥𝑦 )
coflton.5 ( 𝜑 → ∀ 𝑧𝐵𝑤𝐶 𝑧𝑤 )
Assertion coflton ( 𝜑 → ∀ 𝑎𝐴𝑐𝐶 𝑎𝑐 )

Proof

Step Hyp Ref Expression
1 coflton.1 ( 𝜑𝐴 ⊆ On )
2 coflton.2 ( 𝜑𝐵 ⊆ On )
3 coflton.3 ( 𝜑𝐶 ⊆ On )
4 coflton.4 ( 𝜑 → ∀ 𝑥𝐴𝑦𝐵 𝑥𝑦 )
5 coflton.5 ( 𝜑 → ∀ 𝑧𝐵𝑤𝐶 𝑧𝑤 )
6 sseq1 ( 𝑥 = 𝑎 → ( 𝑥𝑦𝑎𝑦 ) )
7 6 rexbidv ( 𝑥 = 𝑎 → ( ∃ 𝑦𝐵 𝑥𝑦 ↔ ∃ 𝑦𝐵 𝑎𝑦 ) )
8 4 adantr ( ( 𝜑𝑎𝐴 ) → ∀ 𝑥𝐴𝑦𝐵 𝑥𝑦 )
9 simpr ( ( 𝜑𝑎𝐴 ) → 𝑎𝐴 )
10 7 8 9 rspcdva ( ( 𝜑𝑎𝐴 ) → ∃ 𝑦𝐵 𝑎𝑦 )
11 10 adantrr ( ( 𝜑 ∧ ( 𝑎𝐴𝑐𝐶 ) ) → ∃ 𝑦𝐵 𝑎𝑦 )
12 sseq2 ( 𝑦 = 𝑏 → ( 𝑎𝑦𝑎𝑏 ) )
13 12 cbvrexvw ( ∃ 𝑦𝐵 𝑎𝑦 ↔ ∃ 𝑏𝐵 𝑎𝑏 )
14 11 13 sylib ( ( 𝜑 ∧ ( 𝑎𝐴𝑐𝐶 ) ) → ∃ 𝑏𝐵 𝑎𝑏 )
15 simpr ( ( ( 𝜑 ∧ ( 𝑎𝐴𝑐𝐶 ) ) ∧ 𝑏𝐵 ) → 𝑏𝐵 )
16 simplrr ( ( ( 𝜑 ∧ ( 𝑎𝐴𝑐𝐶 ) ) ∧ 𝑏𝐵 ) → 𝑐𝐶 )
17 5 ad2antrr ( ( ( 𝜑 ∧ ( 𝑎𝐴𝑐𝐶 ) ) ∧ 𝑏𝐵 ) → ∀ 𝑧𝐵𝑤𝐶 𝑧𝑤 )
18 elequ1 ( 𝑧 = 𝑏 → ( 𝑧𝑤𝑏𝑤 ) )
19 elequ2 ( 𝑤 = 𝑐 → ( 𝑏𝑤𝑏𝑐 ) )
20 18 19 rspc2va ( ( ( 𝑏𝐵𝑐𝐶 ) ∧ ∀ 𝑧𝐵𝑤𝐶 𝑧𝑤 ) → 𝑏𝑐 )
21 15 16 17 20 syl21anc ( ( ( 𝜑 ∧ ( 𝑎𝐴𝑐𝐶 ) ) ∧ 𝑏𝐵 ) → 𝑏𝑐 )
22 1 sselda ( ( 𝜑𝑎𝐴 ) → 𝑎 ∈ On )
23 22 adantrr ( ( 𝜑 ∧ ( 𝑎𝐴𝑐𝐶 ) ) → 𝑎 ∈ On )
24 3 sselda ( ( 𝜑𝑐𝐶 ) → 𝑐 ∈ On )
25 24 adantrl ( ( 𝜑 ∧ ( 𝑎𝐴𝑐𝐶 ) ) → 𝑐 ∈ On )
26 25 adantr ( ( ( 𝜑 ∧ ( 𝑎𝐴𝑐𝐶 ) ) ∧ 𝑏𝐵 ) → 𝑐 ∈ On )
27 ontr2 ( ( 𝑎 ∈ On ∧ 𝑐 ∈ On ) → ( ( 𝑎𝑏𝑏𝑐 ) → 𝑎𝑐 ) )
28 23 26 27 syl2an2r ( ( ( 𝜑 ∧ ( 𝑎𝐴𝑐𝐶 ) ) ∧ 𝑏𝐵 ) → ( ( 𝑎𝑏𝑏𝑐 ) → 𝑎𝑐 ) )
29 21 28 mpan2d ( ( ( 𝜑 ∧ ( 𝑎𝐴𝑐𝐶 ) ) ∧ 𝑏𝐵 ) → ( 𝑎𝑏𝑎𝑐 ) )
30 29 rexlimdva ( ( 𝜑 ∧ ( 𝑎𝐴𝑐𝐶 ) ) → ( ∃ 𝑏𝐵 𝑎𝑏𝑎𝑐 ) )
31 14 30 mpd ( ( 𝜑 ∧ ( 𝑎𝐴𝑐𝐶 ) ) → 𝑎𝑐 )
32 31 ralrimivva ( 𝜑 → ∀ 𝑎𝐴𝑐𝐶 𝑎𝑐 )