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
|- ( ( ( A e. RR* /\ A =/= +oo ) /\ ( B e. RR* /\ B =/= +oo ) /\ ( C e. RR* /\ C =/= +oo ) ) -> ( ( A +e B ) +e C ) = ( A +e ( B +e C ) ) )

Proof

Step Hyp Ref Expression
1 simp1l
 |-  ( ( ( A e. RR* /\ A =/= +oo ) /\ ( B e. RR* /\ B =/= +oo ) /\ ( C e. RR* /\ C =/= +oo ) ) -> A e. RR* )
2 xnegcl
 |-  ( A e. RR* -> -e A e. RR* )
3 1 2 syl
 |-  ( ( ( A e. RR* /\ A =/= +oo ) /\ ( B e. RR* /\ B =/= +oo ) /\ ( C e. RR* /\ C =/= +oo ) ) -> -e A e. RR* )
4 simp1r
 |-  ( ( ( A e. RR* /\ A =/= +oo ) /\ ( B e. RR* /\ B =/= +oo ) /\ ( C e. RR* /\ C =/= +oo ) ) -> A =/= +oo )
5 pnfxr
 |-  +oo e. RR*
6 xneg11
 |-  ( ( A e. RR* /\ +oo e. RR* ) -> ( -e A = -e +oo <-> A = +oo ) )
7 1 5 6 sylancl
 |-  ( ( ( A e. RR* /\ A =/= +oo ) /\ ( B e. RR* /\ B =/= +oo ) /\ ( C e. RR* /\ C =/= +oo ) ) -> ( -e A = -e +oo <-> A = +oo ) )
8 7 necon3bid
 |-  ( ( ( A e. RR* /\ A =/= +oo ) /\ ( B e. RR* /\ B =/= +oo ) /\ ( C e. RR* /\ C =/= +oo ) ) -> ( -e A =/= -e +oo <-> A =/= +oo ) )
9 4 8 mpbird
 |-  ( ( ( A e. RR* /\ A =/= +oo ) /\ ( B e. RR* /\ B =/= +oo ) /\ ( C e. RR* /\ C =/= +oo ) ) -> -e A =/= -e +oo )
10 xnegpnf
 |-  -e +oo = -oo
11 10 a1i
 |-  ( ( ( A e. RR* /\ A =/= +oo ) /\ ( B e. RR* /\ B =/= +oo ) /\ ( C e. RR* /\ C =/= +oo ) ) -> -e +oo = -oo )
12 9 11 neeqtrd
 |-  ( ( ( A e. RR* /\ A =/= +oo ) /\ ( B e. RR* /\ B =/= +oo ) /\ ( C e. RR* /\ C =/= +oo ) ) -> -e A =/= -oo )
13 simp2l
 |-  ( ( ( A e. RR* /\ A =/= +oo ) /\ ( B e. RR* /\ B =/= +oo ) /\ ( C e. RR* /\ C =/= +oo ) ) -> B e. RR* )
14 xnegcl
 |-  ( B e. RR* -> -e B e. RR* )
15 13 14 syl
 |-  ( ( ( A e. RR* /\ A =/= +oo ) /\ ( B e. RR* /\ B =/= +oo ) /\ ( C e. RR* /\ C =/= +oo ) ) -> -e B e. RR* )
16 simp2r
 |-  ( ( ( A e. RR* /\ A =/= +oo ) /\ ( B e. RR* /\ B =/= +oo ) /\ ( C e. RR* /\ C =/= +oo ) ) -> B =/= +oo )
17 xneg11
 |-  ( ( B e. RR* /\ +oo e. RR* ) -> ( -e B = -e +oo <-> B = +oo ) )
18 13 5 17 sylancl
 |-  ( ( ( A e. RR* /\ A =/= +oo ) /\ ( B e. RR* /\ B =/= +oo ) /\ ( C e. RR* /\ C =/= +oo ) ) -> ( -e B = -e +oo <-> B = +oo ) )
19 18 necon3bid
 |-  ( ( ( A e. RR* /\ A =/= +oo ) /\ ( B e. RR* /\ B =/= +oo ) /\ ( C e. RR* /\ C =/= +oo ) ) -> ( -e B =/= -e +oo <-> B =/= +oo ) )
20 16 19 mpbird
 |-  ( ( ( A e. RR* /\ A =/= +oo ) /\ ( B e. RR* /\ B =/= +oo ) /\ ( C e. RR* /\ C =/= +oo ) ) -> -e B =/= -e +oo )
