diff options
Diffstat (limited to 'docs/htmldoc/mathcomp.algebra.intdiv.html')
| -rw-r--r-- | docs/htmldoc/mathcomp.algebra.intdiv.html | 725 |
1 files changed, 0 insertions, 725 deletions
diff --git a/docs/htmldoc/mathcomp.algebra.intdiv.html b/docs/htmldoc/mathcomp.algebra.intdiv.html deleted file mode 100644 index 620b18d..0000000 --- a/docs/htmldoc/mathcomp.algebra.intdiv.html +++ /dev/null @@ -1,725 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" -"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> -<html xmlns="http://www.w3.org/1999/xhtml"> -<head> -<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> -<link href="coqdoc.css" rel="stylesheet" type="text/css" /> -<title>mathcomp.algebra.intdiv</title> -</head> - -<body> - -<div id="page"> - -<div id="header"> -</div> - -<div id="main"> - -<h1 class="libtitle">Library mathcomp.algebra.intdiv</h1> - -<div class="code"> -<span class="comment">(* (c) Copyright 2006-2016 Microsoft Corporation and Inria. <br/> - Distributed under the terms of CeCILL-B. *)</span><br/> - -<br/> -</div> - -<div class="doc"> - This file provides various results on divisibility of integers. - It defines, for m, n, d : int, - (m %% d)%Z == the remainder of the Euclidean division of m by d; this is - the least non-negative element of the coset m + dZ when - d != 0, and m if d = 0. - (m %/ d)%Z == the quotient of the Euclidean division of m by d, such - that m = (m %/ d)%Z * d + (m %% d)%Z. Since for d != 0 the - remainder is non-negative, (m %/ d)%Z is non-zero for - (d %| m)%Z <=> m is divisible by d; dvdz d is the (collective) predicate - for integers divisible by d, and (d %| m)%Z is actually - (transposing) notation for m \in dvdz d. - (m = n % [mod d])%Z, (m == n % [mod d])%Z, (m != n % [mod d])%Z - m and n are (resp. compare, don't compare) equal mod d. - gcdz m n == the (non-negative) greatest common divisor of m and n, - with gcdz 0 0 = 0. - coprimez m n <=> m and n are coprime. - egcdz m n == the Bezout coefficients of the gcd of m and n: a pair - (u, v) of coprime integers such that u*m + v*n = gcdz m n. - Alternatively, a Bezoutz lemma states such u and v exist. - zchinese m1 m2 n1 n2 == for coprime m1 and m2, a solution to the Chinese - remainder problem for n1 and n2, i.e., and integer n such - that n = n1 % [mod m1] and n = n2 % [mod m2]. - zcontents p == the contents of p : {poly int}, that is, the gcd of the - coefficients of p, with the lead coefficient of p, - zprimitive p == the primitive part of p : {poly int}, i.e., p divided by - its contents. - inIntSpan X v <-> v is an integral linear combination of elements of - X : seq V, where V is a zmodType. We prove that this is a - decidable property for Q-vector spaces. - int_Smith_normal_form :: a theorem asserting the existence of the Smith - normal form for integer matrices. - Note that many of the concepts and results in this file could and perhaps - sould be generalized to the more general setting of integral, unique - factorization, principal ideal, or Euclidean domains. -</div> -<div class="code"> - -<br/> -<span class="id" title="keyword">Set Implicit Arguments</span>.<br/> - -<br/> -<span class="id" title="keyword">Import</span> <span class="id" title="var">GRing.Theory</span> <span class="id" title="var">Num.Theory</span>.<br/> -<span class="id" title="keyword">Local Open</span> <span class="id" title="keyword">Scope</span> <span class="id" title="var">ring_scope</span>.<br/> - -<br/> -<span class="id" title="keyword">Definition</span> <a name="divz"><span class="id" title="definition">divz</span></a> (<span class="id" title="var">m</span> <span class="id" title="var">d</span> : <a class="idref" href="mathcomp.algebra.ssrint.html#int"><span class="id" title="inductive">int</span></a>) :=<br/> - <span class="id" title="keyword">let</span>: <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#e6756e10c36f149b18b4a8741ed83079"><span class="id" title="notation">(</span></a><span class="id" title="var">K</span><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#e6756e10c36f149b18b4a8741ed83079"><span class="id" title="notation">,</span></a> <span class="id" title="var">n</span><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#e6756e10c36f149b18b4a8741ed83079"><span class="id" title="notation">)</span></a> := <span class="id" title="keyword">match</span> <a class="idref" href="mathcomp.algebra.intdiv.html#m"><span class="id" title="variable">m</span></a> <span class="id" title="keyword">with</span> <a class="idref" href="mathcomp.algebra.ssrint.html#Posz"><span class="id" title="constructor">Posz</span></a> <span class="id" title="var">n</span> ⇒ <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#e6756e10c36f149b18b4a8741ed83079"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#Posz"><span class="id" title="constructor">Posz</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#e6756e10c36f149b18b4a8741ed83079"><span class="id" title="notation">,</span></a> <span class="id" title="var">n</span><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#e6756e10c36f149b18b4a8741ed83079"><span class="id" title="notation">)</span></a> | <a class="idref" href="mathcomp.algebra.ssrint.html#Negz"><span class="id" title="constructor">Negz</span></a> <span class="id" title="var">n</span> ⇒ <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#e6756e10c36f149b18b4a8741ed83079"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#Negz"><span class="id" title="constructor">Negz</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#e6756e10c36f149b18b4a8741ed83079"><span class="id" title="notation">,</span></a> <span class="id" title="var">n</span><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#e6756e10c36f149b18b4a8741ed83079"><span class="id" title="notation">)</span></a> <span class="id" title="keyword">end</span> <span class="id" title="tactic">in</span><br/> - <a class="idref" href="mathcomp.algebra.ssrint.html#sgz"><span class="id" title="definition">sgz</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#d"><span class="id" title="variable">d</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#2d0cfb150261028f4ebd2ba355623dcc"><span class="id" title="notation">×</span></a> <span class="id" title="var">K</span> (<span class="id" title="var">n</span> <a class="idref" href="mathcomp.ssreflect.div.html#2242f6721707980eca939ec29164eab3"><span class="id" title="notation">%/</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#124262c1d6731d26a230b737e0b3e9b6"><span class="id" title="notation">`|</span></a><a class="idref" href="mathcomp.algebra.intdiv.html#d"><span class="id" title="variable">d</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#124262c1d6731d26a230b737e0b3e9b6"><span class="id" title="notation">|</span></a>)%<span class="id" title="var">N</span>.<br/> - -<br/> -<span class="id" title="keyword">Definition</span> <a name="modz"><span class="id" title="definition">modz</span></a> (<span class="id" title="var">m</span> <span class="id" title="var">d</span> : <a class="idref" href="mathcomp.algebra.ssrint.html#int"><span class="id" title="inductive">int</span></a>) : <a class="idref" href="mathcomp.algebra.ssrint.html#int"><span class="id" title="inductive">int</span></a> := <a class="idref" href="mathcomp.algebra.intdiv.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#51dc792c356ca1a71a3094b50d6bb2fb"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#divz"><span class="id" title="definition">divz</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#d"><span class="id" title="variable">d</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#2d0cfb150261028f4ebd2ba355623dcc"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#d"><span class="id" title="variable">d</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Definition</span> <a name="dvdz"><span class="id" title="definition">dvdz</span></a> <span class="id" title="var">d</span> <span class="id" title="var">m</span> := (<a class="idref" href="mathcomp.algebra.ssrint.html#124262c1d6731d26a230b737e0b3e9b6"><span class="id" title="notation">`|</span></a><a class="idref" href="mathcomp.algebra.intdiv.html#d"><span class="id" title="variable">d</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#124262c1d6731d26a230b737e0b3e9b6"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.div.html#bde82eab2fe4a0799bc2419e587505d4"><span class="id" title="notation">%|</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#124262c1d6731d26a230b737e0b3e9b6"><span class="id" title="notation">`|</span></a><a class="idref" href="mathcomp.algebra.intdiv.html#m"><span class="id" title="variable">m</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#124262c1d6731d26a230b737e0b3e9b6"><span class="id" title="notation">|</span></a>)%<span class="id" title="var">N</span>.<br/> - -<br/> -<span class="id" title="keyword">Definition</span> <a name="gcdz"><span class="id" title="definition">gcdz</span></a> <span class="id" title="var">m</span> <span class="id" title="var">n</span> := <a class="idref" href="mathcomp.algebra.ssrint.html#3b6365a19cfc497270b4b963fc1f9ecb"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.div.html#gcdn"><span class="id" title="definition">gcdn</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#124262c1d6731d26a230b737e0b3e9b6"><span class="id" title="notation">`|</span></a><a class="idref" href="mathcomp.algebra.intdiv.html#m"><span class="id" title="variable">m</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#124262c1d6731d26a230b737e0b3e9b6"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#124262c1d6731d26a230b737e0b3e9b6"><span class="id" title="notation">`|</span></a><a class="idref" href="mathcomp.algebra.intdiv.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#124262c1d6731d26a230b737e0b3e9b6"><span class="id" title="notation">|</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#3b6365a19cfc497270b4b963fc1f9ecb"><span class="id" title="notation">)%:</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#3b6365a19cfc497270b4b963fc1f9ecb"><span class="id" title="notation">Z</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Definition</span> <a name="egcdz"><span class="id" title="definition">egcdz</span></a> <span class="id" title="var">m</span> <span class="id" title="var">n</span> : <a class="idref" href="mathcomp.algebra.ssrint.html#int"><span class="id" title="inductive">int</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#11c698c8685bb8ab1cf725545c085ac4"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#int"><span class="id" title="inductive">int</span></a> :=<br/> - <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssreflect.html#00a1a5b58aac8f1e3f1abff064a39f9d"><span class="id" title="notation">if</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#df45e8c2e8370fd4f0f7c4fdaf208180"><span class="id" title="notation">==</span></a> 0 <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssreflect.html#00a1a5b58aac8f1e3f1abff064a39f9d"><span class="id" title="notation">then</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#e6756e10c36f149b18b4a8741ed83079"><span class="id" title="notation">(</span></a>0<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#e6756e10c36f149b18b4a8741ed83079"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#663140372ac3b275aae871b74b140513"><span class="id" title="notation">(</span></a>-1<a class="idref" href="mathcomp.algebra.ssralg.html#663140372ac3b275aae871b74b140513"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#663140372ac3b275aae871b74b140513"><span class="id" title="notation">^+</span></a> (<a class="idref" href="mathcomp.algebra.intdiv.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.algebra.ssrnum.html#eb5186e6835d7e27cbb4c691b2f398bb"><span class="id" title="notation"><</span></a> 0)%<span class="id" title="var">R</span><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#e6756e10c36f149b18b4a8741ed83079"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssreflect.html#00a1a5b58aac8f1e3f1abff064a39f9d"><span class="id" title="notation">else</span></a><br/> - <span class="id" title="keyword">let</span>: <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#e6756e10c36f149b18b4a8741ed83079"><span class="id" title="notation">(</span></a><span class="id" title="var">u</span><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#e6756e10c36f149b18b4a8741ed83079"><span class="id" title="notation">,</span></a> <span class="id" title="var">v</span><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#e6756e10c36f149b18b4a8741ed83079"><span class="id" title="notation">)</span></a> := <a class="idref" href="mathcomp.ssreflect.div.html#egcdn"><span class="id" title="definition">egcdn</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#124262c1d6731d26a230b737e0b3e9b6"><span class="id" title="notation">`|</span></a><a class="idref" href="mathcomp.algebra.intdiv.html#m"><span class="id" title="variable">m</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#124262c1d6731d26a230b737e0b3e9b6"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#124262c1d6731d26a230b737e0b3e9b6"><span class="id" title="notation">`|</span></a><a class="idref" href="mathcomp.algebra.intdiv.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#124262c1d6731d26a230b737e0b3e9b6"><span class="id" title="notation">|</span></a> <span class="id" title="tactic">in</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#e6756e10c36f149b18b4a8741ed83079"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#sgz"><span class="id" title="definition">sgz</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#2d0cfb150261028f4ebd2ba355623dcc"><span class="id" title="notation">×</span></a> <span class="id" title="var">u</span><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#e6756e10c36f149b18b4a8741ed83079"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#8d0566c961139ec21811f52ef0c317db"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#663140372ac3b275aae871b74b140513"><span class="id" title="notation">(</span></a>-1<a class="idref" href="mathcomp.algebra.ssralg.html#663140372ac3b275aae871b74b140513"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#663140372ac3b275aae871b74b140513"><span class="id" title="notation">^+</span></a> (<a class="idref" href="mathcomp.algebra.intdiv.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.algebra.ssrnum.html#eb5186e6835d7e27cbb4c691b2f398bb"><span class="id" title="notation"><</span></a> 0)%<span class="id" title="var">R</span> <a class="idref" href="mathcomp.algebra.ssralg.html#2d0cfb150261028f4ebd2ba355623dcc"><span class="id" title="notation">×</span></a> <span class="id" title="var">v</span><a class="idref" href="mathcomp.algebra.ssrint.html#3b6365a19cfc497270b4b963fc1f9ecb"><span class="id" title="notation">%:</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#3b6365a19cfc497270b4b963fc1f9ecb"><span class="id" title="notation">Z</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#e6756e10c36f149b18b4a8741ed83079"><span class="id" title="notation">)</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Definition</span> <a name="coprimez"><span class="id" title="definition">coprimez</span></a> <span class="id" title="var">m</span> <span class="id" title="var">n</span> := (<a class="idref" href="mathcomp.algebra.intdiv.html#gcdz"><span class="id" title="definition">gcdz</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#df45e8c2e8370fd4f0f7c4fdaf208180"><span class="id" title="notation">==</span></a> 1).<br/> - -<br/> -<span class="id" title="keyword">Infix</span> <a name="bcc33a8fb42440fce4fcfd0e77ec7aec"><span class="id" title="notation">"</span></a>%/" := <a class="idref" href="mathcomp.algebra.intdiv.html#divz"><span class="id" title="definition">divz</span></a> : <span class="id" title="var">int_scope</span>.<br/> -<span class="id" title="keyword">Infix</span> <a name="dac81a45c1600f98f30f5ebc1a02fa79"><span class="id" title="notation">"</span></a>%%" := <a class="idref" href="mathcomp.algebra.intdiv.html#modz"><span class="id" title="definition">modz</span></a> : <span class="id" title="var">int_scope</span>.<br/> -<span class="id" title="keyword">Notation</span> <a name="0ffd43bc6b4b5ccbe3ac2b025ec46f89"><span class="id" title="notation">"</span></a>d %| m" := (<span class="id" title="var">m</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#dvdz"><span class="id" title="definition">dvdz</span></a> <span class="id" title="var">d</span>) : <span class="id" title="var">int_scope</span>.<br/> -<span class="id" title="keyword">Notation</span> <a name="3aad69f599ace616cf1b8dff26f7cb4b"><span class="id" title="notation">"</span></a>m = n %[mod d ]" := (<a class="idref" href="mathcomp.algebra.intdiv.html#modz"><span class="id" title="definition">modz</span></a> <span class="id" title="var">m</span> <span class="id" title="var">d</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#modz"><span class="id" title="definition">modz</span></a> <span class="id" title="var">n</span> <span class="id" title="var">d</span>) : <span class="id" title="var">int_scope</span>.<br/> -<span class="id" title="keyword">Notation</span> <a name="ebb39eb6f888460f66b26b0e720bc2e4"><span class="id" title="notation">"</span></a>m == n %[mod d ]" := (<a class="idref" href="mathcomp.algebra.intdiv.html#modz"><span class="id" title="definition">modz</span></a> <span class="id" title="var">m</span> <span class="id" title="var">d</span> <a class="idref" href="mathcomp.ssreflect.eqtype.html#df45e8c2e8370fd4f0f7c4fdaf208180"><span class="id" title="notation">==</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#modz"><span class="id" title="definition">modz</span></a> <span class="id" title="var">n</span> <span class="id" title="var">d</span>) : <span class="id" title="var">int_scope</span>.<br/> -<span class="id" title="keyword">Notation</span> <a name="ec4a0b257e25c2894cbb6086cb0c1793"><span class="id" title="notation">"</span></a>m <> n %[mod d ]" := (<a class="idref" href="mathcomp.algebra.intdiv.html#modz"><span class="id" title="definition">modz</span></a> <span class="id" title="var">m</span> <span class="id" title="var">d</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#a0a5068f83a704fcfbda8cd473a6cfea"><span class="id" title="notation">≠</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#modz"><span class="id" title="definition">modz</span></a> <span class="id" title="var">n</span> <span class="id" title="var">d</span>) : <span class="id" title="var">int_scope</span>.<br/> -<span class="id" title="keyword">Notation</span> <a name="bf8cb6a9c744265b584b6537ce62ef56"><span class="id" title="notation">"</span></a>m != n %[mod d ]" := (<a class="idref" href="mathcomp.algebra.intdiv.html#modz"><span class="id" title="definition">modz</span></a> <span class="id" title="var">m</span> <span class="id" title="var">d</span> <a class="idref" href="mathcomp.ssreflect.eqtype.html#c385a484ee9d1b4e0615924561a9b75e"><span class="id" title="notation">!=</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#modz"><span class="id" title="definition">modz</span></a> <span class="id" title="var">n</span> <span class="id" title="var">d</span>) : <span class="id" title="var">int_scope</span>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="divz_nat"><span class="id" title="lemma">divz_nat</span></a> (<span class="id" title="var">n</span> <span class="id" title="var">d</span> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#nat"><span class="id" title="inductive">nat</span></a>) : (<a class="idref" href="mathcomp.algebra.intdiv.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#bcc33a8fb42440fce4fcfd0e77ec7aec"><span class="id" title="notation">%/</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#d"><span class="id" title="variable">d</span></a>)%<span class="id" title="var">Z</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> (<a class="idref" href="mathcomp.algebra.intdiv.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.ssreflect.div.html#2242f6721707980eca939ec29164eab3"><span class="id" title="notation">%/</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#d"><span class="id" title="variable">d</span></a>)%<span class="id" title="var">N</span>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="divzN"><span class="id" title="lemma">divzN</span></a> <span class="id" title="var">m</span> <span class="id" title="var">d</span> : (<a class="idref" href="mathcomp.algebra.intdiv.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#bcc33a8fb42440fce4fcfd0e77ec7aec"><span class="id" title="notation">%/</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#8d0566c961139ec21811f52ef0c317db"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#d"><span class="id" title="variable">d</span></a>)%<span class="id" title="var">Z</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#8d0566c961139ec21811f52ef0c317db"><span class="id" title="notation">-</span></a> (<a class="idref" href="mathcomp.algebra.intdiv.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#bcc33a8fb42440fce4fcfd0e77ec7aec"><span class="id" title="notation">%/</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#d"><span class="id" title="variable">d</span></a>)%<span class="id" title="var">Z</span>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="divz_abs"><span class="id" title="lemma">divz_abs</span></a> <span class="id" title="var">m</span> <span class="id" title="var">d</span> : (<a class="idref" href="mathcomp.algebra.intdiv.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#bcc33a8fb42440fce4fcfd0e77ec7aec"><span class="id" title="notation">%/</span></a> <a class="idref" href="mathcomp.algebra.ssrnum.html#55297ec87c6b3f98c14c99daeafb55d3"><span class="id" title="notation">`|</span></a><a class="idref" href="mathcomp.algebra.intdiv.html#d"><span class="id" title="variable">d</span></a><a class="idref" href="mathcomp.algebra.ssrnum.html#55297ec87c6b3f98c14c99daeafb55d3"><span class="id" title="notation">|</span></a>)%<span class="id" title="var">Z</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#663140372ac3b275aae871b74b140513"><span class="id" title="notation">(</span></a>-1<a class="idref" href="mathcomp.algebra.ssralg.html#663140372ac3b275aae871b74b140513"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#663140372ac3b275aae871b74b140513"><span class="id" title="notation">^+</span></a> (<a class="idref" href="mathcomp.algebra.intdiv.html#d"><span class="id" title="variable">d</span></a> <a class="idref" href="mathcomp.algebra.ssrnum.html#eb5186e6835d7e27cbb4c691b2f398bb"><span class="id" title="notation"><</span></a> 0)%<span class="id" title="var">R</span> <a class="idref" href="mathcomp.algebra.ssralg.html#2d0cfb150261028f4ebd2ba355623dcc"><span class="id" title="notation">×</span></a> (<a class="idref" href="mathcomp.algebra.intdiv.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#bcc33a8fb42440fce4fcfd0e77ec7aec"><span class="id" title="notation">%/</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#d"><span class="id" title="variable">d</span></a>)%<span class="id" title="var">Z</span>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="div0z"><span class="id" title="lemma">div0z</span></a> <span class="id" title="var">d</span> : (0 <a class="idref" href="mathcomp.algebra.intdiv.html#bcc33a8fb42440fce4fcfd0e77ec7aec"><span class="id" title="notation">%/</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#d"><span class="id" title="variable">d</span></a>)%<span class="id" title="var">Z</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> 0.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="divNz_nat"><span class="id" title="lemma">divNz_nat</span></a> <span class="id" title="var">m</span> <span class="id" title="var">d</span> : (<a class="idref" href="mathcomp.algebra.intdiv.html#d"><span class="id" title="variable">d</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#7f2a7ef2c63af7359b22787a9daf336e"><span class="id" title="notation">></span></a> 0)%<span class="id" title="var">N</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> (<a class="idref" href="mathcomp.algebra.ssrint.html#Negz"><span class="id" title="constructor">Negz</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#bcc33a8fb42440fce4fcfd0e77ec7aec"><span class="id" title="notation">%/</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#d"><span class="id" title="variable">d</span></a>)%<span class="id" title="var">Z</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#8d0566c961139ec21811f52ef0c317db"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#bda89d73ec4a8f23ae92b565ffb5aaa6"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.intdiv.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.ssreflect.div.html#2242f6721707980eca939ec29164eab3"><span class="id" title="notation">%/</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#d"><span class="id" title="variable">d</span></a><a class="idref" href="mathcomp.ssreflect.ssrnat.html#bda89d73ec4a8f23ae92b565ffb5aaa6"><span class="id" title="notation">).+1</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#3b6365a19cfc497270b4b963fc1f9ecb"><span class="id" title="notation">%:</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#3b6365a19cfc497270b4b963fc1f9ecb"><span class="id" title="notation">Z</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="divz_eq"><span class="id" title="lemma">divz_eq</span></a> <span class="id" title="var">m</span> <span class="id" title="var">d</span> : <a class="idref" href="mathcomp.algebra.intdiv.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> (<a class="idref" href="mathcomp.algebra.intdiv.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#bcc33a8fb42440fce4fcfd0e77ec7aec"><span class="id" title="notation">%/</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#d"><span class="id" title="variable">d</span></a>)%<span class="id" title="var">Z</span> <a class="idref" href="mathcomp.algebra.ssralg.html#2d0cfb150261028f4ebd2ba355623dcc"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#d"><span class="id" title="variable">d</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#c7f78cf1f6a5e4f664654f7d671ca752"><span class="id" title="notation">+</span></a> (<a class="idref" href="mathcomp.algebra.intdiv.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#dac81a45c1600f98f30f5ebc1a02fa79"><span class="id" title="notation">%%</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#d"><span class="id" title="variable">d</span></a>)%<span class="id" title="var">Z</span>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="modzN"><span class="id" title="lemma">modzN</span></a> <span class="id" title="var">m</span> <span class="id" title="var">d</span> : (<a class="idref" href="mathcomp.algebra.intdiv.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#dac81a45c1600f98f30f5ebc1a02fa79"><span class="id" title="notation">%%</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#8d0566c961139ec21811f52ef0c317db"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#d"><span class="id" title="variable">d</span></a>)%<span class="id" title="var">Z</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> (<a class="idref" href="mathcomp.algebra.intdiv.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#dac81a45c1600f98f30f5ebc1a02fa79"><span class="id" title="notation">%%</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#d"><span class="id" title="variable">d</span></a>)%<span class="id" title="var">Z</span>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="modz_abs"><span class="id" title="lemma">modz_abs</span></a> <span class="id" title="var">m</span> <span class="id" title="var">d</span> : (<a class="idref" href="mathcomp.algebra.intdiv.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#dac81a45c1600f98f30f5ebc1a02fa79"><span class="id" title="notation">%%</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#124262c1d6731d26a230b737e0b3e9b6"><span class="id" title="notation">`|</span></a><a class="idref" href="mathcomp.algebra.intdiv.html#d"><span class="id" title="variable">d</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#124262c1d6731d26a230b737e0b3e9b6"><span class="id" title="notation">|</span></a>%<span class="id" title="var">N</span>)%<span class="id" title="var">Z</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> (<a class="idref" href="mathcomp.algebra.intdiv.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#dac81a45c1600f98f30f5ebc1a02fa79"><span class="id" title="notation">%%</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#d"><span class="id" title="variable">d</span></a>)%<span class="id" title="var">Z</span>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="modz_nat"><span class="id" title="lemma">modz_nat</span></a> (<span class="id" title="var">m</span> <span class="id" title="var">d</span> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#nat"><span class="id" title="inductive">nat</span></a>) : (<a class="idref" href="mathcomp.algebra.intdiv.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#dac81a45c1600f98f30f5ebc1a02fa79"><span class="id" title="notation">%%</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#d"><span class="id" title="variable">d</span></a>)%<span class="id" title="var">Z</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> (<a class="idref" href="mathcomp.algebra.intdiv.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.ssreflect.div.html#e3d79e08e7e529cc9ef532e000103386"><span class="id" title="notation">%%</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#d"><span class="id" title="variable">d</span></a>)%<span class="id" title="var">N</span>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="modNz_nat"><span class="id" title="lemma">modNz_nat</span></a> <span class="id" title="var">m</span> <span class="id" title="var">d</span> : (<a class="idref" href="mathcomp.algebra.intdiv.html#d"><span class="id" title="variable">d</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#7f2a7ef2c63af7359b22787a9daf336e"><span class="id" title="notation">></span></a> 0)%<span class="id" title="var">N</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> (<a class="idref" href="mathcomp.algebra.ssrint.html#Negz"><span class="id" title="constructor">Negz</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#dac81a45c1600f98f30f5ebc1a02fa79"><span class="id" title="notation">%%</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#d"><span class="id" title="variable">d</span></a>)%<span class="id" title="var">Z</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#d"><span class="id" title="variable">d</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#3b6365a19cfc497270b4b963fc1f9ecb"><span class="id" title="notation">%:</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#3b6365a19cfc497270b4b963fc1f9ecb"><span class="id" title="notation">Z</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#51dc792c356ca1a71a3094b50d6bb2fb"><span class="id" title="notation">-</span></a> 1 <a class="idref" href="mathcomp.algebra.ssralg.html#51dc792c356ca1a71a3094b50d6bb2fb"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#3b6365a19cfc497270b4b963fc1f9ecb"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.intdiv.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.ssreflect.div.html#e3d79e08e7e529cc9ef532e000103386"><span class="id" title="notation">%%</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#d"><span class="id" title="variable">d</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#3b6365a19cfc497270b4b963fc1f9ecb"><span class="id" title="notation">)%:</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#3b6365a19cfc497270b4b963fc1f9ecb"><span class="id" title="notation">Z</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="modz_ge0"><span class="id" title="lemma">modz_ge0</span></a> <span class="id" title="var">m</span> <span class="id" title="var">d</span> : <a class="idref" href="mathcomp.algebra.intdiv.html#d"><span class="id" title="variable">d</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#c385a484ee9d1b4e0615924561a9b75e"><span class="id" title="notation">!=</span></a> 0 <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> 0 <a class="idref" href="mathcomp.algebra.ssrnum.html#cb42ec59ad57b25928e1718b4e69e031"><span class="id" title="notation">≤</span></a> (<a class="idref" href="mathcomp.algebra.intdiv.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#dac81a45c1600f98f30f5ebc1a02fa79"><span class="id" title="notation">%%</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#d"><span class="id" title="variable">d</span></a>)%<span class="id" title="var">Z</span>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="divz0"><span class="id" title="lemma">divz0</span></a> <span class="id" title="var">m</span> : (<a class="idref" href="mathcomp.algebra.intdiv.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#bcc33a8fb42440fce4fcfd0e77ec7aec"><span class="id" title="notation">%/</span></a> 0)%<span class="id" title="var">Z</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> 0. <br/> -<span class="id" title="keyword">Lemma</span> <a name="mod0z"><span class="id" title="lemma">mod0z</span></a> <span class="id" title="var">d</span> : (0 <a class="idref" href="mathcomp.algebra.intdiv.html#dac81a45c1600f98f30f5ebc1a02fa79"><span class="id" title="notation">%%</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#d"><span class="id" title="variable">d</span></a>)%<span class="id" title="var">Z</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> 0. <br/> -<span class="id" title="keyword">Lemma</span> <a name="modz0"><span class="id" title="lemma">modz0</span></a> <span class="id" title="var">m</span> : (<a class="idref" href="mathcomp.algebra.intdiv.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#dac81a45c1600f98f30f5ebc1a02fa79"><span class="id" title="notation">%%</span></a> 0)%<span class="id" title="var">Z</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#m"><span class="id" title="variable">m</span></a>. <br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="divz_small"><span class="id" title="lemma">divz_small</span></a> <span class="id" title="var">m</span> <span class="id" title="var">d</span> : 0 <a class="idref" href="mathcomp.algebra.ssrnum.html#eecc969a2fa3156b5b7024f4c30ed163"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.algebra.ssrnum.html#eecc969a2fa3156b5b7024f4c30ed163"><span class="id" title="notation"><</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#124262c1d6731d26a230b737e0b3e9b6"><span class="id" title="notation">`|</span></a><a class="idref" href="mathcomp.algebra.intdiv.html#d"><span class="id" title="variable">d</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#124262c1d6731d26a230b737e0b3e9b6"><span class="id" title="notation">|</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#3b6365a19cfc497270b4b963fc1f9ecb"><span class="id" title="notation">%:</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#3b6365a19cfc497270b4b963fc1f9ecb"><span class="id" title="notation">Z</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> (<a class="idref" href="mathcomp.algebra.intdiv.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#bcc33a8fb42440fce4fcfd0e77ec7aec"><span class="id" title="notation">%/</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#d"><span class="id" title="variable">d</span></a>)%<span class="id" title="var">Z</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> 0.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="divzMDl"><span class="id" title="lemma">divzMDl</span></a> <span class="id" title="var">q</span> <span class="id" title="var">m</span> <span class="id" title="var">d</span> : <a class="idref" href="mathcomp.algebra.intdiv.html#d"><span class="id" title="variable">d</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#c385a484ee9d1b4e0615924561a9b75e"><span class="id" title="notation">!=</span></a> 0 <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> (<a class="idref" href="mathcomp.algebra.intdiv.html#bcc33a8fb42440fce4fcfd0e77ec7aec"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.intdiv.html#q"><span class="id" title="variable">q</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#2d0cfb150261028f4ebd2ba355623dcc"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#d"><span class="id" title="variable">d</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#c7f78cf1f6a5e4f664654f7d671ca752"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#m"><span class="id" title="variable">m</span></a><a class="idref" href="mathcomp.algebra.intdiv.html#bcc33a8fb42440fce4fcfd0e77ec7aec"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#bcc33a8fb42440fce4fcfd0e77ec7aec"><span class="id" title="notation">%/</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#d"><span class="id" title="variable">d</span></a>)%<span class="id" title="var">Z</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#q"><span class="id" title="variable">q</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#c7f78cf1f6a5e4f664654f7d671ca752"><span class="id" title="notation">+</span></a> (<a class="idref" href="mathcomp.algebra.intdiv.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#bcc33a8fb42440fce4fcfd0e77ec7aec"><span class="id" title="notation">%/</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#d"><span class="id" title="variable">d</span></a>)%<span class="id" title="var">Z</span>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="mulzK"><span class="id" title="lemma">mulzK</span></a> <span class="id" title="var">m</span> <span class="id" title="var">d</span> : <a class="idref" href="mathcomp.algebra.intdiv.html#d"><span class="id" title="variable">d</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#c385a484ee9d1b4e0615924561a9b75e"><span class="id" title="notation">!=</span></a> 0 <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> (<a class="idref" href="mathcomp.algebra.intdiv.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#2d0cfb150261028f4ebd2ba355623dcc"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#d"><span class="id" title="variable">d</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#bcc33a8fb42440fce4fcfd0e77ec7aec"><span class="id" title="notation">%/</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#d"><span class="id" title="variable">d</span></a>)%<span class="id" title="var">Z</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#m"><span class="id" title="variable">m</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="mulKz"><span class="id" title="lemma">mulKz</span></a> <span class="id" title="var">m</span> <span class="id" title="var">d</span> : <a class="idref" href="mathcomp.algebra.intdiv.html#d"><span class="id" title="variable">d</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#c385a484ee9d1b4e0615924561a9b75e"><span class="id" title="notation">!=</span></a> 0 <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> (<a class="idref" href="mathcomp.algebra.intdiv.html#d"><span class="id" title="variable">d</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#2d0cfb150261028f4ebd2ba355623dcc"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#bcc33a8fb42440fce4fcfd0e77ec7aec"><span class="id" title="notation">%/</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#d"><span class="id" title="variable">d</span></a>)%<span class="id" title="var">Z</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#m"><span class="id" title="variable">m</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="expzB"><span class="id" title="lemma">expzB</span></a> <span class="id" title="var">p</span> <span class="id" title="var">m</span> <span class="id" title="var">n</span> : <a class="idref" href="mathcomp.algebra.intdiv.html#p"><span class="id" title="variable">p</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#c385a484ee9d1b4e0615924561a9b75e"><span class="id" title="notation">!=</span></a> 0 <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> (<a class="idref" href="mathcomp.algebra.intdiv.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#73030c22bc0b1fa771c65aa5414c65f9"><span class="id" title="notation">≥</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#n"><span class="id" title="variable">n</span></a>)%<span class="id" title="var">N</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#p"><span class="id" title="variable">p</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#663140372ac3b275aae871b74b140513"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#663140372ac3b275aae871b74b140513"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.intdiv.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#7825ccc99f23b0d30c9d40c317ba7af0"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#663140372ac3b275aae871b74b140513"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> (<a class="idref" href="mathcomp.algebra.intdiv.html#p"><span class="id" title="variable">p</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#663140372ac3b275aae871b74b140513"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#bcc33a8fb42440fce4fcfd0e77ec7aec"><span class="id" title="notation">%/</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#p"><span class="id" title="variable">p</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#663140372ac3b275aae871b74b140513"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#n"><span class="id" title="variable">n</span></a>)%<span class="id" title="var">Z</span>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="modz1"><span class="id" title="lemma">modz1</span></a> <span class="id" title="var">m</span> : (<a class="idref" href="mathcomp.algebra.intdiv.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#dac81a45c1600f98f30f5ebc1a02fa79"><span class="id" title="notation">%%</span></a> 1)%<span class="id" title="var">Z</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> 0.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="divz1"><span class="id" title="lemma">divz1</span></a> <span class="id" title="var">m</span> : (<a class="idref" href="mathcomp.algebra.intdiv.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#bcc33a8fb42440fce4fcfd0e77ec7aec"><span class="id" title="notation">%/</span></a> 1)%<span class="id" title="var">Z</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#m"><span class="id" title="variable">m</span></a>. <br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="divzz"><span class="id" title="lemma">divzz</span></a> <span class="id" title="var">d</span> : (<a class="idref" href="mathcomp.algebra.intdiv.html#d"><span class="id" title="variable">d</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#bcc33a8fb42440fce4fcfd0e77ec7aec"><span class="id" title="notation">%/</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#d"><span class="id" title="variable">d</span></a>)%<span class="id" title="var">Z</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.intdiv.html#d"><span class="id" title="variable">d</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#c385a484ee9d1b4e0615924561a9b75e"><span class="id" title="notation">!=</span></a> 0<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">)</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="ltz_pmod"><span class="id" title="lemma">ltz_pmod</span></a> <span class="id" title="var">m</span> <span class="id" title="var">d</span> : <a class="idref" href="mathcomp.algebra.intdiv.html#d"><span class="id" title="variable">d</span></a> <a class="idref" href="mathcomp.algebra.ssrnum.html#1f96a77ded31d6d5fa0c8fe9a087652a"><span class="id" title="notation">></span></a> 0 <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> (<a class="idref" href="mathcomp.algebra.intdiv.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#dac81a45c1600f98f30f5ebc1a02fa79"><span class="id" title="notation">%%</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#d"><span class="id" title="variable">d</span></a>)%<span class="id" title="var">Z</span> <a class="idref" href="mathcomp.algebra.ssrnum.html#eb5186e6835d7e27cbb4c691b2f398bb"><span class="id" title="notation"><</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#d"><span class="id" title="variable">d</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="ltz_mod"><span class="id" title="lemma">ltz_mod</span></a> <span class="id" title="var">m</span> <span class="id" title="var">d</span> : <a class="idref" href="mathcomp.algebra.intdiv.html#d"><span class="id" title="variable">d</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#c385a484ee9d1b4e0615924561a9b75e"><span class="id" title="notation">!=</span></a> 0 <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> (<a class="idref" href="mathcomp.algebra.intdiv.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#dac81a45c1600f98f30f5ebc1a02fa79"><span class="id" title="notation">%%</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#d"><span class="id" title="variable">d</span></a>)%<span class="id" title="var">Z</span> <a class="idref" href="mathcomp.algebra.ssrnum.html#eb5186e6835d7e27cbb4c691b2f398bb"><span class="id" title="notation"><</span></a> <a class="idref" href="mathcomp.algebra.ssrnum.html#55297ec87c6b3f98c14c99daeafb55d3"><span class="id" title="notation">`|</span></a><a class="idref" href="mathcomp.algebra.intdiv.html#d"><span class="id" title="variable">d</span></a><a class="idref" href="mathcomp.algebra.ssrnum.html#55297ec87c6b3f98c14c99daeafb55d3"><span class="id" title="notation">|</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="divzMpl"><span class="id" title="lemma">divzMpl</span></a> <span class="id" title="var">p</span> <span class="id" title="var">m</span> <span class="id" title="var">d</span> : <a class="idref" href="mathcomp.algebra.intdiv.html#p"><span class="id" title="variable">p</span></a> <a class="idref" href="mathcomp.algebra.ssrnum.html#1f96a77ded31d6d5fa0c8fe9a087652a"><span class="id" title="notation">></span></a> 0 <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> (<a class="idref" href="mathcomp.algebra.intdiv.html#p"><span class="id" title="variable">p</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#2d0cfb150261028f4ebd2ba355623dcc"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#bcc33a8fb42440fce4fcfd0e77ec7aec"><span class="id" title="notation">%/</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#bcc33a8fb42440fce4fcfd0e77ec7aec"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.intdiv.html#p"><span class="id" title="variable">p</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#2d0cfb150261028f4ebd2ba355623dcc"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#d"><span class="id" title="variable">d</span></a><a class="idref" href="mathcomp.algebra.intdiv.html#bcc33a8fb42440fce4fcfd0e77ec7aec"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#bcc33a8fb42440fce4fcfd0e77ec7aec"><span class="id" title="notation">%/</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#d"><span class="id" title="variable">d</span></a>)%<span class="id" title="var">Z</span>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="divzMpr"><span class="id" title="lemma">divzMpr</span></a> <span class="id" title="var">p</span> <span class="id" title="var">m</span> <span class="id" title="var">d</span> : <a class="idref" href="mathcomp.algebra.intdiv.html#p"><span class="id" title="variable">p</span></a> <a class="idref" href="mathcomp.algebra.ssrnum.html#1f96a77ded31d6d5fa0c8fe9a087652a"><span class="id" title="notation">></span></a> 0 <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> (<a class="idref" href="mathcomp.algebra.intdiv.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#2d0cfb150261028f4ebd2ba355623dcc"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#p"><span class="id" title="variable">p</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#bcc33a8fb42440fce4fcfd0e77ec7aec"><span class="id" title="notation">%/</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#bcc33a8fb42440fce4fcfd0e77ec7aec"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.intdiv.html#d"><span class="id" title="variable">d</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#2d0cfb150261028f4ebd2ba355623dcc"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#p"><span class="id" title="variable">p</span></a><a class="idref" href="mathcomp.algebra.intdiv.html#bcc33a8fb42440fce4fcfd0e77ec7aec"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#bcc33a8fb42440fce4fcfd0e77ec7aec"><span class="id" title="notation">%/</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#d"><span class="id" title="variable">d</span></a>)%<span class="id" title="var">Z</span>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="lez_floor"><span class="id" title="lemma">lez_floor</span></a> <span class="id" title="var">m</span> <span class="id" title="var">d</span> : <a class="idref" href="mathcomp.algebra.intdiv.html#d"><span class="id" title="variable">d</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#c385a484ee9d1b4e0615924561a9b75e"><span class="id" title="notation">!=</span></a> 0 <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> (<a class="idref" href="mathcomp.algebra.intdiv.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#bcc33a8fb42440fce4fcfd0e77ec7aec"><span class="id" title="notation">%/</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#d"><span class="id" title="variable">d</span></a>)%<span class="id" title="var">Z</span> <a class="idref" href="mathcomp.algebra.ssralg.html#2d0cfb150261028f4ebd2ba355623dcc"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#d"><span class="id" title="variable">d</span></a> <a class="idref" href="mathcomp.algebra.ssrnum.html#cb42ec59ad57b25928e1718b4e69e031"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#m"><span class="id" title="variable">m</span></a>.<br/> - -<br/> -</div> - -<div class="doc"> - leq_mod does not extend to negative m. -</div> -<div class="code"> -<span class="id" title="keyword">Lemma</span> <a name="lez_div"><span class="id" title="lemma">lez_div</span></a> <span class="id" title="var">m</span> <span class="id" title="var">d</span> : (<a class="idref" href="mathcomp.algebra.ssrint.html#124262c1d6731d26a230b737e0b3e9b6"><span class="id" title="notation">`|</span></a>(<a class="idref" href="mathcomp.algebra.intdiv.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#bcc33a8fb42440fce4fcfd0e77ec7aec"><span class="id" title="notation">%/</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#d"><span class="id" title="variable">d</span></a>)%<span class="id" title="var">Z</span><a class="idref" href="mathcomp.algebra.ssrint.html#124262c1d6731d26a230b737e0b3e9b6"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#cb53cf0ee22c036a03b4a9281c68b5a3"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#124262c1d6731d26a230b737e0b3e9b6"><span class="id" title="notation">`|</span></a><a class="idref" href="mathcomp.algebra.intdiv.html#m"><span class="id" title="variable">m</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#124262c1d6731d26a230b737e0b3e9b6"><span class="id" title="notation">|</span></a>)%<span class="id" title="var">N</span>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="ltz_ceil"><span class="id" title="lemma">ltz_ceil</span></a> <span class="id" title="var">m</span> <span class="id" title="var">d</span> : <a class="idref" href="mathcomp.algebra.intdiv.html#d"><span class="id" title="variable">d</span></a> <a class="idref" href="mathcomp.algebra.ssrnum.html#1f96a77ded31d6d5fa0c8fe9a087652a"><span class="id" title="notation">></span></a> 0 <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.algebra.ssrnum.html#eb5186e6835d7e27cbb4c691b2f398bb"><span class="id" title="notation"><</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#2d0cfb150261028f4ebd2ba355623dcc"><span class="id" title="notation">(</span></a>(<a class="idref" href="mathcomp.algebra.intdiv.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#bcc33a8fb42440fce4fcfd0e77ec7aec"><span class="id" title="notation">%/</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#d"><span class="id" title="variable">d</span></a>)%<span class="id" title="var">Z</span> <a class="idref" href="mathcomp.algebra.ssralg.html#c7f78cf1f6a5e4f664654f7d671ca752"><span class="id" title="notation">+</span></a> 1<a class="idref" href="mathcomp.algebra.ssralg.html#2d0cfb150261028f4ebd2ba355623dcc"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#2d0cfb150261028f4ebd2ba355623dcc"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#d"><span class="id" title="variable">d</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="ltz_divLR"><span class="id" title="lemma">ltz_divLR</span></a> <span class="id" title="var">m</span> <span class="id" title="var">n</span> <span class="id" title="var">d</span> : <a class="idref" href="mathcomp.algebra.intdiv.html#d"><span class="id" title="variable">d</span></a> <a class="idref" href="mathcomp.algebra.ssrnum.html#1f96a77ded31d6d5fa0c8fe9a087652a"><span class="id" title="notation">></span></a> 0 <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">(</span></a>(<a class="idref" href="mathcomp.algebra.intdiv.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#bcc33a8fb42440fce4fcfd0e77ec7aec"><span class="id" title="notation">%/</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#d"><span class="id" title="variable">d</span></a>)%<span class="id" title="var">Z</span> <a class="idref" href="mathcomp.algebra.ssrnum.html#eb5186e6835d7e27cbb4c691b2f398bb"><span class="id" title="notation"><</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.intdiv.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.algebra.ssrnum.html#eb5186e6835d7e27cbb4c691b2f398bb"><span class="id" title="notation"><</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#2d0cfb150261028f4ebd2ba355623dcc"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#d"><span class="id" title="variable">d</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">)</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="lez_divRL"><span class="id" title="lemma">lez_divRL</span></a> <span class="id" title="var">m</span> <span class="id" title="var">n</span> <span class="id" title="var">d</span> : <a class="idref" href="mathcomp.algebra.intdiv.html#d"><span class="id" title="variable">d</span></a> <a class="idref" href="mathcomp.algebra.ssrnum.html#1f96a77ded31d6d5fa0c8fe9a087652a"><span class="id" title="notation">></span></a> 0 <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.intdiv.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.algebra.ssrnum.html#cb42ec59ad57b25928e1718b4e69e031"><span class="id" title="notation">≤</span></a> (<a class="idref" href="mathcomp.algebra.intdiv.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#bcc33a8fb42440fce4fcfd0e77ec7aec"><span class="id" title="notation">%/</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#d"><span class="id" title="variable">d</span></a>)%<span class="id" title="var">Z</span><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.intdiv.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#2d0cfb150261028f4ebd2ba355623dcc"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#d"><span class="id" title="variable">d</span></a> <a class="idref" href="mathcomp.algebra.ssrnum.html#cb42ec59ad57b25928e1718b4e69e031"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">)</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="divz_ge0"><span class="id" title="lemma">divz_ge0</span></a> <span class="id" title="var">m</span> <span class="id" title="var">d</span> : <a class="idref" href="mathcomp.algebra.intdiv.html#d"><span class="id" title="variable">d</span></a> <a class="idref" href="mathcomp.algebra.ssrnum.html#1f96a77ded31d6d5fa0c8fe9a087652a"><span class="id" title="notation">></span></a> 0 <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">(</span></a>(<a class="idref" href="mathcomp.algebra.intdiv.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#bcc33a8fb42440fce4fcfd0e77ec7aec"><span class="id" title="notation">%/</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#d"><span class="id" title="variable">d</span></a>)%<span class="id" title="var">Z</span> <a class="idref" href="mathcomp.algebra.ssrnum.html#a3446a989be902579d41cbac1597f4cf"><span class="id" title="notation">≥</span></a> 0<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.intdiv.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.algebra.ssrnum.html#a3446a989be902579d41cbac1597f4cf"><span class="id" title="notation">≥</span></a> 0<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">)</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="divzMA_ge0"><span class="id" title="lemma">divzMA_ge0</span></a> <span class="id" title="var">m</span> <span class="id" title="var">n</span> <span class="id" title="var">p</span> : <a class="idref" href="mathcomp.algebra.intdiv.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.algebra.ssrnum.html#a3446a989be902579d41cbac1597f4cf"><span class="id" title="notation">≥</span></a> 0 <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> (<a class="idref" href="mathcomp.algebra.intdiv.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#bcc33a8fb42440fce4fcfd0e77ec7aec"><span class="id" title="notation">%/</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#bcc33a8fb42440fce4fcfd0e77ec7aec"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.intdiv.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#2d0cfb150261028f4ebd2ba355623dcc"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#p"><span class="id" title="variable">p</span></a><a class="idref" href="mathcomp.algebra.intdiv.html#bcc33a8fb42440fce4fcfd0e77ec7aec"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> (<a class="idref" href="mathcomp.algebra.intdiv.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#bcc33a8fb42440fce4fcfd0e77ec7aec"><span class="id" title="notation">%/</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#n"><span class="id" title="variable">n</span></a>)%<span class="id" title="var">Z</span> <a class="idref" href="mathcomp.algebra.intdiv.html#bcc33a8fb42440fce4fcfd0e77ec7aec"><span class="id" title="notation">%/</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#p"><span class="id" title="variable">p</span></a>)%<span class="id" title="var">Z</span>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="modz_small"><span class="id" title="lemma">modz_small</span></a> <span class="id" title="var">m</span> <span class="id" title="var">d</span> : 0 <a class="idref" href="mathcomp.algebra.ssrnum.html#eecc969a2fa3156b5b7024f4c30ed163"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.algebra.ssrnum.html#eecc969a2fa3156b5b7024f4c30ed163"><span class="id" title="notation"><</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#d"><span class="id" title="variable">d</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> (<a class="idref" href="mathcomp.algebra.intdiv.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#dac81a45c1600f98f30f5ebc1a02fa79"><span class="id" title="notation">%%</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#d"><span class="id" title="variable">d</span></a>)%<span class="id" title="var">Z</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#m"><span class="id" title="variable">m</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="modz_mod"><span class="id" title="lemma">modz_mod</span></a> <span class="id" title="var">m</span> <span class="id" title="var">d</span> : ((<a class="idref" href="mathcomp.algebra.intdiv.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#dac81a45c1600f98f30f5ebc1a02fa79"><span class="id" title="notation">%%</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#d"><span class="id" title="variable">d</span></a>)%<span class="id" title="var">Z</span> <a class="idref" href="mathcomp.algebra.intdiv.html#3aad69f599ace616cf1b8dff26f7cb4b"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#3aad69f599ace616cf1b8dff26f7cb4b"><span class="id" title="notation">%[</span></a><a class="idref" href="mathcomp.algebra.intdiv.html#3aad69f599ace616cf1b8dff26f7cb4b"><span class="id" title="notation">mod</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#d"><span class="id" title="variable">d</span></a><a class="idref" href="mathcomp.algebra.intdiv.html#3aad69f599ace616cf1b8dff26f7cb4b"><span class="id" title="notation">]</span></a>)%<span class="id" title="var">Z</span>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="modzMDl"><span class="id" title="lemma">modzMDl</span></a> <span class="id" title="var">p</span> <span class="id" title="var">m</span> <span class="id" title="var">d</span> : (<a class="idref" href="mathcomp.algebra.intdiv.html#p"><span class="id" title="variable">p</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#2d0cfb150261028f4ebd2ba355623dcc"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#d"><span class="id" title="variable">d</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#c7f78cf1f6a5e4f664654f7d671ca752"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#3aad69f599ace616cf1b8dff26f7cb4b"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#3aad69f599ace616cf1b8dff26f7cb4b"><span class="id" title="notation">%[</span></a><a class="idref" href="mathcomp.algebra.intdiv.html#3aad69f599ace616cf1b8dff26f7cb4b"><span class="id" title="notation">mod</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#d"><span class="id" title="variable">d</span></a><a class="idref" href="mathcomp.algebra.intdiv.html#3aad69f599ace616cf1b8dff26f7cb4b"><span class="id" title="notation">]</span></a>)%<span class="id" title="var">Z</span>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="mulz_modr"><span class="id" title="lemma">mulz_modr</span></a> {<span class="id" title="var">p</span> <span class="id" title="var">m</span> <span class="id" title="var">d</span>} : 0 <a class="idref" href="mathcomp.algebra.ssrnum.html#eb5186e6835d7e27cbb4c691b2f398bb"><span class="id" title="notation"><</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#p"><span class="id" title="variable">p</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#p"><span class="id" title="variable">p</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#2d0cfb150261028f4ebd2ba355623dcc"><span class="id" title="notation">×</span></a> (<a class="idref" href="mathcomp.algebra.intdiv.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#dac81a45c1600f98f30f5ebc1a02fa79"><span class="id" title="notation">%%</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#d"><span class="id" title="variable">d</span></a>)%<span class="id" title="var">Z</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> (<a class="idref" href="mathcomp.algebra.intdiv.html#dac81a45c1600f98f30f5ebc1a02fa79"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.intdiv.html#p"><span class="id" title="variable">p</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#2d0cfb150261028f4ebd2ba355623dcc"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#m"><span class="id" title="variable">m</span></a><a class="idref" href="mathcomp.algebra.intdiv.html#dac81a45c1600f98f30f5ebc1a02fa79"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#dac81a45c1600f98f30f5ebc1a02fa79"><span class="id" title="notation">%%</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#dac81a45c1600f98f30f5ebc1a02fa79"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.intdiv.html#p"><span class="id" title="variable">p</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#2d0cfb150261028f4ebd2ba355623dcc"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#d"><span class="id" title="variable">d</span></a><a class="idref" href="mathcomp.algebra.intdiv.html#dac81a45c1600f98f30f5ebc1a02fa79"><span class="id" title="notation">)</span></a>)%<span class="id" title="var">Z</span>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="mulz_modl"><span class="id" title="lemma">mulz_modl</span></a> {<span class="id" title="var">p</span> <span class="id" title="var">m</span> <span class="id" title="var">d</span>} : 0 <a class="idref" href="mathcomp.algebra.ssrnum.html#eb5186e6835d7e27cbb4c691b2f398bb"><span class="id" title="notation"><</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#p"><span class="id" title="variable">p</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> (<a class="idref" href="mathcomp.algebra.intdiv.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#dac81a45c1600f98f30f5ebc1a02fa79"><span class="id" title="notation">%%</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#d"><span class="id" title="variable">d</span></a>)%<span class="id" title="var">Z</span> <a class="idref" href="mathcomp.algebra.ssralg.html#2d0cfb150261028f4ebd2ba355623dcc"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#p"><span class="id" title="variable">p</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> (<a class="idref" href="mathcomp.algebra.intdiv.html#dac81a45c1600f98f30f5ebc1a02fa79"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.intdiv.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#2d0cfb150261028f4ebd2ba355623dcc"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#p"><span class="id" title="variable">p</span></a><a class="idref" href="mathcomp.algebra.intdiv.html#dac81a45c1600f98f30f5ebc1a02fa79"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#dac81a45c1600f98f30f5ebc1a02fa79"><span class="id" title="notation">%%</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#dac81a45c1600f98f30f5ebc1a02fa79"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.intdiv.html#d"><span class="id" title="variable">d</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#2d0cfb150261028f4ebd2ba355623dcc"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#p"><span class="id" title="variable">p</span></a><a class="idref" href="mathcomp.algebra.intdiv.html#dac81a45c1600f98f30f5ebc1a02fa79"><span class="id" title="notation">)</span></a>)%<span class="id" title="var">Z</span>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="modzDl"><span class="id" title="lemma">modzDl</span></a> <span class="id" title="var">m</span> <span class="id" title="var">d</span> : (<a class="idref" href="mathcomp.algebra.intdiv.html#d"><span class="id" title="variable">d</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#c7f78cf1f6a5e4f664654f7d671ca752"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#3aad69f599ace616cf1b8dff26f7cb4b"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#3aad69f599ace616cf1b8dff26f7cb4b"><span class="id" title="notation">%[</span></a><a class="idref" href="mathcomp.algebra.intdiv.html#3aad69f599ace616cf1b8dff26f7cb4b"><span class="id" title="notation">mod</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#d"><span class="id" title="variable">d</span></a><a class="idref" href="mathcomp.algebra.intdiv.html#3aad69f599ace616cf1b8dff26f7cb4b"><span class="id" title="notation">]</span></a>)%<span class="id" title="var">Z</span>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="modzDr"><span class="id" title="lemma">modzDr</span></a> <span class="id" title="var">m</span> <span class="id" title="var">d</span> : (<a class="idref" href="mathcomp.algebra.intdiv.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#c7f78cf1f6a5e4f664654f7d671ca752"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#d"><span class="id" title="variable">d</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#3aad69f599ace616cf1b8dff26f7cb4b"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#3aad69f599ace616cf1b8dff26f7cb4b"><span class="id" title="notation">%[</span></a><a class="idref" href="mathcomp.algebra.intdiv.html#3aad69f599ace616cf1b8dff26f7cb4b"><span class="id" title="notation">mod</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#d"><span class="id" title="variable">d</span></a><a class="idref" href="mathcomp.algebra.intdiv.html#3aad69f599ace616cf1b8dff26f7cb4b"><span class="id" title="notation">]</span></a>)%<span class="id" title="var">Z</span>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="modzz"><span class="id" title="lemma">modzz</span></a> <span class="id" title="var">d</span> : (<a class="idref" href="mathcomp.algebra.intdiv.html#d"><span class="id" title="variable">d</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#dac81a45c1600f98f30f5ebc1a02fa79"><span class="id" title="notation">%%</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#d"><span class="id" title="variable">d</span></a>)%<span class="id" title="var">Z</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> 0.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="modzMl"><span class="id" title="lemma">modzMl</span></a> <span class="id" title="var">p</span> <span class="id" title="var">d</span> : (<a class="idref" href="mathcomp.algebra.intdiv.html#p"><span class="id" title="variable">p</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#2d0cfb150261028f4ebd2ba355623dcc"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#d"><span class="id" title="variable">d</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#dac81a45c1600f98f30f5ebc1a02fa79"><span class="id" title="notation">%%</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#d"><span class="id" title="variable">d</span></a>)%<span class="id" title="var">Z</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> 0.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="modzMr"><span class="id" title="lemma">modzMr</span></a> <span class="id" title="var">p</span> <span class="id" title="var">d</span> : (<a class="idref" href="mathcomp.algebra.intdiv.html#d"><span class="id" title="variable">d</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#2d0cfb150261028f4ebd2ba355623dcc"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#p"><span class="id" title="variable">p</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#dac81a45c1600f98f30f5ebc1a02fa79"><span class="id" title="notation">%%</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#d"><span class="id" title="variable">d</span></a>)%<span class="id" title="var">Z</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> 0.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="modzDml"><span class="id" title="lemma">modzDml</span></a> <span class="id" title="var">m</span> <span class="id" title="var">n</span> <span class="id" title="var">d</span> : ((<a class="idref" href="mathcomp.algebra.intdiv.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#dac81a45c1600f98f30f5ebc1a02fa79"><span class="id" title="notation">%%</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#d"><span class="id" title="variable">d</span></a>)%<span class="id" title="var">Z</span> <a class="idref" href="mathcomp.algebra.ssralg.html#c7f78cf1f6a5e4f664654f7d671ca752"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#3aad69f599ace616cf1b8dff26f7cb4b"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#c7f78cf1f6a5e4f664654f7d671ca752"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#3aad69f599ace616cf1b8dff26f7cb4b"><span class="id" title="notation">%[</span></a><a class="idref" href="mathcomp.algebra.intdiv.html#3aad69f599ace616cf1b8dff26f7cb4b"><span class="id" title="notation">mod</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#d"><span class="id" title="variable">d</span></a><a class="idref" href="mathcomp.algebra.intdiv.html#3aad69f599ace616cf1b8dff26f7cb4b"><span class="id" title="notation">]</span></a>)%<span class="id" title="var">Z</span>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="modzDmr"><span class="id" title="lemma">modzDmr</span></a> <span class="id" title="var">m</span> <span class="id" title="var">n</span> <span class="id" title="var">d</span> : (<a class="idref" href="mathcomp.algebra.intdiv.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#c7f78cf1f6a5e4f664654f7d671ca752"><span class="id" title="notation">+</span></a> (<a class="idref" href="mathcomp.algebra.intdiv.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#dac81a45c1600f98f30f5ebc1a02fa79"><span class="id" title="notation">%%</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#d"><span class="id" title="variable">d</span></a>)%<span class="id" title="var">Z</span> <a class="idref" href="mathcomp.algebra.intdiv.html#3aad69f599ace616cf1b8dff26f7cb4b"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#c7f78cf1f6a5e4f664654f7d671ca752"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#3aad69f599ace616cf1b8dff26f7cb4b"><span class="id" title="notation">%[</span></a><a class="idref" href="mathcomp.algebra.intdiv.html#3aad69f599ace616cf1b8dff26f7cb4b"><span class="id" title="notation">mod</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#d"><span class="id" title="variable">d</span></a><a class="idref" href="mathcomp.algebra.intdiv.html#3aad69f599ace616cf1b8dff26f7cb4b"><span class="id" title="notation">]</span></a>)%<span class="id" title="var">Z</span>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="modzDm"><span class="id" title="lemma">modzDm</span></a> <span class="id" title="var">m</span> <span class="id" title="var">n</span> <span class="id" title="var">d</span> : ((<a class="idref" href="mathcomp.algebra.intdiv.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#dac81a45c1600f98f30f5ebc1a02fa79"><span class="id" title="notation">%%</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#d"><span class="id" title="variable">d</span></a>)%<span class="id" title="var">Z</span> <a class="idref" href="mathcomp.algebra.ssralg.html#c7f78cf1f6a5e4f664654f7d671ca752"><span class="id" title="notation">+</span></a> (<a class="idref" href="mathcomp.algebra.intdiv.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#dac81a45c1600f98f30f5ebc1a02fa79"><span class="id" title="notation">%%</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#d"><span class="id" title="variable">d</span></a>)%<span class="id" title="var">Z</span> <a class="idref" href="mathcomp.algebra.intdiv.html#3aad69f599ace616cf1b8dff26f7cb4b"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#c7f78cf1f6a5e4f664654f7d671ca752"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#3aad69f599ace616cf1b8dff26f7cb4b"><span class="id" title="notation">%[</span></a><a class="idref" href="mathcomp.algebra.intdiv.html#3aad69f599ace616cf1b8dff26f7cb4b"><span class="id" title="notation">mod</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#d"><span class="id" title="variable">d</span></a><a class="idref" href="mathcomp.algebra.intdiv.html#3aad69f599ace616cf1b8dff26f7cb4b"><span class="id" title="notation">]</span></a>)%<span class="id" title="var">Z</span>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="eqz_modDl"><span class="id" title="lemma">eqz_modDl</span></a> <span class="id" title="var">p</span> <span class="id" title="var">m</span> <span class="id" title="var">n</span> <span class="id" title="var">d</span> : (<a class="idref" href="mathcomp.algebra.intdiv.html#p"><span class="id" title="variable">p</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#c7f78cf1f6a5e4f664654f7d671ca752"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#ebb39eb6f888460f66b26b0e720bc2e4"><span class="id" title="notation">==</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#p"><span class="id" title="variable">p</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#c7f78cf1f6a5e4f664654f7d671ca752"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#ebb39eb6f888460f66b26b0e720bc2e4"><span class="id" title="notation">%[</span></a><a class="idref" href="mathcomp.algebra.intdiv.html#ebb39eb6f888460f66b26b0e720bc2e4"><span class="id" title="notation">mod</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#d"><span class="id" title="variable">d</span></a><a class="idref" href="mathcomp.algebra.intdiv.html#ebb39eb6f888460f66b26b0e720bc2e4"><span class="id" title="notation">]</span></a>)%<span class="id" title="var">Z</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> (<a class="idref" href="mathcomp.algebra.intdiv.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#ebb39eb6f888460f66b26b0e720bc2e4"><span class="id" title="notation">==</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#ebb39eb6f888460f66b26b0e720bc2e4"><span class="id" title="notation">%[</span></a><a class="idref" href="mathcomp.algebra.intdiv.html#ebb39eb6f888460f66b26b0e720bc2e4"><span class="id" title="notation">mod</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#d"><span class="id" title="variable">d</span></a><a class="idref" href="mathcomp.algebra.intdiv.html#ebb39eb6f888460f66b26b0e720bc2e4"><span class="id" title="notation">]</span></a>)%<span class="id" title="var">Z</span>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="eqz_modDr"><span class="id" title="lemma">eqz_modDr</span></a> <span class="id" title="var">p</span> <span class="id" title="var">m</span> <span class="id" title="var">n</span> <span class="id" title="var">d</span> : (<a class="idref" href="mathcomp.algebra.intdiv.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#c7f78cf1f6a5e4f664654f7d671ca752"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#p"><span class="id" title="variable">p</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#ebb39eb6f888460f66b26b0e720bc2e4"><span class="id" title="notation">==</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#c7f78cf1f6a5e4f664654f7d671ca752"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#p"><span class="id" title="variable">p</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#ebb39eb6f888460f66b26b0e720bc2e4"><span class="id" title="notation">%[</span></a><a class="idref" href="mathcomp.algebra.intdiv.html#ebb39eb6f888460f66b26b0e720bc2e4"><span class="id" title="notation">mod</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#d"><span class="id" title="variable">d</span></a><a class="idref" href="mathcomp.algebra.intdiv.html#ebb39eb6f888460f66b26b0e720bc2e4"><span class="id" title="notation">]</span></a>)%<span class="id" title="var">Z</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> (<a class="idref" href="mathcomp.algebra.intdiv.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#ebb39eb6f888460f66b26b0e720bc2e4"><span class="id" title="notation">==</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#ebb39eb6f888460f66b26b0e720bc2e4"><span class="id" title="notation">%[</span></a><a class="idref" href="mathcomp.algebra.intdiv.html#ebb39eb6f888460f66b26b0e720bc2e4"><span class="id" title="notation">mod</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#d"><span class="id" title="variable">d</span></a><a class="idref" href="mathcomp.algebra.intdiv.html#ebb39eb6f888460f66b26b0e720bc2e4"><span class="id" title="notation">]</span></a>)%<span class="id" title="var">Z</span>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="modzMml"><span class="id" title="lemma">modzMml</span></a> <span class="id" title="var">m</span> <span class="id" title="var">n</span> <span class="id" title="var">d</span> : ((<a class="idref" href="mathcomp.algebra.intdiv.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#dac81a45c1600f98f30f5ebc1a02fa79"><span class="id" title="notation">%%</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#d"><span class="id" title="variable">d</span></a>)%<span class="id" title="var">Z</span> <a class="idref" href="mathcomp.algebra.ssralg.html#2d0cfb150261028f4ebd2ba355623dcc"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#3aad69f599ace616cf1b8dff26f7cb4b"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#2d0cfb150261028f4ebd2ba355623dcc"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#3aad69f599ace616cf1b8dff26f7cb4b"><span class="id" title="notation">%[</span></a><a class="idref" href="mathcomp.algebra.intdiv.html#3aad69f599ace616cf1b8dff26f7cb4b"><span class="id" title="notation">mod</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#d"><span class="id" title="variable">d</span></a><a class="idref" href="mathcomp.algebra.intdiv.html#3aad69f599ace616cf1b8dff26f7cb4b"><span class="id" title="notation">]</span></a>)%<span class="id" title="var">Z</span>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="modzMmr"><span class="id" title="lemma">modzMmr</span></a> <span class="id" title="var">m</span> <span class="id" title="var">n</span> <span class="id" title="var">d</span> : (<a class="idref" href="mathcomp.algebra.intdiv.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#2d0cfb150261028f4ebd2ba355623dcc"><span class="id" title="notation">×</span></a> (<a class="idref" href="mathcomp.algebra.intdiv.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#dac81a45c1600f98f30f5ebc1a02fa79"><span class="id" title="notation">%%</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#d"><span class="id" title="variable">d</span></a>)%<span class="id" title="var">Z</span> <a class="idref" href="mathcomp.algebra.intdiv.html#3aad69f599ace616cf1b8dff26f7cb4b"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#2d0cfb150261028f4ebd2ba355623dcc"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#3aad69f599ace616cf1b8dff26f7cb4b"><span class="id" title="notation">%[</span></a><a class="idref" href="mathcomp.algebra.intdiv.html#3aad69f599ace616cf1b8dff26f7cb4b"><span class="id" title="notation">mod</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#d"><span class="id" title="variable">d</span></a><a class="idref" href="mathcomp.algebra.intdiv.html#3aad69f599ace616cf1b8dff26f7cb4b"><span class="id" title="notation">]</span></a>)%<span class="id" title="var">Z</span>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="modzMm"><span class="id" title="lemma">modzMm</span></a> <span class="id" title="var">m</span> <span class="id" title="var">n</span> <span class="id" title="var">d</span> : ((<a class="idref" href="mathcomp.algebra.intdiv.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#dac81a45c1600f98f30f5ebc1a02fa79"><span class="id" title="notation">%%</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#d"><span class="id" title="variable">d</span></a>)%<span class="id" title="var">Z</span> <a class="idref" href="mathcomp.algebra.ssralg.html#2d0cfb150261028f4ebd2ba355623dcc"><span class="id" title="notation">×</span></a> (<a class="idref" href="mathcomp.algebra.intdiv.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#dac81a45c1600f98f30f5ebc1a02fa79"><span class="id" title="notation">%%</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#d"><span class="id" title="variable">d</span></a>)%<span class="id" title="var">Z</span> <a class="idref" href="mathcomp.algebra.intdiv.html#3aad69f599ace616cf1b8dff26f7cb4b"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#2d0cfb150261028f4ebd2ba355623dcc"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#3aad69f599ace616cf1b8dff26f7cb4b"><span class="id" title="notation">%[</span></a><a class="idref" href="mathcomp.algebra.intdiv.html#3aad69f599ace616cf1b8dff26f7cb4b"><span class="id" title="notation">mod</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#d"><span class="id" title="variable">d</span></a><a class="idref" href="mathcomp.algebra.intdiv.html#3aad69f599ace616cf1b8dff26f7cb4b"><span class="id" title="notation">]</span></a>)%<span class="id" title="var">Z</span>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="modzXm"><span class="id" title="lemma">modzXm</span></a> <span class="id" title="var">k</span> <span class="id" title="var">m</span> <span class="id" title="var">d</span> : ((<a class="idref" href="mathcomp.algebra.intdiv.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#dac81a45c1600f98f30f5ebc1a02fa79"><span class="id" title="notation">%%</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#d"><span class="id" title="variable">d</span></a>)%<span class="id" title="var">Z</span> <a class="idref" href="mathcomp.algebra.ssralg.html#663140372ac3b275aae871b74b140513"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#k"><span class="id" title="variable">k</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#3aad69f599ace616cf1b8dff26f7cb4b"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#663140372ac3b275aae871b74b140513"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#k"><span class="id" title="variable">k</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#3aad69f599ace616cf1b8dff26f7cb4b"><span class="id" title="notation">%[</span></a><a class="idref" href="mathcomp.algebra.intdiv.html#3aad69f599ace616cf1b8dff26f7cb4b"><span class="id" title="notation">mod</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#d"><span class="id" title="variable">d</span></a><a class="idref" href="mathcomp.algebra.intdiv.html#3aad69f599ace616cf1b8dff26f7cb4b"><span class="id" title="notation">]</span></a>)%<span class="id" title="var">Z</span>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="modzNm"><span class="id" title="lemma">modzNm</span></a> <span class="id" title="var">m</span> <span class="id" title="var">d</span> : (<a class="idref" href="mathcomp.algebra.ssralg.html#8d0566c961139ec21811f52ef0c317db"><span class="id" title="notation">-</span></a> (<a class="idref" href="mathcomp.algebra.intdiv.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#dac81a45c1600f98f30f5ebc1a02fa79"><span class="id" title="notation">%%</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#d"><span class="id" title="variable">d</span></a>)%<span class="id" title="var">Z</span> <a class="idref" href="mathcomp.algebra.intdiv.html#3aad69f599ace616cf1b8dff26f7cb4b"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#8d0566c961139ec21811f52ef0c317db"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#3aad69f599ace616cf1b8dff26f7cb4b"><span class="id" title="notation">%[</span></a><a class="idref" href="mathcomp.algebra.intdiv.html#3aad69f599ace616cf1b8dff26f7cb4b"><span class="id" title="notation">mod</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#d"><span class="id" title="variable">d</span></a><a class="idref" href="mathcomp.algebra.intdiv.html#3aad69f599ace616cf1b8dff26f7cb4b"><span class="id" title="notation">]</span></a>)%<span class="id" title="var">Z</span>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="modz_absm"><span class="id" title="lemma">modz_absm</span></a> <span class="id" title="var">m</span> <span class="id" title="var">d</span> : (<a class="idref" href="mathcomp.algebra.ssralg.html#663140372ac3b275aae871b74b140513"><span class="id" title="notation">(</span></a>-1<a class="idref" href="mathcomp.algebra.ssralg.html#663140372ac3b275aae871b74b140513"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#663140372ac3b275aae871b74b140513"><span class="id" title="notation">^+</span></a> (<a class="idref" href="mathcomp.algebra.intdiv.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.algebra.ssrnum.html#eb5186e6835d7e27cbb4c691b2f398bb"><span class="id" title="notation"><</span></a> 0)%<span class="id" title="var">R</span> <a class="idref" href="mathcomp.algebra.ssralg.html#2d0cfb150261028f4ebd2ba355623dcc"><span class="id" title="notation">×</span></a> (<a class="idref" href="mathcomp.algebra.intdiv.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#dac81a45c1600f98f30f5ebc1a02fa79"><span class="id" title="notation">%%</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#d"><span class="id" title="variable">d</span></a>)%<span class="id" title="var">Z</span> <a class="idref" href="mathcomp.algebra.intdiv.html#3aad69f599ace616cf1b8dff26f7cb4b"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#124262c1d6731d26a230b737e0b3e9b6"><span class="id" title="notation">`|</span></a><a class="idref" href="mathcomp.algebra.intdiv.html#m"><span class="id" title="variable">m</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#124262c1d6731d26a230b737e0b3e9b6"><span class="id" title="notation">|</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#3b6365a19cfc497270b4b963fc1f9ecb"><span class="id" title="notation">%:</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#3b6365a19cfc497270b4b963fc1f9ecb"><span class="id" title="notation">Z</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#3aad69f599ace616cf1b8dff26f7cb4b"><span class="id" title="notation">%[</span></a><a class="idref" href="mathcomp.algebra.intdiv.html#3aad69f599ace616cf1b8dff26f7cb4b"><span class="id" title="notation">mod</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#d"><span class="id" title="variable">d</span></a><a class="idref" href="mathcomp.algebra.intdiv.html#3aad69f599ace616cf1b8dff26f7cb4b"><span class="id" title="notation">]</span></a>)%<span class="id" title="var">Z</span>.<br/> - -<br/> -</div> - -<div class="doc"> - Divisibility * -</div> -<div class="code"> - -<br/> -<span class="id" title="keyword">Fact</span> <a name="dvdz_key"><span class="id" title="lemma">dvdz_key</span></a> <span class="id" title="var">d</span> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#pred_key"><span class="id" title="inductive">pred_key</span></a> (<a class="idref" href="mathcomp.algebra.intdiv.html#dvdz"><span class="id" title="definition">dvdz</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#d"><span class="id" title="variable">d</span></a>). <br/> -<span class="id" title="keyword">Canonical</span> <span class="id" title="var">dvdz_keyed</span> <span class="id" title="var">d</span> := <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#KeyedPred"><span class="id" title="definition">KeyedPred</span></a> (<a class="idref" href="mathcomp.algebra.intdiv.html#dvdz_key"><span class="id" title="lemma">dvdz_key</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#d"><span class="id" title="variable">d</span></a>).<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="dvdzE"><span class="id" title="lemma">dvdzE</span></a> <span class="id" title="var">d</span> <span class="id" title="var">m</span> : (<a class="idref" href="mathcomp.algebra.intdiv.html#d"><span class="id" title="variable">d</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#0ffd43bc6b4b5ccbe3ac2b025ec46f89"><span class="id" title="notation">%|</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#m"><span class="id" title="variable">m</span></a>)%<span class="id" title="var">Z</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> (<a class="idref" href="mathcomp.algebra.ssrint.html#124262c1d6731d26a230b737e0b3e9b6"><span class="id" title="notation">`|</span></a><a class="idref" href="mathcomp.algebra.intdiv.html#d"><span class="id" title="variable">d</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#124262c1d6731d26a230b737e0b3e9b6"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.div.html#bde82eab2fe4a0799bc2419e587505d4"><span class="id" title="notation">%|</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#124262c1d6731d26a230b737e0b3e9b6"><span class="id" title="notation">`|</span></a><a class="idref" href="mathcomp.algebra.intdiv.html#m"><span class="id" title="variable">m</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#124262c1d6731d26a230b737e0b3e9b6"><span class="id" title="notation">|</span></a>)%<span class="id" title="var">N</span>. <br/> -<span class="id" title="keyword">Lemma</span> <a name="dvdz0"><span class="id" title="lemma">dvdz0</span></a> <span class="id" title="var">d</span> : (<a class="idref" href="mathcomp.algebra.intdiv.html#d"><span class="id" title="variable">d</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#0ffd43bc6b4b5ccbe3ac2b025ec46f89"><span class="id" title="notation">%|</span></a> 0)%<span class="id" title="var">Z</span>. <br/> -<span class="id" title="keyword">Lemma</span> <a name="dvd0z"><span class="id" title="lemma">dvd0z</span></a> <span class="id" title="var">n</span> : (0 <a class="idref" href="mathcomp.algebra.intdiv.html#0ffd43bc6b4b5ccbe3ac2b025ec46f89"><span class="id" title="notation">%|</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#n"><span class="id" title="variable">n</span></a>)%<span class="id" title="var">Z</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.intdiv.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#df45e8c2e8370fd4f0f7c4fdaf208180"><span class="id" title="notation">==</span></a> 0<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">)</span></a>. <br/> -<span class="id" title="keyword">Lemma</span> <a name="dvdz1"><span class="id" title="lemma">dvdz1</span></a> <span class="id" title="var">d</span> : (<a class="idref" href="mathcomp.algebra.intdiv.html#d"><span class="id" title="variable">d</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#0ffd43bc6b4b5ccbe3ac2b025ec46f89"><span class="id" title="notation">%|</span></a> 1)%<span class="id" title="var">Z</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#124262c1d6731d26a230b737e0b3e9b6"><span class="id" title="notation">`|</span></a><a class="idref" href="mathcomp.algebra.intdiv.html#d"><span class="id" title="variable">d</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#124262c1d6731d26a230b737e0b3e9b6"><span class="id" title="notation">|</span></a>%<span class="id" title="var">N</span> <a class="idref" href="mathcomp.ssreflect.eqtype.html#df45e8c2e8370fd4f0f7c4fdaf208180"><span class="id" title="notation">==</span></a> 1%<span class="id" title="var">N</span><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">)</span></a>. <br/> -<span class="id" title="keyword">Lemma</span> <a name="dvd1z"><span class="id" title="lemma">dvd1z</span></a> <span class="id" title="var">m</span> : (1 <a class="idref" href="mathcomp.algebra.intdiv.html#0ffd43bc6b4b5ccbe3ac2b025ec46f89"><span class="id" title="notation">%|</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#m"><span class="id" title="variable">m</span></a>)%<span class="id" title="var">Z</span>. <br/> -<span class="id" title="keyword">Lemma</span> <a name="dvdzz"><span class="id" title="lemma">dvdzz</span></a> <span class="id" title="var">m</span> : (<a class="idref" href="mathcomp.algebra.intdiv.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#0ffd43bc6b4b5ccbe3ac2b025ec46f89"><span class="id" title="notation">%|</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#m"><span class="id" title="variable">m</span></a>)%<span class="id" title="var">Z</span>. <br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="dvdz_mull"><span class="id" title="lemma">dvdz_mull</span></a> <span class="id" title="var">d</span> <span class="id" title="var">m</span> <span class="id" title="var">n</span> : (<a class="idref" href="mathcomp.algebra.intdiv.html#d"><span class="id" title="variable">d</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#0ffd43bc6b4b5ccbe3ac2b025ec46f89"><span class="id" title="notation">%|</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#n"><span class="id" title="variable">n</span></a>)%<span class="id" title="var">Z</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> (<a class="idref" href="mathcomp.algebra.intdiv.html#d"><span class="id" title="variable">d</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#0ffd43bc6b4b5ccbe3ac2b025ec46f89"><span class="id" title="notation">%|</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#2d0cfb150261028f4ebd2ba355623dcc"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#n"><span class="id" title="variable">n</span></a>)%<span class="id" title="var">Z</span>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="dvdz_mulr"><span class="id" title="lemma">dvdz_mulr</span></a> <span class="id" title="var">d</span> <span class="id" title="var">m</span> <span class="id" title="var">n</span> : (<a class="idref" href="mathcomp.algebra.intdiv.html#d"><span class="id" title="variable">d</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#0ffd43bc6b4b5ccbe3ac2b025ec46f89"><span class="id" title="notation">%|</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#m"><span class="id" title="variable">m</span></a>)%<span class="id" title="var">Z</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> (<a class="idref" href="mathcomp.algebra.intdiv.html#d"><span class="id" title="variable">d</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#0ffd43bc6b4b5ccbe3ac2b025ec46f89"><span class="id" title="notation">%|</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#2d0cfb150261028f4ebd2ba355623dcc"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#n"><span class="id" title="variable">n</span></a>)%<span class="id" title="var">Z</span>.<br/> - <span class="id" title="keyword">Hint Resolve</span> <span class="id" title="var">dvdz0</span> <span class="id" title="var">dvd1z</span> <span class="id" title="var">dvdzz</span> <span class="id" title="var">dvdz_mull</span> <span class="id" title="var">dvdz_mulr</span> : <span class="id" title="var">core</span>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="dvdz_mul"><span class="id" title="lemma">dvdz_mul</span></a> <span class="id" title="var">d1</span> <span class="id" title="var">d2</span> <span class="id" title="var">m1</span> <span class="id" title="var">m2</span> : (<a class="idref" href="mathcomp.algebra.intdiv.html#d1"><span class="id" title="variable">d1</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#0ffd43bc6b4b5ccbe3ac2b025ec46f89"><span class="id" title="notation">%|</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#m1"><span class="id" title="variable">m1</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#d2"><span class="id" title="variable">d2</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#0ffd43bc6b4b5ccbe3ac2b025ec46f89"><span class="id" title="notation">%|</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#m2"><span class="id" title="variable">m2</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#d1"><span class="id" title="variable">d1</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#2d0cfb150261028f4ebd2ba355623dcc"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#d2"><span class="id" title="variable">d2</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#0ffd43bc6b4b5ccbe3ac2b025ec46f89"><span class="id" title="notation">%|</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#m1"><span class="id" title="variable">m1</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#2d0cfb150261028f4ebd2ba355623dcc"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#m2"><span class="id" title="variable">m2</span></a>)%<span class="id" title="var">Z</span>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="dvdz_trans"><span class="id" title="lemma">dvdz_trans</span></a> <span class="id" title="var">n</span> <span class="id" title="var">d</span> <span class="id" title="var">m</span> : (<a class="idref" href="mathcomp.algebra.intdiv.html#d"><span class="id" title="variable">d</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#0ffd43bc6b4b5ccbe3ac2b025ec46f89"><span class="id" title="notation">%|</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#0ffd43bc6b4b5ccbe3ac2b025ec46f89"><span class="id" title="notation">%|</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#d"><span class="id" title="variable">d</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#0ffd43bc6b4b5ccbe3ac2b025ec46f89"><span class="id" title="notation">%|</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#m"><span class="id" title="variable">m</span></a>)%<span class="id" title="var">Z</span>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="dvdzP"><span class="id" title="lemma">dvdzP</span></a> <span class="id" title="var">d</span> <span class="id" title="var">m</span> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#reflect"><span class="id" title="abbreviation">reflect</span></a> (<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#a883bdd010993579f99d60b3775bcf54"><span class="id" title="notation">∃</span></a> <span class="id" title="var">q</span><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#a883bdd010993579f99d60b3775bcf54"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#q"><span class="id" title="variable">q</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#2d0cfb150261028f4ebd2ba355623dcc"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#d"><span class="id" title="variable">d</span></a>) (<a class="idref" href="mathcomp.algebra.intdiv.html#d"><span class="id" title="variable">d</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#0ffd43bc6b4b5ccbe3ac2b025ec46f89"><span class="id" title="notation">%|</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#m"><span class="id" title="variable">m</span></a>)%<span class="id" title="var">Z</span>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="dvdz_mod0P"><span class="id" title="lemma">dvdz_mod0P</span></a> <span class="id" title="var">d</span> <span class="id" title="var">m</span> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#reflect"><span class="id" title="abbreviation">reflect</span></a> (<a class="idref" href="mathcomp.algebra.intdiv.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#dac81a45c1600f98f30f5ebc1a02fa79"><span class="id" title="notation">%%</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#d"><span class="id" title="variable">d</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> 0)%<span class="id" title="var">Z</span> (<a class="idref" href="mathcomp.algebra.intdiv.html#d"><span class="id" title="variable">d</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#0ffd43bc6b4b5ccbe3ac2b025ec46f89"><span class="id" title="notation">%|</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#m"><span class="id" title="variable">m</span></a>)%<span class="id" title="var">Z</span>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="dvdz_eq"><span class="id" title="lemma">dvdz_eq</span></a> <span class="id" title="var">d</span> <span class="id" title="var">m</span> : (<a class="idref" href="mathcomp.algebra.intdiv.html#d"><span class="id" title="variable">d</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#0ffd43bc6b4b5ccbe3ac2b025ec46f89"><span class="id" title="notation">%|</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#m"><span class="id" title="variable">m</span></a>)%<span class="id" title="var">Z</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">(</span></a>(<a class="idref" href="mathcomp.algebra.intdiv.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#bcc33a8fb42440fce4fcfd0e77ec7aec"><span class="id" title="notation">%/</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#d"><span class="id" title="variable">d</span></a>)%<span class="id" title="var">Z</span> <a class="idref" href="mathcomp.algebra.ssralg.html#2d0cfb150261028f4ebd2ba355623dcc"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#d"><span class="id" title="variable">d</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#df45e8c2e8370fd4f0f7c4fdaf208180"><span class="id" title="notation">==</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#m"><span class="id" title="variable">m</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">)</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="divzK"><span class="id" title="lemma">divzK</span></a> <span class="id" title="var">d</span> <span class="id" title="var">m</span> : (<a class="idref" href="mathcomp.algebra.intdiv.html#d"><span class="id" title="variable">d</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#0ffd43bc6b4b5ccbe3ac2b025ec46f89"><span class="id" title="notation">%|</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#m"><span class="id" title="variable">m</span></a>)%<span class="id" title="var">Z</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> (<a class="idref" href="mathcomp.algebra.intdiv.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#bcc33a8fb42440fce4fcfd0e77ec7aec"><span class="id" title="notation">%/</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#d"><span class="id" title="variable">d</span></a>)%<span class="id" title="var">Z</span> <a class="idref" href="mathcomp.algebra.ssralg.html#2d0cfb150261028f4ebd2ba355623dcc"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#d"><span class="id" title="variable">d</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#m"><span class="id" title="variable">m</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="lez_divLR"><span class="id" title="lemma">lez_divLR</span></a> <span class="id" title="var">d</span> <span class="id" title="var">m</span> <span class="id" title="var">n</span> : 0 <a class="idref" href="mathcomp.algebra.ssrnum.html#eb5186e6835d7e27cbb4c691b2f398bb"><span class="id" title="notation"><</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#d"><span class="id" title="variable">d</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> (<a class="idref" href="mathcomp.algebra.intdiv.html#d"><span class="id" title="variable">d</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#0ffd43bc6b4b5ccbe3ac2b025ec46f89"><span class="id" title="notation">%|</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#m"><span class="id" title="variable">m</span></a>)%<span class="id" title="var">Z</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">(</span></a>(<a class="idref" href="mathcomp.algebra.intdiv.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#bcc33a8fb42440fce4fcfd0e77ec7aec"><span class="id" title="notation">%/</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#d"><span class="id" title="variable">d</span></a>)%<span class="id" title="var">Z</span> <a class="idref" href="mathcomp.algebra.ssrnum.html#cb42ec59ad57b25928e1718b4e69e031"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.intdiv.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.algebra.ssrnum.html#cb42ec59ad57b25928e1718b4e69e031"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#2d0cfb150261028f4ebd2ba355623dcc"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#d"><span class="id" title="variable">d</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">)</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="ltz_divRL"><span class="id" title="lemma">ltz_divRL</span></a> <span class="id" title="var">d</span> <span class="id" title="var">m</span> <span class="id" title="var">n</span> : 0 <a class="idref" href="mathcomp.algebra.ssrnum.html#eb5186e6835d7e27cbb4c691b2f398bb"><span class="id" title="notation"><</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#d"><span class="id" title="variable">d</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> (<a class="idref" href="mathcomp.algebra.intdiv.html#d"><span class="id" title="variable">d</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#0ffd43bc6b4b5ccbe3ac2b025ec46f89"><span class="id" title="notation">%|</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#m"><span class="id" title="variable">m</span></a>)%<span class="id" title="var">Z</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> (<a class="idref" href="mathcomp.algebra.intdiv.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.algebra.ssrnum.html#eb5186e6835d7e27cbb4c691b2f398bb"><span class="id" title="notation"><</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#bcc33a8fb42440fce4fcfd0e77ec7aec"><span class="id" title="notation">%/</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#d"><span class="id" title="variable">d</span></a>)%<span class="id" title="var">Z</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.intdiv.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#2d0cfb150261028f4ebd2ba355623dcc"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#d"><span class="id" title="variable">d</span></a> <a class="idref" href="mathcomp.algebra.ssrnum.html#eb5186e6835d7e27cbb4c691b2f398bb"><span class="id" title="notation"><</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#m"><span class="id" title="variable">m</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">)</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="eqz_div"><span class="id" title="lemma">eqz_div</span></a> <span class="id" title="var">d</span> <span class="id" title="var">m</span> <span class="id" title="var">n</span> : <a class="idref" href="mathcomp.algebra.intdiv.html#d"><span class="id" title="variable">d</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#c385a484ee9d1b4e0615924561a9b75e"><span class="id" title="notation">!=</span></a> 0 <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> (<a class="idref" href="mathcomp.algebra.intdiv.html#d"><span class="id" title="variable">d</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#0ffd43bc6b4b5ccbe3ac2b025ec46f89"><span class="id" title="notation">%|</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#m"><span class="id" title="variable">m</span></a>)%<span class="id" title="var">Z</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> (<a class="idref" href="mathcomp.algebra.intdiv.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#df45e8c2e8370fd4f0f7c4fdaf208180"><span class="id" title="notation">==</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#bcc33a8fb42440fce4fcfd0e77ec7aec"><span class="id" title="notation">%/</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#d"><span class="id" title="variable">d</span></a>)%<span class="id" title="var">Z</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.intdiv.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#2d0cfb150261028f4ebd2ba355623dcc"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#d"><span class="id" title="variable">d</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#df45e8c2e8370fd4f0f7c4fdaf208180"><span class="id" title="notation">==</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#m"><span class="id" title="variable">m</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">)</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="eqz_mul"><span class="id" title="lemma">eqz_mul</span></a> <span class="id" title="var">d</span> <span class="id" title="var">m</span> <span class="id" title="var">n</span> : <a class="idref" href="mathcomp.algebra.intdiv.html#d"><span class="id" title="variable">d</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#c385a484ee9d1b4e0615924561a9b75e"><span class="id" title="notation">!=</span></a> 0 <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> (<a class="idref" href="mathcomp.algebra.intdiv.html#d"><span class="id" title="variable">d</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#0ffd43bc6b4b5ccbe3ac2b025ec46f89"><span class="id" title="notation">%|</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#m"><span class="id" title="variable">m</span></a>)%<span class="id" title="var">Z</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.intdiv.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#df45e8c2e8370fd4f0f7c4fdaf208180"><span class="id" title="notation">==</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#2d0cfb150261028f4ebd2ba355623dcc"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#d"><span class="id" title="variable">d</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> (<a class="idref" href="mathcomp.algebra.intdiv.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#bcc33a8fb42440fce4fcfd0e77ec7aec"><span class="id" title="notation">%/</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#d"><span class="id" title="variable">d</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#df45e8c2e8370fd4f0f7c4fdaf208180"><span class="id" title="notation">==</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#n"><span class="id" title="variable">n</span></a>)%<span class="id" title="var">Z</span>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="divz_mulAC"><span class="id" title="lemma">divz_mulAC</span></a> <span class="id" title="var">d</span> <span class="id" title="var">m</span> <span class="id" title="var">n</span> : (<a class="idref" href="mathcomp.algebra.intdiv.html#d"><span class="id" title="variable">d</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#0ffd43bc6b4b5ccbe3ac2b025ec46f89"><span class="id" title="notation">%|</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#m"><span class="id" title="variable">m</span></a>)%<span class="id" title="var">Z</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> (<a class="idref" href="mathcomp.algebra.intdiv.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#bcc33a8fb42440fce4fcfd0e77ec7aec"><span class="id" title="notation">%/</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#d"><span class="id" title="variable">d</span></a>)%<span class="id" title="var">Z</span> <a class="idref" href="mathcomp.algebra.ssralg.html#2d0cfb150261028f4ebd2ba355623dcc"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> (<a class="idref" href="mathcomp.algebra.intdiv.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#2d0cfb150261028f4ebd2ba355623dcc"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#bcc33a8fb42440fce4fcfd0e77ec7aec"><span class="id" title="notation">%/</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#d"><span class="id" title="variable">d</span></a>)%<span class="id" title="var">Z</span>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="mulz_divA"><span class="id" title="lemma">mulz_divA</span></a> <span class="id" title="var">d</span> <span class="id" title="var">m</span> <span class="id" title="var">n</span> : (<a class="idref" href="mathcomp.algebra.intdiv.html#d"><span class="id" title="variable">d</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#0ffd43bc6b4b5ccbe3ac2b025ec46f89"><span class="id" title="notation">%|</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#n"><span class="id" title="variable">n</span></a>)%<span class="id" title="var">Z</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#2d0cfb150261028f4ebd2ba355623dcc"><span class="id" title="notation">×</span></a> (<a class="idref" href="mathcomp.algebra.intdiv.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#bcc33a8fb42440fce4fcfd0e77ec7aec"><span class="id" title="notation">%/</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#d"><span class="id" title="variable">d</span></a>)%<span class="id" title="var">Z</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> (<a class="idref" href="mathcomp.algebra.intdiv.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#2d0cfb150261028f4ebd2ba355623dcc"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#bcc33a8fb42440fce4fcfd0e77ec7aec"><span class="id" title="notation">%/</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#d"><span class="id" title="variable">d</span></a>)%<span class="id" title="var">Z</span>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="mulz_divCA"><span class="id" title="lemma">mulz_divCA</span></a> <span class="id" title="var">d</span> <span class="id" title="var">m</span> <span class="id" title="var">n</span> :<br/> - (<a class="idref" href="mathcomp.algebra.intdiv.html#d"><span class="id" title="variable">d</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#0ffd43bc6b4b5ccbe3ac2b025ec46f89"><span class="id" title="notation">%|</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#m"><span class="id" title="variable">m</span></a>)%<span class="id" title="var">Z</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> (<a class="idref" href="mathcomp.algebra.intdiv.html#d"><span class="id" title="variable">d</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#0ffd43bc6b4b5ccbe3ac2b025ec46f89"><span class="id" title="notation">%|</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#n"><span class="id" title="variable">n</span></a>)%<span class="id" title="var">Z</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#2d0cfb150261028f4ebd2ba355623dcc"><span class="id" title="notation">×</span></a> (<a class="idref" href="mathcomp.algebra.intdiv.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#bcc33a8fb42440fce4fcfd0e77ec7aec"><span class="id" title="notation">%/</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#d"><span class="id" title="variable">d</span></a>)%<span class="id" title="var">Z</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#2d0cfb150261028f4ebd2ba355623dcc"><span class="id" title="notation">×</span></a> (<a class="idref" href="mathcomp.algebra.intdiv.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#bcc33a8fb42440fce4fcfd0e77ec7aec"><span class="id" title="notation">%/</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#d"><span class="id" title="variable">d</span></a>)%<span class="id" title="var">Z</span>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="divzA"><span class="id" title="lemma">divzA</span></a> <span class="id" title="var">m</span> <span class="id" title="var">n</span> <span class="id" title="var">p</span> : (<a class="idref" href="mathcomp.algebra.intdiv.html#p"><span class="id" title="variable">p</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#0ffd43bc6b4b5ccbe3ac2b025ec46f89"><span class="id" title="notation">%|</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#0ffd43bc6b4b5ccbe3ac2b025ec46f89"><span class="id" title="notation">%|</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#2d0cfb150261028f4ebd2ba355623dcc"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#p"><span class="id" title="variable">p</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#bcc33a8fb42440fce4fcfd0e77ec7aec"><span class="id" title="notation">%/</span></a> (<a class="idref" href="mathcomp.algebra.intdiv.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#bcc33a8fb42440fce4fcfd0e77ec7aec"><span class="id" title="notation">%/</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#p"><span class="id" title="variable">p</span></a>)%<span class="id" title="var">Z</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#2d0cfb150261028f4ebd2ba355623dcc"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#p"><span class="id" title="variable">p</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#bcc33a8fb42440fce4fcfd0e77ec7aec"><span class="id" title="notation">%/</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#n"><span class="id" title="variable">n</span></a>)%<span class="id" title="var">Z</span>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="divzMA"><span class="id" title="lemma">divzMA</span></a> <span class="id" title="var">m</span> <span class="id" title="var">n</span> <span class="id" title="var">p</span> : (<a class="idref" href="mathcomp.algebra.intdiv.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#2d0cfb150261028f4ebd2ba355623dcc"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#p"><span class="id" title="variable">p</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#0ffd43bc6b4b5ccbe3ac2b025ec46f89"><span class="id" title="notation">%|</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#bcc33a8fb42440fce4fcfd0e77ec7aec"><span class="id" title="notation">%/</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#bcc33a8fb42440fce4fcfd0e77ec7aec"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.intdiv.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#2d0cfb150261028f4ebd2ba355623dcc"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#p"><span class="id" title="variable">p</span></a><a class="idref" href="mathcomp.algebra.intdiv.html#bcc33a8fb42440fce4fcfd0e77ec7aec"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> (<a class="idref" href="mathcomp.algebra.intdiv.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#bcc33a8fb42440fce4fcfd0e77ec7aec"><span class="id" title="notation">%/</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#n"><span class="id" title="variable">n</span></a>)%<span class="id" title="var">Z</span> <a class="idref" href="mathcomp.algebra.intdiv.html#bcc33a8fb42440fce4fcfd0e77ec7aec"><span class="id" title="notation">%/</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#p"><span class="id" title="variable">p</span></a>)%<span class="id" title="var">Z</span>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="divzAC"><span class="id" title="lemma">divzAC</span></a> <span class="id" title="var">m</span> <span class="id" title="var">n</span> <span class="id" title="var">p</span> : (<a class="idref" href="mathcomp.algebra.intdiv.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#2d0cfb150261028f4ebd2ba355623dcc"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#p"><span class="id" title="variable">p</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#0ffd43bc6b4b5ccbe3ac2b025ec46f89"><span class="id" title="notation">%|</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> (<a class="idref" href="mathcomp.algebra.intdiv.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#bcc33a8fb42440fce4fcfd0e77ec7aec"><span class="id" title="notation">%/</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#n"><span class="id" title="variable">n</span></a>)%<span class="id" title="var">Z</span> <a class="idref" href="mathcomp.algebra.intdiv.html#bcc33a8fb42440fce4fcfd0e77ec7aec"><span class="id" title="notation">%/</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#p"><span class="id" title="variable">p</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> (<a class="idref" href="mathcomp.algebra.intdiv.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#bcc33a8fb42440fce4fcfd0e77ec7aec"><span class="id" title="notation">%/</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#p"><span class="id" title="variable">p</span></a>)%<span class="id" title="var">Z</span> <a class="idref" href="mathcomp.algebra.intdiv.html#bcc33a8fb42440fce4fcfd0e77ec7aec"><span class="id" title="notation">%/</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#n"><span class="id" title="variable">n</span></a>)%<span class="id" title="var">Z</span>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="divzMl"><span class="id" title="lemma">divzMl</span></a> <span class="id" title="var">p</span> <span class="id" title="var">m</span> <span class="id" title="var">d</span> : <a class="idref" href="mathcomp.algebra.intdiv.html#p"><span class="id" title="variable">p</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#c385a484ee9d1b4e0615924561a9b75e"><span class="id" title="notation">!=</span></a> 0 <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> (<a class="idref" href="mathcomp.algebra.intdiv.html#d"><span class="id" title="variable">d</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#0ffd43bc6b4b5ccbe3ac2b025ec46f89"><span class="id" title="notation">%|</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#p"><span class="id" title="variable">p</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#2d0cfb150261028f4ebd2ba355623dcc"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#bcc33a8fb42440fce4fcfd0e77ec7aec"><span class="id" title="notation">%/</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#bcc33a8fb42440fce4fcfd0e77ec7aec"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.intdiv.html#p"><span class="id" title="variable">p</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#2d0cfb150261028f4ebd2ba355623dcc"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#d"><span class="id" title="variable">d</span></a><a class="idref" href="mathcomp.algebra.intdiv.html#bcc33a8fb42440fce4fcfd0e77ec7aec"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#bcc33a8fb42440fce4fcfd0e77ec7aec"><span class="id" title="notation">%/</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#d"><span class="id" title="variable">d</span></a>)%<span class="id" title="var">Z</span>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="divzMr"><span class="id" title="lemma">divzMr</span></a> <span class="id" title="var">p</span> <span class="id" title="var">m</span> <span class="id" title="var">d</span> : <a class="idref" href="mathcomp.algebra.intdiv.html#p"><span class="id" title="variable">p</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#c385a484ee9d1b4e0615924561a9b75e"><span class="id" title="notation">!=</span></a> 0 <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> (<a class="idref" href="mathcomp.algebra.intdiv.html#d"><span class="id" title="variable">d</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#0ffd43bc6b4b5ccbe3ac2b025ec46f89"><span class="id" title="notation">%|</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#2d0cfb150261028f4ebd2ba355623dcc"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#p"><span class="id" title="variable">p</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#bcc33a8fb42440fce4fcfd0e77ec7aec"><span class="id" title="notation">%/</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#bcc33a8fb42440fce4fcfd0e77ec7aec"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.intdiv.html#d"><span class="id" title="variable">d</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#2d0cfb150261028f4ebd2ba355623dcc"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#p"><span class="id" title="variable">p</span></a><a class="idref" href="mathcomp.algebra.intdiv.html#bcc33a8fb42440fce4fcfd0e77ec7aec"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#bcc33a8fb42440fce4fcfd0e77ec7aec"><span class="id" title="notation">%/</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#d"><span class="id" title="variable">d</span></a>)%<span class="id" title="var">Z</span>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="dvdz_mul2l"><span class="id" title="lemma">dvdz_mul2l</span></a> <span class="id" title="var">p</span> <span class="id" title="var">d</span> <span class="id" title="var">m</span> : <a class="idref" href="mathcomp.algebra.intdiv.html#p"><span class="id" title="variable">p</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#c385a484ee9d1b4e0615924561a9b75e"><span class="id" title="notation">!=</span></a> 0 <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> (<a class="idref" href="mathcomp.algebra.intdiv.html#p"><span class="id" title="variable">p</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#2d0cfb150261028f4ebd2ba355623dcc"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#d"><span class="id" title="variable">d</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#0ffd43bc6b4b5ccbe3ac2b025ec46f89"><span class="id" title="notation">%|</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#p"><span class="id" title="variable">p</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#2d0cfb150261028f4ebd2ba355623dcc"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#m"><span class="id" title="variable">m</span></a>)%<span class="id" title="var">Z</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> (<a class="idref" href="mathcomp.algebra.intdiv.html#d"><span class="id" title="variable">d</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#0ffd43bc6b4b5ccbe3ac2b025ec46f89"><span class="id" title="notation">%|</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#m"><span class="id" title="variable">m</span></a>)%<span class="id" title="var">Z</span>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="dvdz_mul2r"><span class="id" title="lemma">dvdz_mul2r</span></a> <span class="id" title="var">p</span> <span class="id" title="var">d</span> <span class="id" title="var">m</span> : <a class="idref" href="mathcomp.algebra.intdiv.html#p"><span class="id" title="variable">p</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#c385a484ee9d1b4e0615924561a9b75e"><span class="id" title="notation">!=</span></a> 0 <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> (<a class="idref" href="mathcomp.algebra.intdiv.html#d"><span class="id" title="variable">d</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#2d0cfb150261028f4ebd2ba355623dcc"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#p"><span class="id" title="variable">p</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#0ffd43bc6b4b5ccbe3ac2b025ec46f89"><span class="id" title="notation">%|</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#2d0cfb150261028f4ebd2ba355623dcc"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#p"><span class="id" title="variable">p</span></a>)%<span class="id" title="var">Z</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> (<a class="idref" href="mathcomp.algebra.intdiv.html#d"><span class="id" title="variable">d</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#0ffd43bc6b4b5ccbe3ac2b025ec46f89"><span class="id" title="notation">%|</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#m"><span class="id" title="variable">m</span></a>)%<span class="id" title="var">Z</span>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="dvdz_exp2l"><span class="id" title="lemma">dvdz_exp2l</span></a> <span class="id" title="var">p</span> <span class="id" title="var">m</span> <span class="id" title="var">n</span> : (<a class="idref" href="mathcomp.algebra.intdiv.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#cb53cf0ee22c036a03b4a9281c68b5a3"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#n"><span class="id" title="variable">n</span></a>)%<span class="id" title="var">N</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> (<a class="idref" href="mathcomp.algebra.intdiv.html#p"><span class="id" title="variable">p</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#663140372ac3b275aae871b74b140513"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#0ffd43bc6b4b5ccbe3ac2b025ec46f89"><span class="id" title="notation">%|</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#p"><span class="id" title="variable">p</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#663140372ac3b275aae871b74b140513"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#n"><span class="id" title="variable">n</span></a>)%<span class="id" title="var">Z</span>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="dvdz_Pexp2l"><span class="id" title="lemma">dvdz_Pexp2l</span></a> <span class="id" title="var">p</span> <span class="id" title="var">m</span> <span class="id" title="var">n</span> : <a class="idref" href="mathcomp.algebra.ssrnum.html#55297ec87c6b3f98c14c99daeafb55d3"><span class="id" title="notation">`|</span></a><a class="idref" href="mathcomp.algebra.intdiv.html#p"><span class="id" title="variable">p</span></a><a class="idref" href="mathcomp.algebra.ssrnum.html#55297ec87c6b3f98c14c99daeafb55d3"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.algebra.ssrnum.html#1f96a77ded31d6d5fa0c8fe9a087652a"><span class="id" title="notation">></span></a> 1 <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> (<a class="idref" href="mathcomp.algebra.intdiv.html#p"><span class="id" title="variable">p</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#663140372ac3b275aae871b74b140513"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#0ffd43bc6b4b5ccbe3ac2b025ec46f89"><span class="id" title="notation">%|</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#p"><span class="id" title="variable">p</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#663140372ac3b275aae871b74b140513"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#n"><span class="id" title="variable">n</span></a>)%<span class="id" title="var">Z</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> (<a class="idref" href="mathcomp.algebra.intdiv.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#cb53cf0ee22c036a03b4a9281c68b5a3"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#n"><span class="id" title="variable">n</span></a>)%<span class="id" title="var">N</span>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="dvdz_exp2r"><span class="id" title="lemma">dvdz_exp2r</span></a> <span class="id" title="var">m</span> <span class="id" title="var">n</span> <span class="id" title="var">k</span> : (<a class="idref" href="mathcomp.algebra.intdiv.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#0ffd43bc6b4b5ccbe3ac2b025ec46f89"><span class="id" title="notation">%|</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#663140372ac3b275aae871b74b140513"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#k"><span class="id" title="variable">k</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#0ffd43bc6b4b5ccbe3ac2b025ec46f89"><span class="id" title="notation">%|</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#663140372ac3b275aae871b74b140513"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#k"><span class="id" title="variable">k</span></a>)%<span class="id" title="var">Z</span>.<br/> - -<br/> -<span class="id" title="keyword">Fact</span> <a name="dvdz_zmod_closed"><span class="id" title="lemma">dvdz_zmod_closed</span></a> <span class="id" title="var">d</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Pred.Exports.zmod_closed"><span class="id" title="abbreviation">zmod_closed</span></a> (<a class="idref" href="mathcomp.algebra.intdiv.html#dvdz"><span class="id" title="definition">dvdz</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#d"><span class="id" title="variable">d</span></a>).<br/> -<span class="id" title="keyword">Canonical</span> <span class="id" title="var">dvdz_addPred</span> <span class="id" title="var">d</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Pred.Exports.AddrPred"><span class="id" title="definition">AddrPred</span></a> (<a class="idref" href="mathcomp.algebra.intdiv.html#dvdz_zmod_closed"><span class="id" title="lemma">dvdz_zmod_closed</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#d"><span class="id" title="variable">d</span></a>).<br/> -<span class="id" title="keyword">Canonical</span> <span class="id" title="var">dvdz_oppPred</span> <span class="id" title="var">d</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Pred.Exports.OpprPred"><span class="id" title="definition">OpprPred</span></a> (<a class="idref" href="mathcomp.algebra.intdiv.html#dvdz_zmod_closed"><span class="id" title="lemma">dvdz_zmod_closed</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#d"><span class="id" title="variable">d</span></a>).<br/> -<span class="id" title="keyword">Canonical</span> <span class="id" title="var">dvdz_zmodPred</span> <span class="id" title="var">d</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Pred.Exports.ZmodPred"><span class="id" title="definition">ZmodPred</span></a> (<a class="idref" href="mathcomp.algebra.intdiv.html#dvdz_zmod_closed"><span class="id" title="lemma">dvdz_zmod_closed</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#d"><span class="id" title="variable">d</span></a>).<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="dvdz_exp"><span class="id" title="lemma">dvdz_exp</span></a> <span class="id" title="var">k</span> <span class="id" title="var">d</span> <span class="id" title="var">m</span> : (0 <a class="idref" href="mathcomp.ssreflect.ssrnat.html#00fe0eaf5e6949f0a31725357afa4bba"><span class="id" title="notation"><</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#k"><span class="id" title="variable">k</span></a>)%<span class="id" title="var">N</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> (<a class="idref" href="mathcomp.algebra.intdiv.html#d"><span class="id" title="variable">d</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#0ffd43bc6b4b5ccbe3ac2b025ec46f89"><span class="id" title="notation">%|</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#d"><span class="id" title="variable">d</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#0ffd43bc6b4b5ccbe3ac2b025ec46f89"><span class="id" title="notation">%|</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#663140372ac3b275aae871b74b140513"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#k"><span class="id" title="variable">k</span></a>)%<span class="id" title="var">Z</span>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="eqz_mod_dvd"><span class="id" title="lemma">eqz_mod_dvd</span></a> <span class="id" title="var">d</span> <span class="id" title="var">m</span> <span class="id" title="var">n</span> : (<a class="idref" href="mathcomp.algebra.intdiv.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#ebb39eb6f888460f66b26b0e720bc2e4"><span class="id" title="notation">==</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#ebb39eb6f888460f66b26b0e720bc2e4"><span class="id" title="notation">%[</span></a><a class="idref" href="mathcomp.algebra.intdiv.html#ebb39eb6f888460f66b26b0e720bc2e4"><span class="id" title="notation">mod</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#d"><span class="id" title="variable">d</span></a><a class="idref" href="mathcomp.algebra.intdiv.html#ebb39eb6f888460f66b26b0e720bc2e4"><span class="id" title="notation">]</span></a>)%<span class="id" title="var">Z</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> (<a class="idref" href="mathcomp.algebra.intdiv.html#d"><span class="id" title="variable">d</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#0ffd43bc6b4b5ccbe3ac2b025ec46f89"><span class="id" title="notation">%|</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#51dc792c356ca1a71a3094b50d6bb2fb"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#n"><span class="id" title="variable">n</span></a>)%<span class="id" title="var">Z</span>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="divzDl"><span class="id" title="lemma">divzDl</span></a> <span class="id" title="var">m</span> <span class="id" title="var">n</span> <span class="id" title="var">d</span> :<br/> - (<a class="idref" href="mathcomp.algebra.intdiv.html#d"><span class="id" title="variable">d</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#0ffd43bc6b4b5ccbe3ac2b025ec46f89"><span class="id" title="notation">%|</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#m"><span class="id" title="variable">m</span></a>)%<span class="id" title="var">Z</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> (<a class="idref" href="mathcomp.algebra.intdiv.html#bcc33a8fb42440fce4fcfd0e77ec7aec"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.intdiv.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#c7f78cf1f6a5e4f664654f7d671ca752"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.intdiv.html#bcc33a8fb42440fce4fcfd0e77ec7aec"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#bcc33a8fb42440fce4fcfd0e77ec7aec"><span class="id" title="notation">%/</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#d"><span class="id" title="variable">d</span></a>)%<span class="id" title="var">Z</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> (<a class="idref" href="mathcomp.algebra.intdiv.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#bcc33a8fb42440fce4fcfd0e77ec7aec"><span class="id" title="notation">%/</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#d"><span class="id" title="variable">d</span></a>)%<span class="id" title="var">Z</span> <a class="idref" href="mathcomp.algebra.ssralg.html#c7f78cf1f6a5e4f664654f7d671ca752"><span class="id" title="notation">+</span></a> (<a class="idref" href="mathcomp.algebra.intdiv.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#bcc33a8fb42440fce4fcfd0e77ec7aec"><span class="id" title="notation">%/</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#d"><span class="id" title="variable">d</span></a>)%<span class="id" title="var">Z</span>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="divzDr"><span class="id" title="lemma">divzDr</span></a> <span class="id" title="var">m</span> <span class="id" title="var">n</span> <span class="id" title="var">d</span> :<br/> - (<a class="idref" href="mathcomp.algebra.intdiv.html#d"><span class="id" title="variable">d</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#0ffd43bc6b4b5ccbe3ac2b025ec46f89"><span class="id" title="notation">%|</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#n"><span class="id" title="variable">n</span></a>)%<span class="id" title="var">Z</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> (<a class="idref" href="mathcomp.algebra.intdiv.html#bcc33a8fb42440fce4fcfd0e77ec7aec"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.intdiv.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#c7f78cf1f6a5e4f664654f7d671ca752"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.intdiv.html#bcc33a8fb42440fce4fcfd0e77ec7aec"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#bcc33a8fb42440fce4fcfd0e77ec7aec"><span class="id" title="notation">%/</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#d"><span class="id" title="variable">d</span></a>)%<span class="id" title="var">Z</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> (<a class="idref" href="mathcomp.algebra.intdiv.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#bcc33a8fb42440fce4fcfd0e77ec7aec"><span class="id" title="notation">%/</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#d"><span class="id" title="variable">d</span></a>)%<span class="id" title="var">Z</span> <a class="idref" href="mathcomp.algebra.ssralg.html#c7f78cf1f6a5e4f664654f7d671ca752"><span class="id" title="notation">+</span></a> (<a class="idref" href="mathcomp.algebra.intdiv.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#bcc33a8fb42440fce4fcfd0e77ec7aec"><span class="id" title="notation">%/</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#d"><span class="id" title="variable">d</span></a>)%<span class="id" title="var">Z</span>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="Qint_dvdz"><span class="id" title="lemma">Qint_dvdz</span></a> (<span class="id" title="var">m</span> <span class="id" title="var">d</span> : <a class="idref" href="mathcomp.algebra.ssrint.html#int"><span class="id" title="inductive">int</span></a>) : (<a class="idref" href="mathcomp.algebra.intdiv.html#d"><span class="id" title="variable">d</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#0ffd43bc6b4b5ccbe3ac2b025ec46f89"><span class="id" title="notation">%|</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#m"><span class="id" title="variable">m</span></a>)%<span class="id" title="var">Z</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">(</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#f6c65697fefaf4504de1d4d641cd4409"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.intdiv.html#m"><span class="id" title="variable">m</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#fd24b924079f6f5906ec417190abcf00"><span class="id" title="notation">%:~</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#fd24b924079f6f5906ec417190abcf00"><span class="id" title="notation">R</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#69c431a9c94f6f30a655bd7ddb59037b"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#d"><span class="id" title="variable">d</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#fd24b924079f6f5906ec417190abcf00"><span class="id" title="notation">%:~</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#fd24b924079f6f5906ec417190abcf00"><span class="id" title="notation">R</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssreflect.html#aed478b27f23b4f753c27c8ac393febc"><span class="id" title="notation">:</span></a> <a class="idref" href="mathcomp.algebra.rat.html#rat"><span class="id" title="record">rat</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#f6c65697fefaf4504de1d4d641cd4409"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#f6c65697fefaf4504de1d4d641cd4409"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#f6c65697fefaf4504de1d4d641cd4409"><span class="id" title="notation">is</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#f6c65697fefaf4504de1d4d641cd4409"><span class="id" title="notation">a</span></a> <a class="idref" href="mathcomp.algebra.rat.html#Qint"><span class="id" title="definition">Qint</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">)</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="Qnat_dvd"><span class="id" title="lemma">Qnat_dvd</span></a> (<span class="id" title="var">m</span> <span class="id" title="var">d</span> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#nat"><span class="id" title="inductive">nat</span></a>) : (<a class="idref" href="mathcomp.algebra.intdiv.html#d"><span class="id" title="variable">d</span></a> <a class="idref" href="mathcomp.ssreflect.div.html#bde82eab2fe4a0799bc2419e587505d4"><span class="id" title="notation">%|</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#m"><span class="id" title="variable">m</span></a>)%<span class="id" title="var">N</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">(</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#f6c65697fefaf4504de1d4d641cd4409"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.intdiv.html#m"><span class="id" title="variable">m</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#6411ed08724033ae48d2865f0380d533"><span class="id" title="notation">%:</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#6411ed08724033ae48d2865f0380d533"><span class="id" title="notation">R</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#69c431a9c94f6f30a655bd7ddb59037b"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#d"><span class="id" title="variable">d</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#6411ed08724033ae48d2865f0380d533"><span class="id" title="notation">%:</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#6411ed08724033ae48d2865f0380d533"><span class="id" title="notation">R</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssreflect.html#aed478b27f23b4f753c27c8ac393febc"><span class="id" title="notation">:</span></a> <a class="idref" href="mathcomp.algebra.rat.html#rat"><span class="id" title="record">rat</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#f6c65697fefaf4504de1d4d641cd4409"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#f6c65697fefaf4504de1d4d641cd4409"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#f6c65697fefaf4504de1d4d641cd4409"><span class="id" title="notation">is</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#f6c65697fefaf4504de1d4d641cd4409"><span class="id" title="notation">a</span></a> <a class="idref" href="mathcomp.algebra.rat.html#Qnat"><span class="id" title="definition">Qnat</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">)</span></a>.<br/> - -<br/> -</div> - -<div class="doc"> - Greatest common divisor -</div> -<div class="code"> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="gcdzz"><span class="id" title="lemma">gcdzz</span></a> <span class="id" title="var">m</span> : <a class="idref" href="mathcomp.algebra.intdiv.html#gcdz"><span class="id" title="definition">gcdz</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#124262c1d6731d26a230b737e0b3e9b6"><span class="id" title="notation">`|</span></a><a class="idref" href="mathcomp.algebra.intdiv.html#m"><span class="id" title="variable">m</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#124262c1d6731d26a230b737e0b3e9b6"><span class="id" title="notation">|</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#3b6365a19cfc497270b4b963fc1f9ecb"><span class="id" title="notation">%:</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#3b6365a19cfc497270b4b963fc1f9ecb"><span class="id" title="notation">Z</span></a>. <br/> -<span class="id" title="keyword">Lemma</span> <a name="gcdzC"><span class="id" title="lemma">gcdzC</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#commutative"><span class="id" title="definition">commutative</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#gcdz"><span class="id" title="definition">gcdz</span></a>. <br/> -<span class="id" title="keyword">Lemma</span> <a name="gcd0z"><span class="id" title="lemma">gcd0z</span></a> <span class="id" title="var">m</span> : <a class="idref" href="mathcomp.algebra.intdiv.html#gcdz"><span class="id" title="definition">gcdz</span></a> 0 <a class="idref" href="mathcomp.algebra.intdiv.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#124262c1d6731d26a230b737e0b3e9b6"><span class="id" title="notation">`|</span></a><a class="idref" href="mathcomp.algebra.intdiv.html#m"><span class="id" title="variable">m</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#124262c1d6731d26a230b737e0b3e9b6"><span class="id" title="notation">|</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#3b6365a19cfc497270b4b963fc1f9ecb"><span class="id" title="notation">%:</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#3b6365a19cfc497270b4b963fc1f9ecb"><span class="id" title="notation">Z</span></a>. <br/> -<span class="id" title="keyword">Lemma</span> <a name="gcdz0"><span class="id" title="lemma">gcdz0</span></a> <span class="id" title="var">m</span> : <a class="idref" href="mathcomp.algebra.intdiv.html#gcdz"><span class="id" title="definition">gcdz</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#m"><span class="id" title="variable">m</span></a> 0 <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#124262c1d6731d26a230b737e0b3e9b6"><span class="id" title="notation">`|</span></a><a class="idref" href="mathcomp.algebra.intdiv.html#m"><span class="id" title="variable">m</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#124262c1d6731d26a230b737e0b3e9b6"><span class="id" title="notation">|</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#3b6365a19cfc497270b4b963fc1f9ecb"><span class="id" title="notation">%:</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#3b6365a19cfc497270b4b963fc1f9ecb"><span class="id" title="notation">Z</span></a>. <br/> -<span class="id" title="keyword">Lemma</span> <a name="gcd1z"><span class="id" title="lemma">gcd1z</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#left_zero"><span class="id" title="definition">left_zero</span></a> 1 <a class="idref" href="mathcomp.algebra.intdiv.html#gcdz"><span class="id" title="definition">gcdz</span></a>. <br/> -<span class="id" title="keyword">Lemma</span> <a name="gcdz1"><span class="id" title="lemma">gcdz1</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#right_zero"><span class="id" title="definition">right_zero</span></a> 1 <a class="idref" href="mathcomp.algebra.intdiv.html#gcdz"><span class="id" title="definition">gcdz</span></a>. <br/> -<span class="id" title="keyword">Lemma</span> <a name="dvdz_gcdr"><span class="id" title="lemma">dvdz_gcdr</span></a> <span class="id" title="var">m</span> <span class="id" title="var">n</span> : (<a class="idref" href="mathcomp.algebra.intdiv.html#gcdz"><span class="id" title="definition">gcdz</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#0ffd43bc6b4b5ccbe3ac2b025ec46f89"><span class="id" title="notation">%|</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#n"><span class="id" title="variable">n</span></a>)%<span class="id" title="var">Z</span>. <br/> -<span class="id" title="keyword">Lemma</span> <a name="dvdz_gcdl"><span class="id" title="lemma">dvdz_gcdl</span></a> <span class="id" title="var">m</span> <span class="id" title="var">n</span> : (<a class="idref" href="mathcomp.algebra.intdiv.html#gcdz"><span class="id" title="definition">gcdz</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#0ffd43bc6b4b5ccbe3ac2b025ec46f89"><span class="id" title="notation">%|</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#m"><span class="id" title="variable">m</span></a>)%<span class="id" title="var">Z</span>. <br/> -<span class="id" title="keyword">Lemma</span> <a name="gcdz_eq0"><span class="id" title="lemma">gcdz_eq0</span></a> <span class="id" title="var">m</span> <span class="id" title="var">n</span> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.intdiv.html#gcdz"><span class="id" title="definition">gcdz</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#df45e8c2e8370fd4f0f7c4fdaf208180"><span class="id" title="notation">==</span></a> 0<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#9ddeac0ab66152bd1d64bedb507a795e"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.intdiv.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#df45e8c2e8370fd4f0f7c4fdaf208180"><span class="id" title="notation">==</span></a> 0<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#9ddeac0ab66152bd1d64bedb507a795e"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#9ddeac0ab66152bd1d64bedb507a795e"><span class="id" title="notation">&&</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#9ddeac0ab66152bd1d64bedb507a795e"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.intdiv.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#df45e8c2e8370fd4f0f7c4fdaf208180"><span class="id" title="notation">==</span></a> 0<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#9ddeac0ab66152bd1d64bedb507a795e"><span class="id" title="notation">)</span></a>.<br/> - <span class="id" title="keyword">Lemma</span> <a name="gcdNz"><span class="id" title="lemma">gcdNz</span></a> <span class="id" title="var">m</span> <span class="id" title="var">n</span> : <a class="idref" href="mathcomp.algebra.intdiv.html#gcdz"><span class="id" title="definition">gcdz</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#8d0566c961139ec21811f52ef0c317db"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#m"><span class="id" title="variable">m</span></a>) <a class="idref" href="mathcomp.algebra.intdiv.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#gcdz"><span class="id" title="definition">gcdz</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#n"><span class="id" title="variable">n</span></a>. <br/> -<span class="id" title="keyword">Lemma</span> <a name="gcdzN"><span class="id" title="lemma">gcdzN</span></a> <span class="id" title="var">m</span> <span class="id" title="var">n</span> : <a class="idref" href="mathcomp.algebra.intdiv.html#gcdz"><span class="id" title="definition">gcdz</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#m"><span class="id" title="variable">m</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#8d0566c961139ec21811f52ef0c317db"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#n"><span class="id" title="variable">n</span></a>) <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#gcdz"><span class="id" title="definition">gcdz</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#n"><span class="id" title="variable">n</span></a>. <br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="gcdz_modr"><span class="id" title="lemma">gcdz_modr</span></a> <span class="id" title="var">m</span> <span class="id" title="var">n</span> : <a class="idref" href="mathcomp.algebra.intdiv.html#gcdz"><span class="id" title="definition">gcdz</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#m"><span class="id" title="variable">m</span></a> (<a class="idref" href="mathcomp.algebra.intdiv.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#dac81a45c1600f98f30f5ebc1a02fa79"><span class="id" title="notation">%%</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#m"><span class="id" title="variable">m</span></a>)%<span class="id" title="var">Z</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#gcdz"><span class="id" title="definition">gcdz</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#n"><span class="id" title="variable">n</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="gcdz_modl"><span class="id" title="lemma">gcdz_modl</span></a> <span class="id" title="var">m</span> <span class="id" title="var">n</span> : <a class="idref" href="mathcomp.algebra.intdiv.html#gcdz"><span class="id" title="definition">gcdz</span></a> (<a class="idref" href="mathcomp.algebra.intdiv.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#dac81a45c1600f98f30f5ebc1a02fa79"><span class="id" title="notation">%%</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#n"><span class="id" title="variable">n</span></a>)%<span class="id" title="var">Z</span> <a class="idref" href="mathcomp.algebra.intdiv.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#gcdz"><span class="id" title="definition">gcdz</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#n"><span class="id" title="variable">n</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="gcdzMDl"><span class="id" title="lemma">gcdzMDl</span></a> <span class="id" title="var">q</span> <span class="id" title="var">m</span> <span class="id" title="var">n</span> : <a class="idref" href="mathcomp.algebra.intdiv.html#gcdz"><span class="id" title="definition">gcdz</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#m"><span class="id" title="variable">m</span></a> (<a class="idref" href="mathcomp.algebra.intdiv.html#q"><span class="id" title="variable">q</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#2d0cfb150261028f4ebd2ba355623dcc"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#c7f78cf1f6a5e4f664654f7d671ca752"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#n"><span class="id" title="variable">n</span></a>) <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#gcdz"><span class="id" title="definition">gcdz</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#n"><span class="id" title="variable">n</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="gcdzDl"><span class="id" title="lemma">gcdzDl</span></a> <span class="id" title="var">m</span> <span class="id" title="var">n</span> : <a class="idref" href="mathcomp.algebra.intdiv.html#gcdz"><span class="id" title="definition">gcdz</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#m"><span class="id" title="variable">m</span></a> (<a class="idref" href="mathcomp.algebra.intdiv.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#c7f78cf1f6a5e4f664654f7d671ca752"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#n"><span class="id" title="variable">n</span></a>) <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#gcdz"><span class="id" title="definition">gcdz</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#n"><span class="id" title="variable">n</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="gcdzDr"><span class="id" title="lemma">gcdzDr</span></a> <span class="id" title="var">m</span> <span class="id" title="var">n</span> : <a class="idref" href="mathcomp.algebra.intdiv.html#gcdz"><span class="id" title="definition">gcdz</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#m"><span class="id" title="variable">m</span></a> (<a class="idref" href="mathcomp.algebra.intdiv.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#c7f78cf1f6a5e4f664654f7d671ca752"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#m"><span class="id" title="variable">m</span></a>) <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#gcdz"><span class="id" title="definition">gcdz</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#n"><span class="id" title="variable">n</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="gcdzMl"><span class="id" title="lemma">gcdzMl</span></a> <span class="id" title="var">n</span> <span class="id" title="var">m</span> : <a class="idref" href="mathcomp.algebra.intdiv.html#gcdz"><span class="id" title="definition">gcdz</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#n"><span class="id" title="variable">n</span></a> (<a class="idref" href="mathcomp.algebra.intdiv.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#2d0cfb150261028f4ebd2ba355623dcc"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#n"><span class="id" title="variable">n</span></a>) <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#124262c1d6731d26a230b737e0b3e9b6"><span class="id" title="notation">`|</span></a><a class="idref" href="mathcomp.algebra.intdiv.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#124262c1d6731d26a230b737e0b3e9b6"><span class="id" title="notation">|</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#3b6365a19cfc497270b4b963fc1f9ecb"><span class="id" title="notation">%:</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#3b6365a19cfc497270b4b963fc1f9ecb"><span class="id" title="notation">Z</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="gcdzMr"><span class="id" title="lemma">gcdzMr</span></a> <span class="id" title="var">n</span> <span class="id" title="var">m</span> : <a class="idref" href="mathcomp.algebra.intdiv.html#gcdz"><span class="id" title="definition">gcdz</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#n"><span class="id" title="variable">n</span></a> (<a class="idref" href="mathcomp.algebra.intdiv.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#2d0cfb150261028f4ebd2ba355623dcc"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#m"><span class="id" title="variable">m</span></a>) <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#124262c1d6731d26a230b737e0b3e9b6"><span class="id" title="notation">`|</span></a><a class="idref" href="mathcomp.algebra.intdiv.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#124262c1d6731d26a230b737e0b3e9b6"><span class="id" title="notation">|</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#3b6365a19cfc497270b4b963fc1f9ecb"><span class="id" title="notation">%:</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#3b6365a19cfc497270b4b963fc1f9ecb"><span class="id" title="notation">Z</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="gcdz_idPl"><span class="id" title="lemma">gcdz_idPl</span></a> {<span class="id" title="var">m</span> <span class="id" title="var">n</span>} : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#reflect"><span class="id" title="abbreviation">reflect</span></a> (<a class="idref" href="mathcomp.algebra.intdiv.html#gcdz"><span class="id" title="definition">gcdz</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#124262c1d6731d26a230b737e0b3e9b6"><span class="id" title="notation">`|</span></a><a class="idref" href="mathcomp.algebra.intdiv.html#m"><span class="id" title="variable">m</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#124262c1d6731d26a230b737e0b3e9b6"><span class="id" title="notation">|</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#3b6365a19cfc497270b4b963fc1f9ecb"><span class="id" title="notation">%:</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#3b6365a19cfc497270b4b963fc1f9ecb"><span class="id" title="notation">Z</span></a>) (<a class="idref" href="mathcomp.algebra.intdiv.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#0ffd43bc6b4b5ccbe3ac2b025ec46f89"><span class="id" title="notation">%|</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#n"><span class="id" title="variable">n</span></a>)%<span class="id" title="var">Z</span>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="gcdz_idPr"><span class="id" title="lemma">gcdz_idPr</span></a> {<span class="id" title="var">m</span> <span class="id" title="var">n</span>} : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#reflect"><span class="id" title="abbreviation">reflect</span></a> (<a class="idref" href="mathcomp.algebra.intdiv.html#gcdz"><span class="id" title="definition">gcdz</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#124262c1d6731d26a230b737e0b3e9b6"><span class="id" title="notation">`|</span></a><a class="idref" href="mathcomp.algebra.intdiv.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#124262c1d6731d26a230b737e0b3e9b6"><span class="id" title="notation">|</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#3b6365a19cfc497270b4b963fc1f9ecb"><span class="id" title="notation">%:</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#3b6365a19cfc497270b4b963fc1f9ecb"><span class="id" title="notation">Z</span></a>) (<a class="idref" href="mathcomp.algebra.intdiv.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#0ffd43bc6b4b5ccbe3ac2b025ec46f89"><span class="id" title="notation">%|</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#m"><span class="id" title="variable">m</span></a>)%<span class="id" title="var">Z</span>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="expz_min"><span class="id" title="lemma">expz_min</span></a> <span class="id" title="var">e</span> <span class="id" title="var">m</span> <span class="id" title="var">n</span> : <a class="idref" href="mathcomp.algebra.intdiv.html#e"><span class="id" title="variable">e</span></a> <a class="idref" href="mathcomp.algebra.ssrnum.html#a3446a989be902579d41cbac1597f4cf"><span class="id" title="notation">≥</span></a> 0 <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#e"><span class="id" title="variable">e</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#663140372ac3b275aae871b74b140513"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#minn"><span class="id" title="definition">minn</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#gcdz"><span class="id" title="definition">gcdz</span></a> (<a class="idref" href="mathcomp.algebra.intdiv.html#e"><span class="id" title="variable">e</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#663140372ac3b275aae871b74b140513"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#m"><span class="id" title="variable">m</span></a>) (<a class="idref" href="mathcomp.algebra.intdiv.html#e"><span class="id" title="variable">e</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#663140372ac3b275aae871b74b140513"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#n"><span class="id" title="variable">n</span></a>).<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="dvdz_gcd"><span class="id" title="lemma">dvdz_gcd</span></a> <span class="id" title="var">p</span> <span class="id" title="var">m</span> <span class="id" title="var">n</span> : (<a class="idref" href="mathcomp.algebra.intdiv.html#p"><span class="id" title="variable">p</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#0ffd43bc6b4b5ccbe3ac2b025ec46f89"><span class="id" title="notation">%|</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#gcdz"><span class="id" title="definition">gcdz</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#n"><span class="id" title="variable">n</span></a>)%<span class="id" title="var">Z</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> (<a class="idref" href="mathcomp.algebra.intdiv.html#p"><span class="id" title="variable">p</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#0ffd43bc6b4b5ccbe3ac2b025ec46f89"><span class="id" title="notation">%|</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#m"><span class="id" title="variable">m</span></a>)%<span class="id" title="var">Z</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#9ddeac0ab66152bd1d64bedb507a795e"><span class="id" title="notation">&&</span></a> (<a class="idref" href="mathcomp.algebra.intdiv.html#p"><span class="id" title="variable">p</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#0ffd43bc6b4b5ccbe3ac2b025ec46f89"><span class="id" title="notation">%|</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#n"><span class="id" title="variable">n</span></a>)%<span class="id" title="var">Z</span>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="gcdzAC"><span class="id" title="lemma">gcdzAC</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#right_commutative"><span class="id" title="definition">right_commutative</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#gcdz"><span class="id" title="definition">gcdz</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="gcdzA"><span class="id" title="lemma">gcdzA</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#associative"><span class="id" title="definition">associative</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#gcdz"><span class="id" title="definition">gcdz</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="gcdzCA"><span class="id" title="lemma">gcdzCA</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#left_commutative"><span class="id" title="definition">left_commutative</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#gcdz"><span class="id" title="definition">gcdz</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="gcdzACA"><span class="id" title="lemma">gcdzACA</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#interchange"><span class="id" title="definition">interchange</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#gcdz"><span class="id" title="definition">gcdz</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#gcdz"><span class="id" title="definition">gcdz</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="mulz_gcdr"><span class="id" title="lemma">mulz_gcdr</span></a> <span class="id" title="var">m</span> <span class="id" title="var">n</span> <span class="id" title="var">p</span> : <a class="idref" href="mathcomp.algebra.ssrint.html#124262c1d6731d26a230b737e0b3e9b6"><span class="id" title="notation">`|</span></a><a class="idref" href="mathcomp.algebra.intdiv.html#m"><span class="id" title="variable">m</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#124262c1d6731d26a230b737e0b3e9b6"><span class="id" title="notation">|</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#3b6365a19cfc497270b4b963fc1f9ecb"><span class="id" title="notation">%:</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#3b6365a19cfc497270b4b963fc1f9ecb"><span class="id" title="notation">Z</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#2d0cfb150261028f4ebd2ba355623dcc"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#gcdz"><span class="id" title="definition">gcdz</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#p"><span class="id" title="variable">p</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#gcdz"><span class="id" title="definition">gcdz</span></a> (<a class="idref" href="mathcomp.algebra.intdiv.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#2d0cfb150261028f4ebd2ba355623dcc"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#n"><span class="id" title="variable">n</span></a>) (<a class="idref" href="mathcomp.algebra.intdiv.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#2d0cfb150261028f4ebd2ba355623dcc"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#p"><span class="id" title="variable">p</span></a>).<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="mulz_gcdl"><span class="id" title="lemma">mulz_gcdl</span></a> <span class="id" title="var">m</span> <span class="id" title="var">n</span> <span class="id" title="var">p</span> : <a class="idref" href="mathcomp.algebra.intdiv.html#gcdz"><span class="id" title="definition">gcdz</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#2d0cfb150261028f4ebd2ba355623dcc"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#124262c1d6731d26a230b737e0b3e9b6"><span class="id" title="notation">`|</span></a><a class="idref" href="mathcomp.algebra.intdiv.html#p"><span class="id" title="variable">p</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#124262c1d6731d26a230b737e0b3e9b6"><span class="id" title="notation">|</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#3b6365a19cfc497270b4b963fc1f9ecb"><span class="id" title="notation">%:</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#3b6365a19cfc497270b4b963fc1f9ecb"><span class="id" title="notation">Z</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#gcdz"><span class="id" title="definition">gcdz</span></a> (<a class="idref" href="mathcomp.algebra.intdiv.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#2d0cfb150261028f4ebd2ba355623dcc"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#p"><span class="id" title="variable">p</span></a>) (<a class="idref" href="mathcomp.algebra.intdiv.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#2d0cfb150261028f4ebd2ba355623dcc"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#p"><span class="id" title="variable">p</span></a>).<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="mulz_divCA_gcd"><span class="id" title="lemma">mulz_divCA_gcd</span></a> <span class="id" title="var">n</span> <span class="id" title="var">m</span> : <a class="idref" href="mathcomp.algebra.intdiv.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#2d0cfb150261028f4ebd2ba355623dcc"><span class="id" title="notation">×</span></a> (<a class="idref" href="mathcomp.algebra.intdiv.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#bcc33a8fb42440fce4fcfd0e77ec7aec"><span class="id" title="notation">%/</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#gcdz"><span class="id" title="definition">gcdz</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#m"><span class="id" title="variable">m</span></a>)%<span class="id" title="var">Z</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#2d0cfb150261028f4ebd2ba355623dcc"><span class="id" title="notation">×</span></a> (<a class="idref" href="mathcomp.algebra.intdiv.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#bcc33a8fb42440fce4fcfd0e77ec7aec"><span class="id" title="notation">%/</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#gcdz"><span class="id" title="definition">gcdz</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#m"><span class="id" title="variable">m</span></a>)%<span class="id" title="var">Z</span>.<br/> - -<br/> -</div> - -<div class="doc"> - Not including lcm theory, for now. -<div class="paragraph"> </div> - - Coprime factors -</div> -<div class="code"> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="coprimezE"><span class="id" title="lemma">coprimezE</span></a> <span class="id" title="var">m</span> <span class="id" title="var">n</span> : <a class="idref" href="mathcomp.algebra.intdiv.html#coprimez"><span class="id" title="definition">coprimez</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.ssreflect.div.html#coprime"><span class="id" title="definition">coprime</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#124262c1d6731d26a230b737e0b3e9b6"><span class="id" title="notation">`|</span></a><a class="idref" href="mathcomp.algebra.intdiv.html#m"><span class="id" title="variable">m</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#124262c1d6731d26a230b737e0b3e9b6"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#124262c1d6731d26a230b737e0b3e9b6"><span class="id" title="notation">`|</span></a><a class="idref" href="mathcomp.algebra.intdiv.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#124262c1d6731d26a230b737e0b3e9b6"><span class="id" title="notation">|</span></a>. <br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="coprimez_sym"><span class="id" title="lemma">coprimez_sym</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#symmetric"><span class="id" title="definition">symmetric</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#coprimez"><span class="id" title="definition">coprimez</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="coprimeNz"><span class="id" title="lemma">coprimeNz</span></a> <span class="id" title="var">m</span> <span class="id" title="var">n</span> : <a class="idref" href="mathcomp.algebra.intdiv.html#coprimez"><span class="id" title="definition">coprimez</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#8d0566c961139ec21811f52ef0c317db"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#m"><span class="id" title="variable">m</span></a>) <a class="idref" href="mathcomp.algebra.intdiv.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#coprimez"><span class="id" title="definition">coprimez</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#n"><span class="id" title="variable">n</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="coprimezN"><span class="id" title="lemma">coprimezN</span></a> <span class="id" title="var">m</span> <span class="id" title="var">n</span> : <a class="idref" href="mathcomp.algebra.intdiv.html#coprimez"><span class="id" title="definition">coprimez</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#m"><span class="id" title="variable">m</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#8d0566c961139ec21811f52ef0c317db"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#n"><span class="id" title="variable">n</span></a>) <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#coprimez"><span class="id" title="definition">coprimez</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#n"><span class="id" title="variable">n</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Variant</span> <a name="egcdz_spec"><span class="id" title="inductive">egcdz_spec</span></a> <span class="id" title="var">m</span> <span class="id" title="var">n</span> : <a class="idref" href="mathcomp.algebra.ssrint.html#int"><span class="id" title="inductive">int</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#11c698c8685bb8ab1cf725545c085ac4"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#int"><span class="id" title="inductive">int</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <span class="id" title="keyword">Type</span> :=<br/> - <a name="EgcdzSpec"><span class="id" title="constructor">EgcdzSpec</span></a> <span class="id" title="var">u</span> <span class="id" title="var">v</span> <span class="id" title="keyword">of</span> <a class="idref" href="mathcomp.algebra.intdiv.html#u"><span class="id" title="variable">u</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#2d0cfb150261028f4ebd2ba355623dcc"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#c7f78cf1f6a5e4f664654f7d671ca752"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#v"><span class="id" title="variable">v</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#2d0cfb150261028f4ebd2ba355623dcc"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#gcdz"><span class="id" title="definition">gcdz</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#n"><span class="id" title="variable">n</span></a> & <a class="idref" href="mathcomp.algebra.intdiv.html#coprimez"><span class="id" title="definition">coprimez</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#u"><span class="id" title="variable">u</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#v"><span class="id" title="variable">v</span></a><br/> - : <a class="idref" href="mathcomp.algebra.intdiv.html#egcdz_spec"><span class="id" title="inductive">egcdz_spec</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#e6756e10c36f149b18b4a8741ed83079"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.intdiv.html#u"><span class="id" title="variable">u</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#e6756e10c36f149b18b4a8741ed83079"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#v"><span class="id" title="variable">v</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#e6756e10c36f149b18b4a8741ed83079"><span class="id" title="notation">)</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="egcdzP"><span class="id" title="lemma">egcdzP</span></a> <span class="id" title="var">m</span> <span class="id" title="var">n</span> : <a class="idref" href="mathcomp.algebra.intdiv.html#egcdz_spec"><span class="id" title="inductive">egcdz_spec</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#n"><span class="id" title="variable">n</span></a> (<a class="idref" href="mathcomp.algebra.intdiv.html#egcdz"><span class="id" title="definition">egcdz</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#n"><span class="id" title="variable">n</span></a>).<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="Bezoutz"><span class="id" title="lemma">Bezoutz</span></a> <span class="id" title="var">m</span> <span class="id" title="var">n</span> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Specif.html#cc5e56ba3765e2d6b17e66d19b966f1d"><span class="id" title="notation">{</span></a><span class="id" title="var">u</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Specif.html#cc5e56ba3765e2d6b17e66d19b966f1d"><span class="id" title="notation">:</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#int"><span class="id" title="inductive">int</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Specif.html#cc5e56ba3765e2d6b17e66d19b966f1d"><span class="id" title="notation">&</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Specif.html#6556914db359db999889decec6a4a562"><span class="id" title="notation">{</span></a><span class="id" title="var">v</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Specif.html#6556914db359db999889decec6a4a562"><span class="id" title="notation">:</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#int"><span class="id" title="inductive">int</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Specif.html#6556914db359db999889decec6a4a562"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#u"><span class="id" title="variable">u</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#2d0cfb150261028f4ebd2ba355623dcc"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#c7f78cf1f6a5e4f664654f7d671ca752"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#v"><span class="id" title="variable">v</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#2d0cfb150261028f4ebd2ba355623dcc"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#gcdz"><span class="id" title="definition">gcdz</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Specif.html#6556914db359db999889decec6a4a562"><span class="id" title="notation">}</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Specif.html#cc5e56ba3765e2d6b17e66d19b966f1d"><span class="id" title="notation">}</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="coprimezP"><span class="id" title="lemma">coprimezP</span></a> <span class="id" title="var">m</span> <span class="id" title="var">n</span> :<br/> - <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#reflect"><span class="id" title="abbreviation">reflect</span></a> (<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#a883bdd010993579f99d60b3775bcf54"><span class="id" title="notation">∃</span></a> <span class="id" title="var">uv</span><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#a883bdd010993579f99d60b3775bcf54"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#uv"><span class="id" title="variable">uv</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#e0817251e7d67ad994b4d9b1aa82a412"><span class="id" title="notation">.1</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#2d0cfb150261028f4ebd2ba355623dcc"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#c7f78cf1f6a5e4f664654f7d671ca752"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#uv"><span class="id" title="variable">uv</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#675082cc4d4538da052b547bdc6ea4c9"><span class="id" title="notation">.2</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#2d0cfb150261028f4ebd2ba355623dcc"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> 1) (<a class="idref" href="mathcomp.algebra.intdiv.html#coprimez"><span class="id" title="definition">coprimez</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#n"><span class="id" title="variable">n</span></a>).<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="Gauss_dvdz"><span class="id" title="lemma">Gauss_dvdz</span></a> <span class="id" title="var">m</span> <span class="id" title="var">n</span> <span class="id" title="var">p</span> :<br/> - <a class="idref" href="mathcomp.algebra.intdiv.html#coprimez"><span class="id" title="definition">coprimez</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> (<a class="idref" href="mathcomp.algebra.intdiv.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#2d0cfb150261028f4ebd2ba355623dcc"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#0ffd43bc6b4b5ccbe3ac2b025ec46f89"><span class="id" title="notation">%|</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#p"><span class="id" title="variable">p</span></a>)%<span class="id" title="var">Z</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> (<a class="idref" href="mathcomp.algebra.intdiv.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#0ffd43bc6b4b5ccbe3ac2b025ec46f89"><span class="id" title="notation">%|</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#p"><span class="id" title="variable">p</span></a>)%<span class="id" title="var">Z</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#9ddeac0ab66152bd1d64bedb507a795e"><span class="id" title="notation">&&</span></a> (<a class="idref" href="mathcomp.algebra.intdiv.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#0ffd43bc6b4b5ccbe3ac2b025ec46f89"><span class="id" title="notation">%|</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#p"><span class="id" title="variable">p</span></a>)%<span class="id" title="var">Z</span>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="Gauss_dvdzr"><span class="id" title="lemma">Gauss_dvdzr</span></a> <span class="id" title="var">m</span> <span class="id" title="var">n</span> <span class="id" title="var">p</span> : <a class="idref" href="mathcomp.algebra.intdiv.html#coprimez"><span class="id" title="definition">coprimez</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> (<a class="idref" href="mathcomp.algebra.intdiv.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#0ffd43bc6b4b5ccbe3ac2b025ec46f89"><span class="id" title="notation">%|</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#2d0cfb150261028f4ebd2ba355623dcc"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#p"><span class="id" title="variable">p</span></a>)%<span class="id" title="var">Z</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> (<a class="idref" href="mathcomp.algebra.intdiv.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#0ffd43bc6b4b5ccbe3ac2b025ec46f89"><span class="id" title="notation">%|</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#p"><span class="id" title="variable">p</span></a>)%<span class="id" title="var">Z</span>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="Gauss_dvdzl"><span class="id" title="lemma">Gauss_dvdzl</span></a> <span class="id" title="var">m</span> <span class="id" title="var">n</span> <span class="id" title="var">p</span> : <a class="idref" href="mathcomp.algebra.intdiv.html#coprimez"><span class="id" title="definition">coprimez</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#p"><span class="id" title="variable">p</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> (<a class="idref" href="mathcomp.algebra.intdiv.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#0ffd43bc6b4b5ccbe3ac2b025ec46f89"><span class="id" title="notation">%|</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#2d0cfb150261028f4ebd2ba355623dcc"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#p"><span class="id" title="variable">p</span></a>)%<span class="id" title="var">Z</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> (<a class="idref" href="mathcomp.algebra.intdiv.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#0ffd43bc6b4b5ccbe3ac2b025ec46f89"><span class="id" title="notation">%|</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#n"><span class="id" title="variable">n</span></a>)%<span class="id" title="var">Z</span>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="Gauss_gcdzr"><span class="id" title="lemma">Gauss_gcdzr</span></a> <span class="id" title="var">p</span> <span class="id" title="var">m</span> <span class="id" title="var">n</span> : <a class="idref" href="mathcomp.algebra.intdiv.html#coprimez"><span class="id" title="definition">coprimez</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#p"><span class="id" title="variable">p</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#gcdz"><span class="id" title="definition">gcdz</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#p"><span class="id" title="variable">p</span></a> (<a class="idref" href="mathcomp.algebra.intdiv.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#2d0cfb150261028f4ebd2ba355623dcc"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#n"><span class="id" title="variable">n</span></a>) <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#gcdz"><span class="id" title="definition">gcdz</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#p"><span class="id" title="variable">p</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#n"><span class="id" title="variable">n</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="Gauss_gcdzl"><span class="id" title="lemma">Gauss_gcdzl</span></a> <span class="id" title="var">p</span> <span class="id" title="var">m</span> <span class="id" title="var">n</span> : <a class="idref" href="mathcomp.algebra.intdiv.html#coprimez"><span class="id" title="definition">coprimez</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#p"><span class="id" title="variable">p</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#gcdz"><span class="id" title="definition">gcdz</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#p"><span class="id" title="variable">p</span></a> (<a class="idref" href="mathcomp.algebra.intdiv.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#2d0cfb150261028f4ebd2ba355623dcc"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#n"><span class="id" title="variable">n</span></a>) <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#gcdz"><span class="id" title="definition">gcdz</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#p"><span class="id" title="variable">p</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#m"><span class="id" title="variable">m</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="coprimez_mulr"><span class="id" title="lemma">coprimez_mulr</span></a> <span class="id" title="var">p</span> <span class="id" title="var">m</span> <span class="id" title="var">n</span> : <a class="idref" href="mathcomp.algebra.intdiv.html#coprimez"><span class="id" title="definition">coprimez</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#p"><span class="id" title="variable">p</span></a> (<a class="idref" href="mathcomp.algebra.intdiv.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#2d0cfb150261028f4ebd2ba355623dcc"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#n"><span class="id" title="variable">n</span></a>) <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#coprimez"><span class="id" title="definition">coprimez</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#p"><span class="id" title="variable">p</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#9ddeac0ab66152bd1d64bedb507a795e"><span class="id" title="notation">&&</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#coprimez"><span class="id" title="definition">coprimez</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#p"><span class="id" title="variable">p</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#n"><span class="id" title="variable">n</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="coprimez_mull"><span class="id" title="lemma">coprimez_mull</span></a> <span class="id" title="var">p</span> <span class="id" title="var">m</span> <span class="id" title="var">n</span> : <a class="idref" href="mathcomp.algebra.intdiv.html#coprimez"><span class="id" title="definition">coprimez</span></a> (<a class="idref" href="mathcomp.algebra.intdiv.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#2d0cfb150261028f4ebd2ba355623dcc"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#n"><span class="id" title="variable">n</span></a>) <a class="idref" href="mathcomp.algebra.intdiv.html#p"><span class="id" title="variable">p</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#coprimez"><span class="id" title="definition">coprimez</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#p"><span class="id" title="variable">p</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#9ddeac0ab66152bd1d64bedb507a795e"><span class="id" title="notation">&&</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#coprimez"><span class="id" title="definition">coprimez</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#p"><span class="id" title="variable">p</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="coprimez_pexpl"><span class="id" title="lemma">coprimez_pexpl</span></a> <span class="id" title="var">k</span> <span class="id" title="var">m</span> <span class="id" title="var">n</span> : (0 <a class="idref" href="mathcomp.ssreflect.ssrnat.html#00fe0eaf5e6949f0a31725357afa4bba"><span class="id" title="notation"><</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#k"><span class="id" title="variable">k</span></a>)%<span class="id" title="var">N</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#coprimez"><span class="id" title="definition">coprimez</span></a> (<a class="idref" href="mathcomp.algebra.intdiv.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#663140372ac3b275aae871b74b140513"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#k"><span class="id" title="variable">k</span></a>) <a class="idref" href="mathcomp.algebra.intdiv.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#coprimez"><span class="id" title="definition">coprimez</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#n"><span class="id" title="variable">n</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="coprimez_pexpr"><span class="id" title="lemma">coprimez_pexpr</span></a> <span class="id" title="var">k</span> <span class="id" title="var">m</span> <span class="id" title="var">n</span> : (0 <a class="idref" href="mathcomp.ssreflect.ssrnat.html#00fe0eaf5e6949f0a31725357afa4bba"><span class="id" title="notation"><</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#k"><span class="id" title="variable">k</span></a>)%<span class="id" title="var">N</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#coprimez"><span class="id" title="definition">coprimez</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#m"><span class="id" title="variable">m</span></a> (<a class="idref" href="mathcomp.algebra.intdiv.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#663140372ac3b275aae871b74b140513"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#k"><span class="id" title="variable">k</span></a>) <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#coprimez"><span class="id" title="definition">coprimez</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#n"><span class="id" title="variable">n</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="coprimez_expl"><span class="id" title="lemma">coprimez_expl</span></a> <span class="id" title="var">k</span> <span class="id" title="var">m</span> <span class="id" title="var">n</span> : <a class="idref" href="mathcomp.algebra.intdiv.html#coprimez"><span class="id" title="definition">coprimez</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#coprimez"><span class="id" title="definition">coprimez</span></a> (<a class="idref" href="mathcomp.algebra.intdiv.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#663140372ac3b275aae871b74b140513"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#k"><span class="id" title="variable">k</span></a>) <a class="idref" href="mathcomp.algebra.intdiv.html#n"><span class="id" title="variable">n</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="coprimez_expr"><span class="id" title="lemma">coprimez_expr</span></a> <span class="id" title="var">k</span> <span class="id" title="var">m</span> <span class="id" title="var">n</span> : <a class="idref" href="mathcomp.algebra.intdiv.html#coprimez"><span class="id" title="definition">coprimez</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#coprimez"><span class="id" title="definition">coprimez</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#m"><span class="id" title="variable">m</span></a> (<a class="idref" href="mathcomp.algebra.intdiv.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#663140372ac3b275aae871b74b140513"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#k"><span class="id" title="variable">k</span></a>).<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="coprimez_dvdl"><span class="id" title="lemma">coprimez_dvdl</span></a> <span class="id" title="var">m</span> <span class="id" title="var">n</span> <span class="id" title="var">p</span> : (<a class="idref" href="mathcomp.algebra.intdiv.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.ssreflect.div.html#bde82eab2fe4a0799bc2419e587505d4"><span class="id" title="notation">%|</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#n"><span class="id" title="variable">n</span></a>)%<span class="id" title="var">N</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#coprimez"><span class="id" title="definition">coprimez</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#p"><span class="id" title="variable">p</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#coprimez"><span class="id" title="definition">coprimez</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#p"><span class="id" title="variable">p</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="coprimez_dvdr"><span class="id" title="lemma">coprimez_dvdr</span></a> <span class="id" title="var">m</span> <span class="id" title="var">n</span> <span class="id" title="var">p</span> : (<a class="idref" href="mathcomp.algebra.intdiv.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.ssreflect.div.html#bde82eab2fe4a0799bc2419e587505d4"><span class="id" title="notation">%|</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#n"><span class="id" title="variable">n</span></a>)%<span class="id" title="var">N</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#coprimez"><span class="id" title="definition">coprimez</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#p"><span class="id" title="variable">p</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#coprimez"><span class="id" title="definition">coprimez</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#p"><span class="id" title="variable">p</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#m"><span class="id" title="variable">m</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="dvdz_pexp2r"><span class="id" title="lemma">dvdz_pexp2r</span></a> <span class="id" title="var">m</span> <span class="id" title="var">n</span> <span class="id" title="var">k</span> : (<a class="idref" href="mathcomp.algebra.intdiv.html#k"><span class="id" title="variable">k</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#7f2a7ef2c63af7359b22787a9daf336e"><span class="id" title="notation">></span></a> 0)%<span class="id" title="var">N</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> (<a class="idref" href="mathcomp.algebra.intdiv.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#663140372ac3b275aae871b74b140513"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#k"><span class="id" title="variable">k</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#0ffd43bc6b4b5ccbe3ac2b025ec46f89"><span class="id" title="notation">%|</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#663140372ac3b275aae871b74b140513"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#k"><span class="id" title="variable">k</span></a>)%<span class="id" title="var">Z</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> (<a class="idref" href="mathcomp.algebra.intdiv.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#0ffd43bc6b4b5ccbe3ac2b025ec46f89"><span class="id" title="notation">%|</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#n"><span class="id" title="variable">n</span></a>)%<span class="id" title="var">Z</span>.<br/> - -<br/> -<span class="id" title="keyword">Section</span> <a name="Chinese"><span class="id" title="section">Chinese</span></a>.<br/> - -<br/> -</div> - -<div class="doc"> - The chinese remainder theorem -</div> -<div class="code"> - -<br/> -<span class="id" title="keyword">Variables</span> <a name="Chinese.m1"><span class="id" title="variable">m1</span></a> <a name="Chinese.m2"><span class="id" title="variable">m2</span></a> : <a class="idref" href="mathcomp.algebra.ssrint.html#int"><span class="id" title="inductive">int</span></a>.<br/> -<span class="id" title="keyword">Hypothesis</span> <a name="Chinese.co_m12"><span class="id" title="variable">co_m12</span></a> : <a class="idref" href="mathcomp.algebra.intdiv.html#coprimez"><span class="id" title="definition">coprimez</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#Chinese.m1"><span class="id" title="variable">m1</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#Chinese.m2"><span class="id" title="variable">m2</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="zchinese_remainder"><span class="id" title="lemma">zchinese_remainder</span></a> <span class="id" title="var">x</span> <span class="id" title="var">y</span> :<br/> - (<a class="idref" href="mathcomp.algebra.intdiv.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#ebb39eb6f888460f66b26b0e720bc2e4"><span class="id" title="notation">==</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#y"><span class="id" title="variable">y</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#ebb39eb6f888460f66b26b0e720bc2e4"><span class="id" title="notation">%[</span></a><a class="idref" href="mathcomp.algebra.intdiv.html#ebb39eb6f888460f66b26b0e720bc2e4"><span class="id" title="notation">mod</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#Chinese.m1"><span class="id" title="variable">m1</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#2d0cfb150261028f4ebd2ba355623dcc"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#Chinese.m2"><span class="id" title="variable">m2</span></a><a class="idref" href="mathcomp.algebra.intdiv.html#ebb39eb6f888460f66b26b0e720bc2e4"><span class="id" title="notation">]</span></a>)%<span class="id" title="var">Z</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> (<a class="idref" href="mathcomp.algebra.intdiv.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#ebb39eb6f888460f66b26b0e720bc2e4"><span class="id" title="notation">==</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#y"><span class="id" title="variable">y</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#ebb39eb6f888460f66b26b0e720bc2e4"><span class="id" title="notation">%[</span></a><a class="idref" href="mathcomp.algebra.intdiv.html#ebb39eb6f888460f66b26b0e720bc2e4"><span class="id" title="notation">mod</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#Chinese.m1"><span class="id" title="variable">m1</span></a><a class="idref" href="mathcomp.algebra.intdiv.html#ebb39eb6f888460f66b26b0e720bc2e4"><span class="id" title="notation">]</span></a>)%<span class="id" title="var">Z</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#9ddeac0ab66152bd1d64bedb507a795e"><span class="id" title="notation">&&</span></a> (<a class="idref" href="mathcomp.algebra.intdiv.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#ebb39eb6f888460f66b26b0e720bc2e4"><span class="id" title="notation">==</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#y"><span class="id" title="variable">y</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#ebb39eb6f888460f66b26b0e720bc2e4"><span class="id" title="notation">%[</span></a><a class="idref" href="mathcomp.algebra.intdiv.html#ebb39eb6f888460f66b26b0e720bc2e4"><span class="id" title="notation">mod</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#Chinese.m2"><span class="id" title="variable">m2</span></a><a class="idref" href="mathcomp.algebra.intdiv.html#ebb39eb6f888460f66b26b0e720bc2e4"><span class="id" title="notation">]</span></a>)%<span class="id" title="var">Z</span>.<br/> - -<br/> -</div> - -<div class="doc"> - A function that solves the chinese remainder problem -</div> -<div class="code"> - -<br/> -<span class="id" title="keyword">Definition</span> <a name="zchinese"><span class="id" title="definition">zchinese</span></a> <span class="id" title="var">r1</span> <span class="id" title="var">r2</span> :=<br/> - <a class="idref" href="mathcomp.algebra.intdiv.html#r1"><span class="id" title="variable">r1</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#2d0cfb150261028f4ebd2ba355623dcc"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#Chinese.m2"><span class="id" title="variable">m2</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#2d0cfb150261028f4ebd2ba355623dcc"><span class="id" title="notation">×</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#675082cc4d4538da052b547bdc6ea4c9"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.intdiv.html#egcdz"><span class="id" title="definition">egcdz</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#Chinese.m1"><span class="id" title="variable">m1</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#Chinese.m2"><span class="id" title="variable">m2</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#675082cc4d4538da052b547bdc6ea4c9"><span class="id" title="notation">).2</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#c7f78cf1f6a5e4f664654f7d671ca752"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#r2"><span class="id" title="variable">r2</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#2d0cfb150261028f4ebd2ba355623dcc"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#Chinese.m1"><span class="id" title="variable">m1</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#2d0cfb150261028f4ebd2ba355623dcc"><span class="id" title="notation">×</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#e0817251e7d67ad994b4d9b1aa82a412"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.intdiv.html#egcdz"><span class="id" title="definition">egcdz</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#Chinese.m1"><span class="id" title="variable">m1</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#Chinese.m2"><span class="id" title="variable">m2</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#e0817251e7d67ad994b4d9b1aa82a412"><span class="id" title="notation">).1</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="zchinese_modl"><span class="id" title="lemma">zchinese_modl</span></a> <span class="id" title="var">r1</span> <span class="id" title="var">r2</span> : (<a class="idref" href="mathcomp.algebra.intdiv.html#zchinese"><span class="id" title="definition">zchinese</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#r1"><span class="id" title="variable">r1</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#r2"><span class="id" title="variable">r2</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#3aad69f599ace616cf1b8dff26f7cb4b"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#r1"><span class="id" title="variable">r1</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#3aad69f599ace616cf1b8dff26f7cb4b"><span class="id" title="notation">%[</span></a><a class="idref" href="mathcomp.algebra.intdiv.html#3aad69f599ace616cf1b8dff26f7cb4b"><span class="id" title="notation">mod</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#Chinese.m1"><span class="id" title="variable">m1</span></a><a class="idref" href="mathcomp.algebra.intdiv.html#3aad69f599ace616cf1b8dff26f7cb4b"><span class="id" title="notation">]</span></a>)%<span class="id" title="var">Z</span>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="zchinese_modr"><span class="id" title="lemma">zchinese_modr</span></a> <span class="id" title="var">r1</span> <span class="id" title="var">r2</span> : (<a class="idref" href="mathcomp.algebra.intdiv.html#zchinese"><span class="id" title="definition">zchinese</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#r1"><span class="id" title="variable">r1</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#r2"><span class="id" title="variable">r2</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#3aad69f599ace616cf1b8dff26f7cb4b"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#r2"><span class="id" title="variable">r2</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#3aad69f599ace616cf1b8dff26f7cb4b"><span class="id" title="notation">%[</span></a><a class="idref" href="mathcomp.algebra.intdiv.html#3aad69f599ace616cf1b8dff26f7cb4b"><span class="id" title="notation">mod</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#Chinese.m2"><span class="id" title="variable">m2</span></a><a class="idref" href="mathcomp.algebra.intdiv.html#3aad69f599ace616cf1b8dff26f7cb4b"><span class="id" title="notation">]</span></a>)%<span class="id" title="var">Z</span>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="zchinese_mod"><span class="id" title="lemma">zchinese_mod</span></a> <span class="id" title="var">x</span> : (<a class="idref" href="mathcomp.algebra.intdiv.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#3aad69f599ace616cf1b8dff26f7cb4b"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#zchinese"><span class="id" title="definition">zchinese</span></a> (<a class="idref" href="mathcomp.algebra.intdiv.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#dac81a45c1600f98f30f5ebc1a02fa79"><span class="id" title="notation">%%</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#Chinese.m1"><span class="id" title="variable">m1</span></a>)%<span class="id" title="var">Z</span> (<a class="idref" href="mathcomp.algebra.intdiv.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#dac81a45c1600f98f30f5ebc1a02fa79"><span class="id" title="notation">%%</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#Chinese.m2"><span class="id" title="variable">m2</span></a>)%<span class="id" title="var">Z</span> <a class="idref" href="mathcomp.algebra.intdiv.html#3aad69f599ace616cf1b8dff26f7cb4b"><span class="id" title="notation">%[</span></a><a class="idref" href="mathcomp.algebra.intdiv.html#3aad69f599ace616cf1b8dff26f7cb4b"><span class="id" title="notation">mod</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#Chinese.m1"><span class="id" title="variable">m1</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#2d0cfb150261028f4ebd2ba355623dcc"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#Chinese.m2"><span class="id" title="variable">m2</span></a><a class="idref" href="mathcomp.algebra.intdiv.html#3aad69f599ace616cf1b8dff26f7cb4b"><span class="id" title="notation">]</span></a>)%<span class="id" title="var">Z</span>.<br/> - -<br/> -<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.algebra.intdiv.html#Chinese"><span class="id" title="section">Chinese</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Section</span> <a name="ZpolyScale"><span class="id" title="section">ZpolyScale</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Definition</span> <a name="zcontents"><span class="id" title="definition">zcontents</span></a> <span class="id" title="var">p</span> :=<br/> - <a class="idref" href="mathcomp.algebra.ssrint.html#sgz"><span class="id" title="definition">sgz</span></a> (<a class="idref" href="mathcomp.algebra.poly.html#lead_coef"><span class="id" title="definition">lead_coef</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#p"><span class="id" title="variable">p</span></a>) <a class="idref" href="mathcomp.algebra.ssralg.html#2d0cfb150261028f4ebd2ba355623dcc"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#afef6bddeda988bbc365e556241d5732"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#afef6bddeda988bbc365e556241d5732"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#afef6bddeda988bbc365e556241d5732"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.div.html#gcdn"><span class="id" title="definition">gcdn</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#afef6bddeda988bbc365e556241d5732"><span class="id" title="notation">/</span></a>0%<span class="id" title="var">N</span><a class="idref" href="mathcomp.ssreflect.bigop.html#afef6bddeda988bbc365e556241d5732"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#afef6bddeda988bbc365e556241d5732"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#afef6bddeda988bbc365e556241d5732"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#afef6bddeda988bbc365e556241d5732"><span class="id" title="notation"><</span></a> <a class="idref" href="mathcomp.ssreflect.seq.html#size"><span class="id" title="definition">size</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#p"><span class="id" title="variable">p</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#afef6bddeda988bbc365e556241d5732"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#124262c1d6731d26a230b737e0b3e9b6"><span class="id" title="notation">`|</span></a>(<a class="idref" href="mathcomp.algebra.intdiv.html#p"><span class="id" title="variable">p</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#82d810f9f90b79e8fe98d90a63070c32"><span class="id" title="notation">`</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#82d810f9f90b79e8fe98d90a63070c32"><span class="id" title="notation">_i</span></a>)%<span class="id" title="var">R</span><a class="idref" href="mathcomp.algebra.ssrint.html#124262c1d6731d26a230b737e0b3e9b6"><span class="id" title="notation">|</span></a>%<span class="id" title="var">N</span>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="sgz_contents"><span class="id" title="lemma">sgz_contents</span></a> <span class="id" title="var">p</span> : <a class="idref" href="mathcomp.algebra.ssrint.html#sgz"><span class="id" title="definition">sgz</span></a> (<a class="idref" href="mathcomp.algebra.intdiv.html#zcontents"><span class="id" title="definition">zcontents</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#p"><span class="id" title="variable">p</span></a>) <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#sgz"><span class="id" title="definition">sgz</span></a> (<a class="idref" href="mathcomp.algebra.poly.html#lead_coef"><span class="id" title="definition">lead_coef</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#p"><span class="id" title="variable">p</span></a>).<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="zcontents_eq0"><span class="id" title="lemma">zcontents_eq0</span></a> <span class="id" title="var">p</span> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.intdiv.html#zcontents"><span class="id" title="definition">zcontents</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#p"><span class="id" title="variable">p</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#df45e8c2e8370fd4f0f7c4fdaf208180"><span class="id" title="notation">==</span></a> 0<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.intdiv.html#p"><span class="id" title="variable">p</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#df45e8c2e8370fd4f0f7c4fdaf208180"><span class="id" title="notation">==</span></a> 0<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">)</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="zcontents0"><span class="id" title="lemma">zcontents0</span></a> : <a class="idref" href="mathcomp.algebra.intdiv.html#zcontents"><span class="id" title="definition">zcontents</span></a> 0 <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> 0.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="zcontentsZ"><span class="id" title="lemma">zcontentsZ</span></a> <span class="id" title="var">a</span> <span class="id" title="var">p</span> : <a class="idref" href="mathcomp.algebra.intdiv.html#zcontents"><span class="id" title="definition">zcontents</span></a> (<a class="idref" href="mathcomp.algebra.intdiv.html#a"><span class="id" title="variable">a</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#3b05480e39db306e67fadbc79d394529"><span class="id" title="notation">*:</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#p"><span class="id" title="variable">p</span></a>) <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#a"><span class="id" title="variable">a</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#2d0cfb150261028f4ebd2ba355623dcc"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#zcontents"><span class="id" title="definition">zcontents</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#p"><span class="id" title="variable">p</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="zcontents_monic"><span class="id" title="lemma">zcontents_monic</span></a> <span class="id" title="var">p</span> : <a class="idref" href="mathcomp.algebra.intdiv.html#p"><span class="id" title="variable">p</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#c94c2df86ca03f22f8f8b739cd7e1e88"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#c94c2df86ca03f22f8f8b739cd7e1e88"><span class="id" title="notation">is</span></a> <a class="idref" href="mathcomp.algebra.poly.html#monic"><span class="id" title="definition">monic</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#zcontents"><span class="id" title="definition">zcontents</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#p"><span class="id" title="variable">p</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> 1.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="dvdz_contents"><span class="id" title="lemma">dvdz_contents</span></a> <span class="id" title="var">a</span> <span class="id" title="var">p</span> : (<a class="idref" href="mathcomp.algebra.intdiv.html#a"><span class="id" title="variable">a</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#0ffd43bc6b4b5ccbe3ac2b025ec46f89"><span class="id" title="notation">%|</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#zcontents"><span class="id" title="definition">zcontents</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#p"><span class="id" title="variable">p</span></a>)%<span class="id" title="var">Z</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.intdiv.html#p"><span class="id" title="variable">p</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#f6c65697fefaf4504de1d4d641cd4409"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#f6c65697fefaf4504de1d4d641cd4409"><span class="id" title="notation">is</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#f6c65697fefaf4504de1d4d641cd4409"><span class="id" title="notation">a</span></a> <a class="idref" href="mathcomp.algebra.poly.html#polyOver"><span class="id" title="definition">polyOver</span></a> (<a class="idref" href="mathcomp.algebra.intdiv.html#dvdz"><span class="id" title="definition">dvdz</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#a"><span class="id" title="variable">a</span></a>)<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">)</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="map_poly_divzK"><span class="id" title="lemma">map_poly_divzK</span></a> {<span class="id" title="var">a</span>} <span class="id" title="var">p</span> :<br/> - <a class="idref" href="mathcomp.algebra.intdiv.html#p"><span class="id" title="variable">p</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#f6c65697fefaf4504de1d4d641cd4409"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#f6c65697fefaf4504de1d4d641cd4409"><span class="id" title="notation">is</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#f6c65697fefaf4504de1d4d641cd4409"><span class="id" title="notation">a</span></a> <a class="idref" href="mathcomp.algebra.poly.html#polyOver"><span class="id" title="definition">polyOver</span></a> (<a class="idref" href="mathcomp.algebra.intdiv.html#dvdz"><span class="id" title="definition">dvdz</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#a"><span class="id" title="variable">a</span></a>) <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#a"><span class="id" title="variable">a</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#3b05480e39db306e67fadbc79d394529"><span class="id" title="notation">*:</span></a> <a class="idref" href="mathcomp.algebra.poly.html#map_poly"><span class="id" title="definition">map_poly</span></a> (<a class="idref" href="mathcomp.algebra.intdiv.html#divz"><span class="id" title="definition">divz</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#d89396f990d6b54d736cfe259e498cf4"><span class="id" title="notation">^~</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#a"><span class="id" title="variable">a</span></a>) <a class="idref" href="mathcomp.algebra.intdiv.html#p"><span class="id" title="variable">p</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#p"><span class="id" title="variable">p</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="polyOver_dvdzP"><span class="id" title="lemma">polyOver_dvdzP</span></a> <span class="id" title="var">a</span> <span class="id" title="var">p</span> :<br/> - <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#reflect"><span class="id" title="abbreviation">reflect</span></a> (<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#a883bdd010993579f99d60b3775bcf54"><span class="id" title="notation">∃</span></a> <span class="id" title="var">q</span><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#a883bdd010993579f99d60b3775bcf54"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#p"><span class="id" title="variable">p</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#a"><span class="id" title="variable">a</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#3b05480e39db306e67fadbc79d394529"><span class="id" title="notation">*:</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#q"><span class="id" title="variable">q</span></a>) (<a class="idref" href="mathcomp.algebra.intdiv.html#p"><span class="id" title="variable">p</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#f6c65697fefaf4504de1d4d641cd4409"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#f6c65697fefaf4504de1d4d641cd4409"><span class="id" title="notation">is</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#f6c65697fefaf4504de1d4d641cd4409"><span class="id" title="notation">a</span></a> <a class="idref" href="mathcomp.algebra.poly.html#polyOver"><span class="id" title="definition">polyOver</span></a> (<a class="idref" href="mathcomp.algebra.intdiv.html#dvdz"><span class="id" title="definition">dvdz</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#a"><span class="id" title="variable">a</span></a>)).<br/> - -<br/> -<span class="id" title="keyword">Definition</span> <a name="zprimitive"><span class="id" title="definition">zprimitive</span></a> <span class="id" title="var">p</span> := <a class="idref" href="mathcomp.algebra.poly.html#map_poly"><span class="id" title="definition">map_poly</span></a> (<a class="idref" href="mathcomp.algebra.intdiv.html#divz"><span class="id" title="definition">divz</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#d89396f990d6b54d736cfe259e498cf4"><span class="id" title="notation">^~</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#d89396f990d6b54d736cfe259e498cf4"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.intdiv.html#zcontents"><span class="id" title="definition">zcontents</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#p"><span class="id" title="variable">p</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#d89396f990d6b54d736cfe259e498cf4"><span class="id" title="notation">)</span></a>) <a class="idref" href="mathcomp.algebra.intdiv.html#p"><span class="id" title="variable">p</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="zpolyEprim"><span class="id" title="lemma">zpolyEprim</span></a> <span class="id" title="var">p</span> : <a class="idref" href="mathcomp.algebra.intdiv.html#p"><span class="id" title="variable">p</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#zcontents"><span class="id" title="definition">zcontents</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#p"><span class="id" title="variable">p</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#3b05480e39db306e67fadbc79d394529"><span class="id" title="notation">*:</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#zprimitive"><span class="id" title="definition">zprimitive</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#p"><span class="id" title="variable">p</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="zprimitive0"><span class="id" title="lemma">zprimitive0</span></a> : <a class="idref" href="mathcomp.algebra.intdiv.html#zprimitive"><span class="id" title="definition">zprimitive</span></a> 0 <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> 0.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="zprimitive_eq0"><span class="id" title="lemma">zprimitive_eq0</span></a> <span class="id" title="var">p</span> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.intdiv.html#zprimitive"><span class="id" title="definition">zprimitive</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#p"><span class="id" title="variable">p</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#df45e8c2e8370fd4f0f7c4fdaf208180"><span class="id" title="notation">==</span></a> 0<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.intdiv.html#p"><span class="id" title="variable">p</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#df45e8c2e8370fd4f0f7c4fdaf208180"><span class="id" title="notation">==</span></a> 0<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">)</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="size_zprimitive"><span class="id" title="lemma">size_zprimitive</span></a> <span class="id" title="var">p</span> : <a class="idref" href="mathcomp.ssreflect.seq.html#size"><span class="id" title="definition">size</span></a> (<a class="idref" href="mathcomp.algebra.intdiv.html#zprimitive"><span class="id" title="definition">zprimitive</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#p"><span class="id" title="variable">p</span></a>) <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.ssreflect.seq.html#size"><span class="id" title="definition">size</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#p"><span class="id" title="variable">p</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="sgz_lead_primitive"><span class="id" title="lemma">sgz_lead_primitive</span></a> <span class="id" title="var">p</span> : <a class="idref" href="mathcomp.algebra.ssrint.html#sgz"><span class="id" title="definition">sgz</span></a> (<a class="idref" href="mathcomp.algebra.poly.html#lead_coef"><span class="id" title="definition">lead_coef</span></a> (<a class="idref" href="mathcomp.algebra.intdiv.html#zprimitive"><span class="id" title="definition">zprimitive</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#p"><span class="id" title="variable">p</span></a>)) <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.intdiv.html#p"><span class="id" title="variable">p</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#c385a484ee9d1b4e0615924561a9b75e"><span class="id" title="notation">!=</span></a> 0<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">)</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="zcontents_primitive"><span class="id" title="lemma">zcontents_primitive</span></a> <span class="id" title="var">p</span> : <a class="idref" href="mathcomp.algebra.intdiv.html#zcontents"><span class="id" title="definition">zcontents</span></a> (<a class="idref" href="mathcomp.algebra.intdiv.html#zprimitive"><span class="id" title="definition">zprimitive</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#p"><span class="id" title="variable">p</span></a>) <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.intdiv.html#p"><span class="id" title="variable">p</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#c385a484ee9d1b4e0615924561a9b75e"><span class="id" title="notation">!=</span></a> 0<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">)</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="zprimitive_id"><span class="id" title="lemma">zprimitive_id</span></a> <span class="id" title="var">p</span> : <a class="idref" href="mathcomp.algebra.intdiv.html#zprimitive"><span class="id" title="definition">zprimitive</span></a> (<a class="idref" href="mathcomp.algebra.intdiv.html#zprimitive"><span class="id" title="definition">zprimitive</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#p"><span class="id" title="variable">p</span></a>) <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#zprimitive"><span class="id" title="definition">zprimitive</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#p"><span class="id" title="variable">p</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="zprimitive_monic"><span class="id" title="lemma">zprimitive_monic</span></a> <span class="id" title="var">p</span> : <a class="idref" href="mathcomp.algebra.intdiv.html#p"><span class="id" title="variable">p</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.poly.html#monic"><span class="id" title="definition">monic</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#zprimitive"><span class="id" title="definition">zprimitive</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#p"><span class="id" title="variable">p</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#p"><span class="id" title="variable">p</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="zprimitiveZ"><span class="id" title="lemma">zprimitiveZ</span></a> <span class="id" title="var">a</span> <span class="id" title="var">p</span> : <a class="idref" href="mathcomp.algebra.intdiv.html#a"><span class="id" title="variable">a</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#c385a484ee9d1b4e0615924561a9b75e"><span class="id" title="notation">!=</span></a> 0 <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#zprimitive"><span class="id" title="definition">zprimitive</span></a> (<a class="idref" href="mathcomp.algebra.intdiv.html#a"><span class="id" title="variable">a</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#3b05480e39db306e67fadbc79d394529"><span class="id" title="notation">*:</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#p"><span class="id" title="variable">p</span></a>) <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#zprimitive"><span class="id" title="definition">zprimitive</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#p"><span class="id" title="variable">p</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="zprimitive_min"><span class="id" title="lemma">zprimitive_min</span></a> <span class="id" title="var">p</span> <span class="id" title="var">a</span> <span class="id" title="var">q</span> :<br/> - <a class="idref" href="mathcomp.algebra.intdiv.html#p"><span class="id" title="variable">p</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#c385a484ee9d1b4e0615924561a9b75e"><span class="id" title="notation">!=</span></a> 0 <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#p"><span class="id" title="variable">p</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#a"><span class="id" title="variable">a</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#3b05480e39db306e67fadbc79d394529"><span class="id" title="notation">*:</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#q"><span class="id" title="variable">q</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a><br/> - <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Specif.html#c0bbd202248f4def7aaf0c316cf2c29e"><span class="id" title="notation">{</span></a><span class="id" title="var">b</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Specif.html#c0bbd202248f4def7aaf0c316cf2c29e"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#sgz"><span class="id" title="definition">sgz</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#b"><span class="id" title="variable">b</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#sgz"><span class="id" title="definition">sgz</span></a> (<a class="idref" href="mathcomp.algebra.poly.html#lead_coef"><span class="id" title="definition">lead_coef</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#q"><span class="id" title="variable">q</span></a>) <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Specif.html#c0bbd202248f4def7aaf0c316cf2c29e"><span class="id" title="notation">&</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#q"><span class="id" title="variable">q</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#b"><span class="id" title="variable">b</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#3b05480e39db306e67fadbc79d394529"><span class="id" title="notation">*:</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#zprimitive"><span class="id" title="definition">zprimitive</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#p"><span class="id" title="variable">p</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Specif.html#c0bbd202248f4def7aaf0c316cf2c29e"><span class="id" title="notation">}</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="zprimitive_irr"><span class="id" title="lemma">zprimitive_irr</span></a> <span class="id" title="var">p</span> <span class="id" title="var">a</span> <span class="id" title="var">q</span> :<br/> - <a class="idref" href="mathcomp.algebra.intdiv.html#p"><span class="id" title="variable">p</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#c385a484ee9d1b4e0615924561a9b75e"><span class="id" title="notation">!=</span></a> 0 <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#zprimitive"><span class="id" title="definition">zprimitive</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#p"><span class="id" title="variable">p</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#a"><span class="id" title="variable">a</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#3b05480e39db306e67fadbc79d394529"><span class="id" title="notation">*:</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#q"><span class="id" title="variable">q</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#a"><span class="id" title="variable">a</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#sgz"><span class="id" title="definition">sgz</span></a> (<a class="idref" href="mathcomp.algebra.poly.html#lead_coef"><span class="id" title="definition">lead_coef</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#q"><span class="id" title="variable">q</span></a>).<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="zcontentsM"><span class="id" title="lemma">zcontentsM</span></a> <span class="id" title="var">p</span> <span class="id" title="var">q</span> : <a class="idref" href="mathcomp.algebra.intdiv.html#zcontents"><span class="id" title="definition">zcontents</span></a> (<a class="idref" href="mathcomp.algebra.intdiv.html#p"><span class="id" title="variable">p</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#2d0cfb150261028f4ebd2ba355623dcc"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#q"><span class="id" title="variable">q</span></a>) <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#zcontents"><span class="id" title="definition">zcontents</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#p"><span class="id" title="variable">p</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#2d0cfb150261028f4ebd2ba355623dcc"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#zcontents"><span class="id" title="definition">zcontents</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#q"><span class="id" title="variable">q</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="zprimitiveM"><span class="id" title="lemma">zprimitiveM</span></a> <span class="id" title="var">p</span> <span class="id" title="var">q</span> : <a class="idref" href="mathcomp.algebra.intdiv.html#zprimitive"><span class="id" title="definition">zprimitive</span></a> (<a class="idref" href="mathcomp.algebra.intdiv.html#p"><span class="id" title="variable">p</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#2d0cfb150261028f4ebd2ba355623dcc"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#q"><span class="id" title="variable">q</span></a>) <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#zprimitive"><span class="id" title="definition">zprimitive</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#p"><span class="id" title="variable">p</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#2d0cfb150261028f4ebd2ba355623dcc"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#zprimitive"><span class="id" title="definition">zprimitive</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#q"><span class="id" title="variable">q</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="dvdpP_int"><span class="id" title="lemma">dvdpP_int</span></a> <span class="id" title="var">p</span> <span class="id" title="var">q</span> : <a class="idref" href="mathcomp.algebra.intdiv.html#p"><span class="id" title="variable">p</span></a> <a class="idref" href="mathcomp.algebra.polydiv.html#64fc6df2b95b79b2107dd5d7f2014b97"><span class="id" title="notation">%|</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#q"><span class="id" title="variable">q</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Specif.html#bc4528e836ab0e91ea7e942fb09e898f"><span class="id" title="notation">{</span></a><span class="id" title="var">r</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Specif.html#bc4528e836ab0e91ea7e942fb09e898f"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#q"><span class="id" title="variable">q</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#zprimitive"><span class="id" title="definition">zprimitive</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#p"><span class="id" title="variable">p</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#2d0cfb150261028f4ebd2ba355623dcc"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#r"><span class="id" title="variable">r</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Specif.html#bc4528e836ab0e91ea7e942fb09e898f"><span class="id" title="notation">}</span></a>.<br/> - -<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="size_rat_int_poly"><span class="id" title="lemma">size_rat_int_poly</span></a> <span class="id" title="var">p</span> : <a class="idref" href="mathcomp.ssreflect.seq.html#size"><span class="id" title="definition">size</span></a> (<a class="idref" href="mathcomp.algebra.intdiv.html#pZtoQ"><span class="id" title="abbreviation">pZtoQ</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#p"><span class="id" title="variable">p</span></a>) <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.ssreflect.seq.html#size"><span class="id" title="definition">size</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#p"><span class="id" title="variable">p</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="rat_poly_scale"><span class="id" title="lemma">rat_poly_scale</span></a> (<span class="id" title="var">p</span> : <a class="idref" href="mathcomp.algebra.poly.html#c2ef4fdf7ae62c36654f85f0d2a6c874"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.algebra.poly.html#c2ef4fdf7ae62c36654f85f0d2a6c874"><span class="id" title="notation">poly</span></a> <a class="idref" href="mathcomp.algebra.rat.html#rat"><span class="id" title="record">rat</span></a><a class="idref" href="mathcomp.algebra.poly.html#c2ef4fdf7ae62c36654f85f0d2a6c874"><span class="id" title="notation">}</span></a>) :<br/> - <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Specif.html#cc5e56ba3765e2d6b17e66d19b966f1d"><span class="id" title="notation">{</span></a><span class="id" title="var">q</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Specif.html#cc5e56ba3765e2d6b17e66d19b966f1d"><span class="id" title="notation">:</span></a> <a class="idref" href="mathcomp.algebra.poly.html#c2ef4fdf7ae62c36654f85f0d2a6c874"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.algebra.poly.html#c2ef4fdf7ae62c36654f85f0d2a6c874"><span class="id" title="notation">poly</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#int"><span class="id" title="inductive">int</span></a><a class="idref" href="mathcomp.algebra.poly.html#c2ef4fdf7ae62c36654f85f0d2a6c874"><span class="id" title="notation">}</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Specif.html#cc5e56ba3765e2d6b17e66d19b966f1d"><span class="id" title="notation">&</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Specif.html#c0bbd202248f4def7aaf0c316cf2c29e"><span class="id" title="notation">{</span></a><span class="id" title="var">a</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Specif.html#c0bbd202248f4def7aaf0c316cf2c29e"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#a"><span class="id" title="variable">a</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#c385a484ee9d1b4e0615924561a9b75e"><span class="id" title="notation">!=</span></a> 0 <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Specif.html#c0bbd202248f4def7aaf0c316cf2c29e"><span class="id" title="notation">&</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#p"><span class="id" title="variable">p</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#a"><span class="id" title="variable">a</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#fd24b924079f6f5906ec417190abcf00"><span class="id" title="notation">%:~</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#fd24b924079f6f5906ec417190abcf00"><span class="id" title="notation">R</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#4e5a4c91ec0aa12de06dfe1cc07ea126"><span class="id" title="notation">^-1</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#3b05480e39db306e67fadbc79d394529"><span class="id" title="notation">*:</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#pZtoQ"><span class="id" title="abbreviation">pZtoQ</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#q"><span class="id" title="variable">q</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Specif.html#c0bbd202248f4def7aaf0c316cf2c29e"><span class="id" title="notation">}</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Specif.html#cc5e56ba3765e2d6b17e66d19b966f1d"><span class="id" title="notation">}</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="dvdp_rat_int"><span class="id" title="lemma">dvdp_rat_int</span></a> <span class="id" title="var">p</span> <span class="id" title="var">q</span> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.intdiv.html#pZtoQ"><span class="id" title="abbreviation">pZtoQ</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#p"><span class="id" title="variable">p</span></a> <a class="idref" href="mathcomp.algebra.polydiv.html#64fc6df2b95b79b2107dd5d7f2014b97"><span class="id" title="notation">%|</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#pZtoQ"><span class="id" title="abbreviation">pZtoQ</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#q"><span class="id" title="variable">q</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.intdiv.html#p"><span class="id" title="variable">p</span></a> <a class="idref" href="mathcomp.algebra.polydiv.html#64fc6df2b95b79b2107dd5d7f2014b97"><span class="id" title="notation">%|</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#q"><span class="id" title="variable">q</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">)</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="dvdpP_rat_int"><span class="id" title="lemma">dvdpP_rat_int</span></a> <span class="id" title="var">p</span> <span class="id" title="var">q</span> :<br/> - <a class="idref" href="mathcomp.algebra.intdiv.html#p"><span class="id" title="variable">p</span></a> <a class="idref" href="mathcomp.algebra.polydiv.html#64fc6df2b95b79b2107dd5d7f2014b97"><span class="id" title="notation">%|</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#pZtoQ"><span class="id" title="abbreviation">pZtoQ</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#q"><span class="id" title="variable">q</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a><br/> - <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Specif.html#2d3f7aca3c5e595bced87000c0854440"><span class="id" title="notation">{</span></a><span class="id" title="var">p1</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Specif.html#2d3f7aca3c5e595bced87000c0854440"><span class="id" title="notation">:</span></a> <a class="idref" href="mathcomp.algebra.poly.html#c2ef4fdf7ae62c36654f85f0d2a6c874"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.algebra.poly.html#c2ef4fdf7ae62c36654f85f0d2a6c874"><span class="id" title="notation">poly</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#int"><span class="id" title="inductive">int</span></a><a class="idref" href="mathcomp.algebra.poly.html#c2ef4fdf7ae62c36654f85f0d2a6c874"><span class="id" title="notation">}</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Specif.html#2d3f7aca3c5e595bced87000c0854440"><span class="id" title="notation">&</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Specif.html#c0bbd202248f4def7aaf0c316cf2c29e"><span class="id" title="notation">{</span></a><span class="id" title="var">a</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Specif.html#c0bbd202248f4def7aaf0c316cf2c29e"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#a"><span class="id" title="variable">a</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#c385a484ee9d1b4e0615924561a9b75e"><span class="id" title="notation">!=</span></a> 0 <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Specif.html#c0bbd202248f4def7aaf0c316cf2c29e"><span class="id" title="notation">&</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#p"><span class="id" title="variable">p</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#a"><span class="id" title="variable">a</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#3b05480e39db306e67fadbc79d394529"><span class="id" title="notation">*:</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#pZtoQ"><span class="id" title="abbreviation">pZtoQ</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#p1"><span class="id" title="variable">p1</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Specif.html#c0bbd202248f4def7aaf0c316cf2c29e"><span class="id" title="notation">}</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Specif.html#2d3f7aca3c5e595bced87000c0854440"><span class="id" title="notation">&</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Specif.html#bc4528e836ab0e91ea7e942fb09e898f"><span class="id" title="notation">{</span></a><span class="id" title="var">r</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Specif.html#bc4528e836ab0e91ea7e942fb09e898f"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#q"><span class="id" title="variable">q</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#p1"><span class="id" title="variable">p1</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#2d0cfb150261028f4ebd2ba355623dcc"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#r"><span class="id" title="variable">r</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Specif.html#bc4528e836ab0e91ea7e942fb09e898f"><span class="id" title="notation">}</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Specif.html#2d3f7aca3c5e595bced87000c0854440"><span class="id" title="notation">}</span></a>.<br/> - -<br/> -<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.algebra.intdiv.html#ZpolyScale"><span class="id" title="section">ZpolyScale</span></a>.<br/> - -<br/> -</div> - -<div class="doc"> - Integral spans. -</div> -<div class="code"> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="int_Smith_normal_form"><span class="id" title="lemma">int_Smith_normal_form</span></a> <span class="id" title="var">m</span> <span class="id" title="var">n</span> (<span class="id" title="var">M</span> : <a class="idref" href="mathcomp.algebra.matrix.html#9c0a062cce31174bb4a1f05fb9cee844"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.matrix.html#9c0a062cce31174bb4a1f05fb9cee844"><span class="id" title="notation">M</span></a><a class="idref" href="mathcomp.algebra.matrix.html#9c0a062cce31174bb4a1f05fb9cee844"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#int"><span class="id" title="inductive">int</span></a><a class="idref" href="mathcomp.algebra.matrix.html#9c0a062cce31174bb4a1f05fb9cee844"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.algebra.matrix.html#9c0a062cce31174bb4a1f05fb9cee844"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.algebra.matrix.html#9c0a062cce31174bb4a1f05fb9cee844"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.intdiv.html#m"><span class="id" title="variable">m</span></a><a class="idref" href="mathcomp.algebra.matrix.html#9c0a062cce31174bb4a1f05fb9cee844"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.matrix.html#9c0a062cce31174bb4a1f05fb9cee844"><span class="id" title="notation">)</span></a>) :<br/> - <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Specif.html#2d3f7aca3c5e595bced87000c0854440"><span class="id" title="notation">{</span></a><span class="id" title="var">L</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Specif.html#2d3f7aca3c5e595bced87000c0854440"><span class="id" title="notation">:</span></a> <a class="idref" href="mathcomp.algebra.matrix.html#60bd2bc9fb9187afe5d7f780c1576e3c"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.matrix.html#60bd2bc9fb9187afe5d7f780c1576e3c"><span class="id" title="notation">M</span></a><a class="idref" href="mathcomp.algebra.matrix.html#60bd2bc9fb9187afe5d7f780c1576e3c"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#int"><span class="id" title="inductive">int</span></a><a class="idref" href="mathcomp.algebra.matrix.html#60bd2bc9fb9187afe5d7f780c1576e3c"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.algebra.matrix.html#60bd2bc9fb9187afe5d7f780c1576e3c"><span class="id" title="notation">_m</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Specif.html#2d3f7aca3c5e595bced87000c0854440"><span class="id" title="notation">&</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#L"><span class="id" title="variable">L</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.matrix.html#unitmx"><span class="id" title="definition">unitmx</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Specif.html#2d3f7aca3c5e595bced87000c0854440"><span class="id" title="notation">&</span></a><br/> - <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Specif.html#2d3f7aca3c5e595bced87000c0854440"><span class="id" title="notation">{</span></a><span class="id" title="var">R</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Specif.html#2d3f7aca3c5e595bced87000c0854440"><span class="id" title="notation">:</span></a> <a class="idref" href="mathcomp.algebra.matrix.html#60bd2bc9fb9187afe5d7f780c1576e3c"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.matrix.html#60bd2bc9fb9187afe5d7f780c1576e3c"><span class="id" title="notation">M</span></a><a class="idref" href="mathcomp.algebra.matrix.html#60bd2bc9fb9187afe5d7f780c1576e3c"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#int"><span class="id" title="inductive">int</span></a><a class="idref" href="mathcomp.algebra.matrix.html#60bd2bc9fb9187afe5d7f780c1576e3c"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.algebra.matrix.html#60bd2bc9fb9187afe5d7f780c1576e3c"><span class="id" title="notation">_n</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Specif.html#2d3f7aca3c5e595bced87000c0854440"><span class="id" title="notation">&</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#R"><span class="id" title="variable">R</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.matrix.html#unitmx"><span class="id" title="definition">unitmx</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Specif.html#2d3f7aca3c5e595bced87000c0854440"><span class="id" title="notation">&</span></a><br/> - <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Specif.html#f92718946b2f68c8f7100be4d6b45f82"><span class="id" title="notation">{</span></a><span class="id" title="var">d</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Specif.html#f92718946b2f68c8f7100be4d6b45f82"><span class="id" title="notation">:</span></a> <a class="idref" href="mathcomp.ssreflect.seq.html#seq"><span class="id" title="abbreviation">seq</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#int"><span class="id" title="inductive">int</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Specif.html#f92718946b2f68c8f7100be4d6b45f82"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.path.html#sorted"><span class="id" title="definition">sorted</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#dvdz"><span class="id" title="definition">dvdz</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#d"><span class="id" title="variable">d</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Specif.html#f92718946b2f68c8f7100be4d6b45f82"><span class="id" title="notation">&</span></a><br/> - <a class="idref" href="mathcomp.algebra.intdiv.html#M"><span class="id" title="variable">M</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#L"><span class="id" title="variable">L</span></a> <a class="idref" href="mathcomp.algebra.matrix.html#b2b431de65e6c1e23c1ae3a60262ea15"><span class="id" title="notation">×</span></a><a class="idref" href="mathcomp.algebra.matrix.html#b2b431de65e6c1e23c1ae3a60262ea15"><span class="id" title="notation">m</span></a> <a class="idref" href="mathcomp.algebra.matrix.html#b2b431de65e6c1e23c1ae3a60262ea15"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.matrix.html#9b7ac910045fe3e3a8253dae2e2bc494"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.matrix.html#9b7ac910045fe3e3a8253dae2e2bc494"><span class="id" title="notation">matrix_</span></a><a class="idref" href="mathcomp.algebra.matrix.html#9b7ac910045fe3e3a8253dae2e2bc494"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span><a class="idref" href="mathcomp.algebra.matrix.html#9b7ac910045fe3e3a8253dae2e2bc494"><span class="id" title="notation">,</span></a> <span class="id" title="var">j</span><a class="idref" href="mathcomp.algebra.matrix.html#9b7ac910045fe3e3a8253dae2e2bc494"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.matrix.html#9b7ac910045fe3e3a8253dae2e2bc494"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.intdiv.html#d"><span class="id" title="variable">d</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#82d810f9f90b79e8fe98d90a63070c32"><span class="id" title="notation">`</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#82d810f9f90b79e8fe98d90a63070c32"><span class="id" title="notation">_i</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#e9001f602764f7896bb1eb34bf606a23"><span class="id" title="notation">*+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#e9001f602764f7896bb1eb34bf606a23"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.intdiv.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#28a3089bb29d95d7bdc98c2c73b31552"><span class="id" title="notation">==</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#j"><span class="id" title="variable">j</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#28a3089bb29d95d7bdc98c2c73b31552"><span class="id" title="notation">:></span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#nat"><span class="id" title="inductive">nat</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#e9001f602764f7896bb1eb34bf606a23"><span class="id" title="notation">)</span></a><a class="idref" href="mathcomp.algebra.matrix.html#9b7ac910045fe3e3a8253dae2e2bc494"><span class="id" title="notation">)</span></a><a class="idref" href="mathcomp.algebra.matrix.html#b2b431de65e6c1e23c1ae3a60262ea15"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.matrix.html#b2b431de65e6c1e23c1ae3a60262ea15"><span class="id" title="notation">×</span></a><a class="idref" href="mathcomp.algebra.matrix.html#b2b431de65e6c1e23c1ae3a60262ea15"><span class="id" title="notation">m</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#R"><span class="id" title="variable">R</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Specif.html#f92718946b2f68c8f7100be4d6b45f82"><span class="id" title="notation">}</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Specif.html#2d3f7aca3c5e595bced87000c0854440"><span class="id" title="notation">}}</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Definition</span> <a name="inIntSpan"><span class="id" title="definition">inIntSpan</span></a> (<span class="id" title="var">V</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Zmodule.Exports.zmodType"><span class="id" title="abbreviation">zmodType</span></a>) <span class="id" title="var">m</span> (<span class="id" title="var">s</span> : <a class="idref" href="mathcomp.algebra.intdiv.html#m"><span class="id" title="variable">m</span></a><a class="idref" href="mathcomp.ssreflect.tuple.html#c3913abe839346eb60d82da74b0b1f67"><span class="id" title="notation">.-</span></a><a class="idref" href="mathcomp.ssreflect.tuple.html#c3913abe839346eb60d82da74b0b1f67"><span class="id" title="notation">tuple</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#V"><span class="id" title="variable">V</span></a>) <span class="id" title="var">v</span> :=<br/> - <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#a883bdd010993579f99d60b3775bcf54"><span class="id" title="notation">∃</span></a> <span class="id" title="var">a</span> : <a class="idref" href="mathcomp.algebra.ssrint.html#int"><span class="id" title="inductive">int</span></a> <a class="idref" href="mathcomp.ssreflect.finfun.html#c93a2e1bb8503fc4a9598804b268d1be"><span class="id" title="notation">^</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#m"><span class="id" title="variable">m</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#a883bdd010993579f99d60b3775bcf54"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#v"><span class="id" title="variable">v</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#784f0af919f467115774be372bf0dbd7"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#784f0af919f467115774be372bf0dbd7"><span class="id" title="notation">sum_</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#784f0af919f467115774be372bf0dbd7"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.algebra.ssralg.html#784f0af919f467115774be372bf0dbd7"><span class="id" title="notation"><</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#m"><span class="id" title="variable">m</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#784f0af919f467115774be372bf0dbd7"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#s"><span class="id" title="variable">s</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#82d810f9f90b79e8fe98d90a63070c32"><span class="id" title="notation">`</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#82d810f9f90b79e8fe98d90a63070c32"><span class="id" title="notation">_i</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#5e3ad35b260f077a51734c843bed4f42"><span class="id" title="notation">*~</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#a"><span class="id" title="variable">a</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#i"><span class="id" title="variable">i</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="dec_Qint_span"><span class="id" title="lemma">dec_Qint_span</span></a> (<span class="id" title="var">vT</span> : <a class="idref" href="mathcomp.algebra.vector.html#Vector.Exports.vectType"><span class="id" title="abbreviation">vectType</span></a> <a class="idref" href="mathcomp.algebra.rat.html#rat"><span class="id" title="record">rat</span></a>) <span class="id" title="var">m</span> (<span class="id" title="var">s</span> : <a class="idref" href="mathcomp.algebra.intdiv.html#m"><span class="id" title="variable">m</span></a><a class="idref" href="mathcomp.ssreflect.tuple.html#c3913abe839346eb60d82da74b0b1f67"><span class="id" title="notation">.-</span></a><a class="idref" href="mathcomp.ssreflect.tuple.html#c3913abe839346eb60d82da74b0b1f67"><span class="id" title="notation">tuple</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#vT"><span class="id" title="variable">vT</span></a>) <span class="id" title="var">v</span> :<br/> - <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#decidable"><span class="id" title="definition">decidable</span></a> (<a class="idref" href="mathcomp.algebra.intdiv.html#inIntSpan"><span class="id" title="definition">inIntSpan</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#s"><span class="id" title="variable">s</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#v"><span class="id" title="variable">v</span></a>).<br/> - -<br/> -</div> -</div> - -<div id="footer"> -<hr/><a href="index.html">Index</a><hr/>This page has been generated by <a href="http://coq.inria.fr/">coqdoc</a> -</div> - -</div> - -</body> -</html>
\ No newline at end of file |
