Metamath Proof Explorer


Theorem addsproplem1

Description: Lemma for surreal addition properties. To prove closure on surreal addition we need to prove that addition is compatible with order at the same time. We do this by inducting over the maximum of two natural sums of the birthdays of surreals numbers. In the final step we will loop around and use tfr3 to prove this of all surreals. This first lemma just instantiates the inductive hypothesis so we do not need to do it continuously throughout the proof. (Contributed by Scott Fenton, 21-Jan-2025)

Ref Expression
Hypotheses addsproplem.1 ( 𝜑 → ∀ 𝑥 No 𝑦 No 𝑧 No ( ( ( ( bday 𝑥 ) +no ( bday 𝑦 ) ) ∪ ( ( bday 𝑥 ) +no ( bday 𝑧 ) ) ) ∈ ( ( ( bday 𝑋 ) +no ( bday 𝑌 ) ) ∪ ( ( bday 𝑋 ) +no ( bday 𝑍 ) ) ) → ( ( 𝑥 +s 𝑦 ) ∈ No ∧ ( 𝑦 <s 𝑧 → ( 𝑦 +s 𝑥 ) <s ( 𝑧 +s 𝑥 ) ) ) ) )
addsproplem1.2 ( 𝜑𝐴 No )
addsproplem1.3 ( 𝜑𝐵 No )
addsproplem1.4 ( 𝜑𝐶 No )
addsproplem1.5 ( 𝜑 → ( ( ( bday 𝐴 ) +no ( bday 𝐵 ) ) ∪ ( ( bday 𝐴 ) +no ( bday 𝐶 ) ) ) ∈ ( ( ( bday 𝑋 ) +no ( bday 𝑌 ) ) ∪ ( ( bday 𝑋 ) +no ( bday 𝑍 ) ) ) )
Assertion addsproplem1 ( 𝜑 → ( ( 𝐴 +s 𝐵 ) ∈ No ∧ ( 𝐵 <s 𝐶 → ( 𝐵 +s 𝐴 ) <s ( 𝐶 +s 𝐴 ) ) ) )

Proof