21 20 11 neeqtrd
 |-  ( ( ( A e. RR* /\ A =/= +oo ) /\ ( B e. RR* /\ B =/= +oo ) /\ ( C e. RR* /\ C =/= +oo ) ) -> -e B =/= -oo )
22 simp3l
 |-  ( ( ( A e. RR* /\ A =/= +oo ) /\ ( B e. RR* /\ B =/= +oo ) /\ ( C e. RR* /\ C =/= +oo ) ) -> C e. RR* )
23 xnegcl
 |-  ( C e. RR* -> -e C e. RR* )
24 22 23 syl
 |-  ( ( ( A e. RR* /\ A =/= +oo ) /\ ( B e. RR* /\ B =/= +oo ) /\ ( C e. RR* /\ C =/= +oo ) ) -> -e C e. RR* )
25 simp3r
 |-  ( ( ( A e. RR* /\ A =/= +oo ) /\ ( B e. RR* /\ B =/= +oo ) /\ ( C e. RR* /\ C =/= +oo ) ) -> C =/= +oo )
26 xneg11
 |-  ( ( C e. RR* /\ +oo e. RR* ) -> ( -e C = -e +oo <-> C = +oo ) )
27 22 5 26 sylancl
 |-  ( ( ( A e. RR* /\ A =/= +oo ) /\ ( B e. RR* /\ B =/= +oo ) /\ ( C e. RR* /\ C =/= +oo ) ) -> ( -e C = -e +oo <-> C = +oo ) )
28 27 necon3bid
 |-  ( ( ( A e. RR* /\ A =/= +oo ) /\ ( B e. RR* /\ B =/= +oo ) /\ ( C e. RR* /\ C =/= +oo ) ) -> ( -e C =/= -e +oo <-> C =/= +oo ) )
29 25 28 mpbird
 |-  ( ( ( A e. RR* /\ A =/= +oo ) /\ ( B e. RR* /\ B =/= +oo ) /\ ( C e. RR* /\ C =/= +oo ) ) -> -e C =/= -e +oo )
30 29 11 neeqtrd
 |-  ( ( ( A e. RR* /\ A =/= +oo ) /\ ( B e. RR* /\ B =/= +oo ) /\ ( C e. RR* /\ C =/= +oo ) ) -> -e C =/= -oo )
31 xaddass
 |-  ( ( ( -e A e. RR* /\ -e A =/= -oo ) /\ ( -e B e. RR* /\ -e B =/= -oo ) /\ ( -e C e. RR* /\ -e C =/= -oo ) ) -> ( ( -e A +e -e B ) +e -e C ) = ( -e A +e ( -e B +e -e C ) ) )
32 3 12 15 21 24 30 31 syl222anc
 |-  ( ( ( A e. RR* /\ A =/= +oo ) /\ ( B e. RR* /\ B =/= +oo ) /\ ( C e. RR* /\ C =/= +oo ) ) -> ( ( -e A +e -e B ) +e -e C ) = ( -e A +e ( -e B +e -e C ) ) )
33 xnegdi
 |-  ( ( A e. RR* /\ B e. RR* ) -> -e ( A +e B ) = ( -e A +e -e B ) )
34 1 13 33 syl2anc
 |-  ( ( ( A e. RR* /\ A =/= +oo ) /\ ( B e. RR* /\ B =/= +oo ) /\ ( C e. RR* /\ C =/= +oo ) ) -> -e ( A +e B ) = ( -e A +e -e B ) )
35 34 oveq1d
 |-  ( ( ( A e. RR* /\ A =/= +oo ) /\ ( B e. RR* /\ B =/= +oo ) /\ ( C e. RR* /\ C =/= +oo ) ) -> ( -e ( A +e B ) +e -e C ) = ( ( -e A +e -e B ) +e -e C ) )
36 xnegdi
 |-  ( ( B e. RR* /\ C e. RR* ) -> -e ( B +e C ) = ( -e B +e -e C ) )
37 13 22 36 syl2anc
 |-  ( ( ( A e. RR* /\ A =/= +oo ) /\ ( B e. RR* /\ B =/= +oo ) /\ ( C e. RR* /\ C =/= +oo ) ) -> -e ( B +e C ) = ( -e B +e -e C ) )
38 37 oveq2d
 |-  ( ( ( A e. RR* /\ A =/= +oo ) /\ ( B e. RR* /\ B =/= +oo ) /\ ( C e. RR* /\ C =/= +oo ) ) -> ( -e A +e -e ( B +e C ) ) = ( -e A +e ( -e B +e -e C ) ) )
