<!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">(*&nbsp;(c)&nbsp;Copyright&nbsp;2006-2016&nbsp;Microsoft&nbsp;Corporation&nbsp;and&nbsp;Inria.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br/>
&nbsp;Distributed&nbsp;under&nbsp;the&nbsp;terms&nbsp;of&nbsp;CeCILL-B.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*)</span><br/>
<span class="id" title="keyword">Require</span> <span class="id" title="keyword">Import</span> <a class="idref" href="mathcomp.ssreflect.ssreflect.html#"><span class="id" title="library">mathcomp.ssreflect.ssreflect</span></a>.<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 &lt;=&gt; 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 &lt;=&gt; 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 &lt;-&gt; 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/>
&nbsp;&nbsp;<span class="id" title="keyword">let</span>: <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#44400027531d4bc3f586a1997dc874c0"><span class="id" title="notation">(</span></a><span class="id" title="var">K</span><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#44400027531d4bc3f586a1997dc874c0"><span class="id" title="notation">,</span></a> <span class="id" title="var">n</span><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#44400027531d4bc3f586a1997dc874c0"><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/8.8.0/stdlib//Coq.Init.Datatypes.html#44400027531d4bc3f586a1997dc874c0"><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/8.8.0/stdlib//Coq.Init.Datatypes.html#44400027531d4bc3f586a1997dc874c0"><span class="id" title="notation">,</span></a> <span class="id" title="var">n</span><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#44400027531d4bc3f586a1997dc874c0"><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/8.8.0/stdlib//Coq.Init.Datatypes.html#44400027531d4bc3f586a1997dc874c0"><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/8.8.0/stdlib//Coq.Init.Datatypes.html#44400027531d4bc3f586a1997dc874c0"><span class="id" title="notation">,</span></a> <span class="id" title="var">n</span><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#44400027531d4bc3f586a1997dc874c0"><span class="id" title="notation">)</span></a> <span class="id" title="keyword">end</span> <span class="id" title="tactic">in</span><br/>
&nbsp;&nbsp;<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#22058a36a53dac65c94ca403bc62650a"><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#df17451da28eb630dbb51b12706ba39e"><span class="id" title="notation">%/</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#521bb1f21db4ea2eead2a81dcc1b61f3"><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#521bb1f21db4ea2eead2a81dcc1b61f3"><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#d70623330b2787db6b196e37db7d8f45"><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#22058a36a53dac65c94ca403bc62650a"><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#521bb1f21db4ea2eead2a81dcc1b61f3"><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#521bb1f21db4ea2eead2a81dcc1b61f3"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.div.html#aa34fd1c61c5cf0a3356b624a5d2afed"><span class="id" title="notation">%|</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#521bb1f21db4ea2eead2a81dcc1b61f3"><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#521bb1f21db4ea2eead2a81dcc1b61f3"><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#9fc2e395aa5602e5669820ba2f5dcc44"><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#521bb1f21db4ea2eead2a81dcc1b61f3"><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#521bb1f21db4ea2eead2a81dcc1b61f3"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#521bb1f21db4ea2eead2a81dcc1b61f3"><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#521bb1f21db4ea2eead2a81dcc1b61f3"><span class="id" title="notation">|</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#9fc2e395aa5602e5669820ba2f5dcc44"><span class="id" title="notation">)%:</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#9fc2e395aa5602e5669820ba2f5dcc44"><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/8.8.0/stdlib//Coq.Init.Datatypes.html#d19c7eafd0e2d195d10df94b392087b5"><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/>
&nbsp;&nbsp;<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssreflect.html#0348819abaa88c2cd747e8fa60dde7ae"><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#17d28d004d0863cb022d4ce832ddaaae"><span class="id" title="notation">==</span></a> 0 <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssreflect.html#0348819abaa88c2cd747e8fa60dde7ae"><span class="id" title="notation">then</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#44400027531d4bc3f586a1997dc874c0"><span class="id" title="notation">(</span></a>0<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#44400027531d4bc3f586a1997dc874c0"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#fb22424322c3d7eb9b837dfca65ce21e"><span class="id" title="notation">(</span></a>-1<a class="idref" href="mathcomp.algebra.ssralg.html#fb22424322c3d7eb9b837dfca65ce21e"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#fb22424322c3d7eb9b837dfca65ce21e"><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#388c172bf8d34ef0bf11898cd56f8d7b"><span class="id" title="notation">&lt;</span></a> 0)%<span class="id" title="var">R</span><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#44400027531d4bc3f586a1997dc874c0"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssreflect.html#0348819abaa88c2cd747e8fa60dde7ae"><span class="id" title="notation">else</span></a><br/>
&nbsp;&nbsp;<span class="id" title="keyword">let</span>: <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#44400027531d4bc3f586a1997dc874c0"><span class="id" title="notation">(</span></a><span class="id" title="var">u</span><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#44400027531d4bc3f586a1997dc874c0"><span class="id" title="notation">,</span></a> <span class="id" title="var">v</span><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#44400027531d4bc3f586a1997dc874c0"><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#521bb1f21db4ea2eead2a81dcc1b61f3"><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#521bb1f21db4ea2eead2a81dcc1b61f3"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#521bb1f21db4ea2eead2a81dcc1b61f3"><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#521bb1f21db4ea2eead2a81dcc1b61f3"><span class="id" title="notation">|</span></a> <span class="id" title="tactic">in</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#44400027531d4bc3f586a1997dc874c0"><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#22058a36a53dac65c94ca403bc62650a"><span class="id" title="notation">×</span></a> <span class="id" title="var">u</span><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#44400027531d4bc3f586a1997dc874c0"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#941c6d086004545bd62614d0213e75e5"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#fb22424322c3d7eb9b837dfca65ce21e"><span class="id" title="notation">(</span></a>-1<a class="idref" href="mathcomp.algebra.ssralg.html#fb22424322c3d7eb9b837dfca65ce21e"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#fb22424322c3d7eb9b837dfca65ce21e"><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#388c172bf8d34ef0bf11898cd56f8d7b"><span class="id" title="notation">&lt;</span></a> 0)%<span class="id" title="var">R</span> <a class="idref" href="mathcomp.algebra.ssralg.html#22058a36a53dac65c94ca403bc62650a"><span class="id" title="notation">×</span></a> <span class="id" title="var">v</span><a class="idref" href="mathcomp.algebra.ssrint.html#9fc2e395aa5602e5669820ba2f5dcc44"><span class="id" title="notation">%:</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#9fc2e395aa5602e5669820ba2f5dcc44"><span class="id" title="notation">Z</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#44400027531d4bc3f586a1997dc874c0"><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#17d28d004d0863cb022d4ce832ddaaae"><span class="id" title="notation">==</span></a> 1).<br/>