Step Hyp Ref Expression
1 addsproplem.1 ( 𝜑 → ∀ 𝑥 No 𝑦 No 𝑧 No ( ( ( ( bday 𝑥 ) +no ( bday 𝑦 ) ) ∪ ( ( bday 𝑥 ) +no ( bday 𝑧 ) ) ) ∈ ( ( ( bday 𝑋 ) +no ( bday 𝑌 ) ) ∪ ( ( bday 𝑋 ) +no ( bday 𝑍 ) ) ) → ( ( 𝑥 +s 𝑦 ) ∈ No ∧ ( 𝑦 <s 𝑧 → ( 𝑦 +s 𝑥 ) <s ( 𝑧 +s 𝑥 ) ) ) ) )
2 addsproplem1.2 ( 𝜑𝐴 No )
3 addsproplem1.3 ( 𝜑𝐵 No )
4 addsproplem1.4 ( 𝜑𝐶 No )
5 addsproplem1.5 ( 𝜑 → ( ( ( bday 𝐴 ) +no ( bday 𝐵 ) ) ∪ ( ( bday 𝐴 ) +no ( bday 𝐶 ) ) ) ∈ ( ( ( bday 𝑋 ) +no ( bday 𝑌 ) ) ∪ ( ( bday 𝑋 ) +no ( bday 𝑍 ) ) ) )
6 2 3 4 3jca ( 𝜑 → ( 𝐴 No 𝐵 No 𝐶 No ) )
7 fveq2 ( 𝑥 = 𝐴 → ( bday 𝑥 ) = ( bday 𝐴 ) )
8 7 oveq1d ( 𝑥 = 𝐴 → ( ( bday 𝑥 ) +no ( bday 𝑦 ) ) = ( ( bday 𝐴 ) +no ( bday 𝑦 ) ) )
9 7 oveq1d ( 𝑥 = 𝐴 → ( ( bday 𝑥 ) +no ( bday 𝑧 ) ) = ( ( bday 𝐴 ) +no ( bday 𝑧 ) ) )
10 8 9 uneq12d ( 𝑥 = 𝐴 → ( ( ( bday 𝑥 ) +no ( bday 𝑦 ) ) ∪ ( ( bday 𝑥 ) +no ( bday 𝑧 ) ) ) = ( ( ( bday 𝐴 ) +no ( bday 𝑦 ) ) ∪ ( ( bday 𝐴 ) +no ( bday 𝑧 ) ) ) )
11 10 eleq1d ( 𝑥 = 𝐴 → ( ( ( ( bday 𝑥 ) +no ( bday 𝑦 ) ) ∪ ( ( bday 𝑥 ) +no ( bday 𝑧 ) ) ) ∈ ( ( ( bday 𝑋 ) +no ( bday 𝑌 ) ) ∪ ( ( bday 𝑋 ) +no ( bday 𝑍 ) ) ) ↔ ( ( ( bday 𝐴 ) +no ( bday 𝑦 ) ) ∪ ( ( bday 𝐴 ) +no ( bday 𝑧 ) ) ) ∈ ( ( ( bday 𝑋 ) +no ( bday 𝑌 ) ) ∪ ( ( bday 𝑋 ) +no ( bday 𝑍 ) ) ) ) )
12 oveq1 ( 𝑥 = 𝐴 → ( 𝑥 +s 𝑦 ) = ( 𝐴 +s 𝑦 ) )
13 12 eleq1d ( 𝑥 = 𝐴 → ( ( 𝑥 +s 𝑦 ) ∈ No ↔ ( 𝐴 +s 𝑦 ) ∈ No ) )
14 oveq2 ( 𝑥 = 𝐴 → ( 𝑦 +s 𝑥 ) = ( 𝑦 +s 𝐴 ) )
15 oveq2 ( 𝑥 = 𝐴 → ( 𝑧 +s 𝑥 ) = ( 𝑧 +s 𝐴 ) )
16 14 15 breq12d ( 𝑥 = 𝐴 → ( ( 𝑦 +s 𝑥 ) <s ( 𝑧 +s 𝑥 ) ↔ ( 𝑦 +s 𝐴 ) <s ( 𝑧 +s 𝐴 ) ) )
17 16 imbi2d ( 𝑥 = 𝐴 → ( ( 𝑦 <s 𝑧 → ( 𝑦 +s 𝑥 ) <s ( 𝑧 +s 𝑥 ) ) ↔ ( 𝑦 <s 𝑧 → ( 𝑦 +s 𝐴 ) <s ( 𝑧 +s 𝐴 ) ) ) )
18 13 17 anbi12d ( 𝑥 = 𝐴 → ( ( ( 𝑥 +s 𝑦 ) ∈ No ∧ ( 𝑦 <s 𝑧 → ( 𝑦 +s 𝑥 ) <s ( 𝑧 +s 𝑥 ) ) ) ↔ ( ( 𝐴 +s 𝑦 ) ∈ No ∧ ( 𝑦 <s 𝑧 → ( 𝑦 +s 𝐴 ) <s ( 𝑧 +s 𝐴 ) ) ) ) )
19 11 18 imbi12d ( 𝑥 = 𝐴 → ( ( ( ( ( bday 𝑥 ) +no ( bday 𝑦 ) ) ∪ ( ( bday 𝑥 ) +no ( bday 𝑧 ) ) ) ∈ ( ( ( bday 𝑋 ) +no ( bday 𝑌 ) ) ∪ ( ( bday 𝑋 ) +no ( bday 𝑍 ) ) ) → ( ( 𝑥 +s 𝑦 ) ∈ No ∧ ( 𝑦 <s 𝑧 → ( 𝑦 +s 𝑥 ) <s ( 𝑧 +s 𝑥 ) ) ) ) ↔ ( ( ( ( bday 𝐴 ) +no ( bday 𝑦 ) ) ∪ ( ( bday 𝐴 ) +no ( bday 𝑧 ) ) ) ∈ ( ( ( bday 𝑋 ) +no ( bday 𝑌 ) ) ∪ ( ( bday 𝑋 ) +no ( bday 𝑍 ) ) ) → ( ( 𝐴 +s 𝑦 ) ∈ No ∧ ( 𝑦 <s 𝑧 → ( 𝑦 +s 𝐴 ) <s ( 𝑧 +s 𝐴 ) ) ) ) ) )
20 fveq2 ( 𝑦 = 𝐵 → ( bday 𝑦 ) = ( bday 𝐵 ) )
21 20 oveq2d ( 𝑦 = 𝐵 → ( ( bday 𝐴 ) +no ( bday 𝑦 ) ) = ( ( bday 𝐴 ) +no ( bday 𝐵 ) ) )
22 21 uneq1d ( 𝑦 = 𝐵 → ( ( ( bday 𝐴 ) +no ( bday 𝑦 ) ) ∪ ( ( bday 𝐴 ) +no ( bday 𝑧 ) ) ) = ( ( ( bday 𝐴 ) +no ( bday 𝐵 ) ) ∪ ( ( bday 𝐴 ) +no ( bday 𝑧 ) ) ) )
23 22 eleq1d ( 𝑦 = 𝐵 → ( ( ( ( bday 𝐴 ) +no ( bday 𝑦 ) ) ∪ ( ( bday 𝐴 ) +no ( bday 𝑧 ) ) ) ∈ ( ( ( bday 𝑋 ) +no ( bday 𝑌 ) ) ∪ ( ( bday 𝑋 ) +no ( bday 𝑍 ) ) ) ↔ ( ( ( bday 𝐴 ) +no ( bday 𝐵 ) ) ∪ ( ( bday 𝐴 ) +no ( bday 𝑧 ) ) ) ∈ ( ( ( bday 𝑋 ) +no ( bday 𝑌 ) ) ∪ ( ( bday 𝑋 ) +no ( bday 𝑍 ) ) ) ) )
24 oveq2 ( 𝑦 = 𝐵 → ( 𝐴 +s 𝑦 ) = ( 𝐴 +s 𝐵 ) )
25 24 eleq1d ( 𝑦 = 𝐵 → ( ( 𝐴 +s 𝑦 ) ∈ No ↔ ( 𝐴 +s 𝐵 ) ∈ No ) )
26 breq1 ( 𝑦 = 𝐵 → ( 𝑦 <s 𝑧𝐵 <s 𝑧 ) )
27 oveq1 ( 𝑦 = 𝐵 → ( 𝑦 +s 𝐴 ) = ( 𝐵 +s 𝐴 ) )
28 27 breq1d ( 𝑦 = 𝐵 → ( ( 𝑦 +s 𝐴 ) <s ( 𝑧 +s 𝐴 ) ↔ ( 𝐵 +s 𝐴 ) <s ( 𝑧 +s 𝐴 ) ) )
29 26 28 imbi12d ( 𝑦 = 𝐵 → ( ( 𝑦 <s 𝑧 → ( 𝑦 +s 𝐴 ) <s ( 𝑧 +s 𝐴 ) ) ↔ ( 𝐵 <s 𝑧 → ( 𝐵 +s 𝐴 ) <s ( 𝑧 +s 𝐴 ) ) ) )
30 25 29 anbi12d ( 𝑦 = 𝐵 → ( ( ( 𝐴 +s 𝑦 ) ∈ No ∧ ( 𝑦 <s 𝑧 → ( 𝑦 +s 𝐴 ) <s ( 𝑧 +s 𝐴 ) ) ) ↔ ( ( 𝐴 +s 𝐵 ) ∈ No ∧ ( 𝐵 <s 𝑧 → ( 𝐵 +s 𝐴 ) <s ( 𝑧 +s 𝐴 ) ) ) ) )
31 23 30 imbi12d ( 𝑦 = 𝐵 → ( ( ( ( ( bday 𝐴 ) +no ( bday 𝑦 ) ) ∪ ( ( bday 𝐴 ) +no ( bday 𝑧 ) ) ) ∈ ( ( ( bday 𝑋 ) +no ( bday 𝑌 ) ) ∪ ( ( bday 𝑋 ) +no ( bday 𝑍 ) ) ) → ( ( 𝐴 +s 𝑦 ) ∈ No ∧ ( 𝑦 <s 𝑧 → ( 𝑦 +s 𝐴 ) <s ( 𝑧 +s 𝐴 ) ) ) ) ↔ ( ( ( ( bday 𝐴 ) +no ( bday 𝐵 ) ) ∪ ( ( bday 𝐴 ) +no ( bday 𝑧 ) ) ) ∈ ( ( ( bday 𝑋 ) +no ( bday 𝑌 ) ) ∪ ( ( bday 𝑋 ) +no ( bday 𝑍 ) ) ) → ( ( 𝐴 +s 𝐵 ) ∈ No ∧ ( 𝐵 <s 𝑧 → ( 𝐵 +s 𝐴 ) <s ( 𝑧 +s 𝐴 ) ) ) ) ) )
32 fveq2 ( 𝑧 = 𝐶 → ( bday 𝑧 ) = ( bday 𝐶 ) )
33 32 oveq2d ( 𝑧 = 𝐶 → ( ( bday 𝐴 ) +no ( bday 𝑧 ) ) = ( ( bday 𝐴 ) +no ( bday 𝐶 ) ) )
34 33 uneq2d ( 𝑧 = 𝐶 → ( ( ( bday 𝐴 ) +no ( bday 𝐵 ) ) ∪ ( ( bday 𝐴 ) +no ( bday 𝑧 ) ) ) = ( ( ( bday 𝐴 ) +no ( bday 𝐵 ) ) ∪ ( ( bday 𝐴 ) +no ( bday 𝐶 ) ) ) )
35 34 eleq1d ( 𝑧 = 𝐶 → ( ( ( ( bday 𝐴 ) +no ( bday 𝐵 ) ) ∪ ( ( bday 𝐴 ) +no ( bday 𝑧 ) ) ) ∈ ( ( ( bday 𝑋 ) +no ( bday 𝑌 ) ) ∪ ( ( bday 𝑋 ) +no ( bday 𝑍 ) ) ) ↔ ( ( ( bday 𝐴 ) +no ( bday 𝐵 ) ) ∪ ( ( bday 𝐴 ) +no ( bday 𝐶 ) ) ) ∈ ( ( ( bday 𝑋 ) +no ( bday 𝑌 ) ) ∪ ( ( bday 𝑋 ) +no ( bday 𝑍 ) ) ) ) )
36 breq2 ( 𝑧 = 𝐶 → ( 𝐵 <s 𝑧𝐵 <s 𝐶 ) )
37 oveq1 ( 𝑧 = 𝐶 → ( 𝑧 +s 𝐴 ) = ( 𝐶 +s 𝐴 ) )
38 37 breq2d ( 𝑧 = 𝐶 → ( ( 𝐵 +s 𝐴 ) <s ( 𝑧 +s 𝐴 ) ↔ ( 𝐵 +s 𝐴 ) <s ( 𝐶 +s 𝐴 ) ) )
39 36 38 imbi12d ( 𝑧 = 𝐶 → ( ( 𝐵 <s 𝑧 → ( 𝐵 +s 𝐴 ) <s ( 𝑧 +s 𝐴 ) ) ↔ ( 𝐵 <s 𝐶 → ( 𝐵 +s 𝐴 ) <s ( 𝐶 +s 𝐴 ) ) ) )
40 39 anbi2d ( 𝑧 = 𝐶 → ( ( ( 𝐴 +s 𝐵 ) ∈ No ∧ ( 𝐵 <s 𝑧 → ( 𝐵 +s 𝐴 ) <s ( 𝑧 +s 𝐴 ) ) ) ↔ ( ( 𝐴 +s 𝐵 ) ∈ No ∧ ( 𝐵 <s 𝐶 → ( 𝐵 +s 𝐴 ) <s ( 𝐶 +s 𝐴 ) ) ) ) )
41 35 40 imbi12d ( 𝑧 = 𝐶 → ( ( ( ( ( bday 𝐴 ) +no ( bday 𝐵 ) ) ∪ ( ( bday 𝐴 ) +no ( bday 𝑧 ) ) ) ∈ ( ( ( bday 𝑋 ) +no ( bday 𝑌 ) ) ∪ ( ( bday 𝑋 ) +no ( bday 𝑍 ) ) ) → ( ( 𝐴 +s 𝐵 ) ∈ No ∧ ( 𝐵 <s 𝑧 → ( 𝐵 +s 𝐴 ) <s ( 𝑧 +s 𝐴 ) ) ) ) ↔ ( ( ( ( bday 𝐴 ) +no ( bday 𝐵 ) ) ∪ ( ( bday 𝐴 ) +no ( bday 𝐶 ) ) ) ∈ ( ( ( bday 𝑋 ) +no ( bday 𝑌 ) ) ∪ ( ( bday 𝑋 ) +no ( bday 𝑍 ) ) ) → ( ( 𝐴 +s 𝐵 ) ∈ No ∧ ( 𝐵 <s 𝐶 → ( 𝐵 +s 𝐴 ) <s ( 𝐶 +s 𝐴 ) ) ) ) ) )
42 19 31 41 rspc3v ( ( 𝐴 No 𝐵 No 𝐶 No ) → ( ∀ 𝑥 No 𝑦 No 𝑧 No ( ( ( ( bday 𝑥 ) +no ( bday 𝑦 ) ) ∪ ( ( bday 𝑥 ) +no ( bday 𝑧 ) ) ) ∈ ( ( ( bday 𝑋 ) +no ( bday 𝑌 ) ) ∪ ( ( bday 𝑋 ) +no ( bday 𝑍 ) ) ) → ( ( 𝑥 +s 𝑦 ) ∈ No ∧ ( 𝑦 <s 𝑧 → ( 𝑦 +s 𝑥 ) <s ( 𝑧 +s 𝑥 ) ) ) ) → ( ( ( ( bday 𝐴 ) +no ( bday 𝐵 ) ) ∪ ( ( bday 𝐴 ) +no ( bday 𝐶 ) ) ) ∈ ( ( ( bday 𝑋 ) +no ( bday 𝑌 ) ) ∪ ( ( bday 𝑋 ) +no ( bday 𝑍 ) ) ) → ( ( 𝐴 +s 𝐵 ) ∈ No ∧ ( 𝐵 <s 𝐶 → ( 𝐵 +s 𝐴 ) <s ( 𝐶 +s 𝐴 ) ) ) ) ) )
43 6 1 5 42 syl3c ( 𝜑 → ( ( 𝐴 +s 𝐵 ) ∈ No ∧ ( 𝐵 <s 𝐶 → ( 𝐵 +s 𝐴 ) <s ( 𝐶 +s 𝐴 ) ) ) )