39 32 35 38 3eqtr4d
 |-  ( ( ( A e. RR* /\ A =/= +oo ) /\ ( B e. RR* /\ B =/= +oo ) /\ ( C e. RR* /\ C =/= +oo ) ) -> ( -e ( A +e B ) +e -e C ) = ( -e A +e -e ( B +e C ) ) )
40 xaddcl
 |-  ( ( A e. RR* /\ B e. RR* ) -> ( A +e B ) e. RR* )
41 1 13 40 syl2anc
 |-  ( ( ( A e. RR* /\ A =/= +oo ) /\ ( B e. RR* /\ B =/= +oo ) /\ ( C e. RR* /\ C =/= +oo ) ) -> ( A +e B ) e. RR* )
42 xnegdi
 |-  ( ( ( A +e B ) e. RR* /\ C e. RR* ) -> -e ( ( A +e B ) +e C ) = ( -e ( A +e B ) +e -e C ) )
43 41 22 42 syl2anc
 |-  ( ( ( A e. RR* /\ A =/= +oo ) /\ ( B e. RR* /\ B =/= +oo ) /\ ( C e. RR* /\ C =/= +oo ) ) -> -e ( ( A +e B ) +e C ) = ( -e ( A +e B ) +e -e C ) )
44 xaddcl
 |-  ( ( B e. RR* /\ C e. RR* ) -> ( B +e C ) e. RR* )
45 13 22 44 syl2anc
 |-  ( ( ( A e. RR* /\ A =/= +oo ) /\ ( B e. RR* /\ B =/= +oo ) /\ ( C e. RR* /\ C =/= +oo ) ) -> ( B +e C ) e. RR* )
46 xnegdi
 |-  ( ( A e. RR* /\ ( B +e C ) e. RR* ) -> -e ( A +e ( B +e C ) ) = ( -e A +e -e ( B +e C ) ) )
47 1 45 46 syl2anc
 |-  ( ( ( A e. RR* /\ A =/= +oo ) /\ ( B e. RR* /\ B =/= +oo ) /\ ( C e. RR* /\ C =/= +oo ) ) -> -e ( A +e ( B +e C ) ) = ( -e A +e -e ( B +e C ) ) )
48 39 43 47 3eqtr4d
 |-  ( ( ( A e. RR* /\ A =/= +oo ) /\ ( B e. RR* /\ B =/= +oo ) /\ ( C e. RR* /\ C =/= +oo ) ) -> -e ( ( A +e B ) +e C ) = -e ( A +e ( B +e C ) ) )
49 xaddcl
 |-  ( ( ( A +e B ) e. RR* /\ C e. RR* ) -> ( ( A +e B ) +e C ) e. RR* )
50 41 22 49 syl2anc
 |-  ( ( ( A e. RR* /\ A =/= +oo ) /\ ( B e. RR* /\ B =/= +oo ) /\ ( C e. RR* /\ C =/= +oo ) ) -> ( ( A +e B ) +e C ) e. RR* )
51 xaddcl
 |-  ( ( A e. RR* /\ ( B +e C ) e. RR* ) -> ( A +e ( B +e C ) ) e. RR* )
52 1 45 51 syl2anc
 |-  ( ( ( A e. RR* /\ A =/= +oo ) /\ ( B e. RR* /\ B =/= +oo ) /\ ( C e. RR* /\ C =/= +oo ) ) -> ( A +e ( B +e C ) ) e. RR* )
53 xneg11
 |-  ( ( ( ( A +e B ) +e C ) e. RR* /\ ( A +e ( B +e C ) ) e. RR* ) -> ( -e ( ( A +e B ) +e C ) = -e ( A +e ( B +e C ) ) <-> ( ( A +e B ) +e C ) = ( A +e ( B +e C ) ) ) )
54 50 52 53 syl2anc
 |-  ( ( ( A e. RR* /\ A =/= +oo ) /\ ( B e. RR* /\ B =/= +oo ) /\ ( C e. RR* /\ C =/= +oo ) ) -> ( -e ( ( A +e B ) +e C ) = -e ( A +e ( B +e C ) ) <-> ( ( A +e B ) +e C ) = ( A +e ( B +e C ) ) ) )
55 48 54 mpbid
 |-  ( ( ( A e. RR* /\ A =/= +oo ) /\ ( B e. RR* /\ B =/= +oo ) /\ ( C e. RR* /\ C =/= +oo ) ) -> ( ( A +e B ) +e C ) = ( A +e ( B +e C ) ) )