Description: The gcd remains unchanged if one operand is replaced with its remainder modulo the other. (Contributed by Paul Chapman, 31-Mar-2011)
Ref | Expression | ||
---|---|---|---|
Assertion | modgcd | |
Step | Hyp | Ref | Expression |
---|---|---|---|
1 | zre | |
|
2 | nnrp | |
|
3 | modval | |
|
4 | 1 2 3 | syl2an | |
5 | zcn | |
|
6 | 5 | adantr | |
7 | nncn | |
|
8 | 7 | adantl | |
9 | nnre | |
|
10 | nnne0 | |
|
11 | redivcl | |
|
12 | 1 9 10 11 | syl3an | |
13 | 12 | 3anidm23 | |
14 | 13 | flcld | |
15 | 14 | zcnd | |
16 | mulneg1 | |
|
17 | mulcom | |
|
18 | 17 | negeqd | |
19 | 16 18 | eqtrd | |
20 | 19 | ancoms | |
21 | 20 | 3adant1 | |
22 | 21 | oveq2d | |
23 | mulcl | |
|
24 | negsub | |
|
25 | 23 24 | sylan2 | |
26 | 25 | 3impb | |
27 | 22 26 | eqtrd | |
28 | 6 8 15 27 | syl3anc | |
29 | 4 28 | eqtr4d | |
30 | 29 | oveq2d | |
31 | 14 | znegcld | |
32 | nnz | |
|
33 | 32 | adantl | |
34 | simpl | |
|
35 | gcdaddm | |
|
36 | 31 33 34 35 | syl3anc | |
37 | 30 36 | eqtr4d | |
38 | zmodcl | |
|
39 | 38 | nn0zd | |
40 | 33 39 | gcdcomd | |
41 | 33 34 | gcdcomd | |
42 | 37 40 41 | 3eqtr3d | |