Metamath Proof Explorer


Theorem gcdaddm

Description: Adding a multiple of one operand of the gcd operator to the other does not alter the result. (Contributed by Paul Chapman, 31-Mar-2011)

Ref Expression
Assertion gcdaddm ( ( ๐พ โˆˆ โ„ค โˆง ๐‘€ โˆˆ โ„ค โˆง ๐‘ โˆˆ โ„ค ) โ†’ ( ๐‘€ gcd ๐‘ ) = ( ๐‘€ gcd ( ๐‘ + ( ๐พ ยท ๐‘€ ) ) ) )

Proof

Step Hyp Ref Expression
1 oveq1 โŠข ( ๐พ = if ( ๐พ โˆˆ โ„ค , ๐พ , 0 ) โ†’ ( ๐พ ยท ๐‘€ ) = ( if ( ๐พ โˆˆ โ„ค , ๐พ , 0 ) ยท ๐‘€ ) )
2 1 oveq1d โŠข ( ๐พ = if ( ๐พ โˆˆ โ„ค , ๐พ , 0 ) โ†’ ( ( ๐พ ยท ๐‘€ ) + ๐‘ ) = ( ( if ( ๐พ โˆˆ โ„ค , ๐พ , 0 ) ยท ๐‘€ ) + ๐‘ ) )
3 2 oveq2d โŠข ( ๐พ = if ( ๐พ โˆˆ โ„ค , ๐พ , 0 ) โ†’ ( ๐‘€ gcd ( ( ๐พ ยท ๐‘€ ) + ๐‘ ) ) = ( ๐‘€ gcd ( ( if ( ๐พ โˆˆ โ„ค , ๐พ , 0 ) ยท ๐‘€ ) + ๐‘ ) ) )
4 3 eqeq2d โŠข ( ๐พ = if ( ๐พ โˆˆ โ„ค , ๐พ , 0 ) โ†’ ( ( ๐‘€ gcd ๐‘ ) = ( ๐‘€ gcd ( ( ๐พ ยท ๐‘€ ) + ๐‘ ) ) โ†” ( ๐‘€ gcd ๐‘ ) = ( ๐‘€ gcd ( ( if ( ๐พ โˆˆ โ„ค , ๐พ , 0 ) ยท ๐‘€ ) + ๐‘ ) ) ) )
5 oveq1 โŠข ( ๐‘€ = if ( ๐‘€ โˆˆ โ„ค , ๐‘€ , 0 ) โ†’ ( ๐‘€ gcd ๐‘ ) = ( if ( ๐‘€ โˆˆ โ„ค , ๐‘€ , 0 ) gcd ๐‘ ) )
6 id โŠข ( ๐‘€ = if ( ๐‘€ โˆˆ โ„ค , ๐‘€ , 0 ) โ†’ ๐‘€ = if ( ๐‘€ โˆˆ โ„ค , ๐‘€ , 0 ) )
7 oveq2 โŠข ( ๐‘€ = if ( ๐‘€ โˆˆ โ„ค , ๐‘€ , 0 ) โ†’ ( if ( ๐พ โˆˆ โ„ค , ๐พ , 0 ) ยท ๐‘€ ) = ( if ( ๐พ โˆˆ โ„ค , ๐พ , 0 ) ยท if ( ๐‘€ โˆˆ โ„ค , ๐‘€ , 0 ) ) )
8 7 oveq1d โŠข ( ๐‘€ = if ( ๐‘€ โˆˆ โ„ค , ๐‘€ , 0 ) โ†’ ( ( if ( ๐พ โˆˆ โ„ค , ๐พ , 0 ) ยท ๐‘€ ) + ๐‘ ) = ( ( if ( ๐พ โˆˆ โ„ค , ๐พ , 0 ) ยท if ( ๐‘€ โˆˆ โ„ค , ๐‘€ , 0 ) ) + ๐‘ ) )
9 6 8 oveq12d โŠข ( ๐‘€ = if ( ๐‘€ โˆˆ โ„ค , ๐‘€ , 0 ) โ†’ ( ๐‘€ gcd ( ( if ( ๐พ โˆˆ โ„ค , ๐พ , 0 ) ยท ๐‘€ ) + ๐‘ ) ) = ( if ( ๐‘€ โˆˆ โ„ค , ๐‘€ , 0 ) gcd ( ( if ( ๐พ โˆˆ โ„ค , ๐พ , 0 ) ยท if ( ๐‘€ โˆˆ โ„ค , ๐‘€ , 0 ) ) + ๐‘ ) ) )
10 5 9 eqeq12d โŠข ( ๐‘€ = if ( ๐‘€ โˆˆ โ„ค , ๐‘€ , 0 ) โ†’ ( ( ๐‘€ gcd ๐‘ ) = ( ๐‘€ gcd ( ( if ( ๐พ โˆˆ โ„ค , ๐พ , 0 ) ยท ๐‘€ ) + ๐‘ ) ) โ†” ( if ( ๐‘€ โˆˆ โ„ค , ๐‘€ , 0 ) gcd ๐‘ ) = ( if ( ๐‘€ โˆˆ โ„ค , ๐‘€ , 0 ) gcd ( ( if ( ๐พ โˆˆ โ„ค , ๐พ , 0 ) ยท if ( ๐‘€ โˆˆ โ„ค , ๐‘€ , 0 ) ) + ๐‘ ) ) ) )
11 oveq2 โŠข ( ๐‘ = if ( ๐‘ โˆˆ โ„ค , ๐‘ , 0 ) โ†’ ( if ( ๐‘€ โˆˆ โ„ค , ๐‘€ , 0 ) gcd ๐‘ ) = ( if ( ๐‘€ โˆˆ โ„ค , ๐‘€ , 0 ) gcd if ( ๐‘ โˆˆ โ„ค , ๐‘ , 0 ) ) )
12 oveq2 โŠข ( ๐‘ = if ( ๐‘ โˆˆ โ„ค , ๐‘ , 0 ) โ†’ ( ( if ( ๐พ โˆˆ โ„ค , ๐พ , 0 ) ยท if ( ๐‘€ โˆˆ โ„ค , ๐‘€ , 0 ) ) + ๐‘ ) = ( ( if ( ๐พ โˆˆ โ„ค , ๐พ , 0 ) ยท if ( ๐‘€ โˆˆ โ„ค , ๐‘€ , 0 ) ) + if ( ๐‘ โˆˆ โ„ค , ๐‘ , 0 ) ) )
13 12 oveq2d โŠข ( ๐‘ = if ( ๐‘ โˆˆ โ„ค , ๐‘ , 0 ) โ†’ ( if ( ๐‘€ โˆˆ โ„ค , ๐‘€ , 0 ) gcd ( ( if ( ๐พ โˆˆ โ„ค , ๐พ , 0 ) ยท if ( ๐‘€ โˆˆ โ„ค , ๐‘€ , 0 ) ) + ๐‘ ) ) = ( if ( ๐‘€ โˆˆ โ„ค , ๐‘€ , 0 ) gcd ( ( if ( ๐พ โˆˆ โ„ค , ๐พ , 0 ) ยท if ( ๐‘€ โˆˆ โ„ค , ๐‘€ , 0 ) ) + if ( ๐‘ โˆˆ โ„ค , ๐‘ , 0 ) ) ) )
14 11 13 eqeq12d โŠข ( ๐‘ = if ( ๐‘ โˆˆ โ„ค , ๐‘ , 0 ) โ†’ ( ( if ( ๐‘€ โˆˆ โ„ค , ๐‘€ , 0 ) gcd ๐‘ ) = ( if ( ๐‘€ โˆˆ โ„ค , ๐‘€ , 0 ) gcd ( ( if ( ๐พ โˆˆ โ„ค , ๐พ , 0 ) ยท if ( ๐‘€ โˆˆ โ„ค , ๐‘€ , 0 ) ) + ๐‘ ) ) โ†” ( if ( ๐‘€ โˆˆ โ„ค , ๐‘€ , 0 ) gcd if ( ๐‘ โˆˆ โ„ค , ๐‘ , 0 ) ) = ( if ( ๐‘€ โˆˆ โ„ค , ๐‘€ , 0 ) gcd ( ( if ( ๐พ โˆˆ โ„ค , ๐พ , 0 ) ยท if ( ๐‘€ โˆˆ โ„ค , ๐‘€ , 0 ) ) + if ( ๐‘ โˆˆ โ„ค , ๐‘ , 0 ) ) ) ) )
15 0z โŠข 0 โˆˆ โ„ค
16 15 elimel โŠข if ( ๐พ โˆˆ โ„ค , ๐พ , 0 ) โˆˆ โ„ค
17 15 elimel โŠข if ( ๐‘€ โˆˆ โ„ค , ๐‘€ , 0 ) โˆˆ โ„ค
18 15 elimel โŠข if ( ๐‘ โˆˆ โ„ค , ๐‘ , 0 ) โˆˆ โ„ค
19 16 17 18 gcdaddmlem โŠข ( if ( ๐‘€ โˆˆ โ„ค , ๐‘€ , 0 ) gcd if ( ๐‘ โˆˆ โ„ค , ๐‘ , 0 ) ) = ( if ( ๐‘€ โˆˆ โ„ค , ๐‘€ , 0 ) gcd ( ( if ( ๐พ โˆˆ โ„ค , ๐พ , 0 ) ยท if ( ๐‘€ โˆˆ โ„ค , ๐‘€ , 0 ) ) + if ( ๐‘ โˆˆ โ„ค , ๐‘ , 0 ) ) )
20 4 10 14 19 dedth3h โŠข ( ( ๐พ โˆˆ โ„ค โˆง ๐‘€ โˆˆ โ„ค โˆง ๐‘ โˆˆ โ„ค ) โ†’ ( ๐‘€ gcd ๐‘ ) = ( ๐‘€ gcd ( ( ๐พ ยท ๐‘€ ) + ๐‘ ) ) )
21 zcn โŠข ( ๐พ โˆˆ โ„ค โ†’ ๐พ โˆˆ โ„‚ )
22 zcn โŠข ( ๐‘€ โˆˆ โ„ค โ†’ ๐‘€ โˆˆ โ„‚ )
23 mulcl โŠข ( ( ๐พ โˆˆ โ„‚ โˆง ๐‘€ โˆˆ โ„‚ ) โ†’ ( ๐พ ยท ๐‘€ ) โˆˆ โ„‚ )
24 21 22 23 syl2an โŠข ( ( ๐พ โˆˆ โ„ค โˆง ๐‘€ โˆˆ โ„ค ) โ†’ ( ๐พ ยท ๐‘€ ) โˆˆ โ„‚ )
25 zcn โŠข ( ๐‘ โˆˆ โ„ค โ†’ ๐‘ โˆˆ โ„‚ )
26 addcom โŠข ( ( ( ๐พ ยท ๐‘€ ) โˆˆ โ„‚ โˆง ๐‘ โˆˆ โ„‚ ) โ†’ ( ( ๐พ ยท ๐‘€ ) + ๐‘ ) = ( ๐‘ + ( ๐พ ยท ๐‘€ ) ) )
27 24 25 26 syl2an โŠข ( ( ( ๐พ โˆˆ โ„ค โˆง ๐‘€ โˆˆ โ„ค ) โˆง ๐‘ โˆˆ โ„ค ) โ†’ ( ( ๐พ ยท ๐‘€ ) + ๐‘ ) = ( ๐‘ + ( ๐พ ยท ๐‘€ ) ) )
28 27 3impa โŠข ( ( ๐พ โˆˆ โ„ค โˆง ๐‘€ โˆˆ โ„ค โˆง ๐‘ โˆˆ โ„ค ) โ†’ ( ( ๐พ ยท ๐‘€ ) + ๐‘ ) = ( ๐‘ + ( ๐พ ยท ๐‘€ ) ) )
29 28 oveq2d โŠข ( ( ๐พ โˆˆ โ„ค โˆง ๐‘€ โˆˆ โ„ค โˆง ๐‘ โˆˆ โ„ค ) โ†’ ( ๐‘€ gcd ( ( ๐พ ยท ๐‘€ ) + ๐‘ ) ) = ( ๐‘€ gcd ( ๐‘ + ( ๐พ ยท ๐‘€ ) ) ) )
30 20 29 eqtrd โŠข ( ( ๐พ โˆˆ โ„ค โˆง ๐‘€ โˆˆ โ„ค โˆง ๐‘ โˆˆ โ„ค ) โ†’ ( ๐‘€ gcd ๐‘ ) = ( ๐‘€ gcd ( ๐‘ + ( ๐พ ยท ๐‘€ ) ) ) )