Metamath Proof Explorer


Theorem naddwordnexlem3

Description: When A is the sum of a limit ordinal (or zero) and a natural number and B is the sum of a larger limit ordinal and a smaller natural number, every natural sum of A with a natural number is less that B . (Contributed by RP, 14-Feb-2025)

Ref Expression
Hypotheses naddwordnex.a ( 𝜑𝐴 = ( ( ω ·o 𝐶 ) +o 𝑀 ) )
naddwordnex.b ( 𝜑𝐵 = ( ( ω ·o 𝐷 ) +o 𝑁 ) )
naddwordnex.c ( 𝜑𝐶𝐷 )
naddwordnex.d ( 𝜑𝐷 ∈ On )
naddwordnex.m ( 𝜑𝑀 ∈ ω )
naddwordnex.n ( 𝜑𝑁𝑀 )
Assertion naddwordnexlem3 ( 𝜑 → ∀ 𝑥 ∈ ω ( 𝐴 +no 𝑥 ) ∈ 𝐵 )

Proof

Step Hyp Ref Expression
1 naddwordnex.a ( 𝜑𝐴 = ( ( ω ·o 𝐶 ) +o 𝑀 ) )
2 naddwordnex.b ( 𝜑𝐵 = ( ( ω ·o 𝐷 ) +o 𝑁 ) )
3 naddwordnex.c ( 𝜑𝐶𝐷 )
4 naddwordnex.d ( 𝜑𝐷 ∈ On )
5 naddwordnex.m ( 𝜑𝑀 ∈ ω )
6 naddwordnex.n ( 𝜑𝑁𝑀 )
7 omelon ω ∈ On
8 onelon ( ( 𝐷 ∈ On ∧ 𝐶𝐷 ) → 𝐶 ∈ On )
9 4 3 8 syl2anc ( 𝜑𝐶 ∈ On )
10 omcl ( ( ω ∈ On ∧ 𝐶 ∈ On ) → ( ω ·o 𝐶 ) ∈ On )
11 7 9 10 sylancr ( 𝜑 → ( ω ·o 𝐶 ) ∈ On )
12 nnon ( 𝑀 ∈ ω → 𝑀 ∈ On )
13 5 12 syl ( 𝜑𝑀 ∈ On )
14 oacl ( ( ( ω ·o 𝐶 ) ∈ On ∧ 𝑀 ∈ On ) → ( ( ω ·o 𝐶 ) +o 𝑀 ) ∈ On )
15 11 13 14 syl2anc ( 𝜑 → ( ( ω ·o 𝐶 ) +o 𝑀 ) ∈ On )
16 1 15 eqeltrd ( 𝜑𝐴 ∈ On )
17 naddonnn ( ( 𝐴 ∈ On ∧ 𝑥 ∈ ω ) → ( 𝐴 +o 𝑥 ) = ( 𝐴 +no 𝑥 ) )
18 16 17 sylan ( ( 𝜑𝑥 ∈ ω ) → ( 𝐴 +o 𝑥 ) = ( 𝐴 +no 𝑥 ) )
19 1 2 3 4 5 6 naddwordnexlem0 ( 𝜑 → ( 𝐴 ∈ ( ω ·o suc 𝐶 ) ∧ ( ω ·o suc 𝐶 ) ⊆ 𝐵 ) )
20 19 simprd ( 𝜑 → ( ω ·o suc 𝐶 ) ⊆ 𝐵 )
21 20 adantr ( ( 𝜑𝑥 ∈ ω ) → ( ω ·o suc 𝐶 ) ⊆ 𝐵 )
22 11 7 jctil ( 𝜑 → ( ω ∈ On ∧ ( ω ·o 𝐶 ) ∈ On ) )
23 22 adantr ( ( 𝜑𝑥 ∈ ω ) → ( ω ∈ On ∧ ( ω ·o 𝐶 ) ∈ On ) )
24 nnacl ( ( 𝑀 ∈ ω ∧ 𝑥 ∈ ω ) → ( 𝑀 +o 𝑥 ) ∈ ω )
25 5 24 sylan ( ( 𝜑𝑥 ∈ ω ) → ( 𝑀 +o 𝑥 ) ∈ ω )
26 oaordi ( ( ω ∈ On ∧ ( ω ·o 𝐶 ) ∈ On ) → ( ( 𝑀 +o 𝑥 ) ∈ ω → ( ( ω ·o 𝐶 ) +o ( 𝑀 +o 𝑥 ) ) ∈ ( ( ω ·o 𝐶 ) +o ω ) ) )
27 23 25 26 sylc ( ( 𝜑𝑥 ∈ ω ) → ( ( ω ·o 𝐶 ) +o ( 𝑀 +o 𝑥 ) ) ∈ ( ( ω ·o 𝐶 ) +o ω ) )
28 1 adantr ( ( 𝜑𝑥 ∈ ω ) → 𝐴 = ( ( ω ·o 𝐶 ) +o 𝑀 ) )
29 28 oveq1d ( ( 𝜑𝑥 ∈ ω ) → ( 𝐴 +o 𝑥 ) = ( ( ( ω ·o 𝐶 ) +o 𝑀 ) +o 𝑥 ) )
30 nnon ( 𝑥 ∈ ω → 𝑥 ∈ On )
31 oaass ( ( ( ω ·o 𝐶 ) ∈ On ∧ 𝑀 ∈ On ∧ 𝑥 ∈ On ) → ( ( ( ω ·o 𝐶 ) +o 𝑀 ) +o 𝑥 ) = ( ( ω ·o 𝐶 ) +o ( 𝑀 +o 𝑥 ) ) )
32 11 13 30 31 syl2an3an ( ( 𝜑𝑥 ∈ ω ) → ( ( ( ω ·o 𝐶 ) +o 𝑀 ) +o 𝑥 ) = ( ( ω ·o 𝐶 ) +o ( 𝑀 +o 𝑥 ) ) )
33 29 32 eqtrd ( ( 𝜑𝑥 ∈ ω ) → ( 𝐴 +o 𝑥 ) = ( ( ω ·o 𝐶 ) +o ( 𝑀 +o 𝑥 ) ) )
34 9 adantr ( ( 𝜑𝑥 ∈ ω ) → 𝐶 ∈ On )
35 omsuc ( ( ω ∈ On ∧ 𝐶 ∈ On ) → ( ω ·o suc 𝐶 ) = ( ( ω ·o 𝐶 ) +o ω ) )
36 7 34 35 sylancr ( ( 𝜑𝑥 ∈ ω ) → ( ω ·o suc 𝐶 ) = ( ( ω ·o 𝐶 ) +o ω ) )
37 27 33 36 3eltr4d ( ( 𝜑𝑥 ∈ ω ) → ( 𝐴 +o 𝑥 ) ∈ ( ω ·o suc 𝐶 ) )
38 21 37 sseldd ( ( 𝜑𝑥 ∈ ω ) → ( 𝐴 +o 𝑥 ) ∈ 𝐵 )
39 18 38 eqeltrrd ( ( 𝜑𝑥 ∈ ω ) → ( 𝐴 +no 𝑥 ) ∈ 𝐵 )
40 39 ex ( 𝜑 → ( 𝑥 ∈ ω → ( 𝐴 +no 𝑥 ) ∈ 𝐵 ) )
41 40 ralrimiv ( 𝜑 → ∀ 𝑥 ∈ ω ( 𝐴 +no 𝑥 ) ∈ 𝐵 )