Metamath Proof Explorer


Theorem addcomd

Description: Addition commutes. Based on ideas by Eric Schmidt. (Contributed by Scott Fenton, 3-Jan-2013) (Revised by Mario Carneiro, 27-May-2016)

Ref Expression
Hypotheses muld.1 โŠข ( ๐œ‘ โ†’ ๐ด โˆˆ โ„‚ )
addcomd.2 โŠข ( ๐œ‘ โ†’ ๐ต โˆˆ โ„‚ )
Assertion addcomd ( ๐œ‘ โ†’ ( ๐ด + ๐ต ) = ( ๐ต + ๐ด ) )

Proof

Step Hyp Ref Expression
1 muld.1 โŠข ( ๐œ‘ โ†’ ๐ด โˆˆ โ„‚ )
2 addcomd.2 โŠข ( ๐œ‘ โ†’ ๐ต โˆˆ โ„‚ )
3 1cnd โŠข ( ๐œ‘ โ†’ 1 โˆˆ โ„‚ )
4 3 3 addcld โŠข ( ๐œ‘ โ†’ ( 1 + 1 ) โˆˆ โ„‚ )
5 4 1 2 adddid โŠข ( ๐œ‘ โ†’ ( ( 1 + 1 ) ยท ( ๐ด + ๐ต ) ) = ( ( ( 1 + 1 ) ยท ๐ด ) + ( ( 1 + 1 ) ยท ๐ต ) ) )
6 1 2 addcld โŠข ( ๐œ‘ โ†’ ( ๐ด + ๐ต ) โˆˆ โ„‚ )
7 1p1times โŠข ( ( ๐ด + ๐ต ) โˆˆ โ„‚ โ†’ ( ( 1 + 1 ) ยท ( ๐ด + ๐ต ) ) = ( ( ๐ด + ๐ต ) + ( ๐ด + ๐ต ) ) )
8 6 7 syl โŠข ( ๐œ‘ โ†’ ( ( 1 + 1 ) ยท ( ๐ด + ๐ต ) ) = ( ( ๐ด + ๐ต ) + ( ๐ด + ๐ต ) ) )
9 1p1times โŠข ( ๐ด โˆˆ โ„‚ โ†’ ( ( 1 + 1 ) ยท ๐ด ) = ( ๐ด + ๐ด ) )
10 1 9 syl โŠข ( ๐œ‘ โ†’ ( ( 1 + 1 ) ยท ๐ด ) = ( ๐ด + ๐ด ) )
11 1p1times โŠข ( ๐ต โˆˆ โ„‚ โ†’ ( ( 1 + 1 ) ยท ๐ต ) = ( ๐ต + ๐ต ) )
12 2 11 syl โŠข ( ๐œ‘ โ†’ ( ( 1 + 1 ) ยท ๐ต ) = ( ๐ต + ๐ต ) )
13 10 12 oveq12d โŠข ( ๐œ‘ โ†’ ( ( ( 1 + 1 ) ยท ๐ด ) + ( ( 1 + 1 ) ยท ๐ต ) ) = ( ( ๐ด + ๐ด ) + ( ๐ต + ๐ต ) ) )
14 5 8 13 3eqtr3rd โŠข ( ๐œ‘ โ†’ ( ( ๐ด + ๐ด ) + ( ๐ต + ๐ต ) ) = ( ( ๐ด + ๐ต ) + ( ๐ด + ๐ต ) ) )
15 1 1 addcld โŠข ( ๐œ‘ โ†’ ( ๐ด + ๐ด ) โˆˆ โ„‚ )
16 15 2 2 addassd โŠข ( ๐œ‘ โ†’ ( ( ( ๐ด + ๐ด ) + ๐ต ) + ๐ต ) = ( ( ๐ด + ๐ด ) + ( ๐ต + ๐ต ) ) )
17 6 1 2 addassd โŠข ( ๐œ‘ โ†’ ( ( ( ๐ด + ๐ต ) + ๐ด ) + ๐ต ) = ( ( ๐ด + ๐ต ) + ( ๐ด + ๐ต ) ) )
18 14 16 17 3eqtr4d โŠข ( ๐œ‘ โ†’ ( ( ( ๐ด + ๐ด ) + ๐ต ) + ๐ต ) = ( ( ( ๐ด + ๐ต ) + ๐ด ) + ๐ต ) )
19 15 2 addcld โŠข ( ๐œ‘ โ†’ ( ( ๐ด + ๐ด ) + ๐ต ) โˆˆ โ„‚ )
20 6 1 addcld โŠข ( ๐œ‘ โ†’ ( ( ๐ด + ๐ต ) + ๐ด ) โˆˆ โ„‚ )
21 addcan2 โŠข ( ( ( ( ๐ด + ๐ด ) + ๐ต ) โˆˆ โ„‚ โˆง ( ( ๐ด + ๐ต ) + ๐ด ) โˆˆ โ„‚ โˆง ๐ต โˆˆ โ„‚ ) โ†’ ( ( ( ( ๐ด + ๐ด ) + ๐ต ) + ๐ต ) = ( ( ( ๐ด + ๐ต ) + ๐ด ) + ๐ต ) โ†” ( ( ๐ด + ๐ด ) + ๐ต ) = ( ( ๐ด + ๐ต ) + ๐ด ) ) )
22 19 20 2 21 syl3anc โŠข ( ๐œ‘ โ†’ ( ( ( ( ๐ด + ๐ด ) + ๐ต ) + ๐ต ) = ( ( ( ๐ด + ๐ต ) + ๐ด ) + ๐ต ) โ†” ( ( ๐ด + ๐ด ) + ๐ต ) = ( ( ๐ด + ๐ต ) + ๐ด ) ) )
23 18 22 mpbid โŠข ( ๐œ‘ โ†’ ( ( ๐ด + ๐ด ) + ๐ต ) = ( ( ๐ด + ๐ต ) + ๐ด ) )
24 1 1 2 addassd โŠข ( ๐œ‘ โ†’ ( ( ๐ด + ๐ด ) + ๐ต ) = ( ๐ด + ( ๐ด + ๐ต ) ) )
25 1 2 1 addassd โŠข ( ๐œ‘ โ†’ ( ( ๐ด + ๐ต ) + ๐ด ) = ( ๐ด + ( ๐ต + ๐ด ) ) )
26 23 24 25 3eqtr3d โŠข ( ๐œ‘ โ†’ ( ๐ด + ( ๐ด + ๐ต ) ) = ( ๐ด + ( ๐ต + ๐ด ) ) )
27 2 1 addcld โŠข ( ๐œ‘ โ†’ ( ๐ต + ๐ด ) โˆˆ โ„‚ )
28 addcan โŠข ( ( ๐ด โˆˆ โ„‚ โˆง ( ๐ด + ๐ต ) โˆˆ โ„‚ โˆง ( ๐ต + ๐ด ) โˆˆ โ„‚ ) โ†’ ( ( ๐ด + ( ๐ด + ๐ต ) ) = ( ๐ด + ( ๐ต + ๐ด ) ) โ†” ( ๐ด + ๐ต ) = ( ๐ต + ๐ด ) ) )
29 1 6 27 28 syl3anc โŠข ( ๐œ‘ โ†’ ( ( ๐ด + ( ๐ด + ๐ต ) ) = ( ๐ด + ( ๐ต + ๐ด ) ) โ†” ( ๐ด + ๐ต ) = ( ๐ต + ๐ด ) ) )
30 26 29 mpbid โŠข ( ๐œ‘ โ†’ ( ๐ด + ๐ต ) = ( ๐ต + ๐ด ) )