Metamath Proof Explorer


Theorem ordnexbtwnsuc

Description: For any distinct pair of ordinals, if there is no ordinal between the lesser and the greater, the greater is the successor of the lesser. Lemma 1.16 of Schloeder p. 2. (Contributed by RP, 16-Jan-2025)

Ref Expression
Assertion ordnexbtwnsuc
|- ( ( A e. B /\ Ord B ) -> ( A. c e. On -. ( A e. c /\ c e. B ) -> B = suc A ) )

Proof

Step Hyp Ref Expression
1 ordelord
 |-  ( ( Ord B /\ A e. B ) -> Ord A )
2 ordnbtwn
 |-  ( Ord A -> -. ( A e. B /\ B e. suc A ) )
3 2 pm2.21d
 |-  ( Ord A -> ( ( A e. B /\ B e. suc A ) -> E. c e. On ( A e. c /\ c e. B ) ) )
4 3 expd
 |-  ( Ord A -> ( A e. B -> ( B e. suc A -> E. c e. On ( A e. c /\ c e. B ) ) ) )
5 4 com12
 |-  ( A e. B -> ( Ord A -> ( B e. suc A -> E. c e. On ( A e. c /\ c e. B ) ) ) )
6 5 adantl
 |-  ( ( Ord B /\ A e. B ) -> ( Ord A -> ( B e. suc A -> E. c e. On ( A e. c /\ c e. B ) ) ) )
7 1 6 mpd
 |-  ( ( Ord B /\ A e. B ) -> ( B e. suc A -> E. c e. On ( A e. c /\ c e. B ) ) )
8 sucidg
 |-  ( A e. B -> A e. suc A )
9 8 adantl
 |-  ( ( Ord B /\ A e. B ) -> A e. suc A )
10 ordelon
 |-  ( ( Ord B /\ A e. B ) -> A e. On )
11 onsuc
 |-  ( A e. On -> suc A e. On )
12 10 11 syl
 |-  ( ( Ord B /\ A e. B ) -> suc A e. On )
13 eleq2
 |-  ( c = suc A -> ( A e. c <-> A e. suc A ) )
14 eleq1
 |-  ( c = suc A -> ( c e. B <-> suc A e. B ) )
15 13 14 anbi12d
 |-  ( c = suc A -> ( ( A e. c /\ c e. B ) <-> ( A e. suc A /\ suc A e. B ) ) )
16 15 adantl
 |-  ( ( ( Ord B /\ A e. B ) /\ c = suc A ) -> ( ( A e. c /\ c e. B ) <-> ( A e. suc A /\ suc A e. B ) ) )
17 12 16 rspcedv
 |-  ( ( Ord B /\ A e. B ) -> ( ( A e. suc A /\ suc A e. B ) -> E. c e. On ( A e. c /\ c e. B ) ) )
18 9 17 mpand
 |-  ( ( Ord B /\ A e. B ) -> ( suc A e. B -> E. c e. On ( A e. c /\ c e. B ) ) )
19 7 18 jaod
 |-  ( ( Ord B /\ A e. B ) -> ( ( B e. suc A \/ suc A e. B ) -> E. c e. On ( A e. c /\ c e. B ) ) )
20 ralnex
 |-  ( A. c e. On -. ( A e. c /\ c e. B ) <-> -. E. c e. On ( A e. c /\ c e. B ) )
21 20 biimpi
 |-  ( A. c e. On -. ( A e. c /\ c e. B ) -> -. E. c e. On ( A e. c /\ c e. B ) )
22 19 21 nsyli
 |-  ( ( Ord B /\ A e. B ) -> ( A. c e. On -. ( A e. c /\ c e. B ) -> -. ( B e. suc A \/ suc A e. B ) ) )
23 ordsuci
 |-  ( Ord A -> Ord suc A )
24 1 23 syl
 |-  ( ( Ord B /\ A e. B ) -> Ord suc A )
25 ordtri3
 |-  ( ( Ord B /\ Ord suc A ) -> ( B = suc A <-> -. ( B e. suc A \/ suc A e. B ) ) )
26 24 25 syldan
 |-  ( ( Ord B /\ A e. B ) -> ( B = suc A <-> -. ( B e. suc A \/ suc A e. B ) ) )
27 22 26 sylibrd
 |-  ( ( Ord B /\ A e. B ) -> ( A. c e. On -. ( A e. c /\ c e. B ) -> B = suc A ) )
28 27 ancoms
 |-  ( ( A e. B /\ Ord B ) -> ( A. c e. On -. ( A e. c /\ c e. B ) -> B = suc A ) )