<br/>
<span class="id" title="keyword">Infix</span> <a name="1a6f7db8d3b782330505e467b38f1aa9"><span class="id" title="notation">&quot;</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="ba23b3264f7b39f451f85bc4710a6dc4"><span class="id" title="notation">&quot;</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="acd2cfdd12dcef9419bf5f637ac8ee19"><span class="id" title="notation">&quot;</span></a>d %| m" := (<span class="id" title="var">m</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><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="baefe1e4ac15ca675f39cb922b6b2b54"><span class="id" title="notation">&quot;</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/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><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="192cefde1fc6842cd45195f429405cb3"><span class="id" title="notation">&quot;</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#17d28d004d0863cb022d4ce832ddaaae"><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="18a942e27ed4bcfee28be2c104a73b3c"><span class="id" title="notation">&quot;</span></a>m &lt;&gt; 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/8.8.0/stdlib//Coq.Init.Logic.html#32263a1c8b01baecdff9deb038955bc9"><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="f08cc121a940c60081869f6d9b0a633a"><span class="id" title="notation">&quot;</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#b1eeadc2feabc7422252baa895418c7b"><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/8.8.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#1a6f7db8d3b782330505e467b38f1aa9"><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/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><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#df17451da28eb630dbb51b12706ba39e"><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#1a6f7db8d3b782330505e467b38f1aa9"><span class="id" title="notation">%/</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#941c6d086004545bd62614d0213e75e5"><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/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#941c6d086004545bd62614d0213e75e5"><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#1a6f7db8d3b782330505e467b38f1aa9"><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#1a6f7db8d3b782330505e467b38f1aa9"><span class="id" title="notation">%/</span></a> <a class="idref" href="mathcomp.algebra.ssrnum.html#c536f9a86d3c053391521360ac3f5a61"><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#c536f9a86d3c053391521360ac3f5a61"><span class="id" title="notation">|</span></a>)%<span class="id" title="var">Z</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#fb22424322c3d7eb9b837dfca65ce21e"><span class="id" title="notation">(</span></a>-1<a class="idref" href="mathcomp.algebra.ssralg.html#fb22424322c3d7eb9b837dfca65ce21e"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#fb22424322c3d7eb9b837dfca65ce21e"><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#388c172bf8d34ef0bf11898cd56f8d7b"><span class="id" title="notation">&lt;</span></a> 0)%<span class="id" title="var">R</span> <a class="idref" href="mathcomp.algebra.ssralg.html#22058a36a53dac65c94ca403bc62650a"><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#1a6f7db8d3b782330505e467b38f1aa9"><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#1a6f7db8d3b782330505e467b38f1aa9"><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/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><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#19ab5cfd7e4f60fa14f22b576013bd96"><span class="id" title="notation">&gt;</span></a> 0)%<span class="id" title="var">N</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><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#1a6f7db8d3b782330505e467b38f1aa9"><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/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#941c6d086004545bd62614d0213e75e5"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#361454269931ea8643f7b402f2ab7222"><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#df17451da28eb630dbb51b12706ba39e"><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#361454269931ea8643f7b402f2ab7222"><span class="id" title="notation">).+1</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#9fc2e395aa5602e5669820ba2f5dcc44"><span class="id" title="notation">%:</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#9fc2e395aa5602e5669820ba2f5dcc44"><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/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><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#1a6f7db8d3b782330505e467b38f1aa9"><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#22058a36a53dac65c94ca403bc62650a"><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#ae4d81913e6239182a9ac7467ffde8cd"><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#ba23b3264f7b39f451f85bc4710a6dc4"><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#ba23b3264f7b39f451f85bc4710a6dc4"><span class="id" title="notation">%%</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#941c6d086004545bd62614d0213e75e5"><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/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><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#ba23b3264f7b39f451f85bc4710a6dc4"><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#ba23b3264f7b39f451f85bc4710a6dc4"><span class="id" title="notation">%%</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#521bb1f21db4ea2eead2a81dcc1b61f3"><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#521bb1f21db4ea2eead2a81dcc1b61f3"><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/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><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#ba23b3264f7b39f451f85bc4710a6dc4"><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/8.8.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#ba23b3264f7b39f451f85bc4710a6dc4"><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/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><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#2179ac53e82aa7c0b2f2f5a16b5510ea"><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#19ab5cfd7e4f60fa14f22b576013bd96"><span class="id" title="notation">&gt;</span></a> 0)%<span class="id" title="var">N</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><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#ba23b3264f7b39f451f85bc4710a6dc4"><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/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><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#9fc2e395aa5602e5669820ba2f5dcc44"><span class="id" title="notation">%:</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#9fc2e395aa5602e5669820ba2f5dcc44"><span class="id" title="notation">Z</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#d70623330b2787db6b196e37db7d8f45"><span class="id" title="notation">-</span></a> 1 <a class="idref" href="mathcomp.algebra.ssralg.html#d70623330b2787db6b196e37db7d8f45"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#9fc2e395aa5602e5669820ba2f5dcc44"><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#2179ac53e82aa7c0b2f2f5a16b5510ea"><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#9fc2e395aa5602e5669820ba2f5dcc44"><span class="id" title="notation">)%:</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#9fc2e395aa5602e5669820ba2f5dcc44"><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#b1eeadc2feabc7422252baa895418c7b"><span class="id" title="notation">!=</span></a> 0 <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> 0 <a class="idref" href="mathcomp.algebra.ssrnum.html#1065783963a393d1eafa2137291f2495"><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#ba23b3264f7b39f451f85bc4710a6dc4"><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#1a6f7db8d3b782330505e467b38f1aa9"><span class="id" title="notation">%/</span></a> 0)%<span class="id" title="var">Z</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><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#ba23b3264f7b39f451f85bc4710a6dc4"><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/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><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#ba23b3264f7b39f451f85bc4710a6dc4"><span class="id" title="notation">%%</span></a> 0)%<span class="id" title="var">Z</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><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#93a29a58d1f90b8a91702885cf86161e"><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#93a29a58d1f90b8a91702885cf86161e"><span class="id" title="notation">&lt;</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#521bb1f21db4ea2eead2a81dcc1b61f3"><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#521bb1f21db4ea2eead2a81dcc1b61f3"><span class="id" title="notation">|</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#9fc2e395aa5602e5669820ba2f5dcc44"><span class="id" title="notation">%:</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#9fc2e395aa5602e5669820ba2f5dcc44"><span class="id" title="notation">Z</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><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#1a6f7db8d3b782330505e467b38f1aa9"><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/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><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#b1eeadc2feabc7422252baa895418c7b"><span class="id" title="notation">!=</span></a> 0 <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> (<a class="idref" href="mathcomp.algebra.intdiv.html#1a6f7db8d3b782330505e467b38f1aa9"><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#22058a36a53dac65c94ca403bc62650a"><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#ae4d81913e6239182a9ac7467ffde8cd"><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#1a6f7db8d3b782330505e467b38f1aa9"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#1a6f7db8d3b782330505e467b38f1aa9"><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/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><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#ae4d81913e6239182a9ac7467ffde8cd"><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#1a6f7db8d3b782330505e467b38f1aa9"><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#b1eeadc2feabc7422252baa895418c7b"><span class="id" title="notation">!=</span></a> 0 <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><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#22058a36a53dac65c94ca403bc62650a"><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#1a6f7db8d3b782330505e467b38f1aa9"><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/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><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#b1eeadc2feabc7422252baa895418c7b"><span class="id" title="notation">!=</span></a> 0 <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><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#22058a36a53dac65c94ca403bc62650a"><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#1a6f7db8d3b782330505e467b38f1aa9"><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/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><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#b1eeadc2feabc7422252baa895418c7b"><span class="id" title="notation">!=</span></a> 0 <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><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#08fe8636f4b45ae6787c490d19de1366"><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/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><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#fb22424322c3d7eb9b837dfca65ce21e"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#fb22424322c3d7eb9b837dfca65ce21e"><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#9482aae3d3b06e249765c1225dbb8cbb"><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#fb22424322c3d7eb9b837dfca65ce21e"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><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#fb22424322c3d7eb9b837dfca65ce21e"><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#1a6f7db8d3b782330505e467b38f1aa9"><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#fb22424322c3d7eb9b837dfca65ce21e"><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#ba23b3264f7b39f451f85bc4710a6dc4"><span class="id" title="notation">%%</span></a> 1)%<span class="id" title="var">Z</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><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#1a6f7db8d3b782330505e467b38f1aa9"><span class="id" title="notation">%/</span></a> 1)%<span class="id" title="var">Z</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><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#1a6f7db8d3b782330505e467b38f1aa9"><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/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><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#b1eeadc2feabc7422252baa895418c7b"><span class="id" title="notation">!=</span></a> 0<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><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#07bcd9d86ae6b6828fbc17b15193853f"><span class="id" title="notation">&gt;</span></a> 0 <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><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#ba23b3264f7b39f451f85bc4710a6dc4"><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#388c172bf8d34ef0bf11898cd56f8d7b"><span class="id" title="notation">&lt;</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#b1eeadc2feabc7422252baa895418c7b"><span class="id" title="notation">!=</span></a> 0 <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><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#ba23b3264f7b39f451f85bc4710a6dc4"><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#388c172bf8d34ef0bf11898cd56f8d7b"><span class="id" title="notation">&lt;</span></a> <a class="idref" href="mathcomp.algebra.ssrnum.html#c536f9a86d3c053391521360ac3f5a61"><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#c536f9a86d3c053391521360ac3f5a61"><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#07bcd9d86ae6b6828fbc17b15193853f"><span class="id" title="notation">&gt;</span></a> 0 <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><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#22058a36a53dac65c94ca403bc62650a"><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#1a6f7db8d3b782330505e467b38f1aa9"><span class="id" title="notation">%/</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#1a6f7db8d3b782330505e467b38f1aa9"><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#22058a36a53dac65c94ca403bc62650a"><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#1a6f7db8d3b782330505e467b38f1aa9"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><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#1a6f7db8d3b782330505e467b38f1aa9"><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#07bcd9d86ae6b6828fbc17b15193853f"><span class="id" title="notation">&gt;</span></a> 0 <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><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#22058a36a53dac65c94ca403bc62650a"><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#1a6f7db8d3b782330505e467b38f1aa9"><span class="id" title="notation">%/</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#1a6f7db8d3b782330505e467b38f1aa9"><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#22058a36a53dac65c94ca403bc62650a"><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#1a6f7db8d3b782330505e467b38f1aa9"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><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#1a6f7db8d3b782330505e467b38f1aa9"><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#b1eeadc2feabc7422252baa895418c7b"><span class="id" title="notation">!=</span></a> 0 <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><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#1a6f7db8d3b782330505e467b38f1aa9"><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#22058a36a53dac65c94ca403bc62650a"><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#1065783963a393d1eafa2137291f2495"><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#521bb1f21db4ea2eead2a81dcc1b61f3"><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#1a6f7db8d3b782330505e467b38f1aa9"><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#521bb1f21db4ea2eead2a81dcc1b61f3"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#9b077c369e19739ef880736ba34623ff"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#521bb1f21db4ea2eead2a81dcc1b61f3"><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#521bb1f21db4ea2eead2a81dcc1b61f3"><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#07bcd9d86ae6b6828fbc17b15193853f"><span class="id" title="notation">&gt;</span></a> 0 <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><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#388c172bf8d34ef0bf11898cd56f8d7b"><span class="id" title="notation">&lt;</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#22058a36a53dac65c94ca403bc62650a"><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#1a6f7db8d3b782330505e467b38f1aa9"><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#ae4d81913e6239182a9ac7467ffde8cd"><span class="id" title="notation">+</span></a> 1<a class="idref" href="mathcomp.algebra.ssralg.html#22058a36a53dac65c94ca403bc62650a"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#22058a36a53dac65c94ca403bc62650a"><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#07bcd9d86ae6b6828fbc17b15193853f"><span class="id" title="notation">&gt;</span></a> 0 <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><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#1a6f7db8d3b782330505e467b38f1aa9"><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#388c172bf8d34ef0bf11898cd56f8d7b"><span class="id" title="notation">&lt;</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/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><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#388c172bf8d34ef0bf11898cd56f8d7b"><span class="id" title="notation">&lt;</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#22058a36a53dac65c94ca403bc62650a"><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/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><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#07bcd9d86ae6b6828fbc17b15193853f"><span class="id" title="notation">&gt;</span></a> 0 <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><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#1065783963a393d1eafa2137291f2495"><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#1a6f7db8d3b782330505e467b38f1aa9"><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/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><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#22058a36a53dac65c94ca403bc62650a"><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#1065783963a393d1eafa2137291f2495"><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/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><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#07bcd9d86ae6b6828fbc17b15193853f"><span class="id" title="notation">&gt;</span></a> 0 <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><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#1a6f7db8d3b782330505e467b38f1aa9"><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#4a55c8439dfd5912be472b2910ab4015"><span class="id" title="notation">≥</span></a> 0<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><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#4a55c8439dfd5912be472b2910ab4015"><span class="id" title="notation">≥</span></a> 0<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><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#4a55c8439dfd5912be472b2910ab4015"><span class="id" title="notation">≥</span></a> 0 <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><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#1a6f7db8d3b782330505e467b38f1aa9"><span class="id" title="notation">%/</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#1a6f7db8d3b782330505e467b38f1aa9"><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#22058a36a53dac65c94ca403bc62650a"><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#1a6f7db8d3b782330505e467b38f1aa9"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><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#1a6f7db8d3b782330505e467b38f1aa9"><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#1a6f7db8d3b782330505e467b38f1aa9"><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#93a29a58d1f90b8a91702885cf86161e"><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#93a29a58d1f90b8a91702885cf86161e"><span class="id" title="notation">&lt;</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/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><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#ba23b3264f7b39f451f85bc4710a6dc4"><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/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><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#ba23b3264f7b39f451f85bc4710a6dc4"><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#baefe1e4ac15ca675f39cb922b6b2b54"><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#baefe1e4ac15ca675f39cb922b6b2b54"><span class="id" title="notation">%[</span></a><a class="idref" href="mathcomp.algebra.intdiv.html#baefe1e4ac15ca675f39cb922b6b2b54"><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#baefe1e4ac15ca675f39cb922b6b2b54"><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#22058a36a53dac65c94ca403bc62650a"><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#ae4d81913e6239182a9ac7467ffde8cd"><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#baefe1e4ac15ca675f39cb922b6b2b54"><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#baefe1e4ac15ca675f39cb922b6b2b54"><span class="id" title="notation">%[</span></a><a class="idref" href="mathcomp.algebra.intdiv.html#baefe1e4ac15ca675f39cb922b6b2b54"><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#baefe1e4ac15ca675f39cb922b6b2b54"><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#388c172bf8d34ef0bf11898cd56f8d7b"><span class="id" title="notation">&lt;</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/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><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#22058a36a53dac65c94ca403bc62650a"><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#ba23b3264f7b39f451f85bc4710a6dc4"><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/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> (<a class="idref" href="mathcomp.algebra.intdiv.html#ba23b3264f7b39f451f85bc4710a6dc4"><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#22058a36a53dac65c94ca403bc62650a"><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#ba23b3264f7b39f451f85bc4710a6dc4"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#ba23b3264f7b39f451f85bc4710a6dc4"><span class="id" title="notation">%%</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#ba23b3264f7b39f451f85bc4710a6dc4"><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#22058a36a53dac65c94ca403bc62650a"><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#ba23b3264f7b39f451f85bc4710a6dc4"><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#388c172bf8d34ef0bf11898cd56f8d7b"><span class="id" title="notation">&lt;</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/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><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#ba23b3264f7b39f451f85bc4710a6dc4"><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#22058a36a53dac65c94ca403bc62650a"><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/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> (<a class="idref" href="mathcomp.algebra.intdiv.html#ba23b3264f7b39f451f85bc4710a6dc4"><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#22058a36a53dac65c94ca403bc62650a"><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#ba23b3264f7b39f451f85bc4710a6dc4"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#ba23b3264f7b39f451f85bc4710a6dc4"><span class="id" title="notation">%%</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#ba23b3264f7b39f451f85bc4710a6dc4"><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#22058a36a53dac65c94ca403bc62650a"><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#ba23b3264f7b39f451f85bc4710a6dc4"><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#ae4d81913e6239182a9ac7467ffde8cd"><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#baefe1e4ac15ca675f39cb922b6b2b54"><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#baefe1e4ac15ca675f39cb922b6b2b54"><span class="id" title="notation">%[</span></a><a class="idref" href="mathcomp.algebra.intdiv.html#baefe1e4ac15ca675f39cb922b6b2b54"><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#baefe1e4ac15ca675f39cb922b6b2b54"><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#ae4d81913e6239182a9ac7467ffde8cd"><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#baefe1e4ac15ca675f39cb922b6b2b54"><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#baefe1e4ac15ca675f39cb922b6b2b54"><span class="id" title="notation">%[</span></a><a class="idref" href="mathcomp.algebra.intdiv.html#baefe1e4ac15ca675f39cb922b6b2b54"><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#baefe1e4ac15ca675f39cb922b6b2b54"><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#ba23b3264f7b39f451f85bc4710a6dc4"><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/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><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#22058a36a53dac65c94ca403bc62650a"><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#ba23b3264f7b39f451f85bc4710a6dc4"><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/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><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#22058a36a53dac65c94ca403bc62650a"><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#ba23b3264f7b39f451f85bc4710a6dc4"><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/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><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#ba23b3264f7b39f451f85bc4710a6dc4"><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#ae4d81913e6239182a9ac7467ffde8cd"><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#baefe1e4ac15ca675f39cb922b6b2b54"><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#ae4d81913e6239182a9ac7467ffde8cd"><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#baefe1e4ac15ca675f39cb922b6b2b54"><span class="id" title="notation">%[</span></a><a class="idref" href="mathcomp.algebra.intdiv.html#baefe1e4ac15ca675f39cb922b6b2b54"><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#baefe1e4ac15ca675f39cb922b6b2b54"><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#ae4d81913e6239182a9ac7467ffde8cd"><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#ba23b3264f7b39f451f85bc4710a6dc4"><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#baefe1e4ac15ca675f39cb922b6b2b54"><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#ae4d81913e6239182a9ac7467ffde8cd"><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#baefe1e4ac15ca675f39cb922b6b2b54"><span class="id" title="notation">%[</span></a><a class="idref" href="mathcomp.algebra.intdiv.html#baefe1e4ac15ca675f39cb922b6b2b54"><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#baefe1e4ac15ca675f39cb922b6b2b54"><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#ba23b3264f7b39f451f85bc4710a6dc4"><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#ae4d81913e6239182a9ac7467ffde8cd"><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#ba23b3264f7b39f451f85bc4710a6dc4"><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#baefe1e4ac15ca675f39cb922b6b2b54"><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#ae4d81913e6239182a9ac7467ffde8cd"><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#baefe1e4ac15ca675f39cb922b6b2b54"><span class="id" title="notation">%[</span></a><a class="idref" href="mathcomp.algebra.intdiv.html#baefe1e4ac15ca675f39cb922b6b2b54"><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#baefe1e4ac15ca675f39cb922b6b2b54"><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#ae4d81913e6239182a9ac7467ffde8cd"><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#192cefde1fc6842cd45195f429405cb3"><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#ae4d81913e6239182a9ac7467ffde8cd"><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#192cefde1fc6842cd45195f429405cb3"><span class="id" title="notation">%[</span></a><a class="idref" href="mathcomp.algebra.intdiv.html#192cefde1fc6842cd45195f429405cb3"><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#192cefde1fc6842cd45195f429405cb3"><span class="id" title="notation">]</span></a>)%<span class="id" title="var">Z</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><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#192cefde1fc6842cd45195f429405cb3"><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#192cefde1fc6842cd45195f429405cb3"><span class="id" title="notation">%[</span></a><a class="idref" href="mathcomp.algebra.intdiv.html#192cefde1fc6842cd45195f429405cb3"><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#192cefde1fc6842cd45195f429405cb3"><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#ae4d81913e6239182a9ac7467ffde8cd"><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#192cefde1fc6842cd45195f429405cb3"><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#ae4d81913e6239182a9ac7467ffde8cd"><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#192cefde1fc6842cd45195f429405cb3"><span class="id" title="notation">%[</span></a><a class="idref" href="mathcomp.algebra.intdiv.html#192cefde1fc6842cd45195f429405cb3"><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#192cefde1fc6842cd45195f429405cb3"><span class="id" title="notation">]</span></a>)%<span class="id" title="var">Z</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><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#192cefde1fc6842cd45195f429405cb3"><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#192cefde1fc6842cd45195f429405cb3"><span class="id" title="notation">%[</span></a><a class="idref" href="mathcomp.algebra.intdiv.html#192cefde1fc6842cd45195f429405cb3"><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#192cefde1fc6842cd45195f429405cb3"><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#ba23b3264f7b39f451f85bc4710a6dc4"><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#22058a36a53dac65c94ca403bc62650a"><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#baefe1e4ac15ca675f39cb922b6b2b54"><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#22058a36a53dac65c94ca403bc62650a"><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#baefe1e4ac15ca675f39cb922b6b2b54"><span class="id" title="notation">%[</span></a><a class="idref" href="mathcomp.algebra.intdiv.html#baefe1e4ac15ca675f39cb922b6b2b54"><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#baefe1e4ac15ca675f39cb922b6b2b54"><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#22058a36a53dac65c94ca403bc62650a"><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#ba23b3264f7b39f451f85bc4710a6dc4"><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#baefe1e4ac15ca675f39cb922b6b2b54"><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#22058a36a53dac65c94ca403bc62650a"><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#baefe1e4ac15ca675f39cb922b6b2b54"><span class="id" title="notation">%[</span></a><a class="idref" href="mathcomp.algebra.intdiv.html#baefe1e4ac15ca675f39cb922b6b2b54"><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#baefe1e4ac15ca675f39cb922b6b2b54"><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#ba23b3264f7b39f451f85bc4710a6dc4"><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#22058a36a53dac65c94ca403bc62650a"><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#ba23b3264f7b39f451f85bc4710a6dc4"><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#baefe1e4ac15ca675f39cb922b6b2b54"><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#22058a36a53dac65c94ca403bc62650a"><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#baefe1e4ac15ca675f39cb922b6b2b54"><span class="id" title="notation">%[</span></a><a class="idref" href="mathcomp.algebra.intdiv.html#baefe1e4ac15ca675f39cb922b6b2b54"><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#baefe1e4ac15ca675f39cb922b6b2b54"><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#ba23b3264f7b39f451f85bc4710a6dc4"><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#fb22424322c3d7eb9b837dfca65ce21e"><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#baefe1e4ac15ca675f39cb922b6b2b54"><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#fb22424322c3d7eb9b837dfca65ce21e"><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#baefe1e4ac15ca675f39cb922b6b2b54"><span class="id" title="notation">%[</span></a><a class="idref" href="mathcomp.algebra.intdiv.html#baefe1e4ac15ca675f39cb922b6b2b54"><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#baefe1e4ac15ca675f39cb922b6b2b54"><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#941c6d086004545bd62614d0213e75e5"><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#ba23b3264f7b39f451f85bc4710a6dc4"><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#baefe1e4ac15ca675f39cb922b6b2b54"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#941c6d086004545bd62614d0213e75e5"><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#baefe1e4ac15ca675f39cb922b6b2b54"><span class="id" title="notation">%[</span></a><a class="idref" href="mathcomp.algebra.intdiv.html#baefe1e4ac15ca675f39cb922b6b2b54"><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#baefe1e4ac15ca675f39cb922b6b2b54"><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#fb22424322c3d7eb9b837dfca65ce21e"><span class="id" title="notation">(</span></a>-1<a class="idref" href="mathcomp.algebra.ssralg.html#fb22424322c3d7eb9b837dfca65ce21e"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#fb22424322c3d7eb9b837dfca65ce21e"><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#388c172bf8d34ef0bf11898cd56f8d7b"><span class="id" title="notation">&lt;</span></a> 0)%<span class="id" title="var">R</span> <a class="idref" href="mathcomp.algebra.ssralg.html#22058a36a53dac65c94ca403bc62650a"><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#ba23b3264f7b39f451f85bc4710a6dc4"><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#baefe1e4ac15ca675f39cb922b6b2b54"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#521bb1f21db4ea2eead2a81dcc1b61f3"><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#521bb1f21db4ea2eead2a81dcc1b61f3"><span class="id" title="notation">|</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#9fc2e395aa5602e5669820ba2f5dcc44"><span class="id" title="notation">%:</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#9fc2e395aa5602e5669820ba2f5dcc44"><span class="id" title="notation">Z</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#baefe1e4ac15ca675f39cb922b6b2b54"><span class="id" title="notation">%[</span></a><a class="idref" href="mathcomp.algebra.intdiv.html#baefe1e4ac15ca675f39cb922b6b2b54"><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#baefe1e4ac15ca675f39cb922b6b2b54"><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/8.8.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/8.8.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#acd2cfdd12dcef9419bf5f637ac8ee19"><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/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> (<a class="idref" href="mathcomp.algebra.ssrint.html#521bb1f21db4ea2eead2a81dcc1b61f3"><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#521bb1f21db4ea2eead2a81dcc1b61f3"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.div.html#aa34fd1c61c5cf0a3356b624a5d2afed"><span class="id" title="notation">%|</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#521bb1f21db4ea2eead2a81dcc1b61f3"><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#521bb1f21db4ea2eead2a81dcc1b61f3"><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#acd2cfdd12dcef9419bf5f637ac8ee19"><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#acd2cfdd12dcef9419bf5f637ac8ee19"><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/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><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#17d28d004d0863cb022d4ce832ddaaae"><span class="id" title="notation">==</span></a> 0<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><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#acd2cfdd12dcef9419bf5f637ac8ee19"><span class="id" title="notation">%|</span></a> 1)%<span class="id" title="var">Z</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#521bb1f21db4ea2eead2a81dcc1b61f3"><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#521bb1f21db4ea2eead2a81dcc1b61f3"><span class="id" title="notation">|</span></a>%<span class="id" title="var">N</span> <a class="idref" href="mathcomp.ssreflect.eqtype.html#17d28d004d0863cb022d4ce832ddaaae"><span class="id" title="notation">==</span></a> 1%<span class="id" title="var">N</span><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><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#acd2cfdd12dcef9419bf5f637ac8ee19"><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#acd2cfdd12dcef9419bf5f637ac8ee19"><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#acd2cfdd12dcef9419bf5f637ac8ee19"><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/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><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#acd2cfdd12dcef9419bf5f637ac8ee19"><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#22058a36a53dac65c94ca403bc62650a"><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#acd2cfdd12dcef9419bf5f637ac8ee19"><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/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><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#acd2cfdd12dcef9419bf5f637ac8ee19"><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#22058a36a53dac65c94ca403bc62650a"><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>.<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#acd2cfdd12dcef9419bf5f637ac8ee19"><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/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><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#acd2cfdd12dcef9419bf5f637ac8ee19"><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/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><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#22058a36a53dac65c94ca403bc62650a"><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#acd2cfdd12dcef9419bf5f637ac8ee19"><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#22058a36a53dac65c94ca403bc62650a"><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#acd2cfdd12dcef9419bf5f637ac8ee19"><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/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><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#acd2cfdd12dcef9419bf5f637ac8ee19"><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/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><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#acd2cfdd12dcef9419bf5f637ac8ee19"><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/8.8.0/stdlib//Coq.ssr.ssrbool.html#reflect"><span class="id" title="abbreviation">reflect</span></a> (<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#84eb6d2849dbf3581b1c0c05add5f2d8"><span class="id" title="notation">∃</span></a> <span class="id" title="var">q</span><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#84eb6d2849dbf3581b1c0c05add5f2d8"><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/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><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#22058a36a53dac65c94ca403bc62650a"><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#acd2cfdd12dcef9419bf5f637ac8ee19"><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/8.8.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#ba23b3264f7b39f451f85bc4710a6dc4"><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/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><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#acd2cfdd12dcef9419bf5f637ac8ee19"><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#acd2cfdd12dcef9419bf5f637ac8ee19"><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/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><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#1a6f7db8d3b782330505e467b38f1aa9"><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#22058a36a53dac65c94ca403bc62650a"><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#17d28d004d0863cb022d4ce832ddaaae"><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/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><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#acd2cfdd12dcef9419bf5f637ac8ee19"><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/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><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#1a6f7db8d3b782330505e467b38f1aa9"><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#22058a36a53dac65c94ca403bc62650a"><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/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><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#388c172bf8d34ef0bf11898cd56f8d7b"><span class="id" title="notation">&lt;</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/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><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#acd2cfdd12dcef9419bf5f637ac8ee19"><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/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><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#1a6f7db8d3b782330505e467b38f1aa9"><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#1065783963a393d1eafa2137291f2495"><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/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><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#1065783963a393d1eafa2137291f2495"><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#22058a36a53dac65c94ca403bc62650a"><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/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><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#388c172bf8d34ef0bf11898cd56f8d7b"><span class="id" title="notation">&lt;</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/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><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#acd2cfdd12dcef9419bf5f637ac8ee19"><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/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><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#388c172bf8d34ef0bf11898cd56f8d7b"><span class="id" title="notation">&lt;</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#1a6f7db8d3b782330505e467b38f1aa9"><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/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><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#22058a36a53dac65c94ca403bc62650a"><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#388c172bf8d34ef0bf11898cd56f8d7b"><span class="id" title="notation">&lt;</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/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><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#b1eeadc2feabc7422252baa895418c7b"><span class="id" title="notation">!=</span></a> 0 <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><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#acd2cfdd12dcef9419bf5f637ac8ee19"><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/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><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#17d28d004d0863cb022d4ce832ddaaae"><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#1a6f7db8d3b782330505e467b38f1aa9"><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/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><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#22058a36a53dac65c94ca403bc62650a"><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#17d28d004d0863cb022d4ce832ddaaae"><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/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><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#b1eeadc2feabc7422252baa895418c7b"><span class="id" title="notation">!=</span></a> 0 <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><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#acd2cfdd12dcef9419bf5f637ac8ee19"><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/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><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#17d28d004d0863cb022d4ce832ddaaae"><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#22058a36a53dac65c94ca403bc62650a"><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/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><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#1a6f7db8d3b782330505e467b38f1aa9"><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#17d28d004d0863cb022d4ce832ddaaae"><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#acd2cfdd12dcef9419bf5f637ac8ee19"><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/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><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#1a6f7db8d3b782330505e467b38f1aa9"><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#22058a36a53dac65c94ca403bc62650a"><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/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><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#22058a36a53dac65c94ca403bc62650a"><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#1a6f7db8d3b782330505e467b38f1aa9"><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#acd2cfdd12dcef9419bf5f637ac8ee19"><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/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><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#22058a36a53dac65c94ca403bc62650a"><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#1a6f7db8d3b782330505e467b38f1aa9"><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/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><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#22058a36a53dac65c94ca403bc62650a"><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#1a6f7db8d3b782330505e467b38f1aa9"><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/>
&nbsp;&nbsp;(<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#acd2cfdd12dcef9419bf5f637ac8ee19"><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/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><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#acd2cfdd12dcef9419bf5f637ac8ee19"><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/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><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#22058a36a53dac65c94ca403bc62650a"><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#1a6f7db8d3b782330505e467b38f1aa9"><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/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><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#22058a36a53dac65c94ca403bc62650a"><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#1a6f7db8d3b782330505e467b38f1aa9"><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#acd2cfdd12dcef9419bf5f637ac8ee19"><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/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><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#acd2cfdd12dcef9419bf5f637ac8ee19"><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#22058a36a53dac65c94ca403bc62650a"><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/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><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#1a6f7db8d3b782330505e467b38f1aa9"><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#1a6f7db8d3b782330505e467b38f1aa9"><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/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><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#22058a36a53dac65c94ca403bc62650a"><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#1a6f7db8d3b782330505e467b38f1aa9"><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#22058a36a53dac65c94ca403bc62650a"><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#acd2cfdd12dcef9419bf5f637ac8ee19"><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/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><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#1a6f7db8d3b782330505e467b38f1aa9"><span class="id" title="notation">%/</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#1a6f7db8d3b782330505e467b38f1aa9"><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#22058a36a53dac65c94ca403bc62650a"><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#1a6f7db8d3b782330505e467b38f1aa9"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><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#1a6f7db8d3b782330505e467b38f1aa9"><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#1a6f7db8d3b782330505e467b38f1aa9"><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#22058a36a53dac65c94ca403bc62650a"><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#acd2cfdd12dcef9419bf5f637ac8ee19"><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/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><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#1a6f7db8d3b782330505e467b38f1aa9"><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#1a6f7db8d3b782330505e467b38f1aa9"><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/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><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#1a6f7db8d3b782330505e467b38f1aa9"><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#1a6f7db8d3b782330505e467b38f1aa9"><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#b1eeadc2feabc7422252baa895418c7b"><span class="id" title="notation">!=</span></a> 0 <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><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#acd2cfdd12dcef9419bf5f637ac8ee19"><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/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><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#22058a36a53dac65c94ca403bc62650a"><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#1a6f7db8d3b782330505e467b38f1aa9"><span class="id" title="notation">%/</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#1a6f7db8d3b782330505e467b38f1aa9"><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#22058a36a53dac65c94ca403bc62650a"><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#1a6f7db8d3b782330505e467b38f1aa9"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><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#1a6f7db8d3b782330505e467b38f1aa9"><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#b1eeadc2feabc7422252baa895418c7b"><span class="id" title="notation">!=</span></a> 0 <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><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#acd2cfdd12dcef9419bf5f637ac8ee19"><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/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><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#22058a36a53dac65c94ca403bc62650a"><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#1a6f7db8d3b782330505e467b38f1aa9"><span class="id" title="notation">%/</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#1a6f7db8d3b782330505e467b38f1aa9"><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#22058a36a53dac65c94ca403bc62650a"><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#1a6f7db8d3b782330505e467b38f1aa9"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><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#1a6f7db8d3b782330505e467b38f1aa9"><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#b1eeadc2feabc7422252baa895418c7b"><span class="id" title="notation">!=</span></a> 0 <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><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#22058a36a53dac65c94ca403bc62650a"><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#acd2cfdd12dcef9419bf5f637ac8ee19"><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#22058a36a53dac65c94ca403bc62650a"><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/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><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#acd2cfdd12dcef9419bf5f637ac8ee19"><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#b1eeadc2feabc7422252baa895418c7b"><span class="id" title="notation">!=</span></a> 0 <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><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#22058a36a53dac65c94ca403bc62650a"><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#acd2cfdd12dcef9419bf5f637ac8ee19"><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#22058a36a53dac65c94ca403bc62650a"><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/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><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#acd2cfdd12dcef9419bf5f637ac8ee19"><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#9b077c369e19739ef880736ba34623ff"><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/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><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#fb22424322c3d7eb9b837dfca65ce21e"><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#acd2cfdd12dcef9419bf5f637ac8ee19"><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#fb22424322c3d7eb9b837dfca65ce21e"><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#c536f9a86d3c053391521360ac3f5a61"><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#c536f9a86d3c053391521360ac3f5a61"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.algebra.ssrnum.html#07bcd9d86ae6b6828fbc17b15193853f"><span class="id" title="notation">&gt;</span></a> 1 <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><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#fb22424322c3d7eb9b837dfca65ce21e"><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#acd2cfdd12dcef9419bf5f637ac8ee19"><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#fb22424322c3d7eb9b837dfca65ce21e"><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/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><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#9b077c369e19739ef880736ba34623ff"><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#acd2cfdd12dcef9419bf5f637ac8ee19"><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/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><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#fb22424322c3d7eb9b837dfca65ce21e"><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#acd2cfdd12dcef9419bf5f637ac8ee19"><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#fb22424322c3d7eb9b837dfca65ce21e"><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#989c98e7ddd65d5bf37c334ff2076de8"><span class="id" title="notation">&lt;</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/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><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#acd2cfdd12dcef9419bf5f637ac8ee19"><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/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><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#acd2cfdd12dcef9419bf5f637ac8ee19"><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#fb22424322c3d7eb9b837dfca65ce21e"><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#192cefde1fc6842cd45195f429405cb3"><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#192cefde1fc6842cd45195f429405cb3"><span class="id" title="notation">%[</span></a><a class="idref" href="mathcomp.algebra.intdiv.html#192cefde1fc6842cd45195f429405cb3"><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#192cefde1fc6842cd45195f429405cb3"><span class="id" title="notation">]</span></a>)%<span class="id" title="var">Z</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><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#acd2cfdd12dcef9419bf5f637ac8ee19"><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#d70623330b2787db6b196e37db7d8f45"><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/>
&nbsp;&nbsp;(<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#acd2cfdd12dcef9419bf5f637ac8ee19"><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/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> (<a class="idref" href="mathcomp.algebra.intdiv.html#1a6f7db8d3b782330505e467b38f1aa9"><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#ae4d81913e6239182a9ac7467ffde8cd"><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#1a6f7db8d3b782330505e467b38f1aa9"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#1a6f7db8d3b782330505e467b38f1aa9"><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/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><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#1a6f7db8d3b782330505e467b38f1aa9"><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#ae4d81913e6239182a9ac7467ffde8cd"><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#1a6f7db8d3b782330505e467b38f1aa9"><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/>
&nbsp;&nbsp;(<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#acd2cfdd12dcef9419bf5f637ac8ee19"><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/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> (<a class="idref" href="mathcomp.algebra.intdiv.html#1a6f7db8d3b782330505e467b38f1aa9"><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#ae4d81913e6239182a9ac7467ffde8cd"><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#1a6f7db8d3b782330505e467b38f1aa9"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.intdiv.html#1a6f7db8d3b782330505e467b38f1aa9"><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/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><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#1a6f7db8d3b782330505e467b38f1aa9"><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#ae4d81913e6239182a9ac7467ffde8cd"><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#1a6f7db8d3b782330505e467b38f1aa9"><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#acd2cfdd12dcef9419bf5f637ac8ee19"><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/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">(</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#1e40fee506a85b20590ef299005b003d"><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#626a4f68393e32b84ab75f15f785f640"><span class="id" title="notation">%:~</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#626a4f68393e32b84ab75f15f785f640"><span class="id" title="notation">R</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#4fa85b0aa898c2a7e18c3b076438c2e7"><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#626a4f68393e32b84ab75f15f785f640"><span class="id" title="notation">%:~</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#626a4f68393e32b84ab75f15f785f640"><span class="id" title="notation">R</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssreflect.html#4509b22bf26e3d6d771897e22bd8bc8f"><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/8.8.0/stdlib//Coq.ssr.ssrbool.html#1e40fee506a85b20590ef299005b003d"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#1e40fee506a85b20590ef299005b003d"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#1e40fee506a85b20590ef299005b003d"><span class="id" title="notation">is</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#1e40fee506a85b20590ef299005b003d"><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/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><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/8.8.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#aa34fd1c61c5cf0a3356b624a5d2afed"><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/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">(</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#1e40fee506a85b20590ef299005b003d"><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#af5c1d7e13410a0a6c3dff5441ac8477"><span class="id" title="notation">%:</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#af5c1d7e13410a0a6c3dff5441ac8477"><span class="id" title="notation">R</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#4fa85b0aa898c2a7e18c3b076438c2e7"><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#af5c1d7e13410a0a6c3dff5441ac8477"><span class="id" title="notation">%:</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#af5c1d7e13410a0a6c3dff5441ac8477"><span class="id" title="notation">R</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssreflect.html#4509b22bf26e3d6d771897e22bd8bc8f"><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/8.8.0/stdlib//Coq.ssr.ssrbool.html#1e40fee506a85b20590ef299005b003d"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#1e40fee506a85b20590ef299005b003d"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#1e40fee506a85b20590ef299005b003d"><span class="id" title="notation">is</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#1e40fee506a85b20590ef299005b003d"><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/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><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/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#521bb1f21db4ea2eead2a81dcc1b61f3"><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#521bb1f21db4ea2eead2a81dcc1b61f3"><span class="id" title="notation">|</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#9fc2e395aa5602e5669820ba2f5dcc44"><span class="id" title="notation">%:</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#9fc2e395aa5602e5669820ba2f5dcc44"><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/8.8.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/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#521bb1f21db4ea2eead2a81dcc1b61f3"><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#521bb1f21db4ea2eead2a81dcc1b61f3"><span class="id" title="notation">|</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#9fc2e395aa5602e5669820ba2f5dcc44"><span class="id" title="notation">%:</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#9fc2e395aa5602e5669820ba2f5dcc44"><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/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#521bb1f21db4ea2eead2a81dcc1b61f3"><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#521bb1f21db4ea2eead2a81dcc1b61f3"><span class="id" title="notation">|</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#9fc2e395aa5602e5669820ba2f5dcc44"><span class="id" title="notation">%:</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#9fc2e395aa5602e5669820ba2f5dcc44"><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/8.8.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/8.8.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#acd2cfdd12dcef9419bf5f637ac8ee19"><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#acd2cfdd12dcef9419bf5f637ac8ee19"><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/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><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#17d28d004d0863cb022d4ce832ddaaae"><span class="id" title="notation">==</span></a> 0<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#49ac24efa716d8b0ee8943bc1d1769a9"><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#17d28d004d0863cb022d4ce832ddaaae"><span class="id" title="notation">==</span></a> 0<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#49ac24efa716d8b0ee8943bc1d1769a9"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#49ac24efa716d8b0ee8943bc1d1769a9"><span class="id" title="notation">&amp;&amp;</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#49ac24efa716d8b0ee8943bc1d1769a9"><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#17d28d004d0863cb022d4ce832ddaaae"><span class="id" title="notation">==</span></a> 0<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#49ac24efa716d8b0ee8943bc1d1769a9"><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#941c6d086004545bd62614d0213e75e5"><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/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><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#941c6d086004545bd62614d0213e75e5"><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/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><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#ba23b3264f7b39f451f85bc4710a6dc4"><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/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><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#ba23b3264f7b39f451f85bc4710a6dc4"><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/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><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#22058a36a53dac65c94ca403bc62650a"><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#ae4d81913e6239182a9ac7467ffde8cd"><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/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><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#ae4d81913e6239182a9ac7467ffde8cd"><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/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><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#ae4d81913e6239182a9ac7467ffde8cd"><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/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><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#22058a36a53dac65c94ca403bc62650a"><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/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#521bb1f21db4ea2eead2a81dcc1b61f3"><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#521bb1f21db4ea2eead2a81dcc1b61f3"><span class="id" title="notation">|</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#9fc2e395aa5602e5669820ba2f5dcc44"><span class="id" title="notation">%:</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#9fc2e395aa5602e5669820ba2f5dcc44"><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#22058a36a53dac65c94ca403bc62650a"><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/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#521bb1f21db4ea2eead2a81dcc1b61f3"><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#521bb1f21db4ea2eead2a81dcc1b61f3"><span class="id" title="notation">|</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#9fc2e395aa5602e5669820ba2f5dcc44"><span class="id" title="notation">%:</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#9fc2e395aa5602e5669820ba2f5dcc44"><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/8.8.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/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#521bb1f21db4ea2eead2a81dcc1b61f3"><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#521bb1f21db4ea2eead2a81dcc1b61f3"><span class="id" title="notation">|</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#9fc2e395aa5602e5669820ba2f5dcc44"><span class="id" title="notation">%:</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#9fc2e395aa5602e5669820ba2f5dcc44"><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#acd2cfdd12dcef9419bf5f637ac8ee19"><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/8.8.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/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#521bb1f21db4ea2eead2a81dcc1b61f3"><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#521bb1f21db4ea2eead2a81dcc1b61f3"><span class="id" title="notation">|</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#9fc2e395aa5602e5669820ba2f5dcc44"><span class="id" title="notation">%:</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#9fc2e395aa5602e5669820ba2f5dcc44"><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#acd2cfdd12dcef9419bf5f637ac8ee19"><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#4a55c8439dfd5912be472b2910ab4015"><span class="id" title="notation">≥</span></a> 0 <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><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#fb22424322c3d7eb9b837dfca65ce21e"><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/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><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#fb22424322c3d7eb9b837dfca65ce21e"><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#fb22424322c3d7eb9b837dfca65ce21e"><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#acd2cfdd12dcef9419bf5f637ac8ee19"><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/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><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#acd2cfdd12dcef9419bf5f637ac8ee19"><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/8.8.0/stdlib//Coq.Init.Datatypes.html#49ac24efa716d8b0ee8943bc1d1769a9"><span class="id" title="notation">&amp;&amp;</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#acd2cfdd12dcef9419bf5f637ac8ee19"><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/8.8.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/8.8.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/8.8.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/8.8.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#521bb1f21db4ea2eead2a81dcc1b61f3"><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#521bb1f21db4ea2eead2a81dcc1b61f3"><span class="id" title="notation">|</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#9fc2e395aa5602e5669820ba2f5dcc44"><span class="id" title="notation">%:</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#9fc2e395aa5602e5669820ba2f5dcc44"><span class="id" title="notation">Z</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#22058a36a53dac65c94ca403bc62650a"><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/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><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#22058a36a53dac65c94ca403bc62650a"><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#22058a36a53dac65c94ca403bc62650a"><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#22058a36a53dac65c94ca403bc62650a"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#521bb1f21db4ea2eead2a81dcc1b61f3"><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#521bb1f21db4ea2eead2a81dcc1b61f3"><span class="id" title="notation">|</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#9fc2e395aa5602e5669820ba2f5dcc44"><span class="id" title="notation">%:</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#9fc2e395aa5602e5669820ba2f5dcc44"><span class="id" title="notation">Z</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><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#22058a36a53dac65c94ca403bc62650a"><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#22058a36a53dac65c94ca403bc62650a"><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#22058a36a53dac65c94ca403bc62650a"><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#1a6f7db8d3b782330505e467b38f1aa9"><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/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><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#22058a36a53dac65c94ca403bc62650a"><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#1a6f7db8d3b782330505e467b38f1aa9"><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/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><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#521bb1f21db4ea2eead2a81dcc1b61f3"><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#521bb1f21db4ea2eead2a81dcc1b61f3"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#521bb1f21db4ea2eead2a81dcc1b61f3"><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#521bb1f21db4ea2eead2a81dcc1b61f3"><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/8.8.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#941c6d086004545bd62614d0213e75e5"><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/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><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#941c6d086004545bd62614d0213e75e5"><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/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><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">CoInductive</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/8.8.0/stdlib//Coq.Init.Datatypes.html#d19c7eafd0e2d195d10df94b392087b5"><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/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <span class="id" title="keyword">Type</span> :=<br/>
&nbsp;&nbsp;<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#22058a36a53dac65c94ca403bc62650a"><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#ae4d81913e6239182a9ac7467ffde8cd"><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#22058a36a53dac65c94ca403bc62650a"><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/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><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> &amp; <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/>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;: <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/8.8.0/stdlib//Coq.Init.Datatypes.html#44400027531d4bc3f586a1997dc874c0"><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/8.8.0/stdlib//Coq.Init.Datatypes.html#44400027531d4bc3f586a1997dc874c0"><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/8.8.0/stdlib//Coq.Init.Datatypes.html#44400027531d4bc3f586a1997dc874c0"><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/8.8.0/stdlib//Coq.Init.Specif.html#50b5d8dd6be4fba768e35617e518ad76"><span class="id" title="notation">{</span></a><span class="id" title="var">u</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Specif.html#50b5d8dd6be4fba768e35617e518ad76"><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/8.8.0/stdlib//Coq.Init.Specif.html#50b5d8dd6be4fba768e35617e518ad76"><span class="id" title="notation">&amp;</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Specif.html#72ca3fac4636a1b19c963b12162882cf"><span class="id" title="notation">{</span></a><span class="id" title="var">v</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Specif.html#72ca3fac4636a1b19c963b12162882cf"><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/8.8.0/stdlib//Coq.Init.Specif.html#72ca3fac4636a1b19c963b12162882cf"><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#22058a36a53dac65c94ca403bc62650a"><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#ae4d81913e6239182a9ac7467ffde8cd"><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#22058a36a53dac65c94ca403bc62650a"><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/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><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/8.8.0/stdlib//Coq.Init.Specif.html#72ca3fac4636a1b19c963b12162882cf"><span class="id" title="notation">}</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Specif.html#50b5d8dd6be4fba768e35617e518ad76"><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/>
&nbsp;&nbsp;<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#reflect"><span class="id" title="abbreviation">reflect</span></a> (<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#84eb6d2849dbf3581b1c0c05add5f2d8"><span class="id" title="notation">∃</span></a> <span class="id" title="var">uv</span><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#84eb6d2849dbf3581b1c0c05add5f2d8"><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/8.8.0/stdlib//Coq.ssr.ssrfun.html#c4877bbfe60d8f22b47ac99ace86216a"><span class="id" title="notation">.1</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#22058a36a53dac65c94ca403bc62650a"><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#ae4d81913e6239182a9ac7467ffde8cd"><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/8.8.0/stdlib//Coq.ssr.ssrfun.html#f4827404159513e7fd691b60b7877737"><span class="id" title="notation">.2</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#22058a36a53dac65c94ca403bc62650a"><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/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><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/>
&nbsp;&nbsp;<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/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><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#22058a36a53dac65c94ca403bc62650a"><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#acd2cfdd12dcef9419bf5f637ac8ee19"><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/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><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#acd2cfdd12dcef9419bf5f637ac8ee19"><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/8.8.0/stdlib//Coq.Init.Datatypes.html#49ac24efa716d8b0ee8943bc1d1769a9"><span class="id" title="notation">&amp;&amp;</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#acd2cfdd12dcef9419bf5f637ac8ee19"><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/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><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#acd2cfdd12dcef9419bf5f637ac8ee19"><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#22058a36a53dac65c94ca403bc62650a"><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/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><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#acd2cfdd12dcef9419bf5f637ac8ee19"><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/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><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#acd2cfdd12dcef9419bf5f637ac8ee19"><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#22058a36a53dac65c94ca403bc62650a"><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/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><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#acd2cfdd12dcef9419bf5f637ac8ee19"><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/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><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#22058a36a53dac65c94ca403bc62650a"><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/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><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/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><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#22058a36a53dac65c94ca403bc62650a"><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/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><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#22058a36a53dac65c94ca403bc62650a"><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/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><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/8.8.0/stdlib//Coq.Init.Datatypes.html#49ac24efa716d8b0ee8943bc1d1769a9"><span class="id" title="notation">&amp;&amp;</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#22058a36a53dac65c94ca403bc62650a"><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/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><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/8.8.0/stdlib//Coq.Init.Datatypes.html#49ac24efa716d8b0ee8943bc1d1769a9"><span class="id" title="notation">&amp;&amp;</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#989c98e7ddd65d5bf37c334ff2076de8"><span class="id" title="notation">&lt;</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/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><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#fb22424322c3d7eb9b837dfca65ce21e"><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/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><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#989c98e7ddd65d5bf37c334ff2076de8"><span class="id" title="notation">&lt;</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/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><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#fb22424322c3d7eb9b837dfca65ce21e"><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/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><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/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><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#fb22424322c3d7eb9b837dfca65ce21e"><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/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><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#fb22424322c3d7eb9b837dfca65ce21e"><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#aa34fd1c61c5cf0a3356b624a5d2afed"><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/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><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/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><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#aa34fd1c61c5cf0a3356b624a5d2afed"><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/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><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/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><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#19ab5cfd7e4f60fa14f22b576013bd96"><span class="id" title="notation">&gt;</span></a> 0)%<span class="id" title="var">N</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><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#fb22424322c3d7eb9b837dfca65ce21e"><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#acd2cfdd12dcef9419bf5f637ac8ee19"><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#fb22424322c3d7eb9b837dfca65ce21e"><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/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><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#acd2cfdd12dcef9419bf5f637ac8ee19"><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/>
&nbsp;&nbsp;(<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#192cefde1fc6842cd45195f429405cb3"><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#192cefde1fc6842cd45195f429405cb3"><span class="id" title="notation">%[</span></a><a class="idref" href="mathcomp.algebra.intdiv.html#192cefde1fc6842cd45195f429405cb3"><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#22058a36a53dac65c94ca403bc62650a"><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#192cefde1fc6842cd45195f429405cb3"><span class="id" title="notation">]</span></a>)%<span class="id" title="var">Z</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><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#192cefde1fc6842cd45195f429405cb3"><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#192cefde1fc6842cd45195f429405cb3"><span class="id" title="notation">%[</span></a><a class="idref" href="mathcomp.algebra.intdiv.html#192cefde1fc6842cd45195f429405cb3"><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#192cefde1fc6842cd45195f429405cb3"><span class="id" title="notation">]</span></a>)%<span class="id" title="var">Z</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#49ac24efa716d8b0ee8943bc1d1769a9"><span class="id" title="notation">&amp;&amp;</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#192cefde1fc6842cd45195f429405cb3"><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#192cefde1fc6842cd45195f429405cb3"><span class="id" title="notation">%[</span></a><a class="idref" href="mathcomp.algebra.intdiv.html#192cefde1fc6842cd45195f429405cb3"><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#192cefde1fc6842cd45195f429405cb3"><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/>
&nbsp;&nbsp;<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#22058a36a53dac65c94ca403bc62650a"><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#22058a36a53dac65c94ca403bc62650a"><span class="id" title="notation">×</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#f4827404159513e7fd691b60b7877737"><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/8.8.0/stdlib//Coq.ssr.ssrfun.html#f4827404159513e7fd691b60b7877737"><span class="id" title="notation">).2</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#ae4d81913e6239182a9ac7467ffde8cd"><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#22058a36a53dac65c94ca403bc62650a"><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#22058a36a53dac65c94ca403bc62650a"><span class="id" title="notation">×</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#c4877bbfe60d8f22b47ac99ace86216a"><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/8.8.0/stdlib//Coq.ssr.ssrfun.html#c4877bbfe60d8f22b47ac99ace86216a"><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#baefe1e4ac15ca675f39cb922b6b2b54"><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#baefe1e4ac15ca675f39cb922b6b2b54"><span class="id" title="notation">%[</span></a><a class="idref" href="mathcomp.algebra.intdiv.html#baefe1e4ac15ca675f39cb922b6b2b54"><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#baefe1e4ac15ca675f39cb922b6b2b54"><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#baefe1e4ac15ca675f39cb922b6b2b54"><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#baefe1e4ac15ca675f39cb922b6b2b54"><span class="id" title="notation">%[</span></a><a class="idref" href="mathcomp.algebra.intdiv.html#baefe1e4ac15ca675f39cb922b6b2b54"><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#baefe1e4ac15ca675f39cb922b6b2b54"><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#baefe1e4ac15ca675f39cb922b6b2b54"><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#ba23b3264f7b39f451f85bc4710a6dc4"><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#ba23b3264f7b39f451f85bc4710a6dc4"><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#baefe1e4ac15ca675f39cb922b6b2b54"><span class="id" title="notation">%[</span></a><a class="idref" href="mathcomp.algebra.intdiv.html#baefe1e4ac15ca675f39cb922b6b2b54"><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#22058a36a53dac65c94ca403bc62650a"><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#baefe1e4ac15ca675f39cb922b6b2b54"><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/>
&nbsp;&nbsp;<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#22058a36a53dac65c94ca403bc62650a"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#567079cee6eb2eba482323c7e8d08df5"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#567079cee6eb2eba482323c7e8d08df5"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#567079cee6eb2eba482323c7e8d08df5"><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#567079cee6eb2eba482323c7e8d08df5"><span class="id" title="notation">/</span></a>0%<span class="id" title="var">N</span><a class="idref" href="mathcomp.ssreflect.bigop.html#567079cee6eb2eba482323c7e8d08df5"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#567079cee6eb2eba482323c7e8d08df5"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#567079cee6eb2eba482323c7e8d08df5"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#567079cee6eb2eba482323c7e8d08df5"><span class="id" title="notation">&lt;</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#567079cee6eb2eba482323c7e8d08df5"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#521bb1f21db4ea2eead2a81dcc1b61f3"><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#9625b440a0052f6dbfd015f5bb8b5125"><span class="id" title="notation">`</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#9625b440a0052f6dbfd015f5bb8b5125"><span class="id" title="notation">_i</span></a>)%<span class="id" title="var">R</span><a class="idref" href="mathcomp.algebra.ssrint.html#521bb1f21db4ea2eead2a81dcc1b61f3"><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/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><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/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><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#17d28d004d0863cb022d4ce832ddaaae"><span class="id" title="notation">==</span></a> 0<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><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#17d28d004d0863cb022d4ce832ddaaae"><span class="id" title="notation">==</span></a> 0<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><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/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><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#81f8078534dcbb7e13a32d292f766525"><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/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><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#22058a36a53dac65c94ca403bc62650a"><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/8.8.0/stdlib//Coq.ssr.ssrbool.html#e6408d45e92e642f7d1652448339ba09"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#e6408d45e92e642f7d1652448339ba09"><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/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><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/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><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#acd2cfdd12dcef9419bf5f637ac8ee19"><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/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><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/8.8.0/stdlib//Coq.ssr.ssrbool.html#1e40fee506a85b20590ef299005b003d"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#1e40fee506a85b20590ef299005b003d"><span class="id" title="notation">is</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#1e40fee506a85b20590ef299005b003d"><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/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><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/>
&nbsp;&nbsp;<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/8.8.0/stdlib//Coq.ssr.ssrbool.html#1e40fee506a85b20590ef299005b003d"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#1e40fee506a85b20590ef299005b003d"><span class="id" title="notation">is</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#1e40fee506a85b20590ef299005b003d"><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/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><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#81f8078534dcbb7e13a32d292f766525"><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/8.8.0/stdlib//Coq.ssr.ssrfun.html#8f28bbd804547edd8de802d63ef85617"><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/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><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/>
&nbsp;&nbsp;<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#reflect"><span class="id" title="abbreviation">reflect</span></a> (<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#84eb6d2849dbf3581b1c0c05add5f2d8"><span class="id" title="notation">∃</span></a> <span class="id" title="var">q</span><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#84eb6d2849dbf3581b1c0c05add5f2d8"><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/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><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#81f8078534dcbb7e13a32d292f766525"><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/8.8.0/stdlib//Coq.ssr.ssrbool.html#1e40fee506a85b20590ef299005b003d"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#1e40fee506a85b20590ef299005b003d"><span class="id" title="notation">is</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#1e40fee506a85b20590ef299005b003d"><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/8.8.0/stdlib//Coq.ssr.ssrfun.html#8f28bbd804547edd8de802d63ef85617"><span class="id" title="notation">^~</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#8f28bbd804547edd8de802d63ef85617"><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/8.8.0/stdlib//Coq.ssr.ssrfun.html#8f28bbd804547edd8de802d63ef85617"><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/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><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#81f8078534dcbb7e13a32d292f766525"><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/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><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/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><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#17d28d004d0863cb022d4ce832ddaaae"><span class="id" title="notation">==</span></a> 0<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><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#17d28d004d0863cb022d4ce832ddaaae"><span class="id" title="notation">==</span></a> 0<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><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/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><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/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><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#b1eeadc2feabc7422252baa895418c7b"><span class="id" title="notation">!=</span></a> 0<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><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/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><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#b1eeadc2feabc7422252baa895418c7b"><span class="id" title="notation">!=</span></a> 0<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><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/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><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/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><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/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><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/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><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#b1eeadc2feabc7422252baa895418c7b"><span class="id" title="notation">!=</span></a> 0 <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><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#81f8078534dcbb7e13a32d292f766525"><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/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><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/>
&nbsp;&nbsp;&nbsp;&nbsp;<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#b1eeadc2feabc7422252baa895418c7b"><span class="id" title="notation">!=</span></a> 0 <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><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/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><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#81f8078534dcbb7e13a32d292f766525"><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/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a><br/>
&nbsp;&nbsp;<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Specif.html#f5350ad671d3ce0e1e463e298917cf6e"><span class="id" title="notation">{</span></a><span class="id" title="var">b</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Specif.html#f5350ad671d3ce0e1e463e298917cf6e"><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/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><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/8.8.0/stdlib//Coq.Init.Specif.html#f5350ad671d3ce0e1e463e298917cf6e"><span class="id" title="notation">&amp;</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/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><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#81f8078534dcbb7e13a32d292f766525"><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/8.8.0/stdlib//Coq.Init.Specif.html#f5350ad671d3ce0e1e463e298917cf6e"><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/>
&nbsp;&nbsp;<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#b1eeadc2feabc7422252baa895418c7b"><span class="id" title="notation">!=</span></a> 0 <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><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/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><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#81f8078534dcbb7e13a32d292f766525"><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/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><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/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><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#22058a36a53dac65c94ca403bc62650a"><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/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><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#22058a36a53dac65c94ca403bc62650a"><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#22058a36a53dac65c94ca403bc62650a"><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/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><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#22058a36a53dac65c94ca403bc62650a"><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#8d02531a91f8648b92789372c052c0ad"><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/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Specif.html#5b63cb9ed0fed82566685c66e56592e4"><span class="id" title="notation">{</span></a><span class="id" title="var">r</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Specif.html#5b63cb9ed0fed82566685c66e56592e4"><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/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><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#22058a36a53dac65c94ca403bc62650a"><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/8.8.0/stdlib//Coq.Init.Specif.html#5b63cb9ed0fed82566685c66e56592e4"><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/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><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#699040ddc0986f520cece215f531d947"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.algebra.poly.html#699040ddc0986f520cece215f531d947"><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#699040ddc0986f520cece215f531d947"><span class="id" title="notation">}</span></a>) :<br/>
&nbsp;&nbsp;<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Specif.html#50b5d8dd6be4fba768e35617e518ad76"><span class="id" title="notation">{</span></a><span class="id" title="var">q</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Specif.html#50b5d8dd6be4fba768e35617e518ad76"><span class="id" title="notation">:</span></a> <a class="idref" href="mathcomp.algebra.poly.html#699040ddc0986f520cece215f531d947"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.algebra.poly.html#699040ddc0986f520cece215f531d947"><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#699040ddc0986f520cece215f531d947"><span class="id" title="notation">}</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Specif.html#50b5d8dd6be4fba768e35617e518ad76"><span class="id" title="notation">&amp;</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Specif.html#f5350ad671d3ce0e1e463e298917cf6e"><span class="id" title="notation">{</span></a><span class="id" title="var">a</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Specif.html#f5350ad671d3ce0e1e463e298917cf6e"><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#b1eeadc2feabc7422252baa895418c7b"><span class="id" title="notation">!=</span></a> 0 <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Specif.html#f5350ad671d3ce0e1e463e298917cf6e"><span class="id" title="notation">&amp;</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/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><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#626a4f68393e32b84ab75f15f785f640"><span class="id" title="notation">%:~</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#626a4f68393e32b84ab75f15f785f640"><span class="id" title="notation">R</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#f3016d4e55aa553d3e912592ec65e342"><span class="id" title="notation">^-1</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#81f8078534dcbb7e13a32d292f766525"><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/8.8.0/stdlib//Coq.Init.Specif.html#f5350ad671d3ce0e1e463e298917cf6e"><span class="id" title="notation">}</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Specif.html#50b5d8dd6be4fba768e35617e518ad76"><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/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><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#8d02531a91f8648b92789372c052c0ad"><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/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><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#8d02531a91f8648b92789372c052c0ad"><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/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><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/>
&nbsp;&nbsp;&nbsp;&nbsp;<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#8d02531a91f8648b92789372c052c0ad"><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/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a><br/>
&nbsp;&nbsp;<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Specif.html#e4098fb21bb0cc5ef8d3e3bf7391b88b"><span class="id" title="notation">{</span></a><span class="id" title="var">p1</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Specif.html#e4098fb21bb0cc5ef8d3e3bf7391b88b"><span class="id" title="notation">:</span></a> <a class="idref" href="mathcomp.algebra.poly.html#699040ddc0986f520cece215f531d947"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.algebra.poly.html#699040ddc0986f520cece215f531d947"><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#699040ddc0986f520cece215f531d947"><span class="id" title="notation">}</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Specif.html#e4098fb21bb0cc5ef8d3e3bf7391b88b"><span class="id" title="notation">&amp;</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Specif.html#f5350ad671d3ce0e1e463e298917cf6e"><span class="id" title="notation">{</span></a><span class="id" title="var">a</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Specif.html#f5350ad671d3ce0e1e463e298917cf6e"><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#b1eeadc2feabc7422252baa895418c7b"><span class="id" title="notation">!=</span></a> 0 <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Specif.html#f5350ad671d3ce0e1e463e298917cf6e"><span class="id" title="notation">&amp;</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/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><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#81f8078534dcbb7e13a32d292f766525"><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/8.8.0/stdlib//Coq.Init.Specif.html#f5350ad671d3ce0e1e463e298917cf6e"><span class="id" title="notation">}</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Specif.html#e4098fb21bb0cc5ef8d3e3bf7391b88b"><span class="id" title="notation">&amp;</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Specif.html#5b63cb9ed0fed82566685c66e56592e4"><span class="id" title="notation">{</span></a><span class="id" title="var">r</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Specif.html#5b63cb9ed0fed82566685c66e56592e4"><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/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><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#22058a36a53dac65c94ca403bc62650a"><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/8.8.0/stdlib//Coq.Init.Specif.html#5b63cb9ed0fed82566685c66e56592e4"><span class="id" title="notation">}</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Specif.html#e4098fb21bb0cc5ef8d3e3bf7391b88b"><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#e36c289fb249221b43b9c978a67340fb"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.matrix.html#e36c289fb249221b43b9c978a67340fb"><span class="id" title="notation">M</span></a><a class="idref" href="mathcomp.algebra.matrix.html#e36c289fb249221b43b9c978a67340fb"><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#e36c289fb249221b43b9c978a67340fb"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.algebra.matrix.html#e36c289fb249221b43b9c978a67340fb"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.algebra.matrix.html#e36c289fb249221b43b9c978a67340fb"><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#e36c289fb249221b43b9c978a67340fb"><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#e36c289fb249221b43b9c978a67340fb"><span class="id" title="notation">)</span></a>) :<br/>
&nbsp;&nbsp;<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Specif.html#e4098fb21bb0cc5ef8d3e3bf7391b88b"><span class="id" title="notation">{</span></a><span class="id" title="var">L</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Specif.html#e4098fb21bb0cc5ef8d3e3bf7391b88b"><span class="id" title="notation">:</span></a> <a class="idref" href="mathcomp.algebra.matrix.html#d837c1a28d718b1ce93b8aa0ad2f20fe"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.matrix.html#d837c1a28d718b1ce93b8aa0ad2f20fe"><span class="id" title="notation">M</span></a><a class="idref" href="mathcomp.algebra.matrix.html#d837c1a28d718b1ce93b8aa0ad2f20fe"><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#d837c1a28d718b1ce93b8aa0ad2f20fe"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.algebra.matrix.html#d837c1a28d718b1ce93b8aa0ad2f20fe"><span class="id" title="notation">_m</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Specif.html#e4098fb21bb0cc5ef8d3e3bf7391b88b"><span class="id" title="notation">&amp;</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/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><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/8.8.0/stdlib//Coq.Init.Specif.html#e4098fb21bb0cc5ef8d3e3bf7391b88b"><span class="id" title="notation">&amp;</span></a><br/>
&nbsp;&nbsp;<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Specif.html#e4098fb21bb0cc5ef8d3e3bf7391b88b"><span class="id" title="notation">{</span></a><span class="id" title="var">R</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Specif.html#e4098fb21bb0cc5ef8d3e3bf7391b88b"><span class="id" title="notation">:</span></a> <a class="idref" href="mathcomp.algebra.matrix.html#d837c1a28d718b1ce93b8aa0ad2f20fe"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.matrix.html#d837c1a28d718b1ce93b8aa0ad2f20fe"><span class="id" title="notation">M</span></a><a class="idref" href="mathcomp.algebra.matrix.html#d837c1a28d718b1ce93b8aa0ad2f20fe"><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#d837c1a28d718b1ce93b8aa0ad2f20fe"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.algebra.matrix.html#d837c1a28d718b1ce93b8aa0ad2f20fe"><span class="id" title="notation">_n</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Specif.html#e4098fb21bb0cc5ef8d3e3bf7391b88b"><span class="id" title="notation">&amp;</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/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><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/8.8.0/stdlib//Coq.Init.Specif.html#e4098fb21bb0cc5ef8d3e3bf7391b88b"><span class="id" title="notation">&amp;</span></a><br/>
&nbsp;&nbsp;<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Specif.html#602b9943a639fb973abed6e2c7854421"><span class="id" title="notation">{</span></a><span class="id" title="var">d</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Specif.html#602b9943a639fb973abed6e2c7854421"><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/8.8.0/stdlib//Coq.Init.Specif.html#602b9943a639fb973abed6e2c7854421"><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/8.8.0/stdlib//Coq.Init.Specif.html#602b9943a639fb973abed6e2c7854421"><span class="id" title="notation">&amp;</span></a><br/>
&nbsp;&nbsp;&nbsp;<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/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><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#9c6b777e699b0b93592b907e7450465e"><span class="id" title="notation">×</span></a><a class="idref" href="mathcomp.algebra.matrix.html#9c6b777e699b0b93592b907e7450465e"><span class="id" title="notation">m</span></a> <a class="idref" href="mathcomp.algebra.matrix.html#9c6b777e699b0b93592b907e7450465e"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.matrix.html#2c5155dd82e4555ad208e1f95e711672"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.matrix.html#2c5155dd82e4555ad208e1f95e711672"><span class="id" title="notation">matrix_</span></a><a class="idref" href="mathcomp.algebra.matrix.html#2c5155dd82e4555ad208e1f95e711672"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span><a class="idref" href="mathcomp.algebra.matrix.html#2c5155dd82e4555ad208e1f95e711672"><span class="id" title="notation">,</span></a> <span class="id" title="var">j</span><a class="idref" href="mathcomp.algebra.matrix.html#2c5155dd82e4555ad208e1f95e711672"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.matrix.html#2c5155dd82e4555ad208e1f95e711672"><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#9625b440a0052f6dbfd015f5bb8b5125"><span class="id" title="notation">`</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#9625b440a0052f6dbfd015f5bb8b5125"><span class="id" title="notation">_i</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#891e51846c7d1d63a9cb5458374cf308"><span class="id" title="notation">*+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#891e51846c7d1d63a9cb5458374cf308"><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#340b60eb5a3e9913f807040630cb8d43"><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#340b60eb5a3e9913f807040630cb8d43"><span class="id" title="notation">:&gt;</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#nat"><span class="id" title="inductive">nat</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#891e51846c7d1d63a9cb5458374cf308"><span class="id" title="notation">)</span></a><a class="idref" href="mathcomp.algebra.matrix.html#2c5155dd82e4555ad208e1f95e711672"><span class="id" title="notation">)</span></a><a class="idref" href="mathcomp.algebra.matrix.html#9c6b777e699b0b93592b907e7450465e"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.matrix.html#9c6b777e699b0b93592b907e7450465e"><span class="id" title="notation">×</span></a><a class="idref" href="mathcomp.algebra.matrix.html#9c6b777e699b0b93592b907e7450465e"><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/8.8.0/stdlib//Coq.Init.Specif.html#602b9943a639fb973abed6e2c7854421"><span class="id" title="notation">}</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Specif.html#e4098fb21bb0cc5ef8d3e3bf7391b88b"><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#d8866adbd4a602b7b4cc275d73486ace"><span class="id" title="notation">.-</span></a><a class="idref" href="mathcomp.ssreflect.tuple.html#d8866adbd4a602b7b4cc275d73486ace"><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/>
&nbsp;&nbsp;<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#84eb6d2849dbf3581b1c0c05add5f2d8"><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#cd1bca6dfdb74a6b15c6c8969f27472a"><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/8.8.0/stdlib//Coq.Init.Logic.html#84eb6d2849dbf3581b1c0c05add5f2d8"><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/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b2bfc5b99c28e2c89b336d5f86347706"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#b2bfc5b99c28e2c89b336d5f86347706"><span class="id" title="notation">sum_</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#b2bfc5b99c28e2c89b336d5f86347706"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.algebra.ssralg.html#b2bfc5b99c28e2c89b336d5f86347706"><span class="id" title="notation">&lt;</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#b2bfc5b99c28e2c89b336d5f86347706"><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#9625b440a0052f6dbfd015f5bb8b5125"><span class="id" title="notation">`</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#9625b440a0052f6dbfd015f5bb8b5125"><span class="id" title="notation">_i</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#9c7c5437248d02e78f1fc1d9125e7f44"><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#d8866adbd4a602b7b4cc275d73486ace"><span class="id" title="notation">.-</span></a><a class="idref" href="mathcomp.ssreflect.tuple.html#d8866adbd4a602b7b4cc275d73486ace"><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/>
&nbsp;&nbsp;<a class="idref" href="http://coq.inria.fr/distrib/8.8.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>