Metamath Proof Explorer


Theorem oaabsb

Description: The right addend absorbs the sum with an ordinal iff that ordinal times omega is less than or equal to the right addend. (Contributed by RP, 19-Feb-2025)

Ref Expression
Assertion oaabsb ( ( 𝐴 ∈ On ∧ 𝐵 ∈ On ) → ( ( 𝐴 ·o ω ) ⊆ 𝐵 ↔ ( 𝐴 +o 𝐵 ) = 𝐵 ) )

Proof

Step Hyp Ref Expression
1 omelon ω ∈ On
2 omcl ( ( 𝐴 ∈ On ∧ ω ∈ On ) → ( 𝐴 ·o ω ) ∈ On )
3 1 2 mpan2 ( 𝐴 ∈ On → ( 𝐴 ·o ω ) ∈ On )
4 oawordex ( ( ( 𝐴 ·o ω ) ∈ On ∧ 𝐵 ∈ On ) → ( ( 𝐴 ·o ω ) ⊆ 𝐵 ↔ ∃ 𝑥 ∈ On ( ( 𝐴 ·o ω ) +o 𝑥 ) = 𝐵 ) )
5 3 4 sylan ( ( 𝐴 ∈ On ∧ 𝐵 ∈ On ) → ( ( 𝐴 ·o ω ) ⊆ 𝐵 ↔ ∃ 𝑥 ∈ On ( ( 𝐴 ·o ω ) +o 𝑥 ) = 𝐵 ) )
6 simpl ( ( 𝐴 ∈ On ∧ 𝐵 ∈ On ) → 𝐴 ∈ On )
7 6 adantr ( ( ( 𝐴 ∈ On ∧ 𝐵 ∈ On ) ∧ 𝑥 ∈ On ) → 𝐴 ∈ On )
8 3 ad2antrr ( ( ( 𝐴 ∈ On ∧ 𝐵 ∈ On ) ∧ 𝑥 ∈ On ) → ( 𝐴 ·o ω ) ∈ On )
9 simpr ( ( ( 𝐴 ∈ On ∧ 𝐵 ∈ On ) ∧ 𝑥 ∈ On ) → 𝑥 ∈ On )
10 oaass ( ( 𝐴 ∈ On ∧ ( 𝐴 ·o ω ) ∈ On ∧ 𝑥 ∈ On ) → ( ( 𝐴 +o ( 𝐴 ·o ω ) ) +o 𝑥 ) = ( 𝐴 +o ( ( 𝐴 ·o ω ) +o 𝑥 ) ) )
11 7 8 9 10 syl3anc ( ( ( 𝐴 ∈ On ∧ 𝐵 ∈ On ) ∧ 𝑥 ∈ On ) → ( ( 𝐴 +o ( 𝐴 ·o ω ) ) +o 𝑥 ) = ( 𝐴 +o ( ( 𝐴 ·o ω ) +o 𝑥 ) ) )
12 1on 1o ∈ On
13 odi ( ( 𝐴 ∈ On ∧ 1o ∈ On ∧ ω ∈ On ) → ( 𝐴 ·o ( 1o +o ω ) ) = ( ( 𝐴 ·o 1o ) +o ( 𝐴 ·o ω ) ) )
14 12 1 13 mp3an23 ( 𝐴 ∈ On → ( 𝐴 ·o ( 1o +o ω ) ) = ( ( 𝐴 ·o 1o ) +o ( 𝐴 ·o ω ) ) )
15 1oaomeqom ( 1o +o ω ) = ω
16 15 oveq2i ( 𝐴 ·o ( 1o +o ω ) ) = ( 𝐴 ·o ω )
17 16 a1i ( 𝐴 ∈ On → ( 𝐴 ·o ( 1o +o ω ) ) = ( 𝐴 ·o ω ) )
18 om1 ( 𝐴 ∈ On → ( 𝐴 ·o 1o ) = 𝐴 )
19 18 oveq1d ( 𝐴 ∈ On → ( ( 𝐴 ·o 1o ) +o ( 𝐴 ·o ω ) ) = ( 𝐴 +o ( 𝐴 ·o ω ) ) )
20 14 17 19 3eqtr3rd ( 𝐴 ∈ On → ( 𝐴 +o ( 𝐴 ·o ω ) ) = ( 𝐴 ·o ω ) )
21 20 oveq1d ( 𝐴 ∈ On → ( ( 𝐴 +o ( 𝐴 ·o ω ) ) +o 𝑥 ) = ( ( 𝐴 ·o ω ) +o 𝑥 ) )
22 21 ad2antrr ( ( ( 𝐴 ∈ On ∧ 𝐵 ∈ On ) ∧ 𝑥 ∈ On ) → ( ( 𝐴 +o ( 𝐴 ·o ω ) ) +o 𝑥 ) = ( ( 𝐴 ·o ω ) +o 𝑥 ) )
23 11 22 eqtr3d ( ( ( 𝐴 ∈ On ∧ 𝐵 ∈ On ) ∧ 𝑥 ∈ On ) → ( 𝐴 +o ( ( 𝐴 ·o ω ) +o 𝑥 ) ) = ( ( 𝐴 ·o ω ) +o 𝑥 ) )
24 oveq2 ( ( ( 𝐴 ·o ω ) +o 𝑥 ) = 𝐵 → ( 𝐴 +o ( ( 𝐴 ·o ω ) +o 𝑥 ) ) = ( 𝐴 +o 𝐵 ) )
25 id ( ( ( 𝐴 ·o ω ) +o 𝑥 ) = 𝐵 → ( ( 𝐴 ·o ω ) +o 𝑥 ) = 𝐵 )
26 24 25 eqeq12d ( ( ( 𝐴 ·o ω ) +o 𝑥 ) = 𝐵 → ( ( 𝐴 +o ( ( 𝐴 ·o ω ) +o 𝑥 ) ) = ( ( 𝐴 ·o ω ) +o 𝑥 ) ↔ ( 𝐴 +o 𝐵 ) = 𝐵 ) )
27 23 26 syl5ibcom ( ( ( 𝐴 ∈ On ∧ 𝐵 ∈ On ) ∧ 𝑥 ∈ On ) → ( ( ( 𝐴 ·o ω ) +o 𝑥 ) = 𝐵 → ( 𝐴 +o 𝐵 ) = 𝐵 ) )
28 27 rexlimdva ( ( 𝐴 ∈ On ∧ 𝐵 ∈ On ) → ( ∃ 𝑥 ∈ On ( ( 𝐴 ·o ω ) +o 𝑥 ) = 𝐵 → ( 𝐴 +o 𝐵 ) = 𝐵 ) )
29 5 28 sylbid ( ( 𝐴 ∈ On ∧ 𝐵 ∈ On ) → ( ( 𝐴 ·o ω ) ⊆ 𝐵 → ( 𝐴 +o 𝐵 ) = 𝐵 ) )
30 limom Lim ω
31 omlim ( ( 𝐴 ∈ On ∧ ( ω ∈ On ∧ Lim ω ) ) → ( 𝐴 ·o ω ) = 𝑥 ∈ ω ( 𝐴 ·o 𝑥 ) )
32 1 30 31 mpanr12 ( 𝐴 ∈ On → ( 𝐴 ·o ω ) = 𝑥 ∈ ω ( 𝐴 ·o 𝑥 ) )
33 32 ad2antrr ( ( ( 𝐴 ∈ On ∧ 𝐵 ∈ On ) ∧ ( 𝐴 +o 𝐵 ) = 𝐵 ) → ( 𝐴 ·o ω ) = 𝑥 ∈ ω ( 𝐴 ·o 𝑥 ) )
34 oveq2 ( 𝑥 = ∅ → ( 𝐴 ·o 𝑥 ) = ( 𝐴 ·o ∅ ) )
35 34 sseq1d ( 𝑥 = ∅ → ( ( 𝐴 ·o 𝑥 ) ⊆ 𝐵 ↔ ( 𝐴 ·o ∅ ) ⊆ 𝐵 ) )
36 oveq2 ( 𝑥 = 𝑦 → ( 𝐴 ·o 𝑥 ) = ( 𝐴 ·o 𝑦 ) )
37 36 sseq1d ( 𝑥 = 𝑦 → ( ( 𝐴 ·o 𝑥 ) ⊆ 𝐵 ↔ ( 𝐴 ·o 𝑦 ) ⊆ 𝐵 ) )
38 oveq2 ( 𝑥 = suc 𝑦 → ( 𝐴 ·o 𝑥 ) = ( 𝐴 ·o suc 𝑦 ) )
39 38 sseq1d ( 𝑥 = suc 𝑦 → ( ( 𝐴 ·o 𝑥 ) ⊆ 𝐵 ↔ ( 𝐴 ·o suc 𝑦 ) ⊆ 𝐵 ) )
40 om0 ( 𝐴 ∈ On → ( 𝐴 ·o ∅ ) = ∅ )
41 0ss ∅ ⊆ 𝐵
42 40 41 eqsstrdi ( 𝐴 ∈ On → ( 𝐴 ·o ∅ ) ⊆ 𝐵 )
43 42 ad2antrr ( ( ( 𝐴 ∈ On ∧ 𝐵 ∈ On ) ∧ ( 𝐴 +o 𝐵 ) = 𝐵 ) → ( 𝐴 ·o ∅ ) ⊆ 𝐵 )
44 nnon ( 𝑦 ∈ ω → 𝑦 ∈ On )
45 omcl ( ( 𝐴 ∈ On ∧ 𝑦 ∈ On ) → ( 𝐴 ·o 𝑦 ) ∈ On )
46 6 44 45 syl2an ( ( ( 𝐴 ∈ On ∧ 𝐵 ∈ On ) ∧ 𝑦 ∈ ω ) → ( 𝐴 ·o 𝑦 ) ∈ On )
47 simpr ( ( 𝐴 ∈ On ∧ 𝐵 ∈ On ) → 𝐵 ∈ On )
48 47 adantr ( ( ( 𝐴 ∈ On ∧ 𝐵 ∈ On ) ∧ 𝑦 ∈ ω ) → 𝐵 ∈ On )
49 6 adantr ( ( ( 𝐴 ∈ On ∧ 𝐵 ∈ On ) ∧ 𝑦 ∈ ω ) → 𝐴 ∈ On )
50 46 48 49 3jca ( ( ( 𝐴 ∈ On ∧ 𝐵 ∈ On ) ∧ 𝑦 ∈ ω ) → ( ( 𝐴 ·o 𝑦 ) ∈ On ∧ 𝐵 ∈ On ∧ 𝐴 ∈ On ) )
51 50 expcom ( 𝑦 ∈ ω → ( ( 𝐴 ∈ On ∧ 𝐵 ∈ On ) → ( ( 𝐴 ·o 𝑦 ) ∈ On ∧ 𝐵 ∈ On ∧ 𝐴 ∈ On ) ) )
52 51 adantrd ( 𝑦 ∈ ω → ( ( ( 𝐴 ∈ On ∧ 𝐵 ∈ On ) ∧ ( 𝐴 +o 𝐵 ) = 𝐵 ) → ( ( 𝐴 ·o 𝑦 ) ∈ On ∧ 𝐵 ∈ On ∧ 𝐴 ∈ On ) ) )
53 52 imp ( ( 𝑦 ∈ ω ∧ ( ( 𝐴 ∈ On ∧ 𝐵 ∈ On ) ∧ ( 𝐴 +o 𝐵 ) = 𝐵 ) ) → ( ( 𝐴 ·o 𝑦 ) ∈ On ∧ 𝐵 ∈ On ∧ 𝐴 ∈ On ) )
54 oaword ( ( ( 𝐴 ·o 𝑦 ) ∈ On ∧ 𝐵 ∈ On ∧ 𝐴 ∈ On ) → ( ( 𝐴 ·o 𝑦 ) ⊆ 𝐵 ↔ ( 𝐴 +o ( 𝐴 ·o 𝑦 ) ) ⊆ ( 𝐴 +o 𝐵 ) ) )
55 53 54 syl ( ( 𝑦 ∈ ω ∧ ( ( 𝐴 ∈ On ∧ 𝐵 ∈ On ) ∧ ( 𝐴 +o 𝐵 ) = 𝐵 ) ) → ( ( 𝐴 ·o 𝑦 ) ⊆ 𝐵 ↔ ( 𝐴 +o ( 𝐴 ·o 𝑦 ) ) ⊆ ( 𝐴 +o 𝐵 ) ) )
56 55 biimpa ( ( ( 𝑦 ∈ ω ∧ ( ( 𝐴 ∈ On ∧ 𝐵 ∈ On ) ∧ ( 𝐴 +o 𝐵 ) = 𝐵 ) ) ∧ ( 𝐴 ·o 𝑦 ) ⊆ 𝐵 ) → ( 𝐴 +o ( 𝐴 ·o 𝑦 ) ) ⊆ ( 𝐴 +o 𝐵 ) )
57 simpl ( ( 𝐴 ∈ On ∧ 𝑦 ∈ ω ) → 𝐴 ∈ On )
58 12 a1i ( ( 𝐴 ∈ On ∧ 𝑦 ∈ ω ) → 1o ∈ On )
59 44 adantl ( ( 𝐴 ∈ On ∧ 𝑦 ∈ ω ) → 𝑦 ∈ On )
60 odi ( ( 𝐴 ∈ On ∧ 1o ∈ On ∧ 𝑦 ∈ On ) → ( 𝐴 ·o ( 1o +o 𝑦 ) ) = ( ( 𝐴 ·o 1o ) +o ( 𝐴 ·o 𝑦 ) ) )
61 57 58 59 60 syl3anc ( ( 𝐴 ∈ On ∧ 𝑦 ∈ ω ) → ( 𝐴 ·o ( 1o +o 𝑦 ) ) = ( ( 𝐴 ·o 1o ) +o ( 𝐴 ·o 𝑦 ) ) )
62 1onn 1o ∈ ω
63 nnacom ( ( 1o ∈ ω ∧ 𝑦 ∈ ω ) → ( 1o +o 𝑦 ) = ( 𝑦 +o 1o ) )
64 62 63 mpan ( 𝑦 ∈ ω → ( 1o +o 𝑦 ) = ( 𝑦 +o 1o ) )
65 oa1suc ( 𝑦 ∈ On → ( 𝑦 +o 1o ) = suc 𝑦 )
66 44 65 syl ( 𝑦 ∈ ω → ( 𝑦 +o 1o ) = suc 𝑦 )
67 64 66 eqtrd ( 𝑦 ∈ ω → ( 1o +o 𝑦 ) = suc 𝑦 )
68 67 oveq2d ( 𝑦 ∈ ω → ( 𝐴 ·o ( 1o +o 𝑦 ) ) = ( 𝐴 ·o suc 𝑦 ) )
69 68 adantl ( ( 𝐴 ∈ On ∧ 𝑦 ∈ ω ) → ( 𝐴 ·o ( 1o +o 𝑦 ) ) = ( 𝐴 ·o suc 𝑦 ) )
70 18 oveq1d ( 𝐴 ∈ On → ( ( 𝐴 ·o 1o ) +o ( 𝐴 ·o 𝑦 ) ) = ( 𝐴 +o ( 𝐴 ·o 𝑦 ) ) )
71 70 adantr ( ( 𝐴 ∈ On ∧ 𝑦 ∈ ω ) → ( ( 𝐴 ·o 1o ) +o ( 𝐴 ·o 𝑦 ) ) = ( 𝐴 +o ( 𝐴 ·o 𝑦 ) ) )
72 61 69 71 3eqtr3rd ( ( 𝐴 ∈ On ∧ 𝑦 ∈ ω ) → ( 𝐴 +o ( 𝐴 ·o 𝑦 ) ) = ( 𝐴 ·o suc 𝑦 ) )
73 72 expcom ( 𝑦 ∈ ω → ( 𝐴 ∈ On → ( 𝐴 +o ( 𝐴 ·o 𝑦 ) ) = ( 𝐴 ·o suc 𝑦 ) ) )
74 73 adantrd ( 𝑦 ∈ ω → ( ( 𝐴 ∈ On ∧ 𝐵 ∈ On ) → ( 𝐴 +o ( 𝐴 ·o 𝑦 ) ) = ( 𝐴 ·o suc 𝑦 ) ) )
75 74 adantrd ( 𝑦 ∈ ω → ( ( ( 𝐴 ∈ On ∧ 𝐵 ∈ On ) ∧ ( 𝐴 +o 𝐵 ) = 𝐵 ) → ( 𝐴 +o ( 𝐴 ·o 𝑦 ) ) = ( 𝐴 ·o suc 𝑦 ) ) )
76 75 imp ( ( 𝑦 ∈ ω ∧ ( ( 𝐴 ∈ On ∧ 𝐵 ∈ On ) ∧ ( 𝐴 +o 𝐵 ) = 𝐵 ) ) → ( 𝐴 +o ( 𝐴 ·o 𝑦 ) ) = ( 𝐴 ·o suc 𝑦 ) )
77 76 adantr ( ( ( 𝑦 ∈ ω ∧ ( ( 𝐴 ∈ On ∧ 𝐵 ∈ On ) ∧ ( 𝐴 +o 𝐵 ) = 𝐵 ) ) ∧ ( 𝐴 ·o 𝑦 ) ⊆ 𝐵 ) → ( 𝐴 +o ( 𝐴 ·o 𝑦 ) ) = ( 𝐴 ·o suc 𝑦 ) )
78 simpr ( ( ( 𝐴 ∈ On ∧ 𝐵 ∈ On ) ∧ ( 𝐴 +o 𝐵 ) = 𝐵 ) → ( 𝐴 +o 𝐵 ) = 𝐵 )
79 78 adantl ( ( 𝑦 ∈ ω ∧ ( ( 𝐴 ∈ On ∧ 𝐵 ∈ On ) ∧ ( 𝐴 +o 𝐵 ) = 𝐵 ) ) → ( 𝐴 +o 𝐵 ) = 𝐵 )
80 79 adantr ( ( ( 𝑦 ∈ ω ∧ ( ( 𝐴 ∈ On ∧ 𝐵 ∈ On ) ∧ ( 𝐴 +o 𝐵 ) = 𝐵 ) ) ∧ ( 𝐴 ·o 𝑦 ) ⊆ 𝐵 ) → ( 𝐴 +o 𝐵 ) = 𝐵 )
81 56 77 80 3sstr3d ( ( ( 𝑦 ∈ ω ∧ ( ( 𝐴 ∈ On ∧ 𝐵 ∈ On ) ∧ ( 𝐴 +o 𝐵 ) = 𝐵 ) ) ∧ ( 𝐴 ·o 𝑦 ) ⊆ 𝐵 ) → ( 𝐴 ·o suc 𝑦 ) ⊆ 𝐵 )
82 81 exp31 ( 𝑦 ∈ ω → ( ( ( 𝐴 ∈ On ∧ 𝐵 ∈ On ) ∧ ( 𝐴 +o 𝐵 ) = 𝐵 ) → ( ( 𝐴 ·o 𝑦 ) ⊆ 𝐵 → ( 𝐴 ·o suc 𝑦 ) ⊆ 𝐵 ) ) )
83 35 37 39 43 82 finds2 ( 𝑥 ∈ ω → ( ( ( 𝐴 ∈ On ∧ 𝐵 ∈ On ) ∧ ( 𝐴 +o 𝐵 ) = 𝐵 ) → ( 𝐴 ·o 𝑥 ) ⊆ 𝐵 ) )
84 83 com12 ( ( ( 𝐴 ∈ On ∧ 𝐵 ∈ On ) ∧ ( 𝐴 +o 𝐵 ) = 𝐵 ) → ( 𝑥 ∈ ω → ( 𝐴 ·o 𝑥 ) ⊆ 𝐵 ) )
85 84 ralrimiv ( ( ( 𝐴 ∈ On ∧ 𝐵 ∈ On ) ∧ ( 𝐴 +o 𝐵 ) = 𝐵 ) → ∀ 𝑥 ∈ ω ( 𝐴 ·o 𝑥 ) ⊆ 𝐵 )
86 iunss ( 𝑥 ∈ ω ( 𝐴 ·o 𝑥 ) ⊆ 𝐵 ↔ ∀ 𝑥 ∈ ω ( 𝐴 ·o 𝑥 ) ⊆ 𝐵 )
87 85 86 sylibr ( ( ( 𝐴 ∈ On ∧ 𝐵 ∈ On ) ∧ ( 𝐴 +o 𝐵 ) = 𝐵 ) → 𝑥 ∈ ω ( 𝐴 ·o 𝑥 ) ⊆ 𝐵 )
88 33 87 eqsstrd ( ( ( 𝐴 ∈ On ∧ 𝐵 ∈ On ) ∧ ( 𝐴 +o 𝐵 ) = 𝐵 ) → ( 𝐴 ·o ω ) ⊆ 𝐵 )
89 88 ex ( ( 𝐴 ∈ On ∧ 𝐵 ∈ On ) → ( ( 𝐴 +o 𝐵 ) = 𝐵 → ( 𝐴 ·o ω ) ⊆ 𝐵 ) )
90 29 89 impbid ( ( 𝐴 ∈ On ∧ 𝐵 ∈ On ) → ( ( 𝐴 ·o ω ) ⊆ 𝐵 ↔ ( 𝐴 +o 𝐵 ) = 𝐵 ) )