Metamath Proof Explorer


Theorem modgcd

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 MNMmodNgcdN=MgcdN

Proof

Step Hyp Ref Expression
1 zre MM
2 nnrp NN+
3 modval MN+MmodN=MNMN
4 1 2 3 syl2an MNMmodN=MNMN
5 zcn MM
6 5 adantr MNM
7 nncn NN
8 7 adantl MNN
9 nnre NN
10 nnne0 NN0
11 redivcl MNN0MN
12 1 9 10 11 syl3an MNNMN
13 12 3anidm23 MNMN
14 13 flcld MNMN
15 14 zcnd MNMN
16 mulneg1 MNNMN N=MN N
17 mulcom MNNMN N=NMN
18 17 negeqd MNNMN N=NMN
19 16 18 eqtrd MNNMN N=NMN
20 19 ancoms NMNMN N=NMN
21 20 3adant1 MNMNMN N=NMN
22 21 oveq2d MNMNM+MN N=M+NMN
23 mulcl NMNNMN
24 negsub MNMNM+NMN=MNMN
25 23 24 sylan2 MNMNM+NMN=MNMN
26 25 3impb MNMNM+NMN=MNMN
27 22 26 eqtrd MNMNM+MN N=MNMN
28 6 8 15 27 syl3anc MNM+MN N=MNMN
29 4 28 eqtr4d MNMmodN=M+MN N
30 29 oveq2d MNNgcdMmodN=NgcdM+MN N
31 14 znegcld MNMN
32 nnz NN
33 32 adantl MNN
34 simpl MNM
35 gcdaddm MNNMNgcdM=NgcdM+MN N
36 31 33 34 35 syl3anc MNNgcdM=NgcdM+MN N
37 30 36 eqtr4d MNNgcdMmodN=NgcdM
38 zmodcl MNMmodN0
39 38 nn0zd MNMmodN
40 33 39 gcdcomd MNNgcdMmodN=MmodNgcdN
41 33 34 gcdcomd MNNgcdM=MgcdN
42 37 40 41 3eqtr3d MNMmodNgcdN=MgcdN