Metamath Proof Explorer


Theorem gcddvds

Description: The gcd of two integers divides each of them. (Contributed by Paul Chapman, 21-Mar-2011)

Ref Expression
Assertion gcddvds MNMgcdNMMgcdNN

Proof

Step Hyp Ref Expression
1 0z 0
2 dvds0 000
3 1 2 ax-mp 00
4 breq2 M=00M00
5 breq2 N=00N00
6 4 5 bi2anan9 M=0N=00M0N0000
7 anidm 000000
8 6 7 bitrdi M=0N=00M0N00
9 3 8 mpbiri M=0N=00M0N
10 oveq12 M=0N=0MgcdN=0gcd0
11 gcd0val 0gcd0=0
12 10 11 eqtrdi M=0N=0MgcdN=0
13 12 breq1d M=0N=0MgcdNM0M
14 12 breq1d M=0N=0MgcdNN0N
15 13 14 anbi12d M=0N=0MgcdNMMgcdNN0M0N
16 9 15 mpbird M=0N=0MgcdNMMgcdNN
17 16 adantl MNM=0N=0MgcdNMMgcdNN
18 eqid n|zMNnz=n|zMNnz
19 eqid n|nMnN=n|nMnN
20 18 19 gcdcllem3 MN¬M=0N=0supn|nMnN<supn|nMnN<Msupn|nMnN<NKKMKNKsupn|nMnN<
21 20 simp2d MN¬M=0N=0supn|nMnN<Msupn|nMnN<N
22 gcdn0val MN¬M=0N=0MgcdN=supn|nMnN<
23 22 breq1d MN¬M=0N=0MgcdNMsupn|nMnN<M
24 22 breq1d MN¬M=0N=0MgcdNNsupn|nMnN<N
25 23 24 anbi12d MN¬M=0N=0MgcdNMMgcdNNsupn|nMnN<Msupn|nMnN<N
26 21 25 mpbird MN¬M=0N=0MgcdNMMgcdNN
27 17 26 pm2.61dan MNMgcdNMMgcdNN