Metamath Proof Explorer


Theorem xaddass2

Description: Associativity of extended real addition. See xaddass for notes on the hypotheses. (Contributed by Mario Carneiro, 20-Aug-2015)

Ref Expression
Assertion xaddass2 ( ( ( 𝐴 ∈ ℝ* ∧ 𝐴 ≠ +∞ ) ∧ ( 𝐵 ∈ ℝ* ∧ 𝐵 ≠ +∞ ) ∧ ( 𝐶 ∈ ℝ* ∧ 𝐶 ≠ +∞ ) ) → ( ( 𝐴 +𝑒 𝐵 ) +𝑒 𝐶 ) = ( 𝐴 +𝑒 ( 𝐵 +𝑒 𝐶 ) ) )

Proof

Step Hyp Ref Expression
1 simp1l ⊢ ( ( ( 𝐴 ∈ ℝ* ∧ 𝐴 ≠ +∞ ) ∧ ( 𝐵 ∈ ℝ* ∧ 𝐵 ≠ +∞ ) ∧ ( 𝐶 ∈ ℝ* ∧ 𝐶 ≠ +∞ ) ) → 𝐴 ∈ ℝ* )
2 xnegcl ⊢ ( 𝐴 ∈ ℝ* → -𝑒 𝐴 ∈ ℝ* )
3 1 2 syl ⊢ ( ( ( 𝐴 ∈ ℝ* ∧ 𝐴 ≠ +∞ ) ∧ ( 𝐵 ∈ ℝ* ∧ 𝐵 ≠ +∞ ) ∧ ( 𝐶 ∈ ℝ* ∧ 𝐶 ≠ +∞ ) ) → -𝑒 𝐴 ∈ ℝ* )
4 simp1r ⊢ ( ( ( 𝐴 ∈ ℝ* ∧ 𝐴 ≠ +∞ ) ∧ ( 𝐵 ∈ ℝ* ∧ 𝐵 ≠ +∞ ) ∧ ( 𝐶 ∈ ℝ* ∧ 𝐶 ≠ +∞ ) ) → 𝐴 ≠ +∞ )
5 pnfxr ⊢ +∞ ∈ ℝ*
6 xneg11 ⊢ ( ( 𝐴 ∈ ℝ* ∧ +∞ ∈ ℝ* ) → ( -𝑒 𝐴 = -𝑒 +∞ ↔ 𝐴 = +∞ ) )
7 1 5 6 sylancl ⊢ ( ( ( 𝐴 ∈ ℝ* ∧ 𝐴 ≠ +∞ ) ∧ ( 𝐵 ∈ ℝ* ∧ 𝐵 ≠ +∞ ) ∧ ( 𝐶 ∈ ℝ* ∧ 𝐶 ≠ +∞ ) ) → ( -𝑒 𝐴 = -𝑒 +∞ ↔ 𝐴 = +∞ ) )
8 7 necon3bid ⊢ ( ( ( 𝐴 ∈ ℝ* ∧ 𝐴 ≠ +∞ ) ∧ ( 𝐵 ∈ ℝ* ∧ 𝐵 ≠ +∞ ) ∧ ( 𝐶 ∈ ℝ* ∧ 𝐶 ≠ +∞ ) ) → ( -𝑒 𝐴 ≠ -𝑒 +∞ ↔ 𝐴 ≠ +∞ ) )
9 4 8 mpbird ⊢ ( ( ( 𝐴 ∈ ℝ* ∧ 𝐴 ≠ +∞ ) ∧ ( 𝐵 ∈ ℝ* ∧ 𝐵 ≠ +∞ ) ∧ ( 𝐶 ∈ ℝ* ∧ 𝐶 ≠ +∞ ) ) → -𝑒 𝐴 ≠ -𝑒 +∞ )
10 xnegpnf ⊢ -𝑒 +∞ = -∞
11 10 a1i ⊢ ( ( ( 𝐴 ∈ ℝ* ∧ 𝐴 ≠ +∞ ) ∧ ( 𝐵 ∈ ℝ* ∧ 𝐵 ≠ +∞ ) ∧ ( 𝐶 ∈ ℝ* ∧ 𝐶 ≠ +∞ ) ) → -𝑒 +∞ = -∞ )
12 9 11 neeqtrd ⊢ ( ( ( 𝐴 ∈ ℝ* ∧ 𝐴 ≠ +∞ ) ∧ ( 𝐵 ∈ ℝ* ∧ 𝐵 ≠ +∞ ) ∧ ( 𝐶 ∈ ℝ* ∧ 𝐶 ≠ +∞ ) ) → -𝑒 𝐴 ≠ -∞ )
13 simp2l ⊢ ( ( ( 𝐴 ∈ ℝ* ∧ 𝐴 ≠ +∞ ) ∧ ( 𝐵 ∈ ℝ* ∧ 𝐵 ≠ +∞ ) ∧ ( 𝐶 ∈ ℝ* ∧ 𝐶 ≠ +∞ ) ) → 𝐵 ∈ ℝ* )
14 xnegcl ⊢ ( 𝐵 ∈ ℝ* → -𝑒 𝐵 ∈ ℝ* )
15 13 14 syl ⊢ ( ( ( 𝐴 ∈ ℝ* ∧ 𝐴 ≠ +∞ ) ∧ ( 𝐵 ∈ ℝ* ∧ 𝐵 ≠ +∞ ) ∧ ( 𝐶 ∈ ℝ* ∧ 𝐶 ≠ +∞ ) ) → -𝑒 𝐵 ∈ ℝ* )
16 simp2r ⊢ ( ( ( 𝐴 ∈ ℝ* ∧ 𝐴 ≠ +∞ ) ∧ ( 𝐵 ∈ ℝ* ∧ 𝐵 ≠ +∞ ) ∧ ( 𝐶 ∈ ℝ* ∧ 𝐶 ≠ +∞ ) ) → 𝐵 ≠ +∞ )
17 xneg11 ⊢ ( ( 𝐵 ∈ ℝ* ∧ +∞ ∈ ℝ* ) → ( -𝑒 𝐵 = -𝑒 +∞ ↔ 𝐵 = +∞ ) )
18 13 5 17 sylancl ⊢ ( ( ( 𝐴 ∈ ℝ* ∧ 𝐴 ≠ +∞ ) ∧ ( 𝐵 ∈ ℝ* ∧ 𝐵 ≠ +∞ ) ∧ ( 𝐶 ∈ ℝ* ∧ 𝐶 ≠ +∞ ) ) → ( -𝑒 𝐵 = -𝑒 +∞ ↔ 𝐵 = +∞ ) )
19 18 necon3bid ⊢ ( ( ( 𝐴 ∈ ℝ* ∧ 𝐴 ≠ +∞ ) ∧ ( 𝐵 ∈ ℝ* ∧ 𝐵 ≠ +∞ ) ∧ ( 𝐶 ∈ ℝ* ∧ 𝐶 ≠ +∞ ) ) → ( -𝑒 𝐵 ≠ -𝑒 +∞ ↔ 𝐵 ≠ +∞ ) )
20 16 19 mpbird ⊢ ( ( ( 𝐴 ∈ ℝ* ∧ 𝐴 ≠ +∞ ) ∧ ( 𝐵 ∈ ℝ* ∧ 𝐵 ≠ +∞ ) ∧ ( 𝐶 ∈ ℝ* ∧ 𝐶 ≠ +∞ ) ) → -𝑒 𝐵 ≠ -𝑒 +∞ )
21 20 11 neeqtrd ⊢ ( ( ( 𝐴 ∈ ℝ* ∧ 𝐴 ≠ +∞ ) ∧ ( 𝐵 ∈ ℝ* ∧ 𝐵 ≠ +∞ ) ∧ ( 𝐶 ∈ ℝ* ∧ 𝐶 ≠ +∞ ) ) → -𝑒 𝐵 ≠ -∞ )
22 simp3l ⊢ ( ( ( 𝐴 ∈ ℝ* ∧ 𝐴 ≠ +∞ ) ∧ ( 𝐵 ∈ ℝ* ∧ 𝐵 ≠ +∞ ) ∧ ( 𝐶 ∈ ℝ* ∧ 𝐶 ≠ +∞ ) ) → 𝐶 ∈ ℝ* )
23 xnegcl ⊢ ( 𝐶 ∈ ℝ* → -𝑒 𝐶 ∈ ℝ* )
24 22 23 syl ⊢ ( ( ( 𝐴 ∈ ℝ* ∧ 𝐴 ≠ +∞ ) ∧ ( 𝐵 ∈ ℝ* ∧ 𝐵 ≠ +∞ ) ∧ ( 𝐶 ∈ ℝ* ∧ 𝐶 ≠ +∞ ) ) → -𝑒 𝐶 ∈ ℝ* )
25 simp3r ⊢ ( ( ( 𝐴 ∈ ℝ* ∧ 𝐴 ≠ +∞ ) ∧ ( 𝐵 ∈ ℝ* ∧ 𝐵 ≠ +∞ ) ∧ ( 𝐶 ∈ ℝ* ∧ 𝐶 ≠ +∞ ) ) → 𝐶 ≠ +∞ )
26 xneg11 ⊢ ( ( 𝐶 ∈ ℝ* ∧ +∞ ∈ ℝ* ) → ( -𝑒 𝐶 = -𝑒 +∞ ↔ 𝐶 = +∞ ) )
27 22 5 26 sylancl ⊢ ( ( ( 𝐴 ∈ ℝ* ∧ 𝐴 ≠ +∞ ) ∧ ( 𝐵 ∈ ℝ* ∧ 𝐵 ≠ +∞ ) ∧ ( 𝐶 ∈ ℝ* ∧ 𝐶 ≠ +∞ ) ) → ( -𝑒 𝐶 = -𝑒 +∞ ↔ 𝐶 = +∞ ) )
28 27 necon3bid ⊢ ( ( ( 𝐴 ∈ ℝ* ∧ 𝐴 ≠ +∞ ) ∧ ( 𝐵 ∈ ℝ* ∧ 𝐵 ≠ +∞ ) ∧ ( 𝐶 ∈ ℝ* ∧ 𝐶 ≠ +∞ ) ) → ( -𝑒 𝐶 ≠ -𝑒 +∞ ↔ 𝐶 ≠ +∞ ) )
29 25 28 mpbird ⊢ ( ( ( 𝐴 ∈ ℝ* ∧ 𝐴 ≠ +∞ ) ∧ ( 𝐵 ∈ ℝ* ∧ 𝐵 ≠ +∞ ) ∧ ( 𝐶 ∈ ℝ* ∧ 𝐶 ≠ +∞ ) ) → -𝑒 𝐶 ≠ -𝑒 +∞ )
30 29 11 neeqtrd ⊢ ( ( ( 𝐴 ∈ ℝ* ∧ 𝐴 ≠ +∞ ) ∧ ( 𝐵 ∈ ℝ* ∧ 𝐵 ≠ +∞ ) ∧ ( 𝐶 ∈ ℝ* ∧ 𝐶 ≠ +∞ ) ) → -𝑒 𝐶 ≠ -∞ )
31 xaddass ⊢ ( ( ( -𝑒 𝐴 ∈ ℝ* ∧ -𝑒 𝐴 ≠ -∞ ) ∧ ( -𝑒 𝐵 ∈ ℝ* ∧ -𝑒 𝐵 ≠ -∞ ) ∧ ( -𝑒 𝐶 ∈ ℝ* ∧ -𝑒 𝐶 ≠ -∞ ) ) → ( ( -𝑒 𝐴 +𝑒 -𝑒 𝐵 ) +𝑒 -𝑒 𝐶 ) = ( -𝑒 𝐴 +𝑒 ( -𝑒 𝐵 +𝑒 -𝑒 𝐶 ) ) )
32 3 12 15 21 24 30 31 syl222anc ⊢ ( ( ( 𝐴 ∈ ℝ* ∧ 𝐴 ≠ +∞ ) ∧ ( 𝐵 ∈ ℝ* ∧ 𝐵 ≠ +∞ ) ∧ ( 𝐶 ∈ ℝ* ∧ 𝐶 ≠ +∞ ) ) → ( ( -𝑒 𝐴 +𝑒 -𝑒 𝐵 ) +𝑒 -𝑒 𝐶 ) = ( -𝑒 𝐴 +𝑒 ( -𝑒 𝐵 +𝑒 -𝑒 𝐶 ) ) )
33 xnegdi ⊢ ( ( 𝐴 ∈ ℝ* ∧ 𝐵 ∈ ℝ* ) → -𝑒 ( 𝐴 +𝑒 𝐵 ) = ( -𝑒 𝐴 +𝑒 -𝑒 𝐵 ) )
34 1 13 33 syl2anc ⊢ ( ( ( 𝐴 ∈ ℝ* ∧ 𝐴 ≠ +∞ ) ∧ ( 𝐵 ∈ ℝ* ∧ 𝐵 ≠ +∞ ) ∧ ( 𝐶 ∈ ℝ* ∧ 𝐶 ≠ +∞ ) ) → -𝑒 ( 𝐴 +𝑒 𝐵 ) = ( -𝑒 𝐴 +𝑒 -𝑒 𝐵 ) )
35 34 oveq1d ⊢ ( ( ( 𝐴 ∈ ℝ* ∧ 𝐴 ≠ +∞ ) ∧ ( 𝐵 ∈ ℝ* ∧ 𝐵 ≠ +∞ ) ∧ ( 𝐶 ∈ ℝ* ∧ 𝐶 ≠ +∞ ) ) → ( -𝑒 ( 𝐴 +𝑒 𝐵 ) +𝑒 -𝑒 𝐶 ) = ( ( -𝑒 𝐴 +𝑒 -𝑒 𝐵 ) +𝑒 -𝑒 𝐶 ) )
36 xnegdi ⊢ ( ( 𝐵 ∈ ℝ* ∧ 𝐶 ∈ ℝ* ) → -𝑒 ( 𝐵 +𝑒 𝐶 ) = ( -𝑒 𝐵 +𝑒 -𝑒 𝐶 ) )
37 13 22 36 syl2anc ⊢ ( ( ( 𝐴 ∈ ℝ* ∧ 𝐴 ≠ +∞ ) ∧ ( 𝐵 ∈ ℝ* ∧ 𝐵 ≠ +∞ ) ∧ ( 𝐶 ∈ ℝ* ∧ 𝐶 ≠ +∞ ) ) → -𝑒 ( 𝐵 +𝑒 𝐶 ) = ( -𝑒 𝐵 +𝑒 -𝑒 𝐶 ) )
38 37 oveq2d ⊢ ( ( ( 𝐴 ∈ ℝ* ∧ 𝐴 ≠ +∞ ) ∧ ( 𝐵 ∈ ℝ* ∧ 𝐵 ≠ +∞ ) ∧ ( 𝐶 ∈ ℝ* ∧ 𝐶 ≠ +∞ ) ) → ( -𝑒 𝐴 +𝑒 -𝑒 ( 𝐵 +𝑒 𝐶 ) ) = ( -𝑒 𝐴 +𝑒 ( -𝑒 𝐵 +𝑒 -𝑒 𝐶 ) ) )
39 32 35 38 3eqtr4d ⊢ ( ( ( 𝐴 ∈ ℝ* ∧ 𝐴 ≠ +∞ ) ∧ ( 𝐵 ∈ ℝ* ∧ 𝐵 ≠ +∞ ) ∧ ( 𝐶 ∈ ℝ* ∧ 𝐶 ≠ +∞ ) ) → ( -𝑒 ( 𝐴 +𝑒 𝐵 ) +𝑒 -𝑒 𝐶 ) = ( -𝑒 𝐴 +𝑒 -𝑒 ( 𝐵 +𝑒 𝐶 ) ) )
40 xaddcl ⊢ ( ( 𝐴 ∈ ℝ* ∧ 𝐵 ∈ ℝ* ) → ( 𝐴 +𝑒 𝐵 ) ∈ ℝ* )
41 1 13 40 syl2anc ⊢ ( ( ( 𝐴 ∈ ℝ* ∧ 𝐴 ≠ +∞ ) ∧ ( 𝐵 ∈ ℝ* ∧ 𝐵 ≠ +∞ ) ∧ ( 𝐶 ∈ ℝ* ∧ 𝐶 ≠ +∞ ) ) → ( 𝐴 +𝑒 𝐵 ) ∈ ℝ* )
42 xnegdi ⊢ ( ( ( 𝐴 +𝑒 𝐵 ) ∈ ℝ* ∧ 𝐶 ∈ ℝ* ) → -𝑒 ( ( 𝐴 +𝑒 𝐵 ) +𝑒 𝐶 ) = ( -𝑒 ( 𝐴 +𝑒 𝐵 ) +𝑒 -𝑒 𝐶 ) )
43 41 22 42 syl2anc ⊢ ( ( ( 𝐴 ∈ ℝ* ∧ 𝐴 ≠ +∞ ) ∧ ( 𝐵 ∈ ℝ* ∧ 𝐵 ≠ +∞ ) ∧ ( 𝐶 ∈ ℝ* ∧ 𝐶 ≠ +∞ ) ) → -𝑒 ( ( 𝐴 +𝑒 𝐵 ) +𝑒 𝐶 ) = ( -𝑒 ( 𝐴 +𝑒 𝐵 ) +𝑒 -𝑒 𝐶 ) )
44 xaddcl ⊢ ( ( 𝐵 ∈ ℝ* ∧ 𝐶 ∈ ℝ* ) → ( 𝐵 +𝑒 𝐶 ) ∈ ℝ* )
45 13 22 44 syl2anc ⊢ ( ( ( 𝐴 ∈ ℝ* ∧ 𝐴 ≠ +∞ ) ∧ ( 𝐵 ∈ ℝ* ∧ 𝐵 ≠ +∞ ) ∧ ( 𝐶 ∈ ℝ* ∧ 𝐶 ≠ +∞ ) ) → ( 𝐵 +𝑒 𝐶 ) ∈ ℝ* )
46 xnegdi ⊢ ( ( 𝐴 ∈ ℝ* ∧ ( 𝐵 +𝑒 𝐶 ) ∈ ℝ* ) → -𝑒 ( 𝐴 +𝑒 ( 𝐵 +𝑒 𝐶 ) ) = ( -𝑒 𝐴 +𝑒 -𝑒 ( 𝐵 +𝑒 𝐶 ) ) )
47 1 45 46 syl2anc ⊢ ( ( ( 𝐴 ∈ ℝ* ∧ 𝐴 ≠ +∞ ) ∧ ( 𝐵 ∈ ℝ* ∧ 𝐵 ≠ +∞ ) ∧ ( 𝐶 ∈ ℝ* ∧ 𝐶 ≠ +∞ ) ) → -𝑒 ( 𝐴 +𝑒 ( 𝐵 +𝑒 𝐶 ) ) = ( -𝑒 𝐴 +𝑒 -𝑒 ( 𝐵 +𝑒 𝐶 ) ) )
48 39 43 47 3eqtr4d ⊢ ( ( ( 𝐴 ∈ ℝ* ∧ 𝐴 ≠ +∞ ) ∧ ( 𝐵 ∈ ℝ* ∧ 𝐵 ≠ +∞ ) ∧ ( 𝐶 ∈ ℝ* ∧ 𝐶 ≠ +∞ ) ) → -𝑒 ( ( 𝐴 +𝑒 𝐵 ) +𝑒 𝐶 ) = -𝑒 ( 𝐴 +𝑒 ( 𝐵 +𝑒 𝐶 ) ) )
49 xaddcl ⊢ ( ( ( 𝐴 +𝑒 𝐵 ) ∈ ℝ* ∧ 𝐶 ∈ ℝ* ) → ( ( 𝐴 +𝑒 𝐵 ) +𝑒 𝐶 ) ∈ ℝ* )
50 41 22 49 syl2anc ⊢ ( ( ( 𝐴 ∈ ℝ* ∧ 𝐴 ≠ +∞ ) ∧ ( 𝐵 ∈ ℝ* ∧ 𝐵 ≠ +∞ ) ∧ ( 𝐶 ∈ ℝ* ∧ 𝐶 ≠ +∞ ) ) → ( ( 𝐴 +𝑒 𝐵 ) +𝑒 𝐶 ) ∈ ℝ* )
51 xaddcl ⊢ ( ( 𝐴 ∈ ℝ* ∧ ( 𝐵 +𝑒 𝐶 ) ∈ ℝ* ) → ( 𝐴 +𝑒 ( 𝐵 +𝑒 𝐶 ) ) ∈ ℝ* )
52 1 45 51 syl2anc ⊢ ( ( ( 𝐴 ∈ ℝ* ∧ 𝐴 ≠ +∞ ) ∧ ( 𝐵 ∈ ℝ* ∧ 𝐵 ≠ +∞ ) ∧ ( 𝐶 ∈ ℝ* ∧ 𝐶 ≠ +∞ ) ) → ( 𝐴 +𝑒 ( 𝐵 +𝑒 𝐶 ) ) ∈ ℝ* )
53 xneg11 ⊢ ( ( ( ( 𝐴 +𝑒 𝐵 ) +𝑒 𝐶 ) ∈ ℝ* ∧ ( 𝐴 +𝑒 ( 𝐵 +𝑒 𝐶 ) ) ∈ ℝ* ) → ( -𝑒 ( ( 𝐴 +𝑒 𝐵 ) +𝑒 𝐶 ) = -𝑒 ( 𝐴 +𝑒 ( 𝐵 +𝑒 𝐶 ) ) ↔ ( ( 𝐴 +𝑒 𝐵 ) +𝑒 𝐶 ) = ( 𝐴 +𝑒 ( 𝐵 +𝑒 𝐶 ) ) ) )
54 50 52 53 syl2anc ⊢ ( ( ( 𝐴 ∈ ℝ* ∧ 𝐴 ≠ +∞ ) ∧ ( 𝐵 ∈ ℝ* ∧ 𝐵 ≠ +∞ ) ∧ ( 𝐶 ∈ ℝ* ∧ 𝐶 ≠ +∞ ) ) → ( -𝑒 ( ( 𝐴 +𝑒 𝐵 ) +𝑒 𝐶 ) = -𝑒 ( 𝐴 +𝑒 ( 𝐵 +𝑒 𝐶 ) ) ↔ ( ( 𝐴 +𝑒 𝐵 ) +𝑒 𝐶 ) = ( 𝐴 +𝑒 ( 𝐵 +𝑒 𝐶 ) ) ) )
55 48 54 mpbid ⊢ ( ( ( 𝐴 ∈ ℝ* ∧ 𝐴 ≠ +∞ ) ∧ ( 𝐵 ∈ ℝ* ∧ 𝐵 ≠ +∞ ) ∧ ( 𝐶 ∈ ℝ* ∧ 𝐶 ≠ +∞ ) ) → ( ( 𝐴 +𝑒 𝐵 ) +𝑒 𝐶 ) = ( 𝐴 +𝑒 ( 𝐵 +𝑒 𝐶 ) ) )