Metamath Proof Explorer


Theorem oasubex

Description: While subtraction can't be a binary operation on ordinals, for any pair of ordinals there exists an ordinal that can be added to the lessor (or equal) one which will sum to the greater. Theorem 2.19 of Schloeder p. 6. (Contributed by RP, 29-Jan-2025)

Ref Expression
Assertion oasubex ( ( 𝐴 ∈ On ∧ 𝐵 ∈ On ∧ 𝐵𝐴 ) → ∃ 𝑐 ∈ On ( 𝑐𝐴 ∧ ( 𝐵 +o 𝑐 ) = 𝐴 ) )

Proof

Step Hyp Ref Expression
1 simp2 ( ( 𝐴 ∈ On ∧ 𝐵 ∈ On ∧ 𝐵𝐴 ) → 𝐵 ∈ On )
2 simp1 ( ( 𝐴 ∈ On ∧ 𝐵 ∈ On ∧ 𝐵𝐴 ) → 𝐴 ∈ On )
3 simp3 ( ( 𝐴 ∈ On ∧ 𝐵 ∈ On ∧ 𝐵𝐴 ) → 𝐵𝐴 )
4 oawordex ( ( 𝐵 ∈ On ∧ 𝐴 ∈ On ) → ( 𝐵𝐴 ↔ ∃ 𝑐 ∈ On ( 𝐵 +o 𝑐 ) = 𝐴 ) )
5 4 biimpa ( ( ( 𝐵 ∈ On ∧ 𝐴 ∈ On ) ∧ 𝐵𝐴 ) → ∃ 𝑐 ∈ On ( 𝐵 +o 𝑐 ) = 𝐴 )
6 1 2 3 5 syl21anc ( ( 𝐴 ∈ On ∧ 𝐵 ∈ On ∧ 𝐵𝐴 ) → ∃ 𝑐 ∈ On ( 𝐵 +o 𝑐 ) = 𝐴 )
7 simpr ( ( ( ( 𝐴 ∈ On ∧ 𝐵 ∈ On ∧ 𝐵𝐴 ) ∧ 𝑐 ∈ On ) ∧ ( 𝐵 +o 𝑐 ) = 𝐴 ) → ( 𝐵 +o 𝑐 ) = 𝐴 )
8 simpl1 ( ( ( 𝐴 ∈ On ∧ 𝐵 ∈ On ∧ 𝐵𝐴 ) ∧ 𝑐 ∈ On ) → 𝐴 ∈ On )
9 simpl2 ( ( ( 𝐴 ∈ On ∧ 𝐵 ∈ On ∧ 𝐵𝐴 ) ∧ 𝑐 ∈ On ) → 𝐵 ∈ On )
10 oaword2 ( ( 𝐴 ∈ On ∧ 𝐵 ∈ On ) → 𝐴 ⊆ ( 𝐵 +o 𝐴 ) )
11 8 9 10 syl2anc ( ( ( 𝐴 ∈ On ∧ 𝐵 ∈ On ∧ 𝐵𝐴 ) ∧ 𝑐 ∈ On ) → 𝐴 ⊆ ( 𝐵 +o 𝐴 ) )
12 11 adantr ( ( ( ( 𝐴 ∈ On ∧ 𝐵 ∈ On ∧ 𝐵𝐴 ) ∧ 𝑐 ∈ On ) ∧ ( 𝐵 +o 𝑐 ) = 𝐴 ) → 𝐴 ⊆ ( 𝐵 +o 𝐴 ) )
13 7 12 eqsstrd ( ( ( ( 𝐴 ∈ On ∧ 𝐵 ∈ On ∧ 𝐵𝐴 ) ∧ 𝑐 ∈ On ) ∧ ( 𝐵 +o 𝑐 ) = 𝐴 ) → ( 𝐵 +o 𝑐 ) ⊆ ( 𝐵 +o 𝐴 ) )
14 simpr ( ( ( 𝐴 ∈ On ∧ 𝐵 ∈ On ∧ 𝐵𝐴 ) ∧ 𝑐 ∈ On ) → 𝑐 ∈ On )
15 oaword ( ( 𝑐 ∈ On ∧ 𝐴 ∈ On ∧ 𝐵 ∈ On ) → ( 𝑐𝐴 ↔ ( 𝐵 +o 𝑐 ) ⊆ ( 𝐵 +o 𝐴 ) ) )
16 14 8 9 15 syl3anc ( ( ( 𝐴 ∈ On ∧ 𝐵 ∈ On ∧ 𝐵𝐴 ) ∧ 𝑐 ∈ On ) → ( 𝑐𝐴 ↔ ( 𝐵 +o 𝑐 ) ⊆ ( 𝐵 +o 𝐴 ) ) )
17 16 adantr ( ( ( ( 𝐴 ∈ On ∧ 𝐵 ∈ On ∧ 𝐵𝐴 ) ∧ 𝑐 ∈ On ) ∧ ( 𝐵 +o 𝑐 ) = 𝐴 ) → ( 𝑐𝐴 ↔ ( 𝐵 +o 𝑐 ) ⊆ ( 𝐵 +o 𝐴 ) ) )
18 13 17 mpbird ( ( ( ( 𝐴 ∈ On ∧ 𝐵 ∈ On ∧ 𝐵𝐴 ) ∧ 𝑐 ∈ On ) ∧ ( 𝐵 +o 𝑐 ) = 𝐴 ) → 𝑐𝐴 )
19 18 ex ( ( ( 𝐴 ∈ On ∧ 𝐵 ∈ On ∧ 𝐵𝐴 ) ∧ 𝑐 ∈ On ) → ( ( 𝐵 +o 𝑐 ) = 𝐴𝑐𝐴 ) )
20 19 ancrd ( ( ( 𝐴 ∈ On ∧ 𝐵 ∈ On ∧ 𝐵𝐴 ) ∧ 𝑐 ∈ On ) → ( ( 𝐵 +o 𝑐 ) = 𝐴 → ( 𝑐𝐴 ∧ ( 𝐵 +o 𝑐 ) = 𝐴 ) ) )
21 20 reximdva ( ( 𝐴 ∈ On ∧ 𝐵 ∈ On ∧ 𝐵𝐴 ) → ( ∃ 𝑐 ∈ On ( 𝐵 +o 𝑐 ) = 𝐴 → ∃ 𝑐 ∈ On ( 𝑐𝐴 ∧ ( 𝐵 +o 𝑐 ) = 𝐴 ) ) )
22 6 21 mpd ( ( 𝐴 ∈ On ∧ 𝐵 ∈ On ∧ 𝐵𝐴 ) → ∃ 𝑐 ∈ On ( 𝑐𝐴 ∧ ( 𝐵 +o 𝑐 ) = 𝐴 ) )