aboutsummaryrefslogtreecommitdiff
path: root/docs/htmldoc/mathcomp.algebra.ssrint.html
diff options
context:
space:
mode:
authorEnrico Tassi2018-04-20 10:54:22 +0200
committerEnrico Tassi2018-04-20 10:54:22 +0200
commited05182cece6bb3706e09b2ce14af4a41a2e8141 (patch)
treee850d7314b6372d0476cf2ffaf7d3830721db7b1 /docs/htmldoc/mathcomp.algebra.ssrint.html
parent3d196f44681fb3b23ff8a79fbd44e12308680531 (diff)
generate the documentation for 1.7
Diffstat (limited to 'docs/htmldoc/mathcomp.algebra.ssrint.html')
-rw-r--r--docs/htmldoc/mathcomp.algebra.ssrint.html1711
1 files changed, 1711 insertions, 0 deletions
diff --git a/docs/htmldoc/mathcomp.algebra.ssrint.html b/docs/htmldoc/mathcomp.algebra.ssrint.html
new file mode 100644
index 0000000..69d035d
--- /dev/null
+++ b/docs/htmldoc/mathcomp.algebra.ssrint.html
@@ -0,0 +1,1711 @@
+<!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.ssrint</title>
+</head>
+
+<body>
+
+<div id="page">
+
+<div id="header">
+</div>
+
+<div id="main">
+
+<h1 class="libtitle">Library mathcomp.algebra.ssrint</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/>
+<span class="id" title="keyword">Import</span> <span class="id" title="var">GRing.Theory</span> <span class="id" title="var">Num.Theory</span>.<br/>
+
+<br/>
+</div>
+
+<div class="doc">
+ This file develops a basic theory of signed integers, defining:
+ int == the type of signed integers, with two constructors Posz for
+ non-negative integers and Negz for negative integers. It
+ supports the realDomainType interface (and its parents).
+ n%:Z == explicit cast from nat to int (:= Posz n); displayed as n.
+ However (Posz m = Posz n) is displayed as (m = n :&gt; int)
+ (and so are ==, != and &lt;&gt;)
+ Lemma NegzE : turns (Negz n) into - n.+1%:Z.
+ x *~ m == m times x, with m : int;
+ convertible to x *+ n if m is Posz n
+ convertible to x *- n.+1 if m is Negz n.
+ m%:~R == the image of m : int in a generic ring (:= 1 *~ m).
+ x ^ m == x to the m, with m : int;
+ convertible to x ^+ n if m is Posz n
+ convertible to x ^- n.+1 if m is Negz n.
+ sgz x == sign of x : R,
+ equals (0 : int) if and only x == 0,
+ equals (1 : int) if x is positive
+ and (-1 : int) otherwise.
+ `|m|%N == the n : nat such that `|m|%R = n%:Z, for m : int.
+ `|m - n|%N == the distance between m and n; the '-' is specialized to
+ the int type, so m and n can be either of type nat or int
+ thanks to the Posz coercion; m and n are however parsed in
+ the %N scope. The IntDist submodule provides this notation
+ and the corresponding theory independently of the rest of
+ of the int and ssralg libraries (and notations).
+ Warning: due to the declaration of Posz as a coercion, two terms might be
+ displayed the same while not being convertible, for instance:
+ (Posz (x - y)) and (Posz x) - (Posz y) for x, y : nat.
+</div>
+<div class="code">
+
+<br/>
+<span class="id" title="keyword">Set Implicit Arguments</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Delimit</span> <span class="id" title="keyword">Scope</span> <span class="id" title="var">int_scope</span> <span class="id" title="keyword">with</span> <span class="id" title="var">Z</span>.<br/>
+<span class="id" title="keyword">Local Open</span> <span class="id" title="keyword">Scope</span> <span class="id" title="var">int_scope</span>.<br/>
+
+<br/>
+</div>
+
+<div class="doc">
+ Defining int
+</div>
+<div class="code">
+<span class="id" title="keyword">CoInductive</span> <a name="int"><span class="id" title="inductive">int</span></a> : <span class="id" title="keyword">Set</span> := <a name="Posz"><span class="id" title="constructor">Posz</span></a> <span class="id" title="keyword">of</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 name="Negz"><span class="id" title="constructor">Negz</span></a> <span class="id" title="keyword">of</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>.<br/>
+</div>
+
+<div class="doc">
+ This must be deferred to module DistInt to work around the design flaws of
+ the Coq module system.
+ Coercion Posz : nat &gt;-&gt; int.
+</div>
+<div class="code">
+
+<br/>
+<span class="id" title="keyword">Notation</span> <a name="126d76b057f81b05864330fde4c4160e"><span class="id" title="notation">&quot;</span></a>n %:Z" := (<a class="idref" href="mathcomp.algebra.ssrint.html#Posz"><span class="id" title="constructor">Posz</span></a> <span class="id" title="var">n</span>)<br/>
+&nbsp;&nbsp;(<span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 2, <span class="id" title="tactic">left</span> <span class="id" title="keyword">associativity</span>, <span class="id" title="var">format</span> "n %:Z", <span class="id" title="var">only</span> <span class="id" title="var">parsing</span>) : <span class="id" title="var">int_scope</span>.<br/>
+<span class="id" title="keyword">Notation</span> <a name="9fc2e395aa5602e5669820ba2f5dcc44"><span class="id" title="notation">&quot;</span></a>n %:Z" := (<a class="idref" href="mathcomp.algebra.ssrint.html#Posz"><span class="id" title="constructor">Posz</span></a> <span class="id" title="var">n</span>)<br/>
+&nbsp;&nbsp;(<span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 2, <span class="id" title="tactic">left</span> <span class="id" title="keyword">associativity</span>, <span class="id" title="var">format</span> "n %:Z", <span class="id" title="var">only</span> <span class="id" title="var">parsing</span>) : <span class="id" title="var">ring_scope</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Notation</span> <a name="45a8e46c2c24c9807e8c3101ee0ff7b9"><span class="id" title="notation">&quot;</span></a>n = m :&gt; 'in' 't'" := (<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.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#Posz"><span class="id" title="constructor">Posz</span></a> <span class="id" title="var">m</span>)<br/>
+&nbsp;&nbsp;(<span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 70, <span class="id" title="var">m</span> <span class="id" title="tactic">at</span> <span class="id" title="var">next</span> <span class="id" title="keyword">level</span>, <span class="id" title="var">format</span> "n = m :&gt; 'in' 't'") : <span class="id" title="var">ring_scope</span>.<br/>
+<span class="id" title="keyword">Notation</span> <a name="ab9139e0ccf69901be0c6a3cb90ac257"><span class="id" title="notation">&quot;</span></a>n == m :&gt; 'in' 't'" := (<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="mathcomp.ssreflect.eqtype.html#17d28d004d0863cb022d4ce832ddaaae"><span class="id" title="notation">==</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#Posz"><span class="id" title="constructor">Posz</span></a> <span class="id" title="var">m</span>)<br/>
+&nbsp;&nbsp;(<span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 70, <span class="id" title="var">m</span> <span class="id" title="tactic">at</span> <span class="id" title="var">next</span> <span class="id" title="keyword">level</span>, <span class="id" title="var">format</span> "n == m :&gt; 'in' 't'") : <span class="id" title="var">ring_scope</span>.<br/>
+<span class="id" title="keyword">Notation</span> <a name="d84fb74546ea22cddcc4bc035d0a8b9e"><span class="id" title="notation">&quot;</span></a>n != m :&gt; 'in' 't'" := (<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="mathcomp.ssreflect.eqtype.html#b1eeadc2feabc7422252baa895418c7b"><span class="id" title="notation">!=</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#Posz"><span class="id" title="constructor">Posz</span></a> <span class="id" title="var">m</span>)<br/>
+&nbsp;&nbsp;(<span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 70, <span class="id" title="var">m</span> <span class="id" title="tactic">at</span> <span class="id" title="var">next</span> <span class="id" title="keyword">level</span>, <span class="id" title="var">format</span> "n != m :&gt; 'in' 't'") : <span class="id" title="var">ring_scope</span>.<br/>
+<span class="id" title="keyword">Notation</span> <a name="3b19d3e2cf8aca4522a16960ed34c305"><span class="id" title="notation">&quot;</span></a>n &lt;&gt; m :&gt; 'in' 't'" := (<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.Logic.html#32263a1c8b01baecdff9deb038955bc9"><span class="id" title="notation">≠</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#Posz"><span class="id" title="constructor">Posz</span></a> <span class="id" title="var">m</span>)<br/>
+&nbsp;&nbsp;(<span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 70, <span class="id" title="var">m</span> <span class="id" title="tactic">at</span> <span class="id" title="var">next</span> <span class="id" title="keyword">level</span>, <span class="id" title="var">format</span> "n &lt;&gt; m :&gt; 'in' 't'") : <span class="id" title="var">ring_scope</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Definition</span> <a name="natsum_of_int"><span class="id" title="definition">natsum_of_int</span></a> (<span class="id" title="var">m</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#nat"><span class="id" title="inductive">nat</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#3dcaec3b772747610227247939f96b01"><span class="id" title="notation">+</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> :=<br/>
+&nbsp;&nbsp;<span class="id" title="keyword">match</span> <a class="idref" href="mathcomp.algebra.ssrint.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">p</span> ⇒ <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#inl"><span class="id" title="constructor">inl</span></a> <span class="id" title="var">_</span> <span class="id" title="var">p</span> | <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#inr"><span class="id" title="constructor">inr</span></a> <span class="id" title="var">_</span> <span class="id" title="var">n</span> <span class="id" title="keyword">end</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Definition</span> <a name="int_of_natsum"><span class="id" title="definition">int_of_natsum</span></a> (<span class="id" title="var">m</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="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#3dcaec3b772747610227247939f96b01"><span class="id" title="notation">+</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>) :=<br/>
+&nbsp;&nbsp;<span class="id" title="keyword">match</span> <a class="idref" href="mathcomp.algebra.ssrint.html#m"><span class="id" title="variable">m</span></a> <span class="id" title="keyword">with</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#inl"><span class="id" title="constructor">inl</span></a> <span class="id" title="var">p</span> ⇒ <a class="idref" href="mathcomp.algebra.ssrint.html#Posz"><span class="id" title="constructor">Posz</span></a> <span class="id" title="var">p</span> | <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#inr"><span class="id" title="constructor">inr</span></a> <span class="id" title="var">n</span> ⇒ <a class="idref" href="mathcomp.algebra.ssrint.html#Negz"><span class="id" title="constructor">Negz</span></a> <span class="id" title="var">n</span> <span class="id" title="keyword">end</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="natsum_of_intK"><span class="id" title="lemma">natsum_of_intK</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#cancel"><span class="id" title="definition">cancel</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#natsum_of_int"><span class="id" title="definition">natsum_of_int</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#int_of_natsum"><span class="id" title="definition">int_of_natsum</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Definition</span> <a name="int_eqMixin"><span class="id" title="definition">int_eqMixin</span></a> := <a class="idref" href="mathcomp.ssreflect.eqtype.html#CanEqMixin"><span class="id" title="definition">CanEqMixin</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#natsum_of_intK"><span class="id" title="lemma">natsum_of_intK</span></a>.<br/>
+<span class="id" title="keyword">Definition</span> <a name="int_countMixin"><span class="id" title="definition">int_countMixin</span></a> := <a class="idref" href="mathcomp.ssreflect.choice.html#CanCountMixin"><span class="id" title="definition">CanCountMixin</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#natsum_of_intK"><span class="id" title="lemma">natsum_of_intK</span></a>.<br/>
+<span class="id" title="keyword">Definition</span> <a name="int_choiceMixin"><span class="id" title="definition">int_choiceMixin</span></a> := <a class="idref" href="mathcomp.ssreflect.choice.html#Countable.Exports.CountChoiceMixin"><span class="id" title="abbreviation">CountChoiceMixin</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#int_countMixin"><span class="id" title="definition">int_countMixin</span></a>.<br/>
+<span class="id" title="keyword">Canonical</span> <span class="id" title="var">int_eqType</span> := <span class="id" title="keyword">Eval</span> <span class="id" title="tactic">hnf</span> <span class="id" title="tactic">in</span> <a class="idref" href="mathcomp.ssreflect.eqtype.html#Equality.Exports.EqType"><span class="id" title="abbreviation">EqType</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.ssrint.html#int_eqMixin"><span class="id" title="definition">int_eqMixin</span></a>.<br/>
+<span class="id" title="keyword">Canonical</span> <span class="id" title="var">int_choiceType</span> := <span class="id" title="keyword">Eval</span> <span class="id" title="tactic">hnf</span> <span class="id" title="tactic">in</span> <a class="idref" href="mathcomp.ssreflect.choice.html#Choice.Exports.ChoiceType"><span class="id" title="abbreviation">ChoiceType</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.ssrint.html#int_choiceMixin"><span class="id" title="definition">int_choiceMixin</span></a>.<br/>
+<span class="id" title="keyword">Canonical</span> <span class="id" title="var">int_countType</span> := <span class="id" title="keyword">Eval</span> <span class="id" title="tactic">hnf</span> <span class="id" title="tactic">in</span> <a class="idref" href="mathcomp.ssreflect.choice.html#Countable.Exports.CountType"><span class="id" title="abbreviation">CountType</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.ssrint.html#int_countMixin"><span class="id" title="definition">int_countMixin</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="eqz_nat"><span class="id" title="lemma">eqz_nat</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.Datatypes.html#nat"><span class="id" title="inductive">nat</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#m"><span class="id" title="variable">m</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#126d76b057f81b05864330fde4c4160e"><span class="id" title="notation">%:</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#126d76b057f81b05864330fde4c4160e"><span class="id" title="notation">Z</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#17d28d004d0863cb022d4ce832ddaaae"><span class="id" title="notation">==</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#126d76b057f81b05864330fde4c4160e"><span class="id" title="notation">%:</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#126d76b057f81b05864330fde4c4160e"><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="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#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.ssrint.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">Module</span> <a name="intZmod"><span class="id" title="module">intZmod</span></a>.<br/>
+<span class="id" title="keyword">Section</span> <a name="intZmod.intZmod"><span class="id" title="section">intZmod</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Definition</span> <a name="intZmod.addz"><span class="id" title="definition">addz</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>) :=<br/>
+&nbsp;&nbsp;<span class="id" title="keyword">match</span> <a class="idref" href="mathcomp.algebra.ssrint.html#m"><span class="id" title="variable">m</span></a>, <a class="idref" href="mathcomp.algebra.ssrint.html#n"><span class="id" title="variable">n</span></a> <span class="id" title="keyword">with</span><br/>
+&nbsp;&nbsp;&nbsp;&nbsp;| <a class="idref" href="mathcomp.algebra.ssrint.html#Posz"><span class="id" title="constructor">Posz</span></a> <span class="id" title="var">m'</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="mathcomp.algebra.ssrint.html#Posz"><span class="id" title="constructor">Posz</span></a> (<span class="id" title="var">m'</span> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#b3eea360671e1b32b18a26e15b3aace3"><span class="id" title="notation">+</span></a> <span class="id" title="var">n'</span>)<br/>
+&nbsp;&nbsp;&nbsp;&nbsp;| <a class="idref" href="mathcomp.algebra.ssrint.html#Negz"><span class="id" title="constructor">Negz</span></a> <span class="id" title="var">m'</span>, <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="mathcomp.algebra.ssrint.html#Negz"><span class="id" title="constructor">Negz</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#361454269931ea8643f7b402f2ab7222"><span class="id" title="notation">(</span></a><span class="id" title="var">m'</span> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#b3eea360671e1b32b18a26e15b3aace3"><span class="id" title="notation">+</span></a> <span class="id" title="var">n'</span><a class="idref" href="mathcomp.ssreflect.ssrnat.html#361454269931ea8643f7b402f2ab7222"><span class="id" title="notation">).+1</span></a><br/>
+&nbsp;&nbsp;&nbsp;&nbsp;| <a class="idref" href="mathcomp.algebra.ssrint.html#Posz"><span class="id" title="constructor">Posz</span></a> <span class="id" title="var">m'</span>, <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.ssr.ssreflect.html#0348819abaa88c2cd747e8fa60dde7ae"><span class="id" title="notation">if</span></a> <span class="id" title="var">n'</span> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#989c98e7ddd65d5bf37c334ff2076de8"><span class="id" title="notation">&lt;</span></a> <span class="id" title="var">m'</span> <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="mathcomp.algebra.ssrint.html#Posz"><span class="id" title="constructor">Posz</span></a> (<span class="id" title="var">m'</span> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#9482aae3d3b06e249765c1225dbb8cbb"><span class="id" title="notation">-</span></a> <span class="id" title="var">n'</span><a class="idref" href="mathcomp.ssreflect.ssrnat.html#361454269931ea8643f7b402f2ab7222"><span class="id" title="notation">.+1</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> <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="mathcomp.ssreflect.ssrnat.html#9482aae3d3b06e249765c1225dbb8cbb"><span class="id" title="notation">-</span></a> <span class="id" title="var">m'</span>)<br/>
+&nbsp;&nbsp;&nbsp;&nbsp;| <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="mathcomp.algebra.ssrint.html#Posz"><span class="id" title="constructor">Posz</span></a> <span class="id" title="var">m'</span> ⇒ <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> <span class="id" title="var">n'</span> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#989c98e7ddd65d5bf37c334ff2076de8"><span class="id" title="notation">&lt;</span></a> <span class="id" title="var">m'</span> <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="mathcomp.algebra.ssrint.html#Posz"><span class="id" title="constructor">Posz</span></a> (<span class="id" title="var">m'</span> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#9482aae3d3b06e249765c1225dbb8cbb"><span class="id" title="notation">-</span></a> <span class="id" title="var">n'</span><a class="idref" href="mathcomp.ssreflect.ssrnat.html#361454269931ea8643f7b402f2ab7222"><span class="id" title="notation">.+1</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> <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="mathcomp.ssreflect.ssrnat.html#9482aae3d3b06e249765c1225dbb8cbb"><span class="id" title="notation">-</span></a> <span class="id" title="var">m'</span>)<br/>
+&nbsp;&nbsp;<span class="id" title="keyword">end</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Definition</span> <a name="intZmod.oppz"><span class="id" title="definition">oppz</span></a> <span class="id" title="var">m</span> := <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssreflect.html#nosimpl"><span class="id" title="abbreviation">nosimpl</span></a><br/>
+&nbsp;&nbsp;<span class="id" title="keyword">match</span> <a class="idref" href="mathcomp.algebra.ssrint.html#m"><span class="id" title="variable">m</span></a> <span class="id" title="keyword">with</span><br/>
+&nbsp;&nbsp;&nbsp;&nbsp;| <a class="idref" href="mathcomp.algebra.ssrint.html#Posz"><span class="id" title="constructor">Posz</span></a> <span class="id" title="var">n</span> ⇒ <span class="id" title="keyword">if</span> <span class="id" title="var">n</span> <span class="id" title="keyword">is</span> (<span class="id" title="var">n'</span><a class="idref" href="mathcomp.ssreflect.ssrnat.html#361454269931ea8643f7b402f2ab7222"><span class="id" title="notation">.+1</span></a>)%<span class="id" title="var">N</span> <span class="id" title="keyword">then</span> <a class="idref" href="mathcomp.algebra.ssrint.html#Negz"><span class="id" title="constructor">Negz</span></a> <span class="id" title="var">n'</span> <span class="id" title="keyword">else</span> <a class="idref" href="mathcomp.algebra.ssrint.html#Posz"><span class="id" title="constructor">Posz</span></a> 0<br/>
+&nbsp;&nbsp;&nbsp;&nbsp;| <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="mathcomp.algebra.ssrint.html#Posz"><span class="id" title="constructor">Posz</span></a> (<span class="id" title="var">n</span><a class="idref" href="mathcomp.ssreflect.ssrnat.html#361454269931ea8643f7b402f2ab7222"><span class="id" title="notation">.+1</span></a>)%<span class="id" title="var">N</span><br/>
+&nbsp;&nbsp;<span class="id" title="keyword">end</span>.<br/>
+
+<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="intZmod.PoszD"><span class="id" title="lemma">PoszD</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#a0fd72584f326d7220475d01d3fceccd"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#a0fd72584f326d7220475d01d3fceccd"><span class="id" title="notation">morph</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.ssr.ssrfun.html#a0fd72584f326d7220475d01d3fceccd"><span class="id" title="notation">:</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.ssrfun.html#a0fd72584f326d7220475d01d3fceccd"><span class="id" title="notation">/</span></a> (<a class="idref" href="mathcomp.algebra.ssrint.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#b3eea360671e1b32b18a26e15b3aace3"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.algebra.ssrint.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.ssr.ssrfun.html#a0fd72584f326d7220475d01d3fceccd"><span class="id" title="notation">&gt;-&gt;</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#d3ec034893cac385d2261c9b67bd46a4"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#a0fd72584f326d7220475d01d3fceccd"><span class="id" title="notation">}</span></a>. <br/>
+
+<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="intZmod.NegzE"><span class="id" title="lemma">NegzE</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#nat"><span class="id" title="inductive">nat</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.ssrint.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#fd14de08ee988ca4bf75ec91ab30dd39"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.ssreflect.ssrnat.html#361454269931ea8643f7b402f2ab7222"><span class="id" title="notation">.+1</span></a>. <br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="intZmod.int_rect"><span class="id" title="lemma">int_rect</span></a> (<span class="id" title="var">P</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.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <span class="id" title="keyword">Type</span>) :<br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.algebra.ssrint.html#P"><span class="id" title="variable">P</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#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">(</span></a><span class="id" title="keyword">∀</span> <span class="id" title="var">n</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.ssrint.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.algebra.ssrint.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.ssrint.html#P"><span class="id" title="variable">P</span></a> (<a class="idref" href="mathcomp.algebra.ssrint.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.ssreflect.ssrnat.html#361454269931ea8643f7b402f2ab7222"><span class="id" title="notation">.+1</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.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><span class="id" title="keyword">∀</span> <span class="id" title="var">n</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.ssrint.html#P"><span class="id" title="variable">P</span></a> (<a class="idref" href="mathcomp.algebra.ssrint.html#fd14de08ee988ca4bf75ec91ab30dd39"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.ssrint.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.ssrint.html#P"><span class="id" title="variable">P</span></a> (<a class="idref" href="mathcomp.algebra.ssrint.html#fd14de08ee988ca4bf75ec91ab30dd39"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#fd14de08ee988ca4bf75ec91ab30dd39"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#n"><span class="id" title="variable">n</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#fd14de08ee988ca4bf75ec91ab30dd39"><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><br/>
+&nbsp;&nbsp;<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">∀</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="mathcomp.algebra.ssrint.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#n"><span class="id" title="variable">n</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Definition</span> <a name="intZmod.int_rec"><span class="id" title="definition">int_rec</span></a> := <a class="idref" href="mathcomp.algebra.ssrint.html#intZmod.int_rect"><span class="id" title="lemma">int_rect</span></a>.<br/>
+<span class="id" title="keyword">Definition</span> <a name="intZmod.int_ind"><span class="id" title="definition">int_ind</span></a> := <a class="idref" href="mathcomp.algebra.ssrint.html#intZmod.int_rect"><span class="id" title="lemma">int_rect</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">CoInductive</span> <a name="intZmod.int_spec"><span class="id" title="inductive">int_spec</span></a> (<span class="id" title="var">x</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="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/>
+| <a name="intZmod.ZintNull"><span class="id" title="constructor">ZintNull</span></a> <span class="id" title="keyword">of</span> <a class="idref" href="mathcomp.algebra.ssrint.html#x"><span class="id" title="variable">x</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 : <a class="idref" href="mathcomp.algebra.ssrint.html#int_spec"><span class="id" title="inductive">int_spec</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#x"><span class="id" title="variable">x</span></a> 0<br/>
+| <a name="intZmod.ZintPos"><span class="id" title="constructor">ZintPos</span></a> <span class="id" title="var">n</span> <span class="id" title="keyword">of</span> <a class="idref" href="mathcomp.algebra.ssrint.html#x"><span class="id" title="variable">x</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#n"><span class="id" title="variable">n</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#int_spec"><span class="id" title="inductive">int_spec</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.ssreflect.ssrnat.html#361454269931ea8643f7b402f2ab7222"><span class="id" title="notation">.+1</span></a><br/>
+| <a name="intZmod.ZintNeg"><span class="id" title="constructor">ZintNeg</span></a> <span class="id" title="var">n</span> <span class="id" title="keyword">of</span> <a class="idref" href="mathcomp.algebra.ssrint.html#x"><span class="id" title="variable">x</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#fd14de08ee988ca4bf75ec91ab30dd39"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#126d76b057f81b05864330fde4c4160e"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#n"><span class="id" title="variable">n</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#126d76b057f81b05864330fde4c4160e"><span class="id" title="notation">)%:</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#126d76b057f81b05864330fde4c4160e"><span class="id" title="notation">Z</span></a> : <a class="idref" href="mathcomp.algebra.ssrint.html#int_spec"><span class="id" title="inductive">int_spec</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#x"><span class="id" title="variable">x</span></a> (<a class="idref" href="mathcomp.algebra.ssrint.html#fd14de08ee988ca4bf75ec91ab30dd39"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.ssreflect.ssrnat.html#361454269931ea8643f7b402f2ab7222"><span class="id" title="notation">.+1</span></a>).<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="intZmod.intP"><span class="id" title="lemma">intP</span></a> <span class="id" title="var">x</span> : <a class="idref" href="mathcomp.algebra.ssrint.html#intZmod.int_spec"><span class="id" title="inductive">int_spec</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#x"><span class="id" title="variable">x</span></a>. <br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="intZmod.addzC"><span class="id" title="lemma">addzC</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.ssrint.html#intZmod.addz"><span class="id" title="definition">addz</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="intZmod.add0z"><span class="id" title="lemma">add0z</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#left_id"><span class="id" title="definition">left_id</span></a> 0 <a class="idref" href="mathcomp.algebra.ssrint.html#intZmod.addz"><span class="id" title="definition">addz</span></a>. <br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="intZmod.oppzK"><span class="id" title="lemma">oppzK</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#involutive"><span class="id" title="definition">involutive</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#intZmod.oppz"><span class="id" title="definition">oppz</span></a>. <br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="intZmod.oppz_add"><span class="id" title="lemma">oppz_add</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#3014e73af2a90fd800d8681479d76336"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#3014e73af2a90fd800d8681479d76336"><span class="id" title="notation">morph</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#intZmod.oppz"><span class="id" title="definition">oppz</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#3014e73af2a90fd800d8681479d76336"><span class="id" title="notation">:</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.ssrfun.html#3014e73af2a90fd800d8681479d76336"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#d3ec034893cac385d2261c9b67bd46a4"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#3014e73af2a90fd800d8681479d76336"><span class="id" title="notation">}</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="intZmod.add1Pz"><span class="id" title="lemma">add1Pz</span></a> (<span class="id" title="var">n</span> : <a class="idref" href="mathcomp.algebra.ssrint.html#int"><span class="id" title="inductive">int</span></a>) : 1 <a class="idref" href="mathcomp.algebra.ssrint.html#d3ec034893cac385d2261c9b67bd46a4"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#d3ec034893cac385d2261c9b67bd46a4"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#2553e52a52e348d7cd01529c54d5b3d8"><span class="id" title="notation">-</span></a> 1<a class="idref" href="mathcomp.algebra.ssrint.html#d3ec034893cac385d2261c9b67bd46a4"><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#n"><span class="id" title="variable">n</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="intZmod.subSz1"><span class="id" title="lemma">subSz1</span></a> (<span class="id" title="var">n</span> : <a class="idref" href="mathcomp.algebra.ssrint.html#int"><span class="id" title="inductive">int</span></a>) : 1 <a class="idref" href="mathcomp.algebra.ssrint.html#d3ec034893cac385d2261c9b67bd46a4"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#2553e52a52e348d7cd01529c54d5b3d8"><span class="id" title="notation">-</span></a> 1 <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#n"><span class="id" title="variable">n</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="intZmod.addSnz"><span class="id" title="lemma">addSnz</span></a> (<span class="id" title="var">m</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>) (<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="mathcomp.algebra.ssrint.html#d3ec034893cac385d2261c9b67bd46a4"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#m"><span class="id" title="variable">m</span></a><a class="idref" href="mathcomp.ssreflect.ssrnat.html#361454269931ea8643f7b402f2ab7222"><span class="id" title="notation">.+1</span></a>%<span class="id" title="var">N</span><a class="idref" href="mathcomp.algebra.ssrint.html#d3ec034893cac385d2261c9b67bd46a4"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#d3ec034893cac385d2261c9b67bd46a4"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.algebra.ssrint.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.ssrint.html#d3ec034893cac385d2261c9b67bd46a4"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#d3ec034893cac385d2261c9b67bd46a4"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#d3ec034893cac385d2261c9b67bd46a4"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#d3ec034893cac385d2261c9b67bd46a4"><span class="id" title="notation">)</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="intZmod.addSz"><span class="id" title="lemma">addSz</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="mathcomp.algebra.ssrint.html#d3ec034893cac385d2261c9b67bd46a4"><span class="id" title="notation">(</span></a>1 <a class="idref" href="mathcomp.algebra.ssrint.html#d3ec034893cac385d2261c9b67bd46a4"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#m"><span class="id" title="variable">m</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#d3ec034893cac385d2261c9b67bd46a4"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#d3ec034893cac385d2261c9b67bd46a4"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.algebra.ssrint.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.ssrint.html#d3ec034893cac385d2261c9b67bd46a4"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#d3ec034893cac385d2261c9b67bd46a4"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#d3ec034893cac385d2261c9b67bd46a4"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#d3ec034893cac385d2261c9b67bd46a4"><span class="id" title="notation">)</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="intZmod.addPz"><span class="id" title="lemma">addPz</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="mathcomp.algebra.ssrint.html#d3ec034893cac385d2261c9b67bd46a4"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#2553e52a52e348d7cd01529c54d5b3d8"><span class="id" title="notation">-</span></a> 1<a class="idref" href="mathcomp.algebra.ssrint.html#d3ec034893cac385d2261c9b67bd46a4"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#d3ec034893cac385d2261c9b67bd46a4"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.algebra.ssrint.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#2553e52a52e348d7cd01529c54d5b3d8"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#d3ec034893cac385d2261c9b67bd46a4"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#2553e52a52e348d7cd01529c54d5b3d8"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#2553e52a52e348d7cd01529c54d5b3d8"><span class="id" title="notation">-</span></a> 1.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="intZmod.addzA"><span class="id" title="lemma">addzA</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.ssrint.html#intZmod.addz"><span class="id" title="definition">addz</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="intZmod.addNz"><span class="id" title="lemma">addNz</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#left_inverse"><span class="id" title="definition">left_inverse</span></a> (0<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.ssrint.html#int"><span class="id" title="inductive">int</span></a>) <a class="idref" href="mathcomp.algebra.ssrint.html#intZmod.oppz"><span class="id" title="definition">oppz</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#intZmod.addz"><span class="id" title="definition">addz</span></a>. <br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="intZmod.predn_int"><span class="id" title="lemma">predn_int</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#nat"><span class="id" title="inductive">nat</span></a>) : 0 <a class="idref" href="mathcomp.ssreflect.ssrnat.html#989c98e7ddd65d5bf37c334ff2076de8"><span class="id" title="notation">&lt;</span></a> <a class="idref" href="mathcomp.algebra.ssrint.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.ssrint.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.ssreflect.ssrnat.html#1d63841e595f2805afd872744cbb1cce"><span class="id" title="notation">.-1</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#126d76b057f81b05864330fde4c4160e"><span class="id" title="notation">%:</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#126d76b057f81b05864330fde4c4160e"><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.ssrint.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#2553e52a52e348d7cd01529c54d5b3d8"><span class="id" title="notation">-</span></a> 1.<br/>
+
+<br/>
+<span class="id" title="keyword">Definition</span> <a name="intZmod.Mixin"><span class="id" title="definition">Mixin</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Zmodule.Exports.ZmodMixin"><span class="id" title="abbreviation">ZmodMixin</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#intZmod.addzA"><span class="id" title="lemma">addzA</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#intZmod.addzC"><span class="id" title="lemma">addzC</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#intZmod.add0z"><span class="id" title="lemma">add0z</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#intZmod.addNz"><span class="id" title="lemma">addNz</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.algebra.ssrint.html#intZmod.intZmod"><span class="id" title="section">intZmod</span></a>.<br/>
+<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.algebra.ssrint.html#intZmod"><span class="id" title="module">intZmod</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Canonical</span> <span class="id" title="var">int_ZmodType</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Zmodule.Exports.ZmodType"><span class="id" title="abbreviation">ZmodType</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.ssrint.html#Mixin"><span class="id" title="definition">intZmod.Mixin</span></a>.<br/>
+
+<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">Section</span> <a name="intZmoduleTheory"><span class="id" title="section">intZmoduleTheory</span></a>.<br/>
+
+<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="PoszD"><span class="id" title="lemma">PoszD</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#a0fd72584f326d7220475d01d3fceccd"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#a0fd72584f326d7220475d01d3fceccd"><span class="id" title="notation">morph</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.ssr.ssrfun.html#a0fd72584f326d7220475d01d3fceccd"><span class="id" title="notation">:</span></a> <span class="id" title="var">n</span> <span class="id" title="var">m</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#a0fd72584f326d7220475d01d3fceccd"><span class="id" title="notation">/</span></a> (<a class="idref" href="mathcomp.algebra.ssrint.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#b3eea360671e1b32b18a26e15b3aace3"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.algebra.ssrint.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.ssr.ssrfun.html#a0fd72584f326d7220475d01d3fceccd"><span class="id" title="notation">&gt;-&gt;</span></a> <a class="idref" href="mathcomp.algebra.ssrint.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.ssrint.html#m"><span class="id" title="variable">m</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#a0fd72584f326d7220475d01d3fceccd"><span class="id" title="notation">}</span></a>. <br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="NegzE"><span class="id" title="lemma">NegzE</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#nat"><span class="id" title="inductive">nat</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.ssrint.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.ssralg.html#941c6d086004545bd62614d0213e75e5"><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#n"><span class="id" title="variable">n</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="int_rect"><span class="id" title="lemma">int_rect</span></a> (<span class="id" title="var">P</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.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <span class="id" title="keyword">Type</span>) :<br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.algebra.ssrint.html#P"><span class="id" title="variable">P</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#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">(</span></a><span class="id" title="keyword">∀</span> <span class="id" title="var">n</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.ssrint.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.algebra.ssrint.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.ssrint.html#P"><span class="id" title="variable">P</span></a> (<a class="idref" href="mathcomp.algebra.ssrint.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.ssreflect.ssrnat.html#361454269931ea8643f7b402f2ab7222"><span class="id" title="notation">.+1</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><br/>
+&nbsp;&nbsp;<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><span class="id" title="keyword">∀</span> <span class="id" title="var">n</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.ssrint.html#P"><span class="id" title="variable">P</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#941c6d086004545bd62614d0213e75e5"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#n"><span class="id" title="variable">n</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#941c6d086004545bd62614d0213e75e5"><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="mathcomp.algebra.ssrint.html#P"><span class="id" title="variable">P</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#941c6d086004545bd62614d0213e75e5"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.ssreflect.ssrnat.html#361454269931ea8643f7b402f2ab7222"><span class="id" title="notation">.+1</span></a>%<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.algebra.ssrint.html#9fc2e395aa5602e5669820ba2f5dcc44"><span class="id" title="notation">Z</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#941c6d086004545bd62614d0213e75e5"><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><br/>
+&nbsp;&nbsp;<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">∀</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="mathcomp.algebra.ssrint.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#n"><span class="id" title="variable">n</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Definition</span> <a name="int_rec"><span class="id" title="definition">int_rec</span></a> := <a class="idref" href="mathcomp.algebra.ssrint.html#int_rect"><span class="id" title="lemma">int_rect</span></a>.<br/>
+<span class="id" title="keyword">Definition</span> <a name="int_ind"><span class="id" title="definition">int_ind</span></a> := <a class="idref" href="mathcomp.algebra.ssrint.html#int_rect"><span class="id" title="lemma">int_rect</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">CoInductive</span> <a name="int_spec"><span class="id" title="inductive">int_spec</span></a> (<span class="id" title="var">x</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="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/>
+| <a name="ZintNull"><span class="id" title="constructor">ZintNull</span></a> : <a class="idref" href="mathcomp.algebra.ssrint.html#int_spec"><span class="id" title="inductive">int_spec</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#x"><span class="id" title="variable">x</span></a> 0<br/>
+| <a name="ZintPos"><span class="id" title="constructor">ZintPos</span></a> <span class="id" title="var">n</span> : <a class="idref" href="mathcomp.algebra.ssrint.html#int_spec"><span class="id" title="inductive">int_spec</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.ssreflect.ssrnat.html#361454269931ea8643f7b402f2ab7222"><span class="id" title="notation">.+1</span></a><br/>
+| <a name="ZintNeg"><span class="id" title="constructor">ZintNeg</span></a> <span class="id" title="var">n</span> : <a class="idref" href="mathcomp.algebra.ssrint.html#int_spec"><span class="id" title="inductive">int_spec</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#x"><span class="id" title="variable">x</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#941c6d086004545bd62614d0213e75e5"><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#n"><span class="id" title="variable">n</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="intP"><span class="id" title="lemma">intP</span></a> <span class="id" title="var">x</span> : <a class="idref" href="mathcomp.algebra.ssrint.html#int_spec"><span class="id" title="inductive">int_spec</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#x"><span class="id" title="variable">x</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Definition</span> <a name="oppz_add"><span class="id" title="definition">oppz_add</span></a> := (@<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Theory.opprD"><span class="id" title="definition">opprD</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#af6385fc2df84aeeec6855073f75cc68"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#af6385fc2df84aeeec6855073f75cc68"><span class="id" title="notation">zmodType</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#af6385fc2df84aeeec6855073f75cc68"><span class="id" title="notation">of</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.ssralg.html#af6385fc2df84aeeec6855073f75cc68"><span class="id" title="notation">]</span></a>).<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="subzn"><span class="id" title="lemma">subzn</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.Datatypes.html#nat"><span class="id" title="inductive">nat</span></a>) : (<a class="idref" href="mathcomp.algebra.ssrint.html#n"><span class="id" title="variable">n</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#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="mathcomp.algebra.ssrint.html#m"><span class="id" title="variable">m</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> <a class="idref" href="mathcomp.algebra.ssrint.html#n"><span class="id" title="variable">n</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.ssrint.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.ssrint.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="subzSS"><span class="id" title="lemma">subzSS</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.Datatypes.html#nat"><span class="id" title="inductive">nat</span></a>) : <a class="idref" href="mathcomp.algebra.ssrint.html#m"><span class="id" title="variable">m</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> <a class="idref" href="mathcomp.algebra.ssralg.html#d70623330b2787db6b196e37db7d8f45"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#n"><span class="id" title="variable">n</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> <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#m"><span class="id" title="variable">m</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> <a class="idref" href="mathcomp.algebra.ssrint.html#n"><span class="id" title="variable">n</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">End</span> <a class="idref" href="mathcomp.algebra.ssrint.html#intZmoduleTheory"><span class="id" title="section">intZmoduleTheory</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Module</span> <a name="intRing"><span class="id" title="module">intRing</span></a>.<br/>
+<span class="id" title="keyword">Section</span> <a name="intRing.intRing"><span class="id" title="section">intRing</span></a>.<br/>
+
+<br/>
+
+<br/>
+<span class="id" title="keyword">Definition</span> <a name="intRing.mulz"><span class="id" title="definition">mulz</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>) :=<br/>
+&nbsp;&nbsp;<span class="id" title="keyword">match</span> <a class="idref" href="mathcomp.algebra.ssrint.html#m"><span class="id" title="variable">m</span></a>, <a class="idref" href="mathcomp.algebra.ssrint.html#n"><span class="id" title="variable">n</span></a> <span class="id" title="keyword">with</span><br/>
+&nbsp;&nbsp;&nbsp;&nbsp;| <a class="idref" href="mathcomp.algebra.ssrint.html#Posz"><span class="id" title="constructor">Posz</span></a> <span class="id" title="var">m'</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> ⇒ (<span class="id" title="var">m'</span> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#697e4695610f677ae98a52af81f779d2"><span class="id" title="notation">×</span></a> <span class="id" title="var">n'</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.algebra.ssrint.html#9fc2e395aa5602e5669820ba2f5dcc44"><span class="id" title="notation">Z</span></a><br/>
+&nbsp;&nbsp;&nbsp;&nbsp;| <a class="idref" href="mathcomp.algebra.ssrint.html#Negz"><span class="id" title="constructor">Negz</span></a> <span class="id" title="var">m'</span>, <a class="idref" href="mathcomp.algebra.ssrint.html#Negz"><span class="id" title="constructor">Negz</span></a> <span class="id" title="var">n'</span> ⇒ (<span class="id" title="var">m'</span><a class="idref" href="mathcomp.ssreflect.ssrnat.html#361454269931ea8643f7b402f2ab7222"><span class="id" title="notation">.+1</span></a>%<span class="id" title="var">N</span> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#697e4695610f677ae98a52af81f779d2"><span class="id" title="notation">×</span></a> <span class="id" title="var">n'</span><a class="idref" href="mathcomp.ssreflect.ssrnat.html#361454269931ea8643f7b402f2ab7222"><span class="id" title="notation">.+1</span></a>%<span class="id" title="var">N</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.algebra.ssrint.html#9fc2e395aa5602e5669820ba2f5dcc44"><span class="id" title="notation">Z</span></a><br/>
+&nbsp;&nbsp;&nbsp;&nbsp;| <a class="idref" href="mathcomp.algebra.ssrint.html#Posz"><span class="id" title="constructor">Posz</span></a> <span class="id" title="var">m'</span>, <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="mathcomp.algebra.ssralg.html#941c6d086004545bd62614d0213e75e5"><span class="id" title="notation">-</span></a> (<span class="id" title="var">m'</span> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#697e4695610f677ae98a52af81f779d2"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#697e4695610f677ae98a52af81f779d2"><span class="id" title="notation">(</span></a><span class="id" title="var">n'</span><a class="idref" href="mathcomp.ssreflect.ssrnat.html#361454269931ea8643f7b402f2ab7222"><span class="id" title="notation">.+1</span></a>%<span class="id" title="var">N</span><a class="idref" href="mathcomp.ssreflect.ssrnat.html#697e4695610f677ae98a52af81f779d2"><span class="id" title="notation">)</span></a>)%<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.algebra.ssrint.html#9fc2e395aa5602e5669820ba2f5dcc44"><span class="id" title="notation">Z</span></a><br/>
+&nbsp;&nbsp;&nbsp;&nbsp;| <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="mathcomp.algebra.ssrint.html#Posz"><span class="id" title="constructor">Posz</span></a> <span class="id" title="var">m'</span> ⇒ <a class="idref" href="mathcomp.algebra.ssralg.html#941c6d086004545bd62614d0213e75e5"><span class="id" title="notation">-</span></a> (<span class="id" title="var">m'</span> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#697e4695610f677ae98a52af81f779d2"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#697e4695610f677ae98a52af81f779d2"><span class="id" title="notation">(</span></a><span class="id" title="var">n'</span><a class="idref" href="mathcomp.ssreflect.ssrnat.html#361454269931ea8643f7b402f2ab7222"><span class="id" title="notation">.+1</span></a>%<span class="id" title="var">N</span><a class="idref" href="mathcomp.ssreflect.ssrnat.html#697e4695610f677ae98a52af81f779d2"><span class="id" title="notation">)</span></a>)%<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.algebra.ssrint.html#9fc2e395aa5602e5669820ba2f5dcc44"><span class="id" title="notation">Z</span></a><br/>
+&nbsp;&nbsp;<span class="id" title="keyword">end</span>.<br/>
+
+<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="intRing.mul0z"><span class="id" title="lemma">mul0z</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> 0 <a class="idref" href="mathcomp.algebra.ssrint.html#c595220a1a12a506ce155bd2b4d32356"><span class="id" title="notation">*%</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#c595220a1a12a506ce155bd2b4d32356"><span class="id" title="notation">Z</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="intRing.mulzC"><span class="id" title="lemma">mulzC</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.ssrint.html#intRing.mulz"><span class="id" title="definition">mulz</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="intRing.mulz0"><span class="id" title="lemma">mulz0</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> 0 <a class="idref" href="mathcomp.algebra.ssrint.html#c595220a1a12a506ce155bd2b4d32356"><span class="id" title="notation">*%</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#c595220a1a12a506ce155bd2b4d32356"><span class="id" title="notation">Z</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="intRing.mulzN"><span class="id" title="lemma">mulzN</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="mathcomp.algebra.ssrint.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#29f521e893e5de614d8a5fea63ebc756"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#29f521e893e5de614d8a5fea63ebc756"><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.ssrint.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#29f521e893e5de614d8a5fea63ebc756"><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#941c6d086004545bd62614d0213e75e5"><span class="id" title="notation">-</span></a> (<a class="idref" href="mathcomp.algebra.ssrint.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#29f521e893e5de614d8a5fea63ebc756"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssrint.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="intRing.mulNz"><span class="id" title="lemma">mulNz</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="mathcomp.algebra.ssrint.html#29f521e893e5de614d8a5fea63ebc756"><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.ssrint.html#m"><span class="id" title="variable">m</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#29f521e893e5de614d8a5fea63ebc756"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#29f521e893e5de614d8a5fea63ebc756"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssrint.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.ssralg.html#941c6d086004545bd62614d0213e75e5"><span class="id" title="notation">-</span></a> (<a class="idref" href="mathcomp.algebra.ssrint.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#29f521e893e5de614d8a5fea63ebc756"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssrint.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="intRing.mulzA"><span class="id" title="lemma">mulzA</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.ssrint.html#intRing.mulz"><span class="id" title="definition">mulz</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="intRing.mul1z"><span class="id" title="lemma">mul1z</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#left_id"><span class="id" title="definition">left_id</span></a> 1%<span class="id" title="var">Z</span> <a class="idref" href="mathcomp.algebra.ssrint.html#intRing.mulz"><span class="id" title="definition">mulz</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="intRing.mulzS"><span class="id" title="lemma">mulzS</span></a> (<span class="id" title="var">x</span> : <a class="idref" href="mathcomp.algebra.ssrint.html#int"><span class="id" title="inductive">int</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#nat"><span class="id" title="inductive">nat</span></a>) : (<a class="idref" href="mathcomp.algebra.ssrint.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#29f521e893e5de614d8a5fea63ebc756"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#n"><span class="id" title="variable">n</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#126d76b057f81b05864330fde4c4160e"><span class="id" title="notation">%:</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#126d76b057f81b05864330fde4c4160e"><span class="id" title="notation">Z</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#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#ae4d81913e6239182a9ac7467ffde8cd"><span class="id" title="notation">+</span></a> (<a class="idref" href="mathcomp.algebra.ssrint.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#29f521e893e5de614d8a5fea63ebc756"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssrint.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="intRing.mulz_addl"><span class="id" title="lemma">mulz_addl</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#left_distributive"><span class="id" title="definition">left_distributive</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#intRing.mulz"><span class="id" title="definition">mulz</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#327bb2f0da6fd7c01a004dedcfc2dee4"><span class="id" title="notation">+%</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#327bb2f0da6fd7c01a004dedcfc2dee4"><span class="id" title="notation">R</span></a>).<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="intRing.nonzero1z"><span class="id" title="lemma">nonzero1z</span></a> : 1%<span class="id" title="var">Z</span> <a class="idref" href="mathcomp.ssreflect.eqtype.html#b1eeadc2feabc7422252baa895418c7b"><span class="id" title="notation">!=</span></a> 0. <br/>
+
+<br/>
+<span class="id" title="keyword">Definition</span> <a name="intRing.comMixin"><span class="id" title="definition">comMixin</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComRing.Exports.ComRingMixin"><span class="id" title="abbreviation">ComRingMixin</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#intRing.mulzA"><span class="id" title="lemma">mulzA</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#intRing.mulzC"><span class="id" title="lemma">mulzC</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#intRing.mul1z"><span class="id" title="lemma">mul1z</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#intRing.mulz_addl"><span class="id" title="lemma">mulz_addl</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#intRing.nonzero1z"><span class="id" title="lemma">nonzero1z</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.algebra.ssrint.html#intRing.intRing"><span class="id" title="section">intRing</span></a>.<br/>
+<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.algebra.ssrint.html#intRing"><span class="id" title="module">intRing</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Canonical</span> <span class="id" title="var">int_Ring</span> := <span class="id" title="keyword">Eval</span> <span class="id" title="tactic">hnf</span> <span class="id" title="tactic">in</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Ring.Exports.RingType"><span class="id" title="abbreviation">RingType</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.ssrint.html#comMixin"><span class="id" title="definition">intRing.comMixin</span></a>.<br/>
+<span class="id" title="keyword">Canonical</span> <span class="id" title="var">int_comRing</span> := <span class="id" title="keyword">Eval</span> <span class="id" title="tactic">hnf</span> <span class="id" title="tactic">in</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComRing.Exports.ComRingType"><span class="id" title="abbreviation">ComRingType</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.ssrint.html#mulzC"><span class="id" title="lemma">intRing.mulzC</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Section</span> <a name="intRingTheory"><span class="id" title="section">intRingTheory</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Implicit</span> <span class="id" title="keyword">Types</span> <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>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="PoszM"><span class="id" title="lemma">PoszM</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#a0fd72584f326d7220475d01d3fceccd"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#a0fd72584f326d7220475d01d3fceccd"><span class="id" title="notation">morph</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.ssr.ssrfun.html#a0fd72584f326d7220475d01d3fceccd"><span class="id" title="notation">:</span></a> <span class="id" title="var">n</span> <span class="id" title="var">m</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#a0fd72584f326d7220475d01d3fceccd"><span class="id" title="notation">/</span></a> (<a class="idref" href="mathcomp.algebra.ssrint.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#697e4695610f677ae98a52af81f779d2"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssrint.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.ssr.ssrfun.html#a0fd72584f326d7220475d01d3fceccd"><span class="id" title="notation">&gt;-&gt;</span></a> <a class="idref" href="mathcomp.algebra.ssrint.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#m"><span class="id" title="variable">m</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#a0fd72584f326d7220475d01d3fceccd"><span class="id" title="notation">}</span></a>. <br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="intS"><span class="id" title="lemma">intS</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#nat"><span class="id" title="inductive">nat</span></a>) : <a class="idref" href="mathcomp.algebra.ssrint.html#n"><span class="id" title="variable">n</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> <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.ssralg.html#ae4d81913e6239182a9ac7467ffde8cd"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#n"><span class="id" title="variable">n</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="predn_int"><span class="id" title="lemma">predn_int</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#nat"><span class="id" title="inductive">nat</span></a>) : (0 <a class="idref" href="mathcomp.ssreflect.ssrnat.html#989c98e7ddd65d5bf37c334ff2076de8"><span class="id" title="notation">&lt;</span></a> <a class="idref" href="mathcomp.algebra.ssrint.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.ssrint.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.ssreflect.ssrnat.html#1d63841e595f2805afd872744cbb1cce"><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> <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#n"><span class="id" title="variable">n</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.<br/>
+
+<br/>
+<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.algebra.ssrint.html#intRingTheory"><span class="id" title="section">intRingTheory</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Module</span> <a name="intUnitRing"><span class="id" title="module">intUnitRing</span></a>.<br/>
+<span class="id" title="keyword">Section</span> <a name="intUnitRing.intUnitRing"><span class="id" title="section">intUnitRing</span></a>.<br/>
+<span class="id" title="keyword">Implicit</span> <span class="id" title="keyword">Types</span> <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>.<br/>
+
+<br/>
+<span class="id" title="keyword">Definition</span> <a name="intUnitRing.unitz"><span class="id" title="definition">unitz</span></a> := <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#3838d61fb3e8125493e649946f677b04"><span class="id" title="notation">[</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#3838d61fb3e8125493e649946f677b04"><span class="id" title="notation">qualify</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#3838d61fb3e8125493e649946f677b04"><span class="id" title="notation">a</span></a> <span class="id" title="var">n</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#3838d61fb3e8125493e649946f677b04"><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.ssr.ssrbool.html#3838d61fb3e8125493e649946f677b04"><span class="id" title="notation">|</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#14a7a9c7dc61f86bfb664d400fabaf8a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssrint.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<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#14a7a9c7dc61f86bfb664d400fabaf8a"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#14a7a9c7dc61f86bfb664d400fabaf8a"><span class="id" title="notation">||</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#14a7a9c7dc61f86bfb664d400fabaf8a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssrint.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<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#14a7a9c7dc61f86bfb664d400fabaf8a"><span class="id" title="notation">)</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#3838d61fb3e8125493e649946f677b04"><span class="id" title="notation">]</span></a>.<br/>
+<span class="id" title="keyword">Definition</span> <a name="intUnitRing.invz"><span class="id" title="definition">invz</span></a> <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="mathcomp.algebra.ssrint.html#n"><span class="id" title="variable">n</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="intUnitRing.mulVz"><span class="id" title="lemma">mulVz</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#5c59b35a0b51db520cf1fba473ecf127"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#5c59b35a0b51db520cf1fba473ecf127"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#intUnitRing.unitz"><span class="id" title="definition">unitz</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#5c59b35a0b51db520cf1fba473ecf127"><span class="id" title="notation">,</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#left_inverse"><span class="id" title="definition">left_inverse</span></a> 1%<span class="id" title="var">R</span> <a class="idref" href="mathcomp.algebra.ssrint.html#intUnitRing.invz"><span class="id" title="definition">invz</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#d5d4e2467843f67554f1a8a22d125de9"><span class="id" title="notation">*%</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#d5d4e2467843f67554f1a8a22d125de9"><span class="id" title="notation">R</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#5c59b35a0b51db520cf1fba473ecf127"><span class="id" title="notation">}</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="intUnitRing.mulzn_eq1"><span class="id" title="lemma">mulzn_eq1</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.Datatypes.html#nat"><span class="id" title="inductive">nat</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#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.ssrint.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<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.ssrint.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> 1<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.ssrint.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%<span class="id" title="var">N</span><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/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="intUnitRing.unitzPl"><span class="id" title="lemma">unitzPl</span></a> <span class="id" title="var">m</span> <span class="id" title="var">n</span> : <a class="idref" href="mathcomp.algebra.ssrint.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#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> 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.ssrint.html#m"><span class="id" title="variable">m</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.ssrint.html#intUnitRing.unitz"><span class="id" title="definition">unitz</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="intUnitRing.invz_out"><span class="id" title="lemma">invz_out</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#5c59b35a0b51db520cf1fba473ecf127"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#5c59b35a0b51db520cf1fba473ecf127"><span class="id" title="notation">in</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#c2f58fba484177bda65c2ab1289a6fe6"><span class="id" title="notation">[</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#c2f58fba484177bda65c2ab1289a6fe6"><span class="id" title="notation">predC</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#intUnitRing.unitz"><span class="id" title="definition">unitz</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#c2f58fba484177bda65c2ab1289a6fe6"><span class="id" title="notation">]</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#5c59b35a0b51db520cf1fba473ecf127"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#intUnitRing.invz"><span class="id" title="definition">invz</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#2500d48ed8e862ccfda98a44dff88963"><span class="id" title="notation">=1</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#id"><span class="id" title="abbreviation">id</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#5c59b35a0b51db520cf1fba473ecf127"><span class="id" title="notation">}</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="intUnitRing.idomain_axiomz"><span class="id" title="lemma">idomain_axiomz</span></a> <span class="id" title="var">m</span> <span class="id" title="var">n</span> : <a class="idref" href="mathcomp.algebra.ssrint.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.ssrint.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> 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.Datatypes.html#14a7a9c7dc61f86bfb664d400fabaf8a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssrint.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#14a7a9c7dc61f86bfb664d400fabaf8a"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#14a7a9c7dc61f86bfb664d400fabaf8a"><span class="id" title="notation">||</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#14a7a9c7dc61f86bfb664d400fabaf8a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssrint.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#14a7a9c7dc61f86bfb664d400fabaf8a"><span class="id" title="notation">)</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Definition</span> <a name="intUnitRing.comMixin"><span class="id" title="definition">comMixin</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComUnitRing.Exports.ComUnitRingMixin"><span class="id" title="abbreviation">ComUnitRingMixin</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#intUnitRing.mulVz"><span class="id" title="lemma">mulVz</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#intUnitRing.unitzPl"><span class="id" title="lemma">unitzPl</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#intUnitRing.invz_out"><span class="id" title="lemma">invz_out</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.algebra.ssrint.html#intUnitRing.intUnitRing"><span class="id" title="section">intUnitRing</span></a>.<br/>
+<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.algebra.ssrint.html#intUnitRing"><span class="id" title="module">intUnitRing</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Canonical</span> <span class="id" title="var">int_unitRingType</span> :=<br/>
+&nbsp;&nbsp;<span class="id" title="keyword">Eval</span> <span class="id" title="tactic">hnf</span> <span class="id" title="tactic">in</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitRing.Exports.UnitRingType"><span class="id" title="abbreviation">UnitRingType</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.ssrint.html#comMixin"><span class="id" title="definition">intUnitRing.comMixin</span></a>.<br/>
+<span class="id" title="keyword">Canonical</span> <span class="id" title="var">int_comUnitRing</span> := <span class="id" title="keyword">Eval</span> <span class="id" title="tactic">hnf</span> <span class="id" title="tactic">in</span> <a class="idref" href="mathcomp.algebra.ssralg.html#e3ee791c903b0283e51d52d0692558ec"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#e3ee791c903b0283e51d52d0692558ec"><span class="id" title="notation">comUnitRingType</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#e3ee791c903b0283e51d52d0692558ec"><span class="id" title="notation">of</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.ssralg.html#e3ee791c903b0283e51d52d0692558ec"><span class="id" title="notation">]</span></a>.<br/>
+<span class="id" title="keyword">Canonical</span> <span class="id" title="var">int_iDomain</span> :=<br/>
+&nbsp;&nbsp;<span class="id" title="keyword">Eval</span> <span class="id" title="tactic">hnf</span> <span class="id" title="tactic">in</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.IntegralDomain.Exports.IdomainType"><span class="id" title="abbreviation">IdomainType</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.ssrint.html#idomain_axiomz"><span class="id" title="lemma">intUnitRing.idomain_axiomz</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Definition</span> <a name="absz"><span class="id" title="definition">absz</span></a> <span class="id" title="var">m</span> := <span class="id" title="keyword">match</span> <a class="idref" href="mathcomp.algebra.ssrint.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">p</span> ⇒ <span class="id" title="var">p</span> | <a class="idref" href="mathcomp.algebra.ssrint.html#Negz"><span class="id" title="constructor">Negz</span></a> <span class="id" title="var">n</span> ⇒ <span class="id" title="var">n</span><a class="idref" href="mathcomp.ssreflect.ssrnat.html#361454269931ea8643f7b402f2ab7222"><span class="id" title="notation">.+1</span></a> <span class="id" title="keyword">end</span>.<br/>
+<span class="id" title="keyword">Notation</span> <a name="53c6dc3dc685e0493576f688fde974cb"><span class="id" title="notation">&quot;</span></a>m - n" :=<br/>
+&nbsp;&nbsp;(@<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.add"><span class="id" title="definition">GRing.add</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#int_ZmodType"><span class="id" title="definition">int_ZmodType</span></a> <span class="id" title="var">m</span>%<span class="id" title="var">N</span> (@<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.opp"><span class="id" title="definition">GRing.opp</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#int_ZmodType"><span class="id" title="definition">int_ZmodType</span></a> <span class="id" title="var">n</span>%<span class="id" title="var">N</span>)) : <span class="id" title="var">distn_scope</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Module</span> <a name="intOrdered"><span class="id" title="module">intOrdered</span></a>.<br/>
+<span class="id" title="keyword">Section</span> <a name="intOrdered.intOrdered"><span class="id" title="section">intOrdered</span></a>.<br/>
+<span class="id" title="keyword">Implicit</span> <span class="id" title="keyword">Types</span> <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#int"><span class="id" title="inductive">int</span></a>.<br/>
+
+<br/>
+
+<br/>
+<span class="id" title="keyword">Definition</span> <a name="intOrdered.lez"><span class="id" title="definition">lez</span></a> <span class="id" title="var">m</span> <span class="id" title="var">n</span> :=<br/>
+&nbsp;&nbsp;<span class="id" title="keyword">match</span> <a class="idref" href="mathcomp.algebra.ssrint.html#m"><span class="id" title="variable">m</span></a>, <a class="idref" href="mathcomp.algebra.ssrint.html#n"><span class="id" title="variable">n</span></a> <span class="id" title="keyword">with</span><br/>
+&nbsp;&nbsp;&nbsp;&nbsp;| <a class="idref" href="mathcomp.algebra.ssrint.html#Posz"><span class="id" title="constructor">Posz</span></a> <span class="id" title="var">m'</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> ⇒ (<span class="id" title="var">m'</span> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#9b077c369e19739ef880736ba34623ff"><span class="id" title="notation">≤</span></a> <span class="id" title="var">n'</span>)%<span class="id" title="var">N</span><br/>
+&nbsp;&nbsp;&nbsp;&nbsp;| <a class="idref" href="mathcomp.algebra.ssrint.html#Posz"><span class="id" title="constructor">Posz</span></a> <span class="id" title="var">m'</span>, <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#false"><span class="id" title="constructor">false</span></a><br/>
+&nbsp;&nbsp;&nbsp;&nbsp;| <a class="idref" href="mathcomp.algebra.ssrint.html#Negz"><span class="id" title="constructor">Negz</span></a> <span class="id" title="var">m'</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#true"><span class="id" title="constructor">true</span></a><br/>
+&nbsp;&nbsp;&nbsp;&nbsp;| <a class="idref" href="mathcomp.algebra.ssrint.html#Negz"><span class="id" title="constructor">Negz</span></a> <span class="id" title="var">m'</span>, <a class="idref" href="mathcomp.algebra.ssrint.html#Negz"><span class="id" title="constructor">Negz</span></a> <span class="id" title="var">n'</span> ⇒ (<span class="id" title="var">n'</span> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#9b077c369e19739ef880736ba34623ff"><span class="id" title="notation">≤</span></a> <span class="id" title="var">m'</span>)%<span class="id" title="var">N</span><br/>
+&nbsp;&nbsp;<span class="id" title="keyword">end</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Definition</span> <a name="intOrdered.ltz"><span class="id" title="definition">ltz</span></a> <span class="id" title="var">m</span> <span class="id" title="var">n</span> :=<br/>
+&nbsp;&nbsp;<span class="id" title="keyword">match</span> <a class="idref" href="mathcomp.algebra.ssrint.html#m"><span class="id" title="variable">m</span></a>, <a class="idref" href="mathcomp.algebra.ssrint.html#n"><span class="id" title="variable">n</span></a> <span class="id" title="keyword">with</span><br/>
+&nbsp;&nbsp;&nbsp;&nbsp;| <a class="idref" href="mathcomp.algebra.ssrint.html#Posz"><span class="id" title="constructor">Posz</span></a> <span class="id" title="var">m'</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> ⇒ (<span class="id" title="var">m'</span> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#989c98e7ddd65d5bf37c334ff2076de8"><span class="id" title="notation">&lt;</span></a> <span class="id" title="var">n'</span>)%<span class="id" title="var">N</span><br/>
+&nbsp;&nbsp;&nbsp;&nbsp;| <a class="idref" href="mathcomp.algebra.ssrint.html#Posz"><span class="id" title="constructor">Posz</span></a> <span class="id" title="var">m'</span>, <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#false"><span class="id" title="constructor">false</span></a><br/>
+&nbsp;&nbsp;&nbsp;&nbsp;| <a class="idref" href="mathcomp.algebra.ssrint.html#Negz"><span class="id" title="constructor">Negz</span></a> <span class="id" title="var">m'</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#true"><span class="id" title="constructor">true</span></a><br/>
+&nbsp;&nbsp;&nbsp;&nbsp;| <a class="idref" href="mathcomp.algebra.ssrint.html#Negz"><span class="id" title="constructor">Negz</span></a> <span class="id" title="var">m'</span>, <a class="idref" href="mathcomp.algebra.ssrint.html#Negz"><span class="id" title="constructor">Negz</span></a> <span class="id" title="var">n'</span> ⇒ (<span class="id" title="var">n'</span> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#989c98e7ddd65d5bf37c334ff2076de8"><span class="id" title="notation">&lt;</span></a> <span class="id" title="var">m'</span>)%<span class="id" title="var">N</span><br/>
+&nbsp;&nbsp;<span class="id" title="keyword">end</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Fact</span> <a name="intOrdered.lez_norm_add"><span class="id" title="lemma">lez_norm_add</span></a> <span class="id" title="var">x</span> <span class="id" title="var">y</span> : <a class="idref" href="mathcomp.algebra.ssrint.html#intOrdered.lez"><span class="id" title="definition">lez</span></a> (<a class="idref" href="mathcomp.algebra.ssrint.html#intOrdered.normz"><span class="id" title="abbreviation">normz</span></a> (<a class="idref" href="mathcomp.algebra.ssrint.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#ae4d81913e6239182a9ac7467ffde8cd"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#y"><span class="id" title="variable">y</span></a>)) (<a class="idref" href="mathcomp.algebra.ssrint.html#intOrdered.normz"><span class="id" title="abbreviation">normz</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#ae4d81913e6239182a9ac7467ffde8cd"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#intOrdered.normz"><span class="id" title="abbreviation">normz</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#y"><span class="id" title="variable">y</span></a>).<br/>
+
+<br/>
+<span class="id" title="keyword">Fact</span> <a name="intOrdered.ltz_add"><span class="id" title="lemma">ltz_add</span></a> <span class="id" title="var">x</span> <span class="id" title="var">y</span> : <a class="idref" href="mathcomp.algebra.ssrint.html#intOrdered.ltz"><span class="id" title="definition">ltz</span></a> 0 <a class="idref" href="mathcomp.algebra.ssrint.html#x"><span class="id" title="variable">x</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.ssrint.html#intOrdered.ltz"><span class="id" title="definition">ltz</span></a> 0 <a class="idref" href="mathcomp.algebra.ssrint.html#y"><span class="id" title="variable">y</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.ssrint.html#intOrdered.ltz"><span class="id" title="definition">ltz</span></a> 0 (<a class="idref" href="mathcomp.algebra.ssrint.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#ae4d81913e6239182a9ac7467ffde8cd"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#y"><span class="id" title="variable">y</span></a>).<br/>
+
+<br/>
+<span class="id" title="keyword">Fact</span> <a name="intOrdered.eq0_normz"><span class="id" title="lemma">eq0_normz</span></a> <span class="id" title="var">x</span> : <a class="idref" href="mathcomp.algebra.ssrint.html#intOrdered.normz"><span class="id" title="abbreviation">normz</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#x"><span class="id" title="variable">x</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 <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#x"><span class="id" title="variable">x</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. <br/>
+
+<br/>
+<span class="id" title="keyword">Fact</span> <a name="intOrdered.lez_total"><span class="id" title="lemma">lez_total</span></a> <span class="id" title="var">x</span> <span class="id" title="var">y</span> : <a class="idref" href="mathcomp.algebra.ssrint.html#intOrdered.lez"><span class="id" title="definition">lez</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#y"><span class="id" title="variable">y</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#14a7a9c7dc61f86bfb664d400fabaf8a"><span class="id" title="notation">||</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#intOrdered.lez"><span class="id" title="definition">lez</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#y"><span class="id" title="variable">y</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#x"><span class="id" title="variable">x</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="intOrdered.abszN"><span class="id" title="lemma">abszN</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#nat"><span class="id" title="inductive">nat</span></a>) : <a class="idref" href="mathcomp.algebra.ssrint.html#absz"><span class="id" title="definition">absz</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#941c6d086004545bd62614d0213e75e5"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#n"><span class="id" title="variable">n</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.ssrint.html#n"><span class="id" title="variable">n</span></a>. <br/>
+
+<br/>
+<span class="id" title="keyword">Fact</span> <a name="intOrdered.normzM"><span class="id" title="lemma">normzM</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#3014e73af2a90fd800d8681479d76336"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#3014e73af2a90fd800d8681479d76336"><span class="id" title="notation">morph</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#3014e73af2a90fd800d8681479d76336"><span class="id" title="notation">(</span></a><span class="id" title="keyword">fun</span> <span class="id" title="var">n</span> ⇒ <a class="idref" href="mathcomp.algebra.ssrint.html#intOrdered.normz"><span class="id" title="abbreviation">normz</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#3014e73af2a90fd800d8681479d76336"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#3014e73af2a90fd800d8681479d76336"><span class="id" title="notation">:</span></a> <span class="id" title="var">x</span> <span class="id" title="var">y</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#3014e73af2a90fd800d8681479d76336"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#x"><span class="id" title="variable">x</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#y"><span class="id" title="variable">y</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#3014e73af2a90fd800d8681479d76336"><span class="id" title="notation">}</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="intOrdered.subz_ge0"><span class="id" title="lemma">subz_ge0</span></a> <span class="id" title="var">m</span> <span class="id" title="var">n</span> : <a class="idref" href="mathcomp.algebra.ssrint.html#intOrdered.lez"><span class="id" title="definition">lez</span></a> 0 (<a class="idref" href="mathcomp.algebra.ssrint.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#d70623330b2787db6b196e37db7d8f45"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.ssrint.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#intOrdered.lez"><span class="id" title="definition">lez</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#n"><span class="id" title="variable">n</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Fact</span> <a name="intOrdered.lez_def"><span class="id" title="lemma">lez_def</span></a> <span class="id" title="var">x</span> <span class="id" title="var">y</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#intOrdered.lez"><span class="id" title="definition">lez</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#y"><span class="id" title="variable">y</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.ssrint.html#intOrdered.normz"><span class="id" title="abbreviation">normz</span></a> (<a class="idref" href="mathcomp.algebra.ssrint.html#y"><span class="id" title="variable">y</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#53c6dc3dc685e0493576f688fde974cb"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#x"><span class="id" title="variable">x</span></a>) <a class="idref" href="mathcomp.ssreflect.eqtype.html#17d28d004d0863cb022d4ce832ddaaae"><span class="id" title="notation">==</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#y"><span class="id" title="variable">y</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#d70623330b2787db6b196e37db7d8f45"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#x"><span class="id" title="variable">x</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">Fact</span> <a name="intOrdered.ltz_def"><span class="id" title="lemma">ltz_def</span></a> <span class="id" title="var">x</span> <span class="id" title="var">y</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#intOrdered.ltz"><span class="id" title="definition">ltz</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#y"><span class="id" title="variable">y</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.Datatypes.html#49ac24efa716d8b0ee8943bc1d1769a9"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#y"><span class="id" title="variable">y</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#b1eeadc2feabc7422252baa895418c7b"><span class="id" title="notation">!=</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#x"><span class="id" title="variable">x</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="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.ssrint.html#intOrdered.lez"><span class="id" title="definition">lez</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#y"><span class="id" title="variable">y</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>.<br/>
+
+<br/>
+<span class="id" title="keyword">Definition</span> <a name="intOrdered.Mixin"><span class="id" title="definition">Mixin</span></a> :=<br/>
+&nbsp;&nbsp;&nbsp;<a class="idref" href="mathcomp.algebra.ssrnum.html#Num.NumDomain.Exports.NumMixin"><span class="id" title="abbreviation">NumMixin</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#intOrdered.lez_norm_add"><span class="id" title="lemma">lez_norm_add</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#intOrdered.ltz_add"><span class="id" title="lemma">ltz_add</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#intOrdered.eq0_normz"><span class="id" title="lemma">eq0_normz</span></a> (<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#in2W"><span class="id" title="lemma">in2W</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#intOrdered.lez_total"><span class="id" title="lemma">lez_total</span></a>) <a class="idref" href="mathcomp.algebra.ssrint.html#intOrdered.normzM"><span class="id" title="lemma">normzM</span></a><br/>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class="idref" href="mathcomp.algebra.ssrint.html#intOrdered.lez_def"><span class="id" title="lemma">lez_def</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#intOrdered.ltz_def"><span class="id" title="lemma">ltz_def</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.algebra.ssrint.html#intOrdered.intOrdered"><span class="id" title="section">intOrdered</span></a>.<br/>
+<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.algebra.ssrint.html#intOrdered"><span class="id" title="module">intOrdered</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Canonical</span> <span class="id" title="var">int_numDomainType</span> := <a class="idref" href="mathcomp.algebra.ssrnum.html#Num.NumDomain.Exports.NumDomainType"><span class="id" title="abbreviation">NumDomainType</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.ssrint.html#Mixin"><span class="id" title="definition">intOrdered.Mixin</span></a>.<br/>
+<span class="id" title="keyword">Canonical</span> <span class="id" title="var">int_realDomainType</span> := <a class="idref" href="mathcomp.algebra.ssrnum.html#Num.RealDomain.Exports.RealDomainType"><span class="id" title="abbreviation">RealDomainType</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.ssrint.html#lez_total"><span class="id" title="lemma">intOrdered.lez_total</span></a> 0).<br/>
+
+<br/>
+<span class="id" title="keyword">Section</span> <a name="intOrderedTheory"><span class="id" title="section">intOrderedTheory</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Implicit</span> <span class="id" title="keyword">Types</span> <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="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#nat"><span class="id" title="inductive">nat</span></a>.<br/>
+<span class="id" title="keyword">Implicit</span> <span class="id" title="keyword">Types</span> <span class="id" title="var">x</span> <span class="id" title="var">y</span> <span class="id" title="var">z</span> : <a class="idref" href="mathcomp.algebra.ssrint.html#int"><span class="id" title="inductive">int</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="lez_nat"><span class="id" title="lemma">lez_nat</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.ssrint.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.algebra.ssrnum.html#d6cd0798ccf4decf11598a746ae90abf"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.algebra.ssrnum.html#d6cd0798ccf4decf11598a746ae90abf"><span class="id" title="notation">:&gt;</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#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#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.ssrint.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="ltz_nat"><span class="id" title="lemma">ltz_nat</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.ssrint.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.algebra.ssrnum.html#3c0e77197870a42e4951057d43bba909"><span class="id" title="notation">&lt;</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.algebra.ssrnum.html#3c0e77197870a42e4951057d43bba909"><span class="id" title="notation">:&gt;</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#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#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#989c98e7ddd65d5bf37c334ff2076de8"><span class="id" title="notation">&lt;</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#n"><span class="id" title="variable">n</span></a>)%<span class="id" title="var">N</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Definition</span> <a name="ltez_nat"><span class="id" title="definition">ltez_nat</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.ssrint.html#lez_nat"><span class="id" title="lemma">lez_nat</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.ssrint.html#ltz_nat"><span class="id" title="lemma">ltz_nat</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="leNz_nat"><span class="id" title="lemma">leNz_nat</span></a> <span class="id" title="var">m</span> <span class="id" title="var">n</span> : (<a class="idref" href="mathcomp.algebra.ssralg.html#941c6d086004545bd62614d0213e75e5"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#m"><span class="id" title="variable">m</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.ssrnum.html#1065783963a393d1eafa2137291f2495"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#n"><span class="id" title="variable">n</span></a>). <br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="ltNz_nat"><span class="id" title="lemma">ltNz_nat</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.ssralg.html#941c6d086004545bd62614d0213e75e5"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#m"><span class="id" title="variable">m</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.ssrnum.html#388c172bf8d34ef0bf11898cd56f8d7b"><span class="id" title="notation">&lt;</span></a> <a class="idref" href="mathcomp.algebra.ssrint.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.Datatypes.html#14a7a9c7dc61f86bfb664d400fabaf8a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#b1eeadc2feabc7422252baa895418c7b"><span class="id" title="notation">!=</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.Datatypes.html#14a7a9c7dc61f86bfb664d400fabaf8a"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#14a7a9c7dc61f86bfb664d400fabaf8a"><span class="id" title="notation">||</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#14a7a9c7dc61f86bfb664d400fabaf8a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#b1eeadc2feabc7422252baa895418c7b"><span class="id" title="notation">!=</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.Datatypes.html#14a7a9c7dc61f86bfb664d400fabaf8a"><span class="id" title="notation">)</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Definition</span> <a name="lteNz_nat"><span class="id" title="definition">lteNz_nat</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.ssrint.html#leNz_nat"><span class="id" title="lemma">leNz_nat</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.ssrint.html#ltNz_nat"><span class="id" title="lemma">ltNz_nat</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="lezN_nat"><span class="id" title="lemma">lezN_nat</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.ssrint.html#m"><span class="id" title="variable">m</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.ssrnum.html#1065783963a393d1eafa2137291f2495"><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.ssrint.html#n"><span class="id" title="variable">n</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="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.ssrint.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%<span class="id" title="var">N</span><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.ssrint.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%<span class="id" title="var">N</span><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/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="ltzN_nat"><span class="id" title="lemma">ltzN_nat</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.ssrint.html#m"><span class="id" title="variable">m</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.ssrnum.html#388c172bf8d34ef0bf11898cd56f8d7b"><span class="id" title="notation">&lt;</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#941c6d086004545bd62614d0213e75e5"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#n"><span class="id" title="variable">n</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="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#false"><span class="id" title="constructor">false</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="le0z_nat"><span class="id" title="lemma">le0z_nat</span></a> <span class="id" title="var">n</span> : 0 <a class="idref" href="mathcomp.algebra.ssrnum.html#d6cd0798ccf4decf11598a746ae90abf"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.algebra.ssrnum.html#d6cd0798ccf4decf11598a746ae90abf"><span class="id" title="notation">:&gt;</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#int"><span class="id" title="inductive">int</span></a>. <br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="lez0_nat"><span class="id" title="lemma">lez0_nat</span></a> <span class="id" title="var">n</span> : <a class="idref" href="mathcomp.algebra.ssrint.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.algebra.ssrnum.html#d6cd0798ccf4decf11598a746ae90abf"><span class="id" title="notation">≤</span></a> 0 <a class="idref" href="mathcomp.algebra.ssrnum.html#d6cd0798ccf4decf11598a746ae90abf"><span class="id" title="notation">:&gt;</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#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#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#340b60eb5a3e9913f807040630cb8d43"><span class="id" title="notation">==</span></a> 0%<span class="id" title="var">N</span> <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="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">Definition</span> <a name="ltezN_nat"><span class="id" title="definition">ltezN_nat</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.ssrint.html#lezN_nat"><span class="id" title="lemma">lezN_nat</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.ssrint.html#ltzN_nat"><span class="id" title="lemma">ltzN_nat</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/>
+<span class="id" title="keyword">Definition</span> <a name="ltez_natE"><span class="id" title="definition">ltez_natE</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.ssrint.html#ltez_nat"><span class="id" title="definition">ltez_nat</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.ssrint.html#lteNz_nat"><span class="id" title="definition">lteNz_nat</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.ssrint.html#ltezN_nat"><span class="id" title="definition">ltezN_nat</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.ssrint.html#le0z_nat"><span class="id" title="lemma">le0z_nat</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.ssrint.html#lez0_nat"><span class="id" title="lemma">lez0_nat</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="gtz0_ge1"><span class="id" title="lemma">gtz0_ge1</span></a> <span class="id" title="var">x</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 <a class="idref" href="mathcomp.algebra.ssrnum.html#388c172bf8d34ef0bf11898cd56f8d7b"><span class="id" title="notation">&lt;</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#x"><span class="id" title="variable">x</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>1 <a class="idref" href="mathcomp.algebra.ssrnum.html#1065783963a393d1eafa2137291f2495"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#x"><span class="id" title="variable">x</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_add1r"><span class="id" title="lemma">lez_add1r</span></a> <span class="id" title="var">x</span> <span class="id" title="var">y</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>1 <a class="idref" href="mathcomp.algebra.ssralg.html#ae4d81913e6239182a9ac7467ffde8cd"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssrnum.html#1065783963a393d1eafa2137291f2495"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#y"><span class="id" title="variable">y</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.ssrint.html#x"><span class="id" title="variable">x</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.ssrint.html#y"><span class="id" title="variable">y</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_addr1"><span class="id" title="lemma">lez_addr1</span></a> <span class="id" title="var">x</span> <span class="id" title="var">y</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#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#ae4d81913e6239182a9ac7467ffde8cd"><span class="id" title="notation">+</span></a> 1 <a class="idref" href="mathcomp.algebra.ssrnum.html#1065783963a393d1eafa2137291f2495"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#y"><span class="id" title="variable">y</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.ssrint.html#x"><span class="id" title="variable">x</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.ssrint.html#y"><span class="id" title="variable">y</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_add1r"><span class="id" title="lemma">ltz_add1r</span></a> <span class="id" title="var">x</span> <span class="id" title="var">y</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#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssrnum.html#388c172bf8d34ef0bf11898cd56f8d7b"><span class="id" title="notation">&lt;</span></a> 1 <a class="idref" href="mathcomp.algebra.ssralg.html#ae4d81913e6239182a9ac7467ffde8cd"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#y"><span class="id" title="variable">y</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.ssrint.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssrnum.html#1065783963a393d1eafa2137291f2495"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#y"><span class="id" title="variable">y</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_addr1"><span class="id" title="lemma">ltz_addr1</span></a> <span class="id" title="var">x</span> <span class="id" title="var">y</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#x"><span class="id" title="variable">x</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.ssrint.html#y"><span class="id" title="variable">y</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#ae4d81913e6239182a9ac7467ffde8cd"><span class="id" title="notation">+</span></a> 1<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.ssrint.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssrnum.html#1065783963a393d1eafa2137291f2495"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#y"><span class="id" title="variable">y</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">End</span> <a class="idref" href="mathcomp.algebra.ssrint.html#intOrderedTheory"><span class="id" title="section">intOrderedTheory</span></a>.<br/>
+
+<br/>
+
+<br/>
+</div>
+
+<div class="doc">
+ definition of intmul
+</div>
+<div class="code">
+<span class="id" title="keyword">Definition</span> <a name="intmul"><span class="id" title="definition">intmul</span></a> (<span class="id" title="var">R</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">x</span> : <a class="idref" href="mathcomp.algebra.ssrint.html#R"><span class="id" title="variable">R</span></a>) (<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.ssr.ssreflect.html#nosimpl"><span class="id" title="abbreviation">nosimpl</span></a><br/>
+&nbsp;&nbsp;<span class="id" title="keyword">match</span> <a class="idref" href="mathcomp.algebra.ssrint.html#n"><span class="id" title="variable">n</span></a> <span class="id" title="keyword">with</span><br/>
+&nbsp;&nbsp;&nbsp;&nbsp;| <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="mathcomp.algebra.ssrint.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#891e51846c7d1d63a9cb5458374cf308"><span class="id" title="notation">*+</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#n"><span class="id" title="variable">n</span></a>)%<span class="id" title="var">R</span><br/>
+&nbsp;&nbsp;&nbsp;&nbsp;| <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="mathcomp.algebra.ssrint.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#3baee4193385688d2f1fcb170107cf5b"><span class="id" title="notation">*-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#3baee4193385688d2f1fcb170107cf5b"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#n"><span class="id" title="variable">n</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.ssralg.html#3baee4193385688d2f1fcb170107cf5b"><span class="id" title="notation">)</span></a>)%<span class="id" title="var">R</span><br/>
+&nbsp;&nbsp;<span class="id" title="keyword">end</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Notation</span> <a name="2de40c45bd09d0877af9f7e0a831a84f"><span class="id" title="notation">&quot;</span></a>*~%R" := (@<a class="idref" href="mathcomp.algebra.ssrint.html#intmul"><span class="id" title="definition">intmul</span></a> <span class="id" title="var">_</span>) (<span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 0, <span class="id" title="var">format</span> " *~%R") : <span class="id" title="var">ring_scope</span>.<br/>
+<span class="id" title="keyword">Notation</span> <a name="9c7c5437248d02e78f1fc1d9125e7f44"><span class="id" title="notation">&quot;</span></a>x *~ n" := (<a class="idref" href="mathcomp.algebra.ssrint.html#intmul"><span class="id" title="definition">intmul</span></a> <span class="id" title="var">x</span> <span class="id" title="var">n</span>)<br/>
+&nbsp;&nbsp;(<span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 40, <span class="id" title="tactic">left</span> <span class="id" title="keyword">associativity</span>, <span class="id" title="var">format</span> "x *~ n") : <span class="id" title="var">ring_scope</span>.<br/>
+<span class="id" title="keyword">Notation</span> <a name="intr"><span class="id" title="abbreviation">intr</span></a> := ( <a class="idref" href="mathcomp.algebra.ssrint.html#2de40c45bd09d0877af9f7e0a831a84f"><span class="id" title="notation">*~%</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#2de40c45bd09d0877af9f7e0a831a84f"><span class="id" title="notation">R</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#2de40c45bd09d0877af9f7e0a831a84f"><span class="id" title="notation">1</span></a>).<br/>
+<span class="id" title="keyword">Notation</span> <a name="626a4f68393e32b84ab75f15f785f640"><span class="id" title="notation">&quot;</span></a>n %:~R" := (1 <a class="idref" href="mathcomp.algebra.ssrint.html#9c7c5437248d02e78f1fc1d9125e7f44"><span class="id" title="notation">*~</span></a> <span class="id" title="var">n</span>)%<span class="id" title="var">R</span><br/>
+&nbsp;&nbsp;(<span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 2, <span class="id" title="tactic">left</span> <span class="id" title="keyword">associativity</span>, <span class="id" title="var">format</span> "n %:~R") : <span class="id" title="var">ring_scope</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="pmulrn"><span class="id" title="lemma">pmulrn</span></a> (<span class="id" title="var">R</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">x</span> : <a class="idref" href="mathcomp.algebra.ssrint.html#R"><span class="id" title="variable">R</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#nat"><span class="id" title="inductive">nat</span></a>) : <a class="idref" href="mathcomp.algebra.ssrint.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#891e51846c7d1d63a9cb5458374cf308"><span class="id" title="notation">*+</span></a> <a class="idref" href="mathcomp.algebra.ssrint.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#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#9c7c5437248d02e78f1fc1d9125e7f44"><span class="id" title="notation">*~</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#n"><span class="id" title="variable">n</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="nmulrn"><span class="id" title="lemma">nmulrn</span></a> (<span class="id" title="var">R</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">x</span> : <a class="idref" href="mathcomp.algebra.ssrint.html#R"><span class="id" title="variable">R</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#nat"><span class="id" title="inductive">nat</span></a>) : <a class="idref" href="mathcomp.algebra.ssrint.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#3baee4193385688d2f1fcb170107cf5b"><span class="id" title="notation">*-</span></a> <a class="idref" href="mathcomp.algebra.ssrint.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#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#9c7c5437248d02e78f1fc1d9125e7f44"><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.ssrint.html#n"><span class="id" title="variable">n</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">Section</span> <a name="ZintLmod"><span class="id" title="section">ZintLmod</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Definition</span> <a name="zmodule"><span class="id" title="definition">zmodule</span></a> (<span class="id" title="var">M</span> : <span class="id" title="keyword">Type</span>) : <span class="id" title="keyword">Type</span> := <a class="idref" href="mathcomp.algebra.ssrint.html#M"><span class="id" title="variable">M</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Variable</span> <a name="ZintLmod.M"><span class="id" title="variable">M</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Zmodule.Exports.zmodType"><span class="id" title="abbreviation">zmodType</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Implicit</span> <span class="id" title="keyword">Types</span> <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>.<br/>
+<span class="id" title="keyword">Implicit</span> <span class="id" title="keyword">Types</span> <span class="id" title="var">x</span> <span class="id" title="var">y</span> <span class="id" title="var">z</span> : <a class="idref" href="mathcomp.algebra.ssrint.html#ZintLmod.M"><span class="id" title="variable">M</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Fact</span> <a name="mulrzA_C"><span class="id" title="lemma">mulrzA_C</span></a> <span class="id" title="var">m</span> <span class="id" title="var">n</span> <span class="id" title="var">x</span> : <a class="idref" href="mathcomp.algebra.ssrint.html#9c7c5437248d02e78f1fc1d9125e7f44"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#9c7c5437248d02e78f1fc1d9125e7f44"><span class="id" title="notation">*~</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#9c7c5437248d02e78f1fc1d9125e7f44"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#9c7c5437248d02e78f1fc1d9125e7f44"><span class="id" title="notation">*~</span></a> <a class="idref" href="mathcomp.algebra.ssrint.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#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#9c7c5437248d02e78f1fc1d9125e7f44"><span class="id" title="notation">*~</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#9c7c5437248d02e78f1fc1d9125e7f44"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssrint.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.ssrint.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#9c7c5437248d02e78f1fc1d9125e7f44"><span class="id" title="notation">)</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Fact</span> <a name="mulrzAC"><span class="id" title="lemma">mulrzAC</span></a> <span class="id" title="var">m</span> <span class="id" title="var">n</span> <span class="id" title="var">x</span> : <a class="idref" href="mathcomp.algebra.ssrint.html#9c7c5437248d02e78f1fc1d9125e7f44"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#9c7c5437248d02e78f1fc1d9125e7f44"><span class="id" title="notation">*~</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#9c7c5437248d02e78f1fc1d9125e7f44"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#9c7c5437248d02e78f1fc1d9125e7f44"><span class="id" title="notation">*~</span></a> <a class="idref" href="mathcomp.algebra.ssrint.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#9c7c5437248d02e78f1fc1d9125e7f44"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#9c7c5437248d02e78f1fc1d9125e7f44"><span class="id" title="notation">*~</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#m"><span class="id" title="variable">m</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#9c7c5437248d02e78f1fc1d9125e7f44"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#9c7c5437248d02e78f1fc1d9125e7f44"><span class="id" title="notation">*~</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#n"><span class="id" title="variable">n</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Fact</span> <a name="mulr1z"><span class="id" title="lemma">mulr1z</span></a> (<span class="id" title="var">x</span> : <a class="idref" href="mathcomp.algebra.ssrint.html#ZintLmod.M"><span class="id" title="variable">M</span></a>) : <a class="idref" href="mathcomp.algebra.ssrint.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#9c7c5437248d02e78f1fc1d9125e7f44"><span class="id" title="notation">*~</span></a> 1 <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#x"><span class="id" title="variable">x</span></a>. <br/>
+
+<br/>
+<span class="id" title="keyword">Fact</span> <a name="mulrzDr"><span class="id" title="lemma">mulrzDr</span></a> <span class="id" title="var">m</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#3014e73af2a90fd800d8681479d76336"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#3014e73af2a90fd800d8681479d76336"><span class="id" title="notation">morph</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#3014e73af2a90fd800d8681479d76336"><span class="id" title="notation">(</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#2de40c45bd09d0877af9f7e0a831a84f"><span class="id" title="notation">*~%</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#2de40c45bd09d0877af9f7e0a831a84f"><span class="id" title="notation">R</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.ssrint.html#m"><span class="id" title="variable">m</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.ssrint.html#ZintLmod.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.ssrint.html#ZintLmod.M"><span class="id" title="variable">M</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#3014e73af2a90fd800d8681479d76336"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#3014e73af2a90fd800d8681479d76336"><span class="id" title="notation">:</span></a> <span class="id" title="var">x</span> <span class="id" title="var">y</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#3014e73af2a90fd800d8681479d76336"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#ae4d81913e6239182a9ac7467ffde8cd"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#y"><span class="id" title="variable">y</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#3014e73af2a90fd800d8681479d76336"><span class="id" title="notation">}</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="mulrzBl_nat"><span class="id" title="lemma">mulrzBl_nat</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.Datatypes.html#nat"><span class="id" title="inductive">nat</span></a>) <span class="id" title="var">x</span> : <a class="idref" href="mathcomp.algebra.ssrint.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#9c7c5437248d02e78f1fc1d9125e7f44"><span class="id" title="notation">*~</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#9c7c5437248d02e78f1fc1d9125e7f44"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#m"><span class="id" title="variable">m</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> <a class="idref" href="mathcomp.algebra.ssrint.html#n"><span class="id" title="variable">n</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.ssrint.html#9c7c5437248d02e78f1fc1d9125e7f44"><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#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#9c7c5437248d02e78f1fc1d9125e7f44"><span class="id" title="notation">*~</span></a> <a class="idref" href="mathcomp.algebra.ssrint.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.ssrint.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#9c7c5437248d02e78f1fc1d9125e7f44"><span class="id" title="notation">*~</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#n"><span class="id" title="variable">n</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Fact</span> <a name="mulrzDl"><span class="id" title="lemma">mulrzDl</span></a> <span class="id" title="var">x</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#3014e73af2a90fd800d8681479d76336"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#3014e73af2a90fd800d8681479d76336"><span class="id" title="notation">morph</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#2de40c45bd09d0877af9f7e0a831a84f"><span class="id" title="notation">*~%</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#2de40c45bd09d0877af9f7e0a831a84f"><span class="id" title="notation">R</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#2de40c45bd09d0877af9f7e0a831a84f"><span class="id" title="notation">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#3014e73af2a90fd800d8681479d76336"><span class="id" title="notation">:</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.ssrfun.html#3014e73af2a90fd800d8681479d76336"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.algebra.ssrint.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.ssrint.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#3014e73af2a90fd800d8681479d76336"><span class="id" title="notation">}</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Definition</span> <a name="Mint_LmodMixin"><span class="id" title="definition">Mint_LmodMixin</span></a> :=<br/>
+&nbsp;&nbsp;@<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lmodule.Exports.LmodMixin"><span class="id" title="abbreviation">LmodMixin</span></a> <span class="id" title="var">_</span> <a class="idref" href="mathcomp.algebra.ssralg.html#af6385fc2df84aeeec6855073f75cc68"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#af6385fc2df84aeeec6855073f75cc68"><span class="id" title="notation">zmodType</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#af6385fc2df84aeeec6855073f75cc68"><span class="id" title="notation">of</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#ZintLmod.M"><span class="id" title="variable">M</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#af6385fc2df84aeeec6855073f75cc68"><span class="id" title="notation">]</span></a> (<span class="id" title="keyword">fun</span> <span class="id" title="var">n</span> <span class="id" title="var">x</span> ⇒ <a class="idref" href="mathcomp.algebra.ssrint.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#9c7c5437248d02e78f1fc1d9125e7f44"><span class="id" title="notation">*~</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#n"><span class="id" title="variable">n</span></a>)<br/>
+&nbsp;&nbsp;&nbsp;<a class="idref" href="mathcomp.algebra.ssrint.html#mulrzA_C"><span class="id" title="lemma">mulrzA_C</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#mulr1z"><span class="id" title="lemma">mulr1z</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#mulrzDr"><span class="id" title="lemma">mulrzDr</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#mulrzDl"><span class="id" title="lemma">mulrzDl</span></a>.<br/>
+<span class="id" title="keyword">Canonical</span> <span class="id" title="var">Mint_LmodType</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lmodule.Exports.LmodType"><span class="id" title="abbreviation">LmodType</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.ssrint.html#ZintLmod.M"><span class="id" title="variable">M</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#3f04444404f133f7ccb95f6c0f6f4254"><span class="id" title="notation">^</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#3f04444404f133f7ccb95f6c0f6f4254"><span class="id" title="notation">z</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#Mint_LmodMixin"><span class="id" title="definition">Mint_LmodMixin</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="scalezrE"><span class="id" title="lemma">scalezrE</span></a> <span class="id" title="var">n</span> <span class="id" title="var">x</span> : <a class="idref" href="mathcomp.algebra.ssrint.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#81f8078534dcbb7e13a32d292f766525"><span class="id" title="notation">*:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#81f8078534dcbb7e13a32d292f766525"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#x"><span class="id" title="variable">x</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.ssrint.html#ZintLmod.M"><span class="id" title="variable">M</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#3f04444404f133f7ccb95f6c0f6f4254"><span class="id" title="notation">^</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#3f04444404f133f7ccb95f6c0f6f4254"><span class="id" title="notation">z</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#81f8078534dcbb7e13a32d292f766525"><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#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#9c7c5437248d02e78f1fc1d9125e7f44"><span class="id" title="notation">*~</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#n"><span class="id" title="variable">n</span></a>. <br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="mulrzA"><span class="id" title="lemma">mulrzA</span></a> <span class="id" title="var">x</span> <span class="id" title="var">m</span> <span class="id" title="var">n</span> : <a class="idref" href="mathcomp.algebra.ssrint.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#9c7c5437248d02e78f1fc1d9125e7f44"><span class="id" title="notation">*~</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#9c7c5437248d02e78f1fc1d9125e7f44"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssrint.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.ssrint.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#9c7c5437248d02e78f1fc1d9125e7f44"><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#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#9c7c5437248d02e78f1fc1d9125e7f44"><span class="id" title="notation">*~</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#9c7c5437248d02e78f1fc1d9125e7f44"><span class="id" title="notation">*~</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#n"><span class="id" title="variable">n</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="mulr0z"><span class="id" title="lemma">mulr0z</span></a> <span class="id" title="var">x</span> : <a class="idref" href="mathcomp.algebra.ssrint.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#9c7c5437248d02e78f1fc1d9125e7f44"><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> 0. <br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="mul0rz"><span class="id" title="lemma">mul0rz</span></a> <span class="id" title="var">n</span> : 0 <a class="idref" href="mathcomp.algebra.ssrint.html#9c7c5437248d02e78f1fc1d9125e7f44"><span class="id" title="notation">*~</span></a> <a class="idref" href="mathcomp.algebra.ssrint.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#8f9364556521ebb498093f28eea2240f"><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#8f9364556521ebb498093f28eea2240f"><span class="id" title="notation">:&gt;</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#ZintLmod.M"><span class="id" title="variable">M</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="mulrNz"><span class="id" title="lemma">mulrNz</span></a> <span class="id" title="var">x</span> <span class="id" title="var">n</span> : <a class="idref" href="mathcomp.algebra.ssrint.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#9c7c5437248d02e78f1fc1d9125e7f44"><span class="id" title="notation">*~</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#9c7c5437248d02e78f1fc1d9125e7f44"><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.ssrint.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#9c7c5437248d02e78f1fc1d9125e7f44"><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.ssralg.html#941c6d086004545bd62614d0213e75e5"><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.ssrint.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#9c7c5437248d02e78f1fc1d9125e7f44"><span class="id" title="notation">*~</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#941c6d086004545bd62614d0213e75e5"><span class="id" title="notation">)</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="mulrN1z"><span class="id" title="lemma">mulrN1z</span></a> <span class="id" title="var">x</span> : <a class="idref" href="mathcomp.algebra.ssrint.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#9c7c5437248d02e78f1fc1d9125e7f44"><span class="id" title="notation">*~</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#9c7c5437248d02e78f1fc1d9125e7f44"><span class="id" title="notation">(</span></a>- 1<a class="idref" href="mathcomp.algebra.ssrint.html#9c7c5437248d02e78f1fc1d9125e7f44"><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.ssralg.html#941c6d086004545bd62614d0213e75e5"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#x"><span class="id" title="variable">x</span></a>. <br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="mulNrz"><span class="id" title="lemma">mulNrz</span></a> <span class="id" title="var">x</span> <span class="id" title="var">n</span> : <a class="idref" href="mathcomp.algebra.ssrint.html#9c7c5437248d02e78f1fc1d9125e7f44"><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.ssrint.html#x"><span class="id" title="variable">x</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#9c7c5437248d02e78f1fc1d9125e7f44"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#9c7c5437248d02e78f1fc1d9125e7f44"><span class="id" title="notation">*~</span></a> <a class="idref" href="mathcomp.algebra.ssrint.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.ssralg.html#941c6d086004545bd62614d0213e75e5"><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.ssrint.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#9c7c5437248d02e78f1fc1d9125e7f44"><span class="id" title="notation">*~</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#941c6d086004545bd62614d0213e75e5"><span class="id" title="notation">)</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="mulrzBr"><span class="id" title="lemma">mulrzBr</span></a> <span class="id" title="var">x</span> <span class="id" title="var">m</span> <span class="id" title="var">n</span> : <a class="idref" href="mathcomp.algebra.ssrint.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#9c7c5437248d02e78f1fc1d9125e7f44"><span class="id" title="notation">*~</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#9c7c5437248d02e78f1fc1d9125e7f44"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssrint.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.ssrint.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#9c7c5437248d02e78f1fc1d9125e7f44"><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#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#9c7c5437248d02e78f1fc1d9125e7f44"><span class="id" title="notation">*~</span></a> <a class="idref" href="mathcomp.algebra.ssrint.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.ssrint.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#9c7c5437248d02e78f1fc1d9125e7f44"><span class="id" title="notation">*~</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#n"><span class="id" title="variable">n</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="mulrzBl"><span class="id" title="lemma">mulrzBl</span></a> <span class="id" title="var">x</span> <span class="id" title="var">y</span> <span class="id" title="var">n</span> : <a class="idref" href="mathcomp.algebra.ssrint.html#9c7c5437248d02e78f1fc1d9125e7f44"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#d70623330b2787db6b196e37db7d8f45"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#y"><span class="id" title="variable">y</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#9c7c5437248d02e78f1fc1d9125e7f44"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#9c7c5437248d02e78f1fc1d9125e7f44"><span class="id" title="notation">*~</span></a> <a class="idref" href="mathcomp.algebra.ssrint.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#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#9c7c5437248d02e78f1fc1d9125e7f44"><span class="id" title="notation">*~</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#d70623330b2787db6b196e37db7d8f45"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#y"><span class="id" title="variable">y</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#9c7c5437248d02e78f1fc1d9125e7f44"><span class="id" title="notation">*~</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#n"><span class="id" title="variable">n</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="mulrz_nat"><span class="id" title="lemma">mulrz_nat</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#nat"><span class="id" title="inductive">nat</span></a>) <span class="id" title="var">x</span> : <a class="idref" href="mathcomp.algebra.ssrint.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#9c7c5437248d02e78f1fc1d9125e7f44"><span class="id" title="notation">*~</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#n"><span class="id" title="variable">n</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.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#891e51846c7d1d63a9cb5458374cf308"><span class="id" title="notation">*+</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#n"><span class="id" title="variable">n</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="mulrz_sumr"><span class="id" title="lemma">mulrz_sumr</span></a> : <span class="id" title="keyword">∀</span> <span class="id" title="var">x</span> <span class="id" title="var">I</span> <span class="id" title="var">r</span> (<span class="id" title="var">P</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#pred"><span class="id" title="definition">pred</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#I"><span class="id" title="variable">I</span></a>) <span class="id" title="var">F</span>,<br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.algebra.ssrint.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#9c7c5437248d02e78f1fc1d9125e7f44"><span class="id" title="notation">*~</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#9c7c5437248d02e78f1fc1d9125e7f44"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#cbc2f2ab11c1c376b5c4511d28b14d74"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#cbc2f2ab11c1c376b5c4511d28b14d74"><span class="id" title="notation">sum_</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#cbc2f2ab11c1c376b5c4511d28b14d74"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.algebra.ssralg.html#cbc2f2ab11c1c376b5c4511d28b14d74"><span class="id" title="notation">&lt;-</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#r"><span class="id" title="variable">r</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#cbc2f2ab11c1c376b5c4511d28b14d74"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#cbc2f2ab11c1c376b5c4511d28b14d74"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#9c7c5437248d02e78f1fc1d9125e7f44"><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.ssralg.html#cbc2f2ab11c1c376b5c4511d28b14d74"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#cbc2f2ab11c1c376b5c4511d28b14d74"><span class="id" title="notation">sum_</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#cbc2f2ab11c1c376b5c4511d28b14d74"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.algebra.ssralg.html#cbc2f2ab11c1c376b5c4511d28b14d74"><span class="id" title="notation">&lt;-</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#r"><span class="id" title="variable">r</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#cbc2f2ab11c1c376b5c4511d28b14d74"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#cbc2f2ab11c1c376b5c4511d28b14d74"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#9c7c5437248d02e78f1fc1d9125e7f44"><span class="id" title="notation">*~</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#i"><span class="id" title="variable">i</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="mulrz_suml"><span class="id" title="lemma">mulrz_suml</span></a> : <span class="id" title="keyword">∀</span> <span class="id" title="var">n</span> <span class="id" title="var">I</span> <span class="id" title="var">r</span> (<span class="id" title="var">P</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#pred"><span class="id" title="definition">pred</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#I"><span class="id" title="variable">I</span></a>) (<span class="id" title="var">F</span> : <a class="idref" href="mathcomp.algebra.ssrint.html#I"><span class="id" title="variable">I</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.ssrint.html#ZintLmod.M"><span class="id" title="variable">M</span></a>),<br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.algebra.ssrint.html#9c7c5437248d02e78f1fc1d9125e7f44"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#cbc2f2ab11c1c376b5c4511d28b14d74"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#cbc2f2ab11c1c376b5c4511d28b14d74"><span class="id" title="notation">sum_</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#cbc2f2ab11c1c376b5c4511d28b14d74"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.algebra.ssralg.html#cbc2f2ab11c1c376b5c4511d28b14d74"><span class="id" title="notation">&lt;-</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#r"><span class="id" title="variable">r</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#cbc2f2ab11c1c376b5c4511d28b14d74"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#cbc2f2ab11c1c376b5c4511d28b14d74"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#i"><span class="id" title="variable">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.ssrint.html#9c7c5437248d02e78f1fc1d9125e7f44"><span class="id" title="notation">*~</span></a> <a class="idref" href="mathcomp.algebra.ssrint.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.ssralg.html#cbc2f2ab11c1c376b5c4511d28b14d74"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#cbc2f2ab11c1c376b5c4511d28b14d74"><span class="id" title="notation">sum_</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#cbc2f2ab11c1c376b5c4511d28b14d74"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.algebra.ssralg.html#cbc2f2ab11c1c376b5c4511d28b14d74"><span class="id" title="notation">&lt;-</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#r"><span class="id" title="variable">r</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#cbc2f2ab11c1c376b5c4511d28b14d74"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#cbc2f2ab11c1c376b5c4511d28b14d74"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#i"><span class="id" title="variable">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.ssrint.html#n"><span class="id" title="variable">n</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Canonical</span> <span class="id" title="var">intmul_additive</span> <span class="id" title="var">x</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Additive.Exports.Additive"><span class="id" title="abbreviation">Additive</span></a> (@<a class="idref" href="mathcomp.algebra.ssrint.html#mulrzBr"><span class="id" title="lemma">mulrzBr</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#x"><span class="id" title="variable">x</span></a>).<br/>
+
+<br/>
+<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.algebra.ssrint.html#ZintLmod"><span class="id" title="section">ZintLmod</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="ffunMzE"><span class="id" title="lemma">ffunMzE</span></a> (<span class="id" title="var">I</span> : <a class="idref" href="mathcomp.ssreflect.fintype.html#Finite.Exports.finType"><span class="id" title="abbreviation">finType</span></a>) (<span class="id" title="var">M</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">f</span> : <a class="idref" href="mathcomp.ssreflect.finfun.html#9f24a6f16bf73832c2d9aa4e2c16f692"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.ssreflect.finfun.html#9f24a6f16bf73832c2d9aa4e2c16f692"><span class="id" title="notation">ffun</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#I"><span class="id" title="variable">I</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.ssrint.html#M"><span class="id" title="variable">M</span></a><a class="idref" href="mathcomp.ssreflect.finfun.html#9f24a6f16bf73832c2d9aa4e2c16f692"><span class="id" title="notation">}</span></a>) <span class="id" title="var">z</span> <span class="id" title="var">x</span> :<br/>
+&nbsp;&nbsp;(<a class="idref" href="mathcomp.algebra.ssrint.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#9c7c5437248d02e78f1fc1d9125e7f44"><span class="id" title="notation">*~</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#z"><span class="id" title="variable">z</span></a>) <a class="idref" href="mathcomp.algebra.ssrint.html#x"><span class="id" title="variable">x</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#f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#9c7c5437248d02e78f1fc1d9125e7f44"><span class="id" title="notation">*~</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#z"><span class="id" title="variable">z</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="intz"><span class="id" title="lemma">intz</span></a> (<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="mathcomp.algebra.ssrint.html#n"><span class="id" title="variable">n</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.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#n"><span class="id" title="variable">n</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="natz"><span class="id" title="lemma">natz</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#nat"><span class="id" title="inductive">nat</span></a>) : <a class="idref" href="mathcomp.algebra.ssrint.html#n"><span class="id" title="variable">n</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.Init.Logic.html#8f9364556521ebb498093f28eea2240f"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#n"><span class="id" title="variable">n</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#8f9364556521ebb498093f28eea2240f"><span class="id" title="notation">:&gt;</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#int"><span class="id" title="inductive">int</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Section</span> <a name="RintMod"><span class="id" title="section">RintMod</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Variable</span> <a name="RintMod.R"><span class="id" title="variable">R</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Ring.Exports.ringType"><span class="id" title="abbreviation">ringType</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Implicit</span> <span class="id" title="keyword">Types</span> <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>.<br/>
+<span class="id" title="keyword">Implicit</span> <span class="id" title="keyword">Types</span> <span class="id" title="var">x</span> <span class="id" title="var">y</span> <span class="id" title="var">z</span> : <a class="idref" href="mathcomp.algebra.ssrint.html#RintMod.R"><span class="id" title="variable">R</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="mulrzAl"><span class="id" title="lemma">mulrzAl</span></a> <span class="id" title="var">n</span> <span class="id" title="var">x</span> <span class="id" title="var">y</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#22058a36a53dac65c94ca403bc62650a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#9c7c5437248d02e78f1fc1d9125e7f44"><span class="id" title="notation">*~</span></a> <a class="idref" href="mathcomp.algebra.ssrint.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.ssralg.html#22058a36a53dac65c94ca403bc62650a"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#y"><span class="id" title="variable">y</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#9c7c5437248d02e78f1fc1d9125e7f44"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#x"><span class="id" title="variable">x</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#y"><span class="id" title="variable">y</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#9c7c5437248d02e78f1fc1d9125e7f44"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#9c7c5437248d02e78f1fc1d9125e7f44"><span class="id" title="notation">*~</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#n"><span class="id" title="variable">n</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="mulrzAr"><span class="id" title="lemma">mulrzAr</span></a> <span class="id" title="var">n</span> <span class="id" title="var">x</span> <span class="id" title="var">y</span> : <a class="idref" href="mathcomp.algebra.ssrint.html#x"><span class="id" title="variable">x</span></a> <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.ssrint.html#y"><span class="id" title="variable">y</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#9c7c5437248d02e78f1fc1d9125e7f44"><span class="id" title="notation">*~</span></a> <a class="idref" href="mathcomp.algebra.ssrint.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="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#9c7c5437248d02e78f1fc1d9125e7f44"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#x"><span class="id" title="variable">x</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#y"><span class="id" title="variable">y</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#9c7c5437248d02e78f1fc1d9125e7f44"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#9c7c5437248d02e78f1fc1d9125e7f44"><span class="id" title="notation">*~</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#n"><span class="id" title="variable">n</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="mulrzl"><span class="id" title="lemma">mulrzl</span></a> <span class="id" title="var">x</span> <span class="id" title="var">n</span> : <a class="idref" href="mathcomp.algebra.ssrint.html#n"><span class="id" title="variable">n</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#22058a36a53dac65c94ca403bc62650a"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#x"><span class="id" title="variable">x</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#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#9c7c5437248d02e78f1fc1d9125e7f44"><span class="id" title="notation">*~</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#n"><span class="id" title="variable">n</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="mulrzr"><span class="id" title="lemma">mulrzr</span></a> <span class="id" title="var">x</span> <span class="id" title="var">n</span> : <a class="idref" href="mathcomp.algebra.ssrint.html#x"><span class="id" title="variable">x</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#n"><span class="id" title="variable">n</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.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#9c7c5437248d02e78f1fc1d9125e7f44"><span class="id" title="notation">*~</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#n"><span class="id" title="variable">n</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="mulNrNz"><span class="id" title="lemma">mulNrNz</span></a> <span class="id" title="var">n</span> <span class="id" title="var">x</span> : <a class="idref" href="mathcomp.algebra.ssrint.html#9c7c5437248d02e78f1fc1d9125e7f44"><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.ssrint.html#x"><span class="id" title="variable">x</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#9c7c5437248d02e78f1fc1d9125e7f44"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#9c7c5437248d02e78f1fc1d9125e7f44"><span class="id" title="notation">*~</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#9c7c5437248d02e78f1fc1d9125e7f44"><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.ssrint.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#9c7c5437248d02e78f1fc1d9125e7f44"><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#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#9c7c5437248d02e78f1fc1d9125e7f44"><span class="id" title="notation">*~</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#n"><span class="id" title="variable">n</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="mulrbz"><span class="id" title="lemma">mulrbz</span></a> <span class="id" title="var">x</span> (<span class="id" title="var">b</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#bool"><span class="id" title="inductive">bool</span></a>) : <a class="idref" href="mathcomp.algebra.ssrint.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#9c7c5437248d02e78f1fc1d9125e7f44"><span class="id" title="notation">*~</span></a> <a class="idref" href="mathcomp.algebra.ssrint.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="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.ssr.ssreflect.html#0348819abaa88c2cd747e8fa60dde7ae"><span class="id" title="notation">if</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#b"><span class="id" title="variable">b</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">then</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#x"><span class="id" title="variable">x</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> 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="intrD"><span class="id" title="lemma">intrD</span></a> <span class="id" title="var">m</span> <span class="id" title="var">n</span> : <a class="idref" href="mathcomp.algebra.ssrint.html#626a4f68393e32b84ab75f15f785f640"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssrint.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.ssrint.html#n"><span class="id" title="variable">n</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.Init.Logic.html#8f9364556521ebb498093f28eea2240f"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssrint.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#ae4d81913e6239182a9ac7467ffde8cd"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#n"><span class="id" title="variable">n</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.Init.Logic.html#8f9364556521ebb498093f28eea2240f"><span class="id" title="notation">:&gt;</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#RintMod.R"><span class="id" title="variable">R</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="intrM"><span class="id" title="lemma">intrM</span></a> <span class="id" title="var">m</span> <span class="id" title="var">n</span> : <a class="idref" href="mathcomp.algebra.ssrint.html#626a4f68393e32b84ab75f15f785f640"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssrint.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.ssrint.html#n"><span class="id" title="variable">n</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.Init.Logic.html#8f9364556521ebb498093f28eea2240f"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssrint.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#22058a36a53dac65c94ca403bc62650a"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#n"><span class="id" title="variable">n</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.Init.Logic.html#8f9364556521ebb498093f28eea2240f"><span class="id" title="notation">:&gt;</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#RintMod.R"><span class="id" title="variable">R</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="intmul1_is_rmorphism"><span class="id" title="lemma">intmul1_is_rmorphism</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RMorphism.Exports.rmorphism"><span class="id" title="abbreviation">rmorphism</span></a> ( <a class="idref" href="mathcomp.algebra.ssrint.html#2de40c45bd09d0877af9f7e0a831a84f"><span class="id" title="notation">*~%</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#2de40c45bd09d0877af9f7e0a831a84f"><span class="id" title="notation">R</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#2de40c45bd09d0877af9f7e0a831a84f"><span class="id" title="notation">(1</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#2de40c45bd09d0877af9f7e0a831a84f"><span class="id" title="notation">:</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#2de40c45bd09d0877af9f7e0a831a84f"><span class="id" title="notation">R</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#2de40c45bd09d0877af9f7e0a831a84f"><span class="id" title="notation">)</span></a>).<br/>
+<span class="id" title="keyword">Canonical</span> <span class="id" title="var">intmul1_rmorphism</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RMorphism.Exports.RMorphism"><span class="id" title="abbreviation">RMorphism</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#intmul1_is_rmorphism"><span class="id" title="lemma">intmul1_is_rmorphism</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="mulr2z"><span class="id" title="lemma">mulr2z</span></a> <span class="id" title="var">n</span> : <a class="idref" href="mathcomp.algebra.ssrint.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#9c7c5437248d02e78f1fc1d9125e7f44"><span class="id" title="notation">*~</span></a> 2 <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#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.ssrint.html#n"><span class="id" title="variable">n</span></a>. <br/>
+
+<br/>
+<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.algebra.ssrint.html#RintMod"><span class="id" title="section">RintMod</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="mulrzz"><span class="id" title="lemma">mulrzz</span></a> <span class="id" title="var">m</span> <span class="id" title="var">n</span> : <a class="idref" href="mathcomp.algebra.ssrint.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#9c7c5437248d02e78f1fc1d9125e7f44"><span class="id" title="notation">*~</span></a> <a class="idref" href="mathcomp.algebra.ssrint.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#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.ssrint.html#n"><span class="id" title="variable">n</span></a>. <br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="mulz2"><span class="id" title="lemma">mulz2</span></a> <span class="id" title="var">n</span> : <a class="idref" href="mathcomp.algebra.ssrint.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> 2<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.ssrint.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.ssrint.html#n"><span class="id" title="variable">n</span></a>. <br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="mul2z"><span class="id" title="lemma">mul2z</span></a> <span class="id" title="var">n</span> : 2<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.ssrint.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#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.ssrint.html#n"><span class="id" title="variable">n</span></a>. <br/>
+
+<br/>
+<span class="id" title="keyword">Section</span> <a name="LMod"><span class="id" title="section">LMod</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Variable</span> <a name="LMod.R"><span class="id" title="variable">R</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Ring.Exports.ringType"><span class="id" title="abbreviation">ringType</span></a>.<br/>
+<span class="id" title="keyword">Variable</span> <a name="LMod.V"><span class="id" title="variable">V</span></a> : (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lmodule.Exports.lmodType"><span class="id" title="abbreviation">lmodType</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#LMod.R"><span class="id" title="variable">R</span></a>).<br/>
+
+<br/>
+<span class="id" title="keyword">Implicit</span> <span class="id" title="keyword">Types</span> <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>.<br/>
+<span class="id" title="keyword">Implicit</span> <span class="id" title="keyword">Types</span> <span class="id" title="var">x</span> <span class="id" title="var">y</span> <span class="id" title="var">z</span> : <a class="idref" href="mathcomp.algebra.ssrint.html#LMod.R"><span class="id" title="variable">R</span></a>.<br/>
+<span class="id" title="keyword">Implicit</span> <span class="id" title="keyword">Types</span> <span class="id" title="var">u</span> <span class="id" title="var">v</span> <span class="id" title="var">w</span> : <a class="idref" href="mathcomp.algebra.ssrint.html#LMod.V"><span class="id" title="variable">V</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="scaler_int"><span class="id" title="lemma">scaler_int</span></a> <span class="id" title="var">n</span> <span class="id" title="var">v</span> : <a class="idref" href="mathcomp.algebra.ssrint.html#n"><span class="id" title="variable">n</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#81f8078534dcbb7e13a32d292f766525"><span class="id" title="notation">*:</span></a> <a class="idref" href="mathcomp.algebra.ssrint.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.ssrint.html#v"><span class="id" title="variable">v</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#9c7c5437248d02e78f1fc1d9125e7f44"><span class="id" title="notation">*~</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#n"><span class="id" title="variable">n</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="scalerMzl"><span class="id" title="lemma">scalerMzl</span></a> <span class="id" title="var">a</span> <span class="id" title="var">v</span> <span class="id" title="var">n</span> : <a class="idref" href="mathcomp.algebra.ssrint.html#9c7c5437248d02e78f1fc1d9125e7f44"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssrint.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.ssrint.html#v"><span class="id" title="variable">v</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#9c7c5437248d02e78f1fc1d9125e7f44"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#9c7c5437248d02e78f1fc1d9125e7f44"><span class="id" title="notation">*~</span></a> <a class="idref" href="mathcomp.algebra.ssrint.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.ssralg.html#81f8078534dcbb7e13a32d292f766525"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#a"><span class="id" title="variable">a</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#9c7c5437248d02e78f1fc1d9125e7f44"><span class="id" title="notation">*~</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#81f8078534dcbb7e13a32d292f766525"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#81f8078534dcbb7e13a32d292f766525"><span class="id" title="notation">*:</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#v"><span class="id" title="variable">v</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="scalerMzr"><span class="id" title="lemma">scalerMzr</span></a> <span class="id" title="var">a</span> <span class="id" title="var">v</span> <span class="id" title="var">n</span> : <a class="idref" href="mathcomp.algebra.ssrint.html#9c7c5437248d02e78f1fc1d9125e7f44"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssrint.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.ssrint.html#v"><span class="id" title="variable">v</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#9c7c5437248d02e78f1fc1d9125e7f44"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#9c7c5437248d02e78f1fc1d9125e7f44"><span class="id" title="notation">*~</span></a> <a class="idref" href="mathcomp.algebra.ssrint.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#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.ssralg.html#81f8078534dcbb7e13a32d292f766525"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#v"><span class="id" title="variable">v</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#9c7c5437248d02e78f1fc1d9125e7f44"><span class="id" title="notation">*~</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#81f8078534dcbb7e13a32d292f766525"><span class="id" title="notation">)</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.algebra.ssrint.html#LMod"><span class="id" title="section">LMod</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="mulrz_int"><span class="id" title="lemma">mulrz_int</span></a> (<span class="id" title="var">M</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">n</span> : <a class="idref" href="mathcomp.algebra.ssrint.html#int"><span class="id" title="inductive">int</span></a>) (<span class="id" title="var">x</span> : <a class="idref" href="mathcomp.algebra.ssrint.html#M"><span class="id" title="variable">M</span></a>) : <a class="idref" href="mathcomp.algebra.ssrint.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#9c7c5437248d02e78f1fc1d9125e7f44"><span class="id" title="notation">*~</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#n"><span class="id" title="variable">n</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.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#9c7c5437248d02e78f1fc1d9125e7f44"><span class="id" title="notation">*~</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#n"><span class="id" title="variable">n</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Section</span> <a name="MorphTheory"><span class="id" title="section">MorphTheory</span></a>.<br/>
+<span class="id" title="keyword">Section</span> <a name="MorphTheory.Additive"><span class="id" title="section">Additive</span></a>.<br/>
+<span class="id" title="keyword">Variables</span> (<a name="MorphTheory.Additive.U"><span class="id" title="variable">U</span></a> <a name="MorphTheory.Additive.V"><span class="id" title="variable">V</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Zmodule.Exports.zmodType"><span class="id" title="abbreviation">zmodType</span></a>) (<a name="MorphTheory.Additive.f"><span class="id" title="variable">f</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#6566b94c06c342b0768c3d2d73badf6e"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#6566b94c06c342b0768c3d2d73badf6e"><span class="id" title="notation">additive</span></a> <a class="idref" href="mathcomp.algebra.ssrint.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.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#V"><span class="id" title="variable">V</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#6566b94c06c342b0768c3d2d73badf6e"><span class="id" title="notation">}</span></a>).<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="raddfMz"><span class="id" title="lemma">raddfMz</span></a> <span class="id" title="var">n</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#c3c88e2b30b681cd767a54649faf5973"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#c3c88e2b30b681cd767a54649faf5973"><span class="id" title="notation">morph</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#MorphTheory.Additive.f"><span class="id" title="variable">f</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#c3c88e2b30b681cd767a54649faf5973"><span class="id" title="notation">:</span></a> <span class="id" title="var">x</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#c3c88e2b30b681cd767a54649faf5973"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#9c7c5437248d02e78f1fc1d9125e7f44"><span class="id" title="notation">*~</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#c3c88e2b30b681cd767a54649faf5973"><span class="id" title="notation">}</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.algebra.ssrint.html#MorphTheory.Additive"><span class="id" title="section">Additive</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Section</span> <a name="MorphTheory.Multiplicative"><span class="id" title="section">Multiplicative</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Variables</span> (<a name="MorphTheory.Multiplicative.R"><span class="id" title="variable">R</span></a> <a name="MorphTheory.Multiplicative.S"><span class="id" title="variable">S</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Ring.Exports.ringType"><span class="id" title="abbreviation">ringType</span></a>) (<a name="MorphTheory.Multiplicative.f"><span class="id" title="variable">f</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#0c709ebe43ddbd7719f75250a7b916d9"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#0c709ebe43ddbd7719f75250a7b916d9"><span class="id" title="notation">rmorphism</span></a> <a class="idref" href="mathcomp.algebra.ssrint.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.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#S"><span class="id" title="variable">S</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#0c709ebe43ddbd7719f75250a7b916d9"><span class="id" title="notation">}</span></a>).<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="rmorphMz"><span class="id" title="lemma">rmorphMz</span></a> : <span class="id" title="keyword">∀</span> <span class="id" title="var">n</span>, <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#c3c88e2b30b681cd767a54649faf5973"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#c3c88e2b30b681cd767a54649faf5973"><span class="id" title="notation">morph</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#MorphTheory.Multiplicative.f"><span class="id" title="variable">f</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#c3c88e2b30b681cd767a54649faf5973"><span class="id" title="notation">:</span></a> <span class="id" title="var">x</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#c3c88e2b30b681cd767a54649faf5973"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#9c7c5437248d02e78f1fc1d9125e7f44"><span class="id" title="notation">*~</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#c3c88e2b30b681cd767a54649faf5973"><span class="id" title="notation">}</span></a>. <br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="rmorph_int"><span class="id" title="lemma">rmorph_int</span></a> : <span class="id" title="keyword">∀</span> <span class="id" title="var">n</span>, <a class="idref" href="mathcomp.algebra.ssrint.html#MorphTheory.Multiplicative.f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#n"><span class="id" title="variable">n</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.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#n"><span class="id" title="variable">n</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>.<br/>
+
+<br/>
+<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.algebra.ssrint.html#MorphTheory.Multiplicative"><span class="id" title="section">Multiplicative</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Section</span> <a name="MorphTheory.Linear"><span class="id" title="section">Linear</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Variable</span> <a name="MorphTheory.Linear.R"><span class="id" title="variable">R</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Ring.Exports.ringType"><span class="id" title="abbreviation">ringType</span></a>.<br/>
+<span class="id" title="keyword">Variables</span> (<a name="MorphTheory.Linear.U"><span class="id" title="variable">U</span></a> <a name="MorphTheory.Linear.V"><span class="id" title="variable">V</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lmodule.Exports.lmodType"><span class="id" title="abbreviation">lmodType</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#MorphTheory.Linear.R"><span class="id" title="variable">R</span></a>) (<a name="MorphTheory.Linear.f"><span class="id" title="variable">f</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#697e59dccfd7ad4519680ddb16ef82da"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#697e59dccfd7ad4519680ddb16ef82da"><span class="id" title="notation">linear</span></a> <a class="idref" href="mathcomp.algebra.ssrint.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.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#V"><span class="id" title="variable">V</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#697e59dccfd7ad4519680ddb16ef82da"><span class="id" title="notation">}</span></a>).<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="linearMn"><span class="id" title="lemma">linearMn</span></a> : <span class="id" title="keyword">∀</span> <span class="id" title="var">n</span>, <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#c3c88e2b30b681cd767a54649faf5973"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#c3c88e2b30b681cd767a54649faf5973"><span class="id" title="notation">morph</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#MorphTheory.Linear.f"><span class="id" title="variable">f</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#c3c88e2b30b681cd767a54649faf5973"><span class="id" title="notation">:</span></a> <span class="id" title="var">x</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#c3c88e2b30b681cd767a54649faf5973"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#9c7c5437248d02e78f1fc1d9125e7f44"><span class="id" title="notation">*~</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#c3c88e2b30b681cd767a54649faf5973"><span class="id" title="notation">}</span></a>. <br/>
+
+<br/>
+<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.algebra.ssrint.html#MorphTheory.Linear"><span class="id" title="section">Linear</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="raddf_int_scalable"><span class="id" title="lemma">raddf_int_scalable</span></a> (<span class="id" title="var">aV</span> <span class="id" title="var">rV</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lmodule.Exports.lmodType"><span class="id" title="abbreviation">lmodType</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#int"><span class="id" title="inductive">int</span></a>) (<span class="id" title="var">f</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#6566b94c06c342b0768c3d2d73badf6e"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#6566b94c06c342b0768c3d2d73badf6e"><span class="id" title="notation">additive</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#aV"><span class="id" title="variable">aV</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.ssrint.html#rV"><span class="id" title="variable">rV</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#6566b94c06c342b0768c3d2d73badf6e"><span class="id" title="notation">}</span></a>) :<br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Linear.Exports.scalable"><span class="id" title="abbreviation">scalable</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#f"><span class="id" title="variable">f</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Section</span> <a name="MorphTheory.Zintmul1rMorph"><span class="id" title="section">Zintmul1rMorph</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Variable</span> <a name="MorphTheory.Zintmul1rMorph.R"><span class="id" title="variable">R</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Ring.Exports.ringType"><span class="id" title="abbreviation">ringType</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="commrMz"><span class="id" title="lemma">commrMz</span></a> (<span class="id" title="var">x</span> <span class="id" title="var">y</span> : <a class="idref" href="mathcomp.algebra.ssrint.html#MorphTheory.Zintmul1rMorph.R"><span class="id" title="variable">R</span></a>) <span class="id" title="var">n</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.comm"><span class="id" title="definition">GRing.comm</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#y"><span class="id" title="variable">y</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.ssralg.html#GRing.comm"><span class="id" title="definition">GRing.comm</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#x"><span class="id" title="variable">x</span></a> (<a class="idref" href="mathcomp.algebra.ssrint.html#y"><span class="id" title="variable">y</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#9c7c5437248d02e78f1fc1d9125e7f44"><span class="id" title="notation">*~</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#n"><span class="id" title="variable">n</span></a>).<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="commr_int"><span class="id" title="lemma">commr_int</span></a> (<span class="id" title="var">x</span> : <a class="idref" href="mathcomp.algebra.ssrint.html#MorphTheory.Zintmul1rMorph.R"><span class="id" title="variable">R</span></a>) <span class="id" title="var">n</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.comm"><span class="id" title="definition">GRing.comm</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#n"><span class="id" title="variable">n</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>.<br/>
+
+<br/>
+<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.algebra.ssrint.html#MorphTheory.Zintmul1rMorph"><span class="id" title="section">Zintmul1rMorph</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Section</span> <a name="MorphTheory.ZintBigMorphism"><span class="id" title="section">ZintBigMorphism</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Variable</span> <a name="MorphTheory.ZintBigMorphism.R"><span class="id" title="variable">R</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Ring.Exports.ringType"><span class="id" title="abbreviation">ringType</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="sumMz"><span class="id" title="lemma">sumMz</span></a> : <span class="id" title="keyword">∀</span> <span class="id" title="var">I</span> <span class="id" title="var">r</span> (<span class="id" title="var">P</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#pred"><span class="id" title="definition">pred</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#I"><span class="id" title="variable">I</span></a>) <span class="id" title="var">F</span>,<br/>
+&nbsp;(<a class="idref" href="mathcomp.ssreflect.bigop.html#ea7e35bae15685d5cd3430a8e48be02b"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#ea7e35bae15685d5cd3430a8e48be02b"><span class="id" title="notation">sum_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#ea7e35bae15685d5cd3430a8e48be02b"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#ea7e35bae15685d5cd3430a8e48be02b"><span class="id" title="notation">&lt;-</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#r"><span class="id" title="variable">r</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#ea7e35bae15685d5cd3430a8e48be02b"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#ea7e35bae15685d5cd3430a8e48be02b"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#i"><span class="id" title="variable">i</span></a>)%<span class="id" title="var">N</span><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.Init.Logic.html#8f9364556521ebb498093f28eea2240f"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#cbc2f2ab11c1c376b5c4511d28b14d74"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#cbc2f2ab11c1c376b5c4511d28b14d74"><span class="id" title="notation">sum_</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#cbc2f2ab11c1c376b5c4511d28b14d74"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.algebra.ssralg.html#cbc2f2ab11c1c376b5c4511d28b14d74"><span class="id" title="notation">&lt;-</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#r"><span class="id" title="variable">r</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#cbc2f2ab11c1c376b5c4511d28b14d74"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#cbc2f2ab11c1c376b5c4511d28b14d74"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#cbc2f2ab11c1c376b5c4511d28b14d74"><span class="id" title="notation">(</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#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#i"><span class="id" title="variable">i</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#cbc2f2ab11c1c376b5c4511d28b14d74"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#8f9364556521ebb498093f28eea2240f"><span class="id" title="notation">:&gt;</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#MorphTheory.ZintBigMorphism.R"><span class="id" title="variable">R</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="prodMz"><span class="id" title="lemma">prodMz</span></a> : <span class="id" title="keyword">∀</span> <span class="id" title="var">I</span> <span class="id" title="var">r</span> (<span class="id" title="var">P</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#pred"><span class="id" title="definition">pred</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#I"><span class="id" title="variable">I</span></a>) <span class="id" title="var">F</span>,<br/>
+&nbsp;(<a class="idref" href="mathcomp.ssreflect.bigop.html#9d27735af9c069a15e48cb2f0aad6a15"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#9d27735af9c069a15e48cb2f0aad6a15"><span class="id" title="notation">prod_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#9d27735af9c069a15e48cb2f0aad6a15"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#9d27735af9c069a15e48cb2f0aad6a15"><span class="id" title="notation">&lt;-</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#r"><span class="id" title="variable">r</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#9d27735af9c069a15e48cb2f0aad6a15"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#9d27735af9c069a15e48cb2f0aad6a15"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#i"><span class="id" title="variable">i</span></a>)%<span class="id" title="var">N</span><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.Init.Logic.html#8f9364556521ebb498093f28eea2240f"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#358fca18835530a08faf9e0f246b584a"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#358fca18835530a08faf9e0f246b584a"><span class="id" title="notation">prod_</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#358fca18835530a08faf9e0f246b584a"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.algebra.ssralg.html#358fca18835530a08faf9e0f246b584a"><span class="id" title="notation">&lt;-</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#r"><span class="id" title="variable">r</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#358fca18835530a08faf9e0f246b584a"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#358fca18835530a08faf9e0f246b584a"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#358fca18835530a08faf9e0f246b584a"><span class="id" title="notation">(</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#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#i"><span class="id" title="variable">i</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#358fca18835530a08faf9e0f246b584a"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#8f9364556521ebb498093f28eea2240f"><span class="id" title="notation">:&gt;</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#MorphTheory.ZintBigMorphism.R"><span class="id" title="variable">R</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.algebra.ssrint.html#MorphTheory.ZintBigMorphism"><span class="id" title="section">ZintBigMorphism</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Section</span> <a name="MorphTheory.Frobenius"><span class="id" title="section">Frobenius</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Variable</span> <a name="MorphTheory.Frobenius.R"><span class="id" title="variable">R</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Ring.Exports.ringType"><span class="id" title="abbreviation">ringType</span></a>.<br/>
+<span class="id" title="keyword">Implicit</span> <span class="id" title="keyword">Types</span> <span class="id" title="var">x</span> <span class="id" title="var">y</span> : <a class="idref" href="mathcomp.algebra.ssrint.html#MorphTheory.Frobenius.R"><span class="id" title="variable">R</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Variable</span> <a name="MorphTheory.Frobenius.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#nat"><span class="id" title="inductive">nat</span></a>.<br/>
+<span class="id" title="keyword">Hypothesis</span> <a name="MorphTheory.Frobenius.charFp"><span class="id" title="variable">charFp</span></a> : <a class="idref" href="mathcomp.algebra.ssrint.html#MorphTheory.Frobenius.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.ssralg.html#b8d1051ec5bf038cb2a33edc541359f8"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#b8d1051ec5bf038cb2a33edc541359f8"><span class="id" title="notation">char</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#MorphTheory.Frobenius.R"><span class="id" title="variable">R</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#b8d1051ec5bf038cb2a33edc541359f8"><span class="id" title="notation">]</span></a>.<br/>
+
+<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="Frobenius_autMz"><span class="id" title="lemma">Frobenius_autMz</span></a> <span class="id" title="var">x</span> <span class="id" title="var">n</span> : <a class="idref" href="mathcomp.algebra.ssrint.html#e0d2a01f79c224eaeeb036c69b97e850"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#9c7c5437248d02e78f1fc1d9125e7f44"><span class="id" title="notation">*~</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#e0d2a01f79c224eaeeb036c69b97e850"><span class="id" title="notation">)^</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#e0d2a01f79c224eaeeb036c69b97e850"><span class="id" title="notation">f</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#x"><span class="id" title="variable">x</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#e0d2a01f79c224eaeeb036c69b97e850"><span class="id" title="notation">^</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#e0d2a01f79c224eaeeb036c69b97e850"><span class="id" title="notation">f</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#9c7c5437248d02e78f1fc1d9125e7f44"><span class="id" title="notation">*~</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#n"><span class="id" title="variable">n</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="Frobenius_aut_int"><span class="id" title="lemma">Frobenius_aut_int</span></a> <span class="id" title="var">n</span> : <a class="idref" href="mathcomp.algebra.ssrint.html#e0d2a01f79c224eaeeb036c69b97e850"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#n"><span class="id" title="variable">n</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.ssrint.html#e0d2a01f79c224eaeeb036c69b97e850"><span class="id" title="notation">)^</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#e0d2a01f79c224eaeeb036c69b97e850"><span class="id" title="notation">f</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#n"><span class="id" title="variable">n</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>.<br/>
+
+<br/>
+<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.algebra.ssrint.html#MorphTheory.Frobenius"><span class="id" title="section">Frobenius</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Section</span> <a name="MorphTheory.NumMorphism"><span class="id" title="section">NumMorphism</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Section</span> <a name="MorphTheory.NumMorphism.PO"><span class="id" title="section">PO</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Variables</span> (<a name="MorphTheory.NumMorphism.PO.R"><span class="id" title="variable">R</span></a> : <a class="idref" href="mathcomp.algebra.ssrnum.html#Num.NumDomain.Exports.numDomainType"><span class="id" title="abbreviation">numDomainType</span></a>).<br/>
+
+<br/>
+<span class="id" title="keyword">Implicit</span> <span class="id" title="keyword">Types</span> <span class="id" title="var">n</span> <span class="id" title="var">m</span> : <a class="idref" href="mathcomp.algebra.ssrint.html#int"><span class="id" title="inductive">int</span></a>.<br/>
+<span class="id" title="keyword">Implicit</span> <span class="id" title="keyword">Types</span> <span class="id" title="var">x</span> <span class="id" title="var">y</span> : <a class="idref" href="mathcomp.algebra.ssrint.html#MorphTheory.NumMorphism.PO.R"><span class="id" title="variable">R</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="rmorphzP"><span class="id" title="lemma">rmorphzP</span></a> (<span class="id" title="var">f</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#0c709ebe43ddbd7719f75250a7b916d9"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#0c709ebe43ddbd7719f75250a7b916d9"><span class="id" title="notation">rmorphism</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> <a class="idref" href="mathcomp.algebra.ssrint.html#MorphTheory.NumMorphism.PO.R"><span class="id" title="variable">R</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#0c709ebe43ddbd7719f75250a7b916d9"><span class="id" title="notation">}</span></a>) : <a class="idref" href="mathcomp.algebra.ssrint.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#2500d48ed8e862ccfda98a44dff88963"><span class="id" title="notation">=1</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#2500d48ed8e862ccfda98a44dff88963"><span class="id" title="notation">(</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#2de40c45bd09d0877af9f7e0a831a84f"><span class="id" title="notation">*~%</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#2de40c45bd09d0877af9f7e0a831a84f"><span class="id" title="notation">R</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#2de40c45bd09d0877af9f7e0a831a84f"><span class="id" title="notation">1</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#2500d48ed8e862ccfda98a44dff88963"><span class="id" title="notation">)</span></a>.<br/>
+
+<br/>
+</div>
+
+<div class="doc">
+ intmul and ler/ltr
+</div>
+<div class="code">
+<span class="id" title="keyword">Lemma</span> <a name="ler_pmulz2r"><span class="id" title="lemma">ler_pmulz2r</span></a> <span class="id" title="var">n</span> (<span class="id" title="var">hn</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.ssrint.html#n"><span class="id" title="variable">n</span></a>) : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#cedeb4d71ab31ea655ad3d06a9c296b3"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#cedeb4d71ab31ea655ad3d06a9c296b3"><span class="id" title="notation">mono</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#2de40c45bd09d0877af9f7e0a831a84f"><span class="id" title="notation">*~%</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#2de40c45bd09d0877af9f7e0a831a84f"><span class="id" title="notation">R</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.ssrint.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#cedeb4d71ab31ea655ad3d06a9c296b3"><span class="id" title="notation">:</span></a><span class="id" title="var">x</span> <span class="id" title="var">y</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#cedeb4d71ab31ea655ad3d06a9c296b3"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssrnum.html#d6cd0798ccf4decf11598a746ae90abf"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#y"><span class="id" title="variable">y</span></a> <a class="idref" href="mathcomp.algebra.ssrnum.html#d6cd0798ccf4decf11598a746ae90abf"><span class="id" title="notation">:&gt;</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#MorphTheory.NumMorphism.PO.R"><span class="id" title="variable">R</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#cedeb4d71ab31ea655ad3d06a9c296b3"><span class="id" title="notation">}</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="ltr_pmulz2r"><span class="id" title="lemma">ltr_pmulz2r</span></a> <span class="id" title="var">n</span> (<span class="id" title="var">hn</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.ssrint.html#n"><span class="id" title="variable">n</span></a>) : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#cedeb4d71ab31ea655ad3d06a9c296b3"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#cedeb4d71ab31ea655ad3d06a9c296b3"><span class="id" title="notation">mono</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#2de40c45bd09d0877af9f7e0a831a84f"><span class="id" title="notation">*~%</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#2de40c45bd09d0877af9f7e0a831a84f"><span class="id" title="notation">R</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.ssrint.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#cedeb4d71ab31ea655ad3d06a9c296b3"><span class="id" title="notation">:</span></a> <span class="id" title="var">x</span> <span class="id" title="var">y</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#cedeb4d71ab31ea655ad3d06a9c296b3"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssrnum.html#3c0e77197870a42e4951057d43bba909"><span class="id" title="notation">&lt;</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#y"><span class="id" title="variable">y</span></a> <a class="idref" href="mathcomp.algebra.ssrnum.html#3c0e77197870a42e4951057d43bba909"><span class="id" title="notation">:&gt;</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#MorphTheory.NumMorphism.PO.R"><span class="id" title="variable">R</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#cedeb4d71ab31ea655ad3d06a9c296b3"><span class="id" title="notation">}</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="ler_nmulz2r"><span class="id" title="lemma">ler_nmulz2r</span></a> <span class="id" title="var">n</span> (<span class="id" title="var">hn</span> : <a class="idref" href="mathcomp.algebra.ssrint.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) : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#744665b4ecc83382846c028dbdceae50"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#744665b4ecc83382846c028dbdceae50"><span class="id" title="notation">mono</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#2de40c45bd09d0877af9f7e0a831a84f"><span class="id" title="notation">*~%</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#2de40c45bd09d0877af9f7e0a831a84f"><span class="id" title="notation">R</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.ssrint.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#744665b4ecc83382846c028dbdceae50"><span class="id" title="notation">:</span></a> <span class="id" title="var">x</span> <span class="id" title="var">y</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#744665b4ecc83382846c028dbdceae50"><span class="id" title="notation">/~</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssrnum.html#d6cd0798ccf4decf11598a746ae90abf"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#y"><span class="id" title="variable">y</span></a> <a class="idref" href="mathcomp.algebra.ssrnum.html#d6cd0798ccf4decf11598a746ae90abf"><span class="id" title="notation">:&gt;</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#MorphTheory.NumMorphism.PO.R"><span class="id" title="variable">R</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#744665b4ecc83382846c028dbdceae50"><span class="id" title="notation">}</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="ltr_nmulz2r"><span class="id" title="lemma">ltr_nmulz2r</span></a> <span class="id" title="var">n</span> (<span class="id" title="var">hn</span> : <a class="idref" href="mathcomp.algebra.ssrint.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) : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#744665b4ecc83382846c028dbdceae50"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#744665b4ecc83382846c028dbdceae50"><span class="id" title="notation">mono</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#2de40c45bd09d0877af9f7e0a831a84f"><span class="id" title="notation">*~%</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#2de40c45bd09d0877af9f7e0a831a84f"><span class="id" title="notation">R</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.ssrint.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#744665b4ecc83382846c028dbdceae50"><span class="id" title="notation">:</span></a> <span class="id" title="var">x</span> <span class="id" title="var">y</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#744665b4ecc83382846c028dbdceae50"><span class="id" title="notation">/~</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssrnum.html#3c0e77197870a42e4951057d43bba909"><span class="id" title="notation">&lt;</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#y"><span class="id" title="variable">y</span></a> <a class="idref" href="mathcomp.algebra.ssrnum.html#3c0e77197870a42e4951057d43bba909"><span class="id" title="notation">:&gt;</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#MorphTheory.NumMorphism.PO.R"><span class="id" title="variable">R</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#744665b4ecc83382846c028dbdceae50"><span class="id" title="notation">}</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="ler_wpmulz2r"><span class="id" title="lemma">ler_wpmulz2r</span></a> <span class="id" title="var">n</span> (<span class="id" title="var">hn</span> : 0 <a class="idref" href="mathcomp.algebra.ssrnum.html#1065783963a393d1eafa2137291f2495"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#n"><span class="id" title="variable">n</span></a>) : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#bf2e58b992e0391262bcf1e3bb7b0fc0"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#bf2e58b992e0391262bcf1e3bb7b0fc0"><span class="id" title="notation">homo</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#2de40c45bd09d0877af9f7e0a831a84f"><span class="id" title="notation">*~%</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#2de40c45bd09d0877af9f7e0a831a84f"><span class="id" title="notation">R</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.ssrint.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#bf2e58b992e0391262bcf1e3bb7b0fc0"><span class="id" title="notation">:</span></a> <span class="id" title="var">x</span> <span class="id" title="var">y</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#bf2e58b992e0391262bcf1e3bb7b0fc0"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssrnum.html#d6cd0798ccf4decf11598a746ae90abf"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#y"><span class="id" title="variable">y</span></a> <a class="idref" href="mathcomp.algebra.ssrnum.html#d6cd0798ccf4decf11598a746ae90abf"><span class="id" title="notation">:&gt;</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#MorphTheory.NumMorphism.PO.R"><span class="id" title="variable">R</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#bf2e58b992e0391262bcf1e3bb7b0fc0"><span class="id" title="notation">}</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="ler_wnmulz2r"><span class="id" title="lemma">ler_wnmulz2r</span></a> <span class="id" title="var">n</span> (<span class="id" title="var">hn</span> : <a class="idref" href="mathcomp.algebra.ssrint.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.algebra.ssrnum.html#1065783963a393d1eafa2137291f2495"><span class="id" title="notation">≤</span></a> 0) : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#9caa0748cced1c5dad561bd5f28bd7db"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#9caa0748cced1c5dad561bd5f28bd7db"><span class="id" title="notation">homo</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#2de40c45bd09d0877af9f7e0a831a84f"><span class="id" title="notation">*~%</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#2de40c45bd09d0877af9f7e0a831a84f"><span class="id" title="notation">R</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.ssrint.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#9caa0748cced1c5dad561bd5f28bd7db"><span class="id" title="notation">:</span></a> <span class="id" title="var">x</span> <span class="id" title="var">y</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#9caa0748cced1c5dad561bd5f28bd7db"><span class="id" title="notation">/~</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssrnum.html#d6cd0798ccf4decf11598a746ae90abf"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#y"><span class="id" title="variable">y</span></a> <a class="idref" href="mathcomp.algebra.ssrnum.html#d6cd0798ccf4decf11598a746ae90abf"><span class="id" title="notation">:&gt;</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#MorphTheory.NumMorphism.PO.R"><span class="id" title="variable">R</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#9caa0748cced1c5dad561bd5f28bd7db"><span class="id" title="notation">}</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="mulrz_ge0"><span class="id" title="lemma">mulrz_ge0</span></a> <span class="id" title="var">x</span> <span class="id" title="var">n</span> (<span class="id" title="var">x0</span> : 0 <a class="idref" href="mathcomp.algebra.ssrnum.html#1065783963a393d1eafa2137291f2495"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#x"><span class="id" title="variable">x</span></a>) (<span class="id" title="var">n0</span> : 0 <a class="idref" href="mathcomp.algebra.ssrnum.html#1065783963a393d1eafa2137291f2495"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#n"><span class="id" title="variable">n</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.ssrint.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#9c7c5437248d02e78f1fc1d9125e7f44"><span class="id" title="notation">*~</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#n"><span class="id" title="variable">n</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="mulrz_le0"><span class="id" title="lemma">mulrz_le0</span></a> <span class="id" title="var">x</span> <span class="id" title="var">n</span> (<span class="id" title="var">x0</span> : <a class="idref" href="mathcomp.algebra.ssrint.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssrnum.html#1065783963a393d1eafa2137291f2495"><span class="id" title="notation">≤</span></a> 0) (<span class="id" title="var">n0</span> : <a class="idref" href="mathcomp.algebra.ssrint.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.algebra.ssrnum.html#1065783963a393d1eafa2137291f2495"><span class="id" title="notation">≤</span></a> 0) : 0 <a class="idref" href="mathcomp.algebra.ssrnum.html#1065783963a393d1eafa2137291f2495"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#9c7c5437248d02e78f1fc1d9125e7f44"><span class="id" title="notation">*~</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#n"><span class="id" title="variable">n</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="mulrz_ge0_le0"><span class="id" title="lemma">mulrz_ge0_le0</span></a> <span class="id" title="var">x</span> <span class="id" title="var">n</span> (<span class="id" title="var">x0</span> : 0 <a class="idref" href="mathcomp.algebra.ssrnum.html#1065783963a393d1eafa2137291f2495"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#x"><span class="id" title="variable">x</span></a>) (<span class="id" title="var">n0</span> : <a class="idref" href="mathcomp.algebra.ssrint.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.algebra.ssrnum.html#1065783963a393d1eafa2137291f2495"><span class="id" title="notation">≤</span></a> 0) : <a class="idref" href="mathcomp.algebra.ssrint.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#9c7c5437248d02e78f1fc1d9125e7f44"><span class="id" title="notation">*~</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.algebra.ssrnum.html#1065783963a393d1eafa2137291f2495"><span class="id" title="notation">≤</span></a> 0.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="mulrz_le0_ge0"><span class="id" title="lemma">mulrz_le0_ge0</span></a> <span class="id" title="var">x</span> <span class="id" title="var">n</span> (<span class="id" title="var">x0</span> : <a class="idref" href="mathcomp.algebra.ssrint.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssrnum.html#1065783963a393d1eafa2137291f2495"><span class="id" title="notation">≤</span></a> 0) (<span class="id" title="var">n0</span> : 0 <a class="idref" href="mathcomp.algebra.ssrnum.html#1065783963a393d1eafa2137291f2495"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#n"><span class="id" title="variable">n</span></a>) : <a class="idref" href="mathcomp.algebra.ssrint.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#9c7c5437248d02e78f1fc1d9125e7f44"><span class="id" title="notation">*~</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.algebra.ssrnum.html#1065783963a393d1eafa2137291f2495"><span class="id" title="notation">≤</span></a> 0.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="pmulrz_lgt0"><span class="id" title="lemma">pmulrz_lgt0</span></a> <span class="id" title="var">x</span> <span class="id" title="var">n</span> (<span class="id" title="var">n0</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.ssrint.html#n"><span class="id" title="variable">n</span></a>) : 0 <a class="idref" href="mathcomp.algebra.ssrnum.html#388c172bf8d34ef0bf11898cd56f8d7b"><span class="id" title="notation">&lt;</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#9c7c5437248d02e78f1fc1d9125e7f44"><span class="id" title="notation">*~</span></a> <a class="idref" href="mathcomp.algebra.ssrint.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>0 <a class="idref" href="mathcomp.algebra.ssrnum.html#388c172bf8d34ef0bf11898cd56f8d7b"><span class="id" title="notation">&lt;</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#x"><span class="id" title="variable">x</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="nmulrz_lgt0"><span class="id" title="lemma">nmulrz_lgt0</span></a> <span class="id" title="var">x</span> <span class="id" title="var">n</span> (<span class="id" title="var">n0</span> : <a class="idref" href="mathcomp.algebra.ssrint.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) : 0 <a class="idref" href="mathcomp.algebra.ssrnum.html#388c172bf8d34ef0bf11898cd56f8d7b"><span class="id" title="notation">&lt;</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#9c7c5437248d02e78f1fc1d9125e7f44"><span class="id" title="notation">*~</span></a> <a class="idref" href="mathcomp.algebra.ssrint.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="mathcomp.algebra.ssrint.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssrnum.html#388c172bf8d34ef0bf11898cd56f8d7b"><span class="id" title="notation">&lt;</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="pmulrz_llt0"><span class="id" title="lemma">pmulrz_llt0</span></a> <span class="id" title="var">x</span> <span class="id" title="var">n</span> (<span class="id" title="var">n0</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.ssrint.html#n"><span class="id" title="variable">n</span></a>) : <a class="idref" href="mathcomp.algebra.ssrint.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#9c7c5437248d02e78f1fc1d9125e7f44"><span class="id" title="notation">*~</span></a> <a class="idref" href="mathcomp.algebra.ssrint.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 <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#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssrnum.html#388c172bf8d34ef0bf11898cd56f8d7b"><span class="id" title="notation">&lt;</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="nmulrz_llt0"><span class="id" title="lemma">nmulrz_llt0</span></a> <span class="id" title="var">x</span> <span class="id" title="var">n</span> (<span class="id" title="var">n0</span> : <a class="idref" href="mathcomp.algebra.ssrint.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) : <a class="idref" href="mathcomp.algebra.ssrint.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#9c7c5437248d02e78f1fc1d9125e7f44"><span class="id" title="notation">*~</span></a> <a class="idref" href="mathcomp.algebra.ssrint.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 <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>0 <a class="idref" href="mathcomp.algebra.ssrnum.html#388c172bf8d34ef0bf11898cd56f8d7b"><span class="id" title="notation">&lt;</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#x"><span class="id" title="variable">x</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="pmulrz_lge0"><span class="id" title="lemma">pmulrz_lge0</span></a> <span class="id" title="var">x</span> <span class="id" title="var">n</span> (<span class="id" title="var">n0</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.ssrint.html#n"><span class="id" title="variable">n</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.ssrint.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#9c7c5437248d02e78f1fc1d9125e7f44"><span class="id" title="notation">*~</span></a> <a class="idref" href="mathcomp.algebra.ssrint.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>0 <a class="idref" href="mathcomp.algebra.ssrnum.html#1065783963a393d1eafa2137291f2495"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#x"><span class="id" title="variable">x</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="nmulrz_lge0"><span class="id" title="lemma">nmulrz_lge0</span></a> <span class="id" title="var">x</span> <span class="id" title="var">n</span> (<span class="id" title="var">n0</span> : <a class="idref" href="mathcomp.algebra.ssrint.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) : 0 <a class="idref" href="mathcomp.algebra.ssrnum.html#1065783963a393d1eafa2137291f2495"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#9c7c5437248d02e78f1fc1d9125e7f44"><span class="id" title="notation">*~</span></a> <a class="idref" href="mathcomp.algebra.ssrint.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="mathcomp.algebra.ssrint.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssrnum.html#1065783963a393d1eafa2137291f2495"><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="pmulrz_lle0"><span class="id" title="lemma">pmulrz_lle0</span></a> <span class="id" title="var">x</span> <span class="id" title="var">n</span> (<span class="id" title="var">n0</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.ssrint.html#n"><span class="id" title="variable">n</span></a>) : <a class="idref" href="mathcomp.algebra.ssrint.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#9c7c5437248d02e78f1fc1d9125e7f44"><span class="id" title="notation">*~</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.algebra.ssrnum.html#1065783963a393d1eafa2137291f2495"><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="mathcomp.algebra.ssrint.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssrnum.html#1065783963a393d1eafa2137291f2495"><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="nmulrz_lle0"><span class="id" title="lemma">nmulrz_lle0</span></a> <span class="id" title="var">x</span> <span class="id" title="var">n</span> (<span class="id" title="var">n0</span> : <a class="idref" href="mathcomp.algebra.ssrint.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) : <a class="idref" href="mathcomp.algebra.ssrint.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#9c7c5437248d02e78f1fc1d9125e7f44"><span class="id" title="notation">*~</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.algebra.ssrnum.html#1065783963a393d1eafa2137291f2495"><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>0 <a class="idref" href="mathcomp.algebra.ssrnum.html#1065783963a393d1eafa2137291f2495"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#x"><span class="id" title="variable">x</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="ler_wpmulz2l"><span class="id" title="lemma">ler_wpmulz2l</span></a> <span class="id" title="var">x</span> (<span class="id" title="var">hx</span> : 0 <a class="idref" href="mathcomp.algebra.ssrnum.html#1065783963a393d1eafa2137291f2495"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#x"><span class="id" title="variable">x</span></a>) : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#bf2e58b992e0391262bcf1e3bb7b0fc0"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#bf2e58b992e0391262bcf1e3bb7b0fc0"><span class="id" title="notation">homo</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#2de40c45bd09d0877af9f7e0a831a84f"><span class="id" title="notation">*~%</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#2de40c45bd09d0877af9f7e0a831a84f"><span class="id" title="notation">R</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#2de40c45bd09d0877af9f7e0a831a84f"><span class="id" title="notation">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#bf2e58b992e0391262bcf1e3bb7b0fc0"><span class="id" title="notation">:</span></a> <span class="id" title="var">x</span> <span class="id" title="var">y</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#bf2e58b992e0391262bcf1e3bb7b0fc0"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssrnum.html#1065783963a393d1eafa2137291f2495"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#y"><span class="id" title="variable">y</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#bf2e58b992e0391262bcf1e3bb7b0fc0"><span class="id" title="notation">}</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="ler_wnmulz2l"><span class="id" title="lemma">ler_wnmulz2l</span></a> <span class="id" title="var">x</span> (<span class="id" title="var">hx</span> : <a class="idref" href="mathcomp.algebra.ssrint.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssrnum.html#1065783963a393d1eafa2137291f2495"><span class="id" title="notation">≤</span></a> 0) : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#9caa0748cced1c5dad561bd5f28bd7db"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#9caa0748cced1c5dad561bd5f28bd7db"><span class="id" title="notation">homo</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#2de40c45bd09d0877af9f7e0a831a84f"><span class="id" title="notation">*~%</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#2de40c45bd09d0877af9f7e0a831a84f"><span class="id" title="notation">R</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#2de40c45bd09d0877af9f7e0a831a84f"><span class="id" title="notation">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#9caa0748cced1c5dad561bd5f28bd7db"><span class="id" title="notation">:</span></a> <span class="id" title="var">x</span> <span class="id" title="var">y</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#9caa0748cced1c5dad561bd5f28bd7db"><span class="id" title="notation">/~</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssrnum.html#1065783963a393d1eafa2137291f2495"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#y"><span class="id" title="variable">y</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#9caa0748cced1c5dad561bd5f28bd7db"><span class="id" title="notation">}</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="ler_pmulz2l"><span class="id" title="lemma">ler_pmulz2l</span></a> <span class="id" title="var">x</span> (<span class="id" title="var">hx</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.ssrint.html#x"><span class="id" title="variable">x</span></a>) : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#cedeb4d71ab31ea655ad3d06a9c296b3"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#cedeb4d71ab31ea655ad3d06a9c296b3"><span class="id" title="notation">mono</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#2de40c45bd09d0877af9f7e0a831a84f"><span class="id" title="notation">*~%</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#2de40c45bd09d0877af9f7e0a831a84f"><span class="id" title="notation">R</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#2de40c45bd09d0877af9f7e0a831a84f"><span class="id" title="notation">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#cedeb4d71ab31ea655ad3d06a9c296b3"><span class="id" title="notation">:</span></a> <span class="id" title="var">x</span> <span class="id" title="var">y</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#cedeb4d71ab31ea655ad3d06a9c296b3"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssrnum.html#1065783963a393d1eafa2137291f2495"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#y"><span class="id" title="variable">y</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#cedeb4d71ab31ea655ad3d06a9c296b3"><span class="id" title="notation">}</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="ler_nmulz2l"><span class="id" title="lemma">ler_nmulz2l</span></a> <span class="id" title="var">x</span> (<span class="id" title="var">hx</span> : <a class="idref" href="mathcomp.algebra.ssrint.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssrnum.html#388c172bf8d34ef0bf11898cd56f8d7b"><span class="id" title="notation">&lt;</span></a> 0) : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#744665b4ecc83382846c028dbdceae50"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#744665b4ecc83382846c028dbdceae50"><span class="id" title="notation">mono</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#2de40c45bd09d0877af9f7e0a831a84f"><span class="id" title="notation">*~%</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#2de40c45bd09d0877af9f7e0a831a84f"><span class="id" title="notation">R</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#2de40c45bd09d0877af9f7e0a831a84f"><span class="id" title="notation">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#744665b4ecc83382846c028dbdceae50"><span class="id" title="notation">:</span></a> <span class="id" title="var">x</span> <span class="id" title="var">y</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#744665b4ecc83382846c028dbdceae50"><span class="id" title="notation">/~</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssrnum.html#1065783963a393d1eafa2137291f2495"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#y"><span class="id" title="variable">y</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#744665b4ecc83382846c028dbdceae50"><span class="id" title="notation">}</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="ltr_pmulz2l"><span class="id" title="lemma">ltr_pmulz2l</span></a> <span class="id" title="var">x</span> (<span class="id" title="var">hx</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.ssrint.html#x"><span class="id" title="variable">x</span></a>) : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#cedeb4d71ab31ea655ad3d06a9c296b3"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#cedeb4d71ab31ea655ad3d06a9c296b3"><span class="id" title="notation">mono</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#2de40c45bd09d0877af9f7e0a831a84f"><span class="id" title="notation">*~%</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#2de40c45bd09d0877af9f7e0a831a84f"><span class="id" title="notation">R</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#2de40c45bd09d0877af9f7e0a831a84f"><span class="id" title="notation">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#cedeb4d71ab31ea655ad3d06a9c296b3"><span class="id" title="notation">:</span></a> <span class="id" title="var">x</span> <span class="id" title="var">y</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#cedeb4d71ab31ea655ad3d06a9c296b3"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#x"><span class="id" title="variable">x</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.ssrint.html#y"><span class="id" title="variable">y</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#cedeb4d71ab31ea655ad3d06a9c296b3"><span class="id" title="notation">}</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="ltr_nmulz2l"><span class="id" title="lemma">ltr_nmulz2l</span></a> <span class="id" title="var">x</span> (<span class="id" title="var">hx</span> : <a class="idref" href="mathcomp.algebra.ssrint.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssrnum.html#388c172bf8d34ef0bf11898cd56f8d7b"><span class="id" title="notation">&lt;</span></a> 0) : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#744665b4ecc83382846c028dbdceae50"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#744665b4ecc83382846c028dbdceae50"><span class="id" title="notation">mono</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#2de40c45bd09d0877af9f7e0a831a84f"><span class="id" title="notation">*~%</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#2de40c45bd09d0877af9f7e0a831a84f"><span class="id" title="notation">R</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#2de40c45bd09d0877af9f7e0a831a84f"><span class="id" title="notation">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#744665b4ecc83382846c028dbdceae50"><span class="id" title="notation">:</span></a> <span class="id" title="var">x</span> <span class="id" title="var">y</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#744665b4ecc83382846c028dbdceae50"><span class="id" title="notation">/~</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#x"><span class="id" title="variable">x</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.ssrint.html#y"><span class="id" title="variable">y</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#744665b4ecc83382846c028dbdceae50"><span class="id" title="notation">}</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="pmulrz_rgt0"><span class="id" title="lemma">pmulrz_rgt0</span></a> <span class="id" title="var">x</span> <span class="id" title="var">n</span> (<span class="id" title="var">x0</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.ssrint.html#x"><span class="id" title="variable">x</span></a>) : 0 <a class="idref" href="mathcomp.algebra.ssrnum.html#388c172bf8d34ef0bf11898cd56f8d7b"><span class="id" title="notation">&lt;</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#9c7c5437248d02e78f1fc1d9125e7f44"><span class="id" title="notation">*~</span></a> <a class="idref" href="mathcomp.algebra.ssrint.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>0 <a class="idref" href="mathcomp.algebra.ssrnum.html#388c172bf8d34ef0bf11898cd56f8d7b"><span class="id" title="notation">&lt;</span></a> <a class="idref" href="mathcomp.algebra.ssrint.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="nmulrz_rgt0"><span class="id" title="lemma">nmulrz_rgt0</span></a> <span class="id" title="var">x</span> <span class="id" title="var">n</span> (<span class="id" title="var">x0</span> : <a class="idref" href="mathcomp.algebra.ssrint.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssrnum.html#388c172bf8d34ef0bf11898cd56f8d7b"><span class="id" title="notation">&lt;</span></a> 0) : 0 <a class="idref" href="mathcomp.algebra.ssrnum.html#388c172bf8d34ef0bf11898cd56f8d7b"><span class="id" title="notation">&lt;</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#9c7c5437248d02e78f1fc1d9125e7f44"><span class="id" title="notation">*~</span></a> <a class="idref" href="mathcomp.algebra.ssrint.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="mathcomp.algebra.ssrint.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<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="pmulrz_rlt0"><span class="id" title="lemma">pmulrz_rlt0</span></a> <span class="id" title="var">x</span> <span class="id" title="var">n</span> (<span class="id" title="var">x0</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.ssrint.html#x"><span class="id" title="variable">x</span></a>) : <a class="idref" href="mathcomp.algebra.ssrint.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#9c7c5437248d02e78f1fc1d9125e7f44"><span class="id" title="notation">*~</span></a> <a class="idref" href="mathcomp.algebra.ssrint.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 <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#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<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="nmulrz_rlt0"><span class="id" title="lemma">nmulrz_rlt0</span></a> <span class="id" title="var">x</span> <span class="id" title="var">n</span> (<span class="id" title="var">x0</span> : <a class="idref" href="mathcomp.algebra.ssrint.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssrnum.html#388c172bf8d34ef0bf11898cd56f8d7b"><span class="id" title="notation">&lt;</span></a> 0) : <a class="idref" href="mathcomp.algebra.ssrint.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#9c7c5437248d02e78f1fc1d9125e7f44"><span class="id" title="notation">*~</span></a> <a class="idref" href="mathcomp.algebra.ssrint.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 <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>0 <a class="idref" href="mathcomp.algebra.ssrnum.html#388c172bf8d34ef0bf11898cd56f8d7b"><span class="id" title="notation">&lt;</span></a> <a class="idref" href="mathcomp.algebra.ssrint.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="pmulrz_rge0"><span class="id" title="lemma">pmulrz_rge0</span></a> <span class="id" title="var">x</span> <span class="id" title="var">n</span> (<span class="id" title="var">x0</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.ssrint.html#x"><span class="id" title="variable">x</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.ssrint.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#9c7c5437248d02e78f1fc1d9125e7f44"><span class="id" title="notation">*~</span></a> <a class="idref" href="mathcomp.algebra.ssrint.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>0 <a class="idref" href="mathcomp.algebra.ssrnum.html#1065783963a393d1eafa2137291f2495"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.algebra.ssrint.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="nmulrz_rge0"><span class="id" title="lemma">nmulrz_rge0</span></a> <span class="id" title="var">x</span> <span class="id" title="var">n</span> (<span class="id" title="var">x0</span> : <a class="idref" href="mathcomp.algebra.ssrint.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssrnum.html#388c172bf8d34ef0bf11898cd56f8d7b"><span class="id" title="notation">&lt;</span></a> 0) : 0 <a class="idref" href="mathcomp.algebra.ssrnum.html#1065783963a393d1eafa2137291f2495"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#9c7c5437248d02e78f1fc1d9125e7f44"><span class="id" title="notation">*~</span></a> <a class="idref" href="mathcomp.algebra.ssrint.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="mathcomp.algebra.ssrint.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.algebra.ssrnum.html#1065783963a393d1eafa2137291f2495"><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="pmulrz_rle0"><span class="id" title="lemma">pmulrz_rle0</span></a> <span class="id" title="var">x</span> <span class="id" title="var">n</span> (<span class="id" title="var">x0</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.ssrint.html#x"><span class="id" title="variable">x</span></a>) : <a class="idref" href="mathcomp.algebra.ssrint.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#9c7c5437248d02e78f1fc1d9125e7f44"><span class="id" title="notation">*~</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.algebra.ssrnum.html#1065783963a393d1eafa2137291f2495"><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="mathcomp.algebra.ssrint.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.algebra.ssrnum.html#1065783963a393d1eafa2137291f2495"><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="nmulrz_rle0"><span class="id" title="lemma">nmulrz_rle0</span></a> <span class="id" title="var">x</span> <span class="id" title="var">n</span> (<span class="id" title="var">x0</span> : <a class="idref" href="mathcomp.algebra.ssrint.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssrnum.html#388c172bf8d34ef0bf11898cd56f8d7b"><span class="id" title="notation">&lt;</span></a> 0) : <a class="idref" href="mathcomp.algebra.ssrint.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#9c7c5437248d02e78f1fc1d9125e7f44"><span class="id" title="notation">*~</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.algebra.ssrnum.html#1065783963a393d1eafa2137291f2495"><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>0 <a class="idref" href="mathcomp.algebra.ssrnum.html#1065783963a393d1eafa2137291f2495"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.algebra.ssrint.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="mulrIz"><span class="id" title="lemma">mulrIz</span></a> <span class="id" title="var">x</span> (<span class="id" title="var">hx</span> : <a class="idref" href="mathcomp.algebra.ssrint.html#x"><span class="id" title="variable">x</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.ssr.ssrfun.html#injective"><span class="id" title="definition">injective</span></a> ( <a class="idref" href="mathcomp.algebra.ssrint.html#2de40c45bd09d0877af9f7e0a831a84f"><span class="id" title="notation">*~%</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#2de40c45bd09d0877af9f7e0a831a84f"><span class="id" title="notation">R</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#2de40c45bd09d0877af9f7e0a831a84f"><span class="id" title="notation">x</span></a>).<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="ler_int"><span class="id" title="lemma">ler_int</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.ssrint.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.ssrnum.html#d6cd0798ccf4decf11598a746ae90abf"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#n"><span class="id" title="variable">n</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.ssrnum.html#d6cd0798ccf4decf11598a746ae90abf"><span class="id" title="notation">:&gt;</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#MorphTheory.NumMorphism.PO.R"><span class="id" title="variable">R</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.ssrint.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.ssrint.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="ltr_int"><span class="id" title="lemma">ltr_int</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.ssrint.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.ssrnum.html#3c0e77197870a42e4951057d43bba909"><span class="id" title="notation">&lt;</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#n"><span class="id" title="variable">n</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.ssrnum.html#3c0e77197870a42e4951057d43bba909"><span class="id" title="notation">:&gt;</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#MorphTheory.NumMorphism.PO.R"><span class="id" title="variable">R</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.ssrint.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.ssrint.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="eqr_int"><span class="id" title="lemma">eqr_int</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.ssrint.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.ssreflect.eqtype.html#340b60eb5a3e9913f807040630cb8d43"><span class="id" title="notation">==</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#n"><span class="id" title="variable">n</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.ssreflect.eqtype.html#340b60eb5a3e9913f807040630cb8d43"><span class="id" title="notation">:&gt;</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#MorphTheory.NumMorphism.PO.R"><span class="id" title="variable">R</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.ssrint.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.ssrint.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="ler0z"><span class="id" title="lemma">ler0z</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#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">(</span></a>0 <a class="idref" href="mathcomp.algebra.ssrnum.html#d6cd0798ccf4decf11598a746ae90abf"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#n"><span class="id" title="variable">n</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.ssrnum.html#d6cd0798ccf4decf11598a746ae90abf"><span class="id" title="notation">:&gt;</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#MorphTheory.NumMorphism.PO.R"><span class="id" title="variable">R</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>0 <a class="idref" href="mathcomp.algebra.ssrnum.html#1065783963a393d1eafa2137291f2495"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.algebra.ssrint.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="ltr0z"><span class="id" title="lemma">ltr0z</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#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">(</span></a>0 <a class="idref" href="mathcomp.algebra.ssrnum.html#3c0e77197870a42e4951057d43bba909"><span class="id" title="notation">&lt;</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#n"><span class="id" title="variable">n</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.ssrnum.html#3c0e77197870a42e4951057d43bba909"><span class="id" title="notation">:&gt;</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#MorphTheory.NumMorphism.PO.R"><span class="id" title="variable">R</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>0 <a class="idref" href="mathcomp.algebra.ssrnum.html#388c172bf8d34ef0bf11898cd56f8d7b"><span class="id" title="notation">&lt;</span></a> <a class="idref" href="mathcomp.algebra.ssrint.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="lerz0"><span class="id" title="lemma">lerz0</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#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#n"><span class="id" title="variable">n</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.ssrnum.html#d6cd0798ccf4decf11598a746ae90abf"><span class="id" title="notation">≤</span></a> 0 <a class="idref" href="mathcomp.algebra.ssrnum.html#d6cd0798ccf4decf11598a746ae90abf"><span class="id" title="notation">:&gt;</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#MorphTheory.NumMorphism.PO.R"><span class="id" title="variable">R</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.ssrint.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.algebra.ssrnum.html#1065783963a393d1eafa2137291f2495"><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="ltrz0"><span class="id" title="lemma">ltrz0</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#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#n"><span class="id" title="variable">n</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.ssrnum.html#3c0e77197870a42e4951057d43bba909"><span class="id" title="notation">&lt;</span></a> 0 <a class="idref" href="mathcomp.algebra.ssrnum.html#3c0e77197870a42e4951057d43bba909"><span class="id" title="notation">:&gt;</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#MorphTheory.NumMorphism.PO.R"><span class="id" title="variable">R</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.ssrint.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<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="ler1z"><span class="id" title="lemma">ler1z</span></a> (<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.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">(</span></a>1 <a class="idref" href="mathcomp.algebra.ssrnum.html#d6cd0798ccf4decf11598a746ae90abf"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#n"><span class="id" title="variable">n</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.ssrnum.html#d6cd0798ccf4decf11598a746ae90abf"><span class="id" title="notation">:&gt;</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#MorphTheory.NumMorphism.PO.R"><span class="id" title="variable">R</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>1 <a class="idref" href="mathcomp.algebra.ssrnum.html#1065783963a393d1eafa2137291f2495"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.algebra.ssrint.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="ltr1z"><span class="id" title="lemma">ltr1z</span></a> (<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.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">(</span></a>1 <a class="idref" href="mathcomp.algebra.ssrnum.html#3c0e77197870a42e4951057d43bba909"><span class="id" title="notation">&lt;</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#n"><span class="id" title="variable">n</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.ssrnum.html#3c0e77197870a42e4951057d43bba909"><span class="id" title="notation">:&gt;</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#MorphTheory.NumMorphism.PO.R"><span class="id" title="variable">R</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>1 <a class="idref" href="mathcomp.algebra.ssrnum.html#388c172bf8d34ef0bf11898cd56f8d7b"><span class="id" title="notation">&lt;</span></a> <a class="idref" href="mathcomp.algebra.ssrint.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="lerz1"><span class="id" title="lemma">lerz1</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#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#n"><span class="id" title="variable">n</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.ssrnum.html#d6cd0798ccf4decf11598a746ae90abf"><span class="id" title="notation">≤</span></a> 1 <a class="idref" href="mathcomp.algebra.ssrnum.html#d6cd0798ccf4decf11598a746ae90abf"><span class="id" title="notation">:&gt;</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#MorphTheory.NumMorphism.PO.R"><span class="id" title="variable">R</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.ssrint.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.algebra.ssrnum.html#1065783963a393d1eafa2137291f2495"><span class="id" title="notation">≤</span></a> 1<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="ltrz1"><span class="id" title="lemma">ltrz1</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#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#n"><span class="id" title="variable">n</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.ssrnum.html#3c0e77197870a42e4951057d43bba909"><span class="id" title="notation">&lt;</span></a> 1 <a class="idref" href="mathcomp.algebra.ssrnum.html#3c0e77197870a42e4951057d43bba909"><span class="id" title="notation">:&gt;</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#MorphTheory.NumMorphism.PO.R"><span class="id" title="variable">R</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.ssrint.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> 1<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="intr_eq0"><span class="id" title="lemma">intr_eq0</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#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#n"><span class="id" title="variable">n</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.ssreflect.eqtype.html#340b60eb5a3e9913f807040630cb8d43"><span class="id" title="notation">==</span></a> 0 <a class="idref" href="mathcomp.ssreflect.eqtype.html#340b60eb5a3e9913f807040630cb8d43"><span class="id" title="notation">:&gt;</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#MorphTheory.NumMorphism.PO.R"><span class="id" title="variable">R</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.ssrint.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/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="mulrz_eq0"><span class="id" title="lemma">mulrz_eq0</span></a> <span class="id" title="var">x</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.ssrint.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#9c7c5437248d02e78f1fc1d9125e7f44"><span class="id" title="notation">*~</span></a> <a class="idref" href="mathcomp.algebra.ssrint.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.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#14a7a9c7dc61f86bfb664d400fabaf8a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssrint.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#14a7a9c7dc61f86bfb664d400fabaf8a"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#14a7a9c7dc61f86bfb664d400fabaf8a"><span class="id" title="notation">||</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#14a7a9c7dc61f86bfb664d400fabaf8a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#x"><span class="id" title="variable">x</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#14a7a9c7dc61f86bfb664d400fabaf8a"><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>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="mulrz_neq0"><span class="id" title="lemma">mulrz_neq0</span></a> <span class="id" title="var">x</span> <span class="id" title="var">n</span> : <a class="idref" href="mathcomp.algebra.ssrint.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#9c7c5437248d02e78f1fc1d9125e7f44"><span class="id" title="notation">*~</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#n"><span class="id" title="variable">n</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> <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.ssrint.html#n"><span class="id" title="variable">n</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.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.ssrint.html#x"><span class="id" title="variable">x</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.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.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">)</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="realz"><span class="id" title="lemma">realz</span></a> <span class="id" title="var">n</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="mathcomp.algebra.ssrint.html#n"><span class="id" title="variable">n</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.ssrint.html#MorphTheory.NumMorphism.PO.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">\</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.ssrnum.html#Num.real"><span class="id" title="abbreviation">Num.real</span></a>.<br/>
+ <span class="id" title="keyword">Hint Resolve</span> <span class="id" title="var">realz</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Definition</span> <a name="intr_inj"><span class="id" title="definition">intr_inj</span></a> := @<a class="idref" href="mathcomp.algebra.ssrint.html#mulrIz"><span class="id" title="lemma">mulrIz</span></a> 1 (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Theory.oner_neq0"><span class="id" title="definition">oner_neq0</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#MorphTheory.NumMorphism.PO.R"><span class="id" title="variable">R</span></a>).<br/>
+
+<br/>
+<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.algebra.ssrint.html#MorphTheory.NumMorphism.PO"><span class="id" title="section">PO</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.algebra.ssrint.html#MorphTheory.NumMorphism"><span class="id" title="section">NumMorphism</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.algebra.ssrint.html#MorphTheory"><span class="id" title="section">MorphTheory</span></a>.<br/>
+
+<br/>
+
+<br/>
+<span class="id" title="keyword">Definition</span> <a name="exprz"><span class="id" title="definition">exprz</span></a> (<span class="id" title="var">R</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitRing.Exports.unitRingType"><span class="id" title="abbreviation">unitRingType</span></a>) (<span class="id" title="var">x</span> : <a class="idref" href="mathcomp.algebra.ssrint.html#R"><span class="id" title="variable">R</span></a>) (<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.ssr.ssreflect.html#nosimpl"><span class="id" title="abbreviation">nosimpl</span></a><br/>
+&nbsp;&nbsp;<span class="id" title="keyword">match</span> <a class="idref" href="mathcomp.algebra.ssrint.html#n"><span class="id" title="variable">n</span></a> <span class="id" title="keyword">with</span><br/>
+&nbsp;&nbsp;&nbsp;&nbsp;| <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="mathcomp.algebra.ssrint.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#fb22424322c3d7eb9b837dfca65ce21e"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#n"><span class="id" title="variable">n</span></a><br/>
+&nbsp;&nbsp;&nbsp;&nbsp;| <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="mathcomp.algebra.ssrint.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#c3d3108f22e21916f6afd1f17c0f8125"><span class="id" title="notation">^-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#c3d3108f22e21916f6afd1f17c0f8125"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#n"><span class="id" title="variable">n</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.ssralg.html#c3d3108f22e21916f6afd1f17c0f8125"><span class="id" title="notation">)</span></a><br/>
+&nbsp;&nbsp;<span class="id" title="keyword">end</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Notation</span> <a name="b033a3d34e421a2439563f5ffdab0b9b"><span class="id" title="notation">&quot;</span></a>x ^ n" := (<a class="idref" href="mathcomp.algebra.ssrint.html#exprz"><span class="id" title="definition">exprz</span></a> <span class="id" title="var">x</span> <span class="id" title="var">n</span>) : <span class="id" title="var">ring_scope</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Section</span> <a name="ExprzUnitRing"><span class="id" title="section">ExprzUnitRing</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Variable</span> <a name="ExprzUnitRing.R"><span class="id" title="variable">R</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitRing.Exports.unitRingType"><span class="id" title="abbreviation">unitRingType</span></a>.<br/>
+<span class="id" title="keyword">Implicit</span> <span class="id" title="keyword">Types</span> <span class="id" title="var">x</span> <span class="id" title="var">y</span> : <a class="idref" href="mathcomp.algebra.ssrint.html#ExprzUnitRing.R"><span class="id" title="variable">R</span></a>.<br/>
+<span class="id" title="keyword">Implicit</span> <span class="id" title="keyword">Types</span> <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>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="exprnP"><span class="id" title="lemma">exprnP</span></a> <span class="id" title="var">x</span> (<span class="id" title="var">n</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.ssrint.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#fb22424322c3d7eb9b837dfca65ce21e"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.algebra.ssrint.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#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#b033a3d34e421a2439563f5ffdab0b9b"><span class="id" title="notation">^</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#n"><span class="id" title="variable">n</span></a>. <br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="exprnN"><span class="id" title="lemma">exprnN</span></a> <span class="id" title="var">x</span> (<span class="id" title="var">n</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.ssrint.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#c3d3108f22e21916f6afd1f17c0f8125"><span class="id" title="notation">^-</span></a> <a class="idref" href="mathcomp.algebra.ssrint.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#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#b033a3d34e421a2439563f5ffdab0b9b"><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.ssrint.html#n"><span class="id" title="variable">n</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="expr0z"><span class="id" title="lemma">expr0z</span></a> <span class="id" title="var">x</span> : <a class="idref" href="mathcomp.algebra.ssrint.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#b033a3d34e421a2439563f5ffdab0b9b"><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> 1. <br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="expr1z"><span class="id" title="lemma">expr1z</span></a> <span class="id" title="var">x</span> : <a class="idref" href="mathcomp.algebra.ssrint.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#b033a3d34e421a2439563f5ffdab0b9b"><span class="id" title="notation">^</span></a> 1 <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#x"><span class="id" title="variable">x</span></a>. <br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="exprN1"><span class="id" title="lemma">exprN1</span></a> <span class="id" title="var">x</span> : <a class="idref" href="mathcomp.algebra.ssrint.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#b033a3d34e421a2439563f5ffdab0b9b"><span class="id" title="notation">^</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#b033a3d34e421a2439563f5ffdab0b9b"><span class="id" title="notation">(</span></a>-1<a class="idref" href="mathcomp.algebra.ssrint.html#b033a3d34e421a2439563f5ffdab0b9b"><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#x"><span class="id" title="variable">x</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#f3016d4e55aa553d3e912592ec65e342"><span class="id" title="notation">^-1</span></a>. <br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="invr_expz"><span class="id" title="lemma">invr_expz</span></a> <span class="id" title="var">x</span> <span class="id" title="var">n</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#f3016d4e55aa553d3e912592ec65e342"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#b033a3d34e421a2439563f5ffdab0b9b"><span class="id" title="notation">^</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#f3016d4e55aa553d3e912592ec65e342"><span class="id" title="notation">)^-1</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#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#b033a3d34e421a2439563f5ffdab0b9b"><span class="id" title="notation">^</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#b033a3d34e421a2439563f5ffdab0b9b"><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.ssrint.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#b033a3d34e421a2439563f5ffdab0b9b"><span class="id" title="notation">)</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="exprz_inv"><span class="id" title="lemma">exprz_inv</span></a> <span class="id" title="var">x</span> <span class="id" title="var">n</span> : <a class="idref" href="mathcomp.algebra.ssrint.html#b033a3d34e421a2439563f5ffdab0b9b"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#x"><span class="id" title="variable">x</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.ssrint.html#b033a3d34e421a2439563f5ffdab0b9b"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#b033a3d34e421a2439563f5ffdab0b9b"><span class="id" title="notation">^</span></a> <a class="idref" href="mathcomp.algebra.ssrint.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#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#b033a3d34e421a2439563f5ffdab0b9b"><span class="id" title="notation">^</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#b033a3d34e421a2439563f5ffdab0b9b"><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.ssrint.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#b033a3d34e421a2439563f5ffdab0b9b"><span class="id" title="notation">)</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="exp1rz"><span class="id" title="lemma">exp1rz</span></a> <span class="id" title="var">n</span> : 1 <a class="idref" href="mathcomp.algebra.ssrint.html#b033a3d34e421a2439563f5ffdab0b9b"><span class="id" title="notation">^</span></a> <a class="idref" href="mathcomp.algebra.ssrint.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#8f9364556521ebb498093f28eea2240f"><span class="id" title="notation">=</span></a> 1 <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#8f9364556521ebb498093f28eea2240f"><span class="id" title="notation">:&gt;</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#ExprzUnitRing.R"><span class="id" title="variable">R</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="exprSz"><span class="id" title="lemma">exprSz</span></a> <span class="id" title="var">x</span> (<span class="id" title="var">n</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.ssrint.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#b033a3d34e421a2439563f5ffdab0b9b"><span class="id" title="notation">^</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.ssreflect.ssrnat.html#361454269931ea8643f7b402f2ab7222"><span class="id" title="notation">.+1</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#x"><span class="id" title="variable">x</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#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#b033a3d34e421a2439563f5ffdab0b9b"><span class="id" title="notation">^</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#n"><span class="id" title="variable">n</span></a>. <br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="exprSzr"><span class="id" title="lemma">exprSzr</span></a> <span class="id" title="var">x</span> (<span class="id" title="var">n</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.ssrint.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#b033a3d34e421a2439563f5ffdab0b9b"><span class="id" title="notation">^</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.ssreflect.ssrnat.html#361454269931ea8643f7b402f2ab7222"><span class="id" title="notation">.+1</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#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#b033a3d34e421a2439563f5ffdab0b9b"><span class="id" title="notation">^</span></a> <a class="idref" href="mathcomp.algebra.ssrint.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#x"><span class="id" title="variable">x</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Fact</span> <a name="exprzD_nat"><span class="id" title="lemma">exprzD_nat</span></a> <span class="id" title="var">x</span> (<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.Datatypes.html#nat"><span class="id" title="inductive">nat</span></a>) : <a class="idref" href="mathcomp.algebra.ssrint.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#b033a3d34e421a2439563f5ffdab0b9b"><span class="id" title="notation">^</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#b033a3d34e421a2439563f5ffdab0b9b"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#m"><span class="id" title="variable">m</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#ae4d81913e6239182a9ac7467ffde8cd"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#b033a3d34e421a2439563f5ffdab0b9b"><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#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#b033a3d34e421a2439563f5ffdab0b9b"><span class="id" title="notation">^</span></a> <a class="idref" href="mathcomp.algebra.ssrint.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.ssrint.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#b033a3d34e421a2439563f5ffdab0b9b"><span class="id" title="notation">^</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#n"><span class="id" title="variable">n</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Fact</span> <a name="exprzD_Nnat"><span class="id" title="lemma">exprzD_Nnat</span></a> <span class="id" title="var">x</span> (<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.Datatypes.html#nat"><span class="id" title="inductive">nat</span></a>) : <a class="idref" href="mathcomp.algebra.ssrint.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#b033a3d34e421a2439563f5ffdab0b9b"><span class="id" title="notation">^</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#b033a3d34e421a2439563f5ffdab0b9b"><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.ssrint.html#m"><span class="id" title="variable">m</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#ae4d81913e6239182a9ac7467ffde8cd"><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.ssrint.html#n"><span class="id" title="variable">n</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.ssrint.html#b033a3d34e421a2439563f5ffdab0b9b"><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#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#b033a3d34e421a2439563f5ffdab0b9b"><span class="id" title="notation">^</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#b033a3d34e421a2439563f5ffdab0b9b"><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.ssrint.html#m"><span class="id" title="variable">m</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.ssrint.html#b033a3d34e421a2439563f5ffdab0b9b"><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.ssrint.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#b033a3d34e421a2439563f5ffdab0b9b"><span class="id" title="notation">^</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#b033a3d34e421a2439563f5ffdab0b9b"><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.ssrint.html#n"><span class="id" title="variable">n</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.ssrint.html#b033a3d34e421a2439563f5ffdab0b9b"><span class="id" title="notation">)</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="exprzD_ss"><span class="id" title="lemma">exprzD_ss</span></a> <span class="id" title="var">x</span> <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.Datatypes.html#49ac24efa716d8b0ee8943bc1d1769a9"><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.ssrint.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">)</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>0 <a class="idref" href="mathcomp.algebra.ssrnum.html#1065783963a393d1eafa2137291f2495"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.algebra.ssrint.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#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#14a7a9c7dc61f86bfb664d400fabaf8a"><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.ssrint.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> 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.ssrint.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.algebra.ssrnum.html#1065783963a393d1eafa2137291f2495"><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/>
+&nbsp;&nbsp;<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#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#b033a3d34e421a2439563f5ffdab0b9b"><span class="id" title="notation">^</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#b033a3d34e421a2439563f5ffdab0b9b"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssrint.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.ssrint.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#b033a3d34e421a2439563f5ffdab0b9b"><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#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#b033a3d34e421a2439563f5ffdab0b9b"><span class="id" title="notation">^</span></a> <a class="idref" href="mathcomp.algebra.ssrint.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.ssrint.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#b033a3d34e421a2439563f5ffdab0b9b"><span class="id" title="notation">^</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#n"><span class="id" title="variable">n</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="exp0rz"><span class="id" title="lemma">exp0rz</span></a> <span class="id" title="var">n</span> : 0 <a class="idref" href="mathcomp.algebra.ssrint.html#b033a3d34e421a2439563f5ffdab0b9b"><span class="id" title="notation">^</span></a> <a class="idref" href="mathcomp.algebra.ssrint.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#8f9364556521ebb498093f28eea2240f"><span class="id" title="notation">=</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#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="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.Init.Logic.html#8f9364556521ebb498093f28eea2240f"><span class="id" title="notation">:&gt;</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#ExprzUnitRing.R"><span class="id" title="variable">R</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="commrXz"><span class="id" title="lemma">commrXz</span></a> <span class="id" title="var">x</span> <span class="id" title="var">y</span> <span class="id" title="var">n</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.comm"><span class="id" title="definition">GRing.comm</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#y"><span class="id" title="variable">y</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.ssralg.html#GRing.comm"><span class="id" title="definition">GRing.comm</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#x"><span class="id" title="variable">x</span></a> (<a class="idref" href="mathcomp.algebra.ssrint.html#y"><span class="id" title="variable">y</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#b033a3d34e421a2439563f5ffdab0b9b"><span class="id" title="notation">^</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#n"><span class="id" title="variable">n</span></a>).<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="exprMz_comm"><span class="id" title="lemma">exprMz_comm</span></a> <span class="id" title="var">x</span> <span class="id" title="var">y</span> <span class="id" title="var">n</span> : <a class="idref" href="mathcomp.algebra.ssrint.html#x"><span class="id" title="variable">x</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.ssralg.html#GRing.unit"><span class="id" title="definition">GRing.unit</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.ssrint.html#y"><span class="id" title="variable">y</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.ssralg.html#GRing.unit"><span class="id" title="definition">GRing.unit</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="mathcomp.algebra.ssralg.html#GRing.comm"><span class="id" title="definition">GRing.comm</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#y"><span class="id" title="variable">y</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.ssrint.html#b033a3d34e421a2439563f5ffdab0b9b"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#x"><span class="id" title="variable">x</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#y"><span class="id" title="variable">y</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#b033a3d34e421a2439563f5ffdab0b9b"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#b033a3d34e421a2439563f5ffdab0b9b"><span class="id" title="notation">^</span></a> <a class="idref" href="mathcomp.algebra.ssrint.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#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#b033a3d34e421a2439563f5ffdab0b9b"><span class="id" title="notation">^</span></a> <a class="idref" href="mathcomp.algebra.ssrint.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#y"><span class="id" title="variable">y</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#b033a3d34e421a2439563f5ffdab0b9b"><span class="id" title="notation">^</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#n"><span class="id" title="variable">n</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="commrXz_wmulls"><span class="id" title="lemma">commrXz_wmulls</span></a> <span class="id" title="var">x</span> <span class="id" title="var">y</span> <span class="id" title="var">n</span> :<br/>
+&nbsp;&nbsp;0 <a class="idref" href="mathcomp.algebra.ssrnum.html#1065783963a393d1eafa2137291f2495"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.algebra.ssrint.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.ssralg.html#GRing.comm"><span class="id" title="definition">GRing.comm</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#y"><span class="id" title="variable">y</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.ssrint.html#b033a3d34e421a2439563f5ffdab0b9b"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#x"><span class="id" title="variable">x</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#y"><span class="id" title="variable">y</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#b033a3d34e421a2439563f5ffdab0b9b"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#b033a3d34e421a2439563f5ffdab0b9b"><span class="id" title="notation">^</span></a> <a class="idref" href="mathcomp.algebra.ssrint.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#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#b033a3d34e421a2439563f5ffdab0b9b"><span class="id" title="notation">^</span></a> <a class="idref" href="mathcomp.algebra.ssrint.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#y"><span class="id" title="variable">y</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#b033a3d34e421a2439563f5ffdab0b9b"><span class="id" title="notation">^</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#n"><span class="id" title="variable">n</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="unitrXz"><span class="id" title="lemma">unitrXz</span></a> <span class="id" title="var">x</span> <span class="id" title="var">n</span> (<span class="id" title="var">ux</span> : <a class="idref" href="mathcomp.algebra.ssrint.html#x"><span class="id" title="variable">x</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.ssralg.html#GRing.unit"><span class="id" title="definition">GRing.unit</span></a>) : <a class="idref" href="mathcomp.algebra.ssrint.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#b033a3d34e421a2439563f5ffdab0b9b"><span class="id" title="notation">^</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#n"><span class="id" title="variable">n</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.ssralg.html#GRing.unit"><span class="id" title="definition">GRing.unit</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="exprzDr"><span class="id" title="lemma">exprzDr</span></a> <span class="id" title="var">x</span> (<span class="id" title="var">ux</span> : <a class="idref" href="mathcomp.algebra.ssrint.html#x"><span class="id" title="variable">x</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.ssralg.html#GRing.unit"><span class="id" title="definition">GRing.unit</span></a>) <span class="id" title="var">m</span> <span class="id" title="var">n</span> : <a class="idref" href="mathcomp.algebra.ssrint.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#b033a3d34e421a2439563f5ffdab0b9b"><span class="id" title="notation">^</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#b033a3d34e421a2439563f5ffdab0b9b"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssrint.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.ssrint.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#b033a3d34e421a2439563f5ffdab0b9b"><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#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#b033a3d34e421a2439563f5ffdab0b9b"><span class="id" title="notation">^</span></a> <a class="idref" href="mathcomp.algebra.ssrint.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.ssrint.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#b033a3d34e421a2439563f5ffdab0b9b"><span class="id" title="notation">^</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#n"><span class="id" title="variable">n</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="exprz_exp"><span class="id" title="lemma">exprz_exp</span></a> <span class="id" title="var">x</span> <span class="id" title="var">m</span> <span class="id" title="var">n</span> : <a class="idref" href="mathcomp.algebra.ssrint.html#b033a3d34e421a2439563f5ffdab0b9b"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#b033a3d34e421a2439563f5ffdab0b9b"><span class="id" title="notation">^</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#m"><span class="id" title="variable">m</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#b033a3d34e421a2439563f5ffdab0b9b"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#b033a3d34e421a2439563f5ffdab0b9b"><span class="id" title="notation">^</span></a> <a class="idref" href="mathcomp.algebra.ssrint.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="mathcomp.algebra.ssrint.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#b033a3d34e421a2439563f5ffdab0b9b"><span class="id" title="notation">^</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#b033a3d34e421a2439563f5ffdab0b9b"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssrint.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.ssrint.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#b033a3d34e421a2439563f5ffdab0b9b"><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>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="exprzAC"><span class="id" title="lemma">exprzAC</span></a> <span class="id" title="var">x</span> <span class="id" title="var">m</span> <span class="id" title="var">n</span> : <a class="idref" href="mathcomp.algebra.ssrint.html#b033a3d34e421a2439563f5ffdab0b9b"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#b033a3d34e421a2439563f5ffdab0b9b"><span class="id" title="notation">^</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#m"><span class="id" title="variable">m</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#b033a3d34e421a2439563f5ffdab0b9b"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#b033a3d34e421a2439563f5ffdab0b9b"><span class="id" title="notation">^</span></a> <a class="idref" href="mathcomp.algebra.ssrint.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#b033a3d34e421a2439563f5ffdab0b9b"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#b033a3d34e421a2439563f5ffdab0b9b"><span class="id" title="notation">^</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#b033a3d34e421a2439563f5ffdab0b9b"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#b033a3d34e421a2439563f5ffdab0b9b"><span class="id" title="notation">^</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#m"><span class="id" title="variable">m</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="exprz_out"><span class="id" title="lemma">exprz_out</span></a> <span class="id" title="var">x</span> <span class="id" title="var">n</span> (<span class="id" title="var">nux</span> : <a class="idref" href="mathcomp.algebra.ssrint.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#7bda32be7af95db39ea7df0c7103bd67"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#7bda32be7af95db39ea7df0c7103bd67"><span class="id" title="notation">isn't</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#7bda32be7af95db39ea7df0c7103bd67"><span class="id" title="notation">a</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.unit"><span class="id" title="definition">GRing.unit</span></a>) (<span class="id" title="var">hn</span> : 0 <a class="idref" href="mathcomp.algebra.ssrnum.html#1065783963a393d1eafa2137291f2495"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#n"><span class="id" title="variable">n</span></a>) :<br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.algebra.ssrint.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#b033a3d34e421a2439563f5ffdab0b9b"><span class="id" title="notation">^</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#b033a3d34e421a2439563f5ffdab0b9b"><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.ssrint.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#b033a3d34e421a2439563f5ffdab0b9b"><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#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#b033a3d34e421a2439563f5ffdab0b9b"><span class="id" title="notation">^</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#n"><span class="id" title="variable">n</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.algebra.ssrint.html#ExprzUnitRing"><span class="id" title="section">ExprzUnitRing</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Section</span> <a name="Exprz_Zint_UnitRing"><span class="id" title="section">Exprz_Zint_UnitRing</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Variable</span> <a name="Exprz_Zint_UnitRing.R"><span class="id" title="variable">R</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitRing.Exports.unitRingType"><span class="id" title="abbreviation">unitRingType</span></a>.<br/>
+<span class="id" title="keyword">Implicit</span> <span class="id" title="keyword">Types</span> <span class="id" title="var">x</span> <span class="id" title="var">y</span> : <a class="idref" href="mathcomp.algebra.ssrint.html#Exprz_Zint_UnitRing.R"><span class="id" title="variable">R</span></a>.<br/>
+<span class="id" title="keyword">Implicit</span> <span class="id" title="keyword">Types</span> <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>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="exprz_pmulzl"><span class="id" title="lemma">exprz_pmulzl</span></a> <span class="id" title="var">x</span> <span class="id" title="var">m</span> <span class="id" title="var">n</span> : 0 <a class="idref" href="mathcomp.algebra.ssrnum.html#1065783963a393d1eafa2137291f2495"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.algebra.ssrint.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.ssrint.html#b033a3d34e421a2439563f5ffdab0b9b"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#9c7c5437248d02e78f1fc1d9125e7f44"><span class="id" title="notation">*~</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#m"><span class="id" title="variable">m</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#b033a3d34e421a2439563f5ffdab0b9b"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#b033a3d34e421a2439563f5ffdab0b9b"><span class="id" title="notation">^</span></a> <a class="idref" href="mathcomp.algebra.ssrint.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#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#b033a3d34e421a2439563f5ffdab0b9b"><span class="id" title="notation">^</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#9c7c5437248d02e78f1fc1d9125e7f44"><span class="id" title="notation">*~</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#9c7c5437248d02e78f1fc1d9125e7f44"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#b033a3d34e421a2439563f5ffdab0b9b"><span class="id" title="notation">^</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#9c7c5437248d02e78f1fc1d9125e7f44"><span class="id" title="notation">)</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="exprz_pintl"><span class="id" title="lemma">exprz_pintl</span></a> <span class="id" title="var">m</span> <span class="id" title="var">n</span> (<span class="id" title="var">hn</span> : 0 <a class="idref" href="mathcomp.algebra.ssrnum.html#1065783963a393d1eafa2137291f2495"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#n"><span class="id" title="variable">n</span></a>) : <a class="idref" href="mathcomp.algebra.ssrint.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.ssrint.html#b033a3d34e421a2439563f5ffdab0b9b"><span class="id" title="notation">^</span></a> <a class="idref" href="mathcomp.algebra.ssrint.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#8f9364556521ebb498093f28eea2240f"><span class="id" title="notation">=</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#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#b033a3d34e421a2439563f5ffdab0b9b"><span class="id" title="notation">^</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#n"><span class="id" title="variable">n</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.Init.Logic.html#8f9364556521ebb498093f28eea2240f"><span class="id" title="notation">:&gt;</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#Exprz_Zint_UnitRing.R"><span class="id" title="variable">R</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="exprzMzl"><span class="id" title="lemma">exprzMzl</span></a> <span class="id" title="var">x</span> <span class="id" title="var">m</span> <span class="id" title="var">n</span> (<span class="id" title="var">ux</span> : <a class="idref" href="mathcomp.algebra.ssrint.html#x"><span class="id" title="variable">x</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.ssralg.html#GRing.unit"><span class="id" title="definition">GRing.unit</span></a>) (<span class="id" title="var">um</span> : <a class="idref" href="mathcomp.algebra.ssrint.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="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.ssralg.html#GRing.unit"><span class="id" title="definition">GRing.unit</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#Exprz_Zint_UnitRing.R"><span class="id" title="variable">R</span></a>):<br/>
+&nbsp;&nbsp;&nbsp;<a class="idref" href="mathcomp.algebra.ssrint.html#b033a3d34e421a2439563f5ffdab0b9b"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#9c7c5437248d02e78f1fc1d9125e7f44"><span class="id" title="notation">*~</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#m"><span class="id" title="variable">m</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#b033a3d34e421a2439563f5ffdab0b9b"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#b033a3d34e421a2439563f5ffdab0b9b"><span class="id" title="notation">^</span></a> <a class="idref" href="mathcomp.algebra.ssrint.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#8f9364556521ebb498093f28eea2240f"><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.ssrint.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.ssrint.html#b033a3d34e421a2439563f5ffdab0b9b"><span class="id" title="notation">^</span></a> <a class="idref" href="mathcomp.algebra.ssrint.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.ssralg.html#22058a36a53dac65c94ca403bc62650a"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#b033a3d34e421a2439563f5ffdab0b9b"><span class="id" title="notation">^</span></a> <a class="idref" href="mathcomp.algebra.ssrint.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#8f9364556521ebb498093f28eea2240f"><span class="id" title="notation">:&gt;</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#Exprz_Zint_UnitRing.R"><span class="id" title="variable">R</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="expNrz"><span class="id" title="lemma">expNrz</span></a> <span class="id" title="var">x</span> <span class="id" title="var">n</span> : <a class="idref" href="mathcomp.algebra.ssrint.html#b033a3d34e421a2439563f5ffdab0b9b"><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.ssrint.html#x"><span class="id" title="variable">x</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#b033a3d34e421a2439563f5ffdab0b9b"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#b033a3d34e421a2439563f5ffdab0b9b"><span class="id" title="notation">^</span></a> <a class="idref" href="mathcomp.algebra.ssrint.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#8f9364556521ebb498093f28eea2240f"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#b033a3d34e421a2439563f5ffdab0b9b"><span class="id" title="notation">(</span></a>-1<a class="idref" href="mathcomp.algebra.ssrint.html#b033a3d34e421a2439563f5ffdab0b9b"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#b033a3d34e421a2439563f5ffdab0b9b"><span class="id" title="notation">^</span></a> <a class="idref" href="mathcomp.algebra.ssrint.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#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#b033a3d34e421a2439563f5ffdab0b9b"><span class="id" title="notation">^</span></a> <a class="idref" href="mathcomp.algebra.ssrint.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#8f9364556521ebb498093f28eea2240f"><span class="id" title="notation">:&gt;</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#Exprz_Zint_UnitRing.R"><span class="id" title="variable">R</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="unitr_n0expz"><span class="id" title="lemma">unitr_n0expz</span></a> <span class="id" title="var">x</span> <span class="id" title="var">n</span> :<br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.algebra.ssrint.html#n"><span class="id" title="variable">n</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="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#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#b033a3d34e421a2439563f5ffdab0b9b"><span class="id" title="notation">^</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#n"><span class="id" title="variable">n</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.ssralg.html#GRing.unit"><span class="id" title="definition">GRing.unit</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.ssrint.html#x"><span class="id" title="variable">x</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.ssralg.html#GRing.unit"><span class="id" title="definition">GRing.unit</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="intrV"><span class="id" title="lemma">intrV</span></a> (<span class="id" title="var">n</span> : <a class="idref" href="mathcomp.algebra.ssrint.html#int"><span class="id" title="inductive">int</span></a>) :<br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.algebra.ssrint.html#n"><span class="id" title="variable">n</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.ssreflect.seq.html#b2d6f6eec274c9f9919a378a42b5b183"><span class="id" title="notation">[::</span></a> 0<a class="idref" href="mathcomp.ssreflect.seq.html#b2d6f6eec274c9f9919a378a42b5b183"><span class="id" title="notation">;</span></a> 1<a class="idref" href="mathcomp.ssreflect.seq.html#b2d6f6eec274c9f9919a378a42b5b183"><span class="id" title="notation">;</span></a> -1<a class="idref" href="mathcomp.ssreflect.seq.html#b2d6f6eec274c9f9919a378a42b5b183"><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="mathcomp.algebra.ssrint.html#n"><span class="id" title="variable">n</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="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#8f9364556521ebb498093f28eea2240f"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#n"><span class="id" title="variable">n</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.Init.Logic.html#8f9364556521ebb498093f28eea2240f"><span class="id" title="notation">:&gt;</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#Exprz_Zint_UnitRing.R"><span class="id" title="variable">R</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="rmorphXz"><span class="id" title="lemma">rmorphXz</span></a> (<span class="id" title="var">R'</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitRing.Exports.unitRingType"><span class="id" title="abbreviation">unitRingType</span></a>) (<span class="id" title="var">f</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#0c709ebe43ddbd7719f75250a7b916d9"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#0c709ebe43ddbd7719f75250a7b916d9"><span class="id" title="notation">rmorphism</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#Exprz_Zint_UnitRing.R"><span class="id" title="variable">R</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.ssrint.html#R'"><span class="id" title="variable">R'</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#0c709ebe43ddbd7719f75250a7b916d9"><span class="id" title="notation">}</span></a>) <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#5c59b35a0b51db520cf1fba473ecf127"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#5c59b35a0b51db520cf1fba473ecf127"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.unit"><span class="id" title="definition">GRing.unit</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#5c59b35a0b51db520cf1fba473ecf127"><span class="id" title="notation">,</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#c3c88e2b30b681cd767a54649faf5973"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#c3c88e2b30b681cd767a54649faf5973"><span class="id" title="notation">morph</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#c3c88e2b30b681cd767a54649faf5973"><span class="id" title="notation">:</span></a> <span class="id" title="var">x</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#c3c88e2b30b681cd767a54649faf5973"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#b033a3d34e421a2439563f5ffdab0b9b"><span class="id" title="notation">^</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#c3c88e2b30b681cd767a54649faf5973"><span class="id" title="notation">}</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#5c59b35a0b51db520cf1fba473ecf127"><span class="id" title="notation">}</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.algebra.ssrint.html#Exprz_Zint_UnitRing"><span class="id" title="section">Exprz_Zint_UnitRing</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Section</span> <a name="ExprzIdomain"><span class="id" title="section">ExprzIdomain</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Variable</span> <a name="ExprzIdomain.R"><span class="id" title="variable">R</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.IntegralDomain.Exports.idomainType"><span class="id" title="abbreviation">idomainType</span></a>.<br/>
+<span class="id" title="keyword">Implicit</span> <span class="id" title="keyword">Types</span> <span class="id" title="var">x</span> <span class="id" title="var">y</span> : <a class="idref" href="mathcomp.algebra.ssrint.html#ExprzIdomain.R"><span class="id" title="variable">R</span></a>.<br/>
+<span class="id" title="keyword">Implicit</span> <span class="id" title="keyword">Types</span> <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>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="expfz_eq0"><span class="id" title="lemma">expfz_eq0</span></a> <span class="id" title="var">x</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.ssrint.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#b033a3d34e421a2439563f5ffdab0b9b"><span class="id" title="notation">^</span></a> <a class="idref" href="mathcomp.algebra.ssrint.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.ssrint.html#n"><span class="id" title="variable">n</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.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.ssrint.html#x"><span class="id" title="variable">x</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/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="expfz_neq0"><span class="id" title="lemma">expfz_neq0</span></a> <span class="id" title="var">x</span> <span class="id" title="var">n</span> : <a class="idref" href="mathcomp.algebra.ssrint.html#x"><span class="id" title="variable">x</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.ssrint.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#b033a3d34e421a2439563f5ffdab0b9b"><span class="id" title="notation">^</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#b1eeadc2feabc7422252baa895418c7b"><span class="id" title="notation">!=</span></a> 0.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="exprzMl"><span class="id" title="lemma">exprzMl</span></a> <span class="id" title="var">x</span> <span class="id" title="var">y</span> <span class="id" title="var">n</span> (<span class="id" title="var">ux</span> : <a class="idref" href="mathcomp.algebra.ssrint.html#x"><span class="id" title="variable">x</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.ssralg.html#GRing.unit"><span class="id" title="definition">GRing.unit</span></a>) (<span class="id" title="var">uy</span> : <a class="idref" href="mathcomp.algebra.ssrint.html#y"><span class="id" title="variable">y</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.ssralg.html#GRing.unit"><span class="id" title="definition">GRing.unit</span></a>) :<br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.algebra.ssrint.html#b033a3d34e421a2439563f5ffdab0b9b"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#x"><span class="id" title="variable">x</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#y"><span class="id" title="variable">y</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#b033a3d34e421a2439563f5ffdab0b9b"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#b033a3d34e421a2439563f5ffdab0b9b"><span class="id" title="notation">^</span></a> <a class="idref" href="mathcomp.algebra.ssrint.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#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#b033a3d34e421a2439563f5ffdab0b9b"><span class="id" title="notation">^</span></a> <a class="idref" href="mathcomp.algebra.ssrint.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#y"><span class="id" title="variable">y</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#b033a3d34e421a2439563f5ffdab0b9b"><span class="id" title="notation">^</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#n"><span class="id" title="variable">n</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="expfV"><span class="id" title="lemma">expfV</span></a> (<span class="id" title="var">x</span> : <a class="idref" href="mathcomp.algebra.ssrint.html#ExprzIdomain.R"><span class="id" title="variable">R</span></a>) (<span class="id" title="var">i</span> : <a class="idref" href="mathcomp.algebra.ssrint.html#int"><span class="id" title="inductive">int</span></a>) : <a class="idref" href="mathcomp.algebra.ssralg.html#f3016d4e55aa553d3e912592ec65e342"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#b033a3d34e421a2439563f5ffdab0b9b"><span class="id" title="notation">^</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#f3016d4e55aa553d3e912592ec65e342"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f3016d4e55aa553d3e912592ec65e342"><span class="id" title="notation">^-1</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#b033a3d34e421a2439563f5ffdab0b9b"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#x"><span class="id" title="variable">x</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.ssrint.html#b033a3d34e421a2439563f5ffdab0b9b"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#b033a3d34e421a2439563f5ffdab0b9b"><span class="id" title="notation">^</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#i"><span class="id" title="variable">i</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.algebra.ssrint.html#ExprzIdomain"><span class="id" title="section">ExprzIdomain</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Section</span> <a name="ExprzField"><span class="id" title="section">ExprzField</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Variable</span> <a name="ExprzField.F"><span class="id" title="variable">F</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Field.Exports.fieldType"><span class="id" title="abbreviation">fieldType</span></a>.<br/>
+<span class="id" title="keyword">Implicit</span> <span class="id" title="keyword">Types</span> <span class="id" title="var">x</span> <span class="id" title="var">y</span> : <a class="idref" href="mathcomp.algebra.ssrint.html#ExprzField.F"><span class="id" title="variable">F</span></a>.<br/>
+<span class="id" title="keyword">Implicit</span> <span class="id" title="keyword">Types</span> <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>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="expfzDr"><span class="id" title="lemma">expfzDr</span></a> <span class="id" title="var">x</span> <span class="id" title="var">m</span> <span class="id" title="var">n</span> : <a class="idref" href="mathcomp.algebra.ssrint.html#x"><span class="id" title="variable">x</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.ssrint.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#b033a3d34e421a2439563f5ffdab0b9b"><span class="id" title="notation">^</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#b033a3d34e421a2439563f5ffdab0b9b"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssrint.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.ssrint.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#b033a3d34e421a2439563f5ffdab0b9b"><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#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#b033a3d34e421a2439563f5ffdab0b9b"><span class="id" title="notation">^</span></a> <a class="idref" href="mathcomp.algebra.ssrint.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.ssrint.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#b033a3d34e421a2439563f5ffdab0b9b"><span class="id" title="notation">^</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#n"><span class="id" title="variable">n</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="expfz_n0addr"><span class="id" title="lemma">expfz_n0addr</span></a> <span class="id" title="var">x</span> <span class="id" title="var">m</span> <span class="id" title="var">n</span> : <a class="idref" href="mathcomp.algebra.ssrint.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.ssrint.html#n"><span class="id" title="variable">n</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.ssrint.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#b033a3d34e421a2439563f5ffdab0b9b"><span class="id" title="notation">^</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#b033a3d34e421a2439563f5ffdab0b9b"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssrint.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.ssrint.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#b033a3d34e421a2439563f5ffdab0b9b"><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#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#b033a3d34e421a2439563f5ffdab0b9b"><span class="id" title="notation">^</span></a> <a class="idref" href="mathcomp.algebra.ssrint.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.ssrint.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#b033a3d34e421a2439563f5ffdab0b9b"><span class="id" title="notation">^</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#n"><span class="id" title="variable">n</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="expfzMl"><span class="id" title="lemma">expfzMl</span></a> <span class="id" title="var">x</span> <span class="id" title="var">y</span> <span class="id" title="var">n</span> : <a class="idref" href="mathcomp.algebra.ssrint.html#b033a3d34e421a2439563f5ffdab0b9b"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#x"><span class="id" title="variable">x</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#y"><span class="id" title="variable">y</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#b033a3d34e421a2439563f5ffdab0b9b"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#b033a3d34e421a2439563f5ffdab0b9b"><span class="id" title="notation">^</span></a> <a class="idref" href="mathcomp.algebra.ssrint.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#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#b033a3d34e421a2439563f5ffdab0b9b"><span class="id" title="notation">^</span></a> <a class="idref" href="mathcomp.algebra.ssrint.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#y"><span class="id" title="variable">y</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#b033a3d34e421a2439563f5ffdab0b9b"><span class="id" title="notation">^</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#n"><span class="id" title="variable">n</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="fmorphXz"><span class="id" title="lemma">fmorphXz</span></a> (<span class="id" title="var">R</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitRing.Exports.unitRingType"><span class="id" title="abbreviation">unitRingType</span></a>) (<span class="id" title="var">f</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#0c709ebe43ddbd7719f75250a7b916d9"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#0c709ebe43ddbd7719f75250a7b916d9"><span class="id" title="notation">rmorphism</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#ExprzField.F"><span class="id" title="variable">F</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.ssrint.html#R"><span class="id" title="variable">R</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#0c709ebe43ddbd7719f75250a7b916d9"><span class="id" title="notation">}</span></a>) <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.ssrfun.html#c3c88e2b30b681cd767a54649faf5973"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#c3c88e2b30b681cd767a54649faf5973"><span class="id" title="notation">morph</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#c3c88e2b30b681cd767a54649faf5973"><span class="id" title="notation">:</span></a> <span class="id" title="var">x</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#c3c88e2b30b681cd767a54649faf5973"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#b033a3d34e421a2439563f5ffdab0b9b"><span class="id" title="notation">^</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#c3c88e2b30b681cd767a54649faf5973"><span class="id" title="notation">}</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.algebra.ssrint.html#ExprzField"><span class="id" title="section">ExprzField</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Section</span> <a name="ExprzOrder"><span class="id" title="section">ExprzOrder</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Variable</span> <a name="ExprzOrder.R"><span class="id" title="variable">R</span></a> : <a class="idref" href="mathcomp.algebra.ssrnum.html#Num.RealField.Exports.realFieldType"><span class="id" title="abbreviation">realFieldType</span></a>.<br/>
+<span class="id" title="keyword">Implicit</span> <span class="id" title="keyword">Types</span> <span class="id" title="var">x</span> <span class="id" title="var">y</span> : <a class="idref" href="mathcomp.algebra.ssrint.html#ExprzOrder.R"><span class="id" title="variable">R</span></a>.<br/>
+<span class="id" title="keyword">Implicit</span> <span class="id" title="keyword">Types</span> <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>.<br/>
+
+<br/>
+</div>
+
+<div class="doc">
+ ler and exprz
+</div>
+<div class="code">
+<span class="id" title="keyword">Lemma</span> <a name="exprz_ge0"><span class="id" title="lemma">exprz_ge0</span></a> <span class="id" title="var">n</span> <span class="id" title="var">x</span> (<span class="id" title="var">hx</span> : 0 <a class="idref" href="mathcomp.algebra.ssrnum.html#1065783963a393d1eafa2137291f2495"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#x"><span class="id" title="variable">x</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.ssrint.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#b033a3d34e421a2439563f5ffdab0b9b"><span class="id" title="notation">^</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#n"><span class="id" title="variable">n</span></a>).<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="exprz_gt0"><span class="id" title="lemma">exprz_gt0</span></a> <span class="id" title="var">n</span> <span class="id" title="var">x</span> (<span class="id" title="var">hx</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.ssrint.html#x"><span class="id" title="variable">x</span></a>) : (0 <a class="idref" href="mathcomp.algebra.ssrnum.html#388c172bf8d34ef0bf11898cd56f8d7b"><span class="id" title="notation">&lt;</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#b033a3d34e421a2439563f5ffdab0b9b"><span class="id" title="notation">^</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#n"><span class="id" title="variable">n</span></a>).<br/>
+
+<br/>
+<span class="id" title="keyword">Definition</span> <a name="exprz_gte0"><span class="id" title="definition">exprz_gte0</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.ssrint.html#exprz_ge0"><span class="id" title="lemma">exprz_ge0</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.ssrint.html#exprz_gt0"><span class="id" title="lemma">exprz_gt0</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="ler_wpiexpz2l"><span class="id" title="lemma">ler_wpiexpz2l</span></a> <span class="id" title="var">x</span> (<span class="id" title="var">x0</span> : 0 <a class="idref" href="mathcomp.algebra.ssrnum.html#1065783963a393d1eafa2137291f2495"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#x"><span class="id" title="variable">x</span></a>) (<span class="id" title="var">x1</span> : <a class="idref" href="mathcomp.algebra.ssrint.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssrnum.html#1065783963a393d1eafa2137291f2495"><span class="id" title="notation">≤</span></a> 1) :<br/>
+&nbsp;&nbsp;<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#2bba53854f326a714d377124cccec593"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#2bba53854f326a714d377124cccec593"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.ssrnum.html#23c398dbba06a0aa4819b2d9e2ed5abb"><span class="id" title="notation">≥</span></a> 0 <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#2bba53854f326a714d377124cccec593"><span class="id" title="notation">&amp;,</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#9caa0748cced1c5dad561bd5f28bd7db"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#9caa0748cced1c5dad561bd5f28bd7db"><span class="id" title="notation">homo</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#9caa0748cced1c5dad561bd5f28bd7db"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#exprz"><span class="id" title="definition">exprz</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#x"><span class="id" title="variable">x</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#9caa0748cced1c5dad561bd5f28bd7db"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#9caa0748cced1c5dad561bd5f28bd7db"><span class="id" title="notation">:</span></a> <span class="id" title="var">x</span> <span class="id" title="var">y</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#9caa0748cced1c5dad561bd5f28bd7db"><span class="id" title="notation">/~</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssrnum.html#1065783963a393d1eafa2137291f2495"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#y"><span class="id" title="variable">y</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#9caa0748cced1c5dad561bd5f28bd7db"><span class="id" title="notation">}</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#2bba53854f326a714d377124cccec593"><span class="id" title="notation">}</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="ler_wniexpz2l"><span class="id" title="lemma">ler_wniexpz2l</span></a> <span class="id" title="var">x</span> (<span class="id" title="var">x0</span> : 0 <a class="idref" href="mathcomp.algebra.ssrnum.html#1065783963a393d1eafa2137291f2495"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#x"><span class="id" title="variable">x</span></a>) (<span class="id" title="var">x1</span> : <a class="idref" href="mathcomp.algebra.ssrint.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssrnum.html#1065783963a393d1eafa2137291f2495"><span class="id" title="notation">≤</span></a> 1) :<br/>
+&nbsp;&nbsp;<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#2bba53854f326a714d377124cccec593"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#2bba53854f326a714d377124cccec593"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.ssrnum.html#a8f34bc5e467f7971380049ef258ede0"><span class="id" title="notation">&lt;</span></a> 0 <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#2bba53854f326a714d377124cccec593"><span class="id" title="notation">&amp;,</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#9caa0748cced1c5dad561bd5f28bd7db"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#9caa0748cced1c5dad561bd5f28bd7db"><span class="id" title="notation">homo</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#9caa0748cced1c5dad561bd5f28bd7db"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#exprz"><span class="id" title="definition">exprz</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#x"><span class="id" title="variable">x</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#9caa0748cced1c5dad561bd5f28bd7db"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#9caa0748cced1c5dad561bd5f28bd7db"><span class="id" title="notation">:</span></a> <span class="id" title="var">x</span> <span class="id" title="var">y</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#9caa0748cced1c5dad561bd5f28bd7db"><span class="id" title="notation">/~</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssrnum.html#1065783963a393d1eafa2137291f2495"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#y"><span class="id" title="variable">y</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#9caa0748cced1c5dad561bd5f28bd7db"><span class="id" title="notation">}</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#2bba53854f326a714d377124cccec593"><span class="id" title="notation">}</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Fact</span> <a name="ler_wpeexpz2l"><span class="id" title="lemma">ler_wpeexpz2l</span></a> <span class="id" title="var">x</span> (<span class="id" title="var">x1</span> : 1 <a class="idref" href="mathcomp.algebra.ssrnum.html#1065783963a393d1eafa2137291f2495"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#x"><span class="id" title="variable">x</span></a>) :<br/>
+&nbsp;&nbsp;<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#2bba53854f326a714d377124cccec593"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#2bba53854f326a714d377124cccec593"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.ssrnum.html#23c398dbba06a0aa4819b2d9e2ed5abb"><span class="id" title="notation">≥</span></a> 0 <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#2bba53854f326a714d377124cccec593"><span class="id" title="notation">&amp;,</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#bf2e58b992e0391262bcf1e3bb7b0fc0"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#bf2e58b992e0391262bcf1e3bb7b0fc0"><span class="id" title="notation">homo</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#bf2e58b992e0391262bcf1e3bb7b0fc0"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#exprz"><span class="id" title="definition">exprz</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#x"><span class="id" title="variable">x</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#bf2e58b992e0391262bcf1e3bb7b0fc0"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#bf2e58b992e0391262bcf1e3bb7b0fc0"><span class="id" title="notation">:</span></a> <span class="id" title="var">x</span> <span class="id" title="var">y</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#bf2e58b992e0391262bcf1e3bb7b0fc0"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssrnum.html#1065783963a393d1eafa2137291f2495"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#y"><span class="id" title="variable">y</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#bf2e58b992e0391262bcf1e3bb7b0fc0"><span class="id" title="notation">}</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#2bba53854f326a714d377124cccec593"><span class="id" title="notation">}</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Fact</span> <a name="ler_wneexpz2l"><span class="id" title="lemma">ler_wneexpz2l</span></a> <span class="id" title="var">x</span> (<span class="id" title="var">x1</span> : 1 <a class="idref" href="mathcomp.algebra.ssrnum.html#1065783963a393d1eafa2137291f2495"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#x"><span class="id" title="variable">x</span></a>) :<br/>
+&nbsp;&nbsp;<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#2bba53854f326a714d377124cccec593"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#2bba53854f326a714d377124cccec593"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.ssrnum.html#e1cffdfd4384e2a91d841324fdf3cf74"><span class="id" title="notation">≤</span></a> 0 <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#2bba53854f326a714d377124cccec593"><span class="id" title="notation">&amp;,</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#bf2e58b992e0391262bcf1e3bb7b0fc0"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#bf2e58b992e0391262bcf1e3bb7b0fc0"><span class="id" title="notation">homo</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#bf2e58b992e0391262bcf1e3bb7b0fc0"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#exprz"><span class="id" title="definition">exprz</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#x"><span class="id" title="variable">x</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#bf2e58b992e0391262bcf1e3bb7b0fc0"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#bf2e58b992e0391262bcf1e3bb7b0fc0"><span class="id" title="notation">:</span></a> <span class="id" title="var">x</span> <span class="id" title="var">y</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#bf2e58b992e0391262bcf1e3bb7b0fc0"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssrnum.html#1065783963a393d1eafa2137291f2495"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#y"><span class="id" title="variable">y</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#bf2e58b992e0391262bcf1e3bb7b0fc0"><span class="id" title="notation">}</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#2bba53854f326a714d377124cccec593"><span class="id" title="notation">}</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="ler_weexpz2l"><span class="id" title="lemma">ler_weexpz2l</span></a> <span class="id" title="var">x</span> (<span class="id" title="var">x1</span> : 1 <a class="idref" href="mathcomp.algebra.ssrnum.html#1065783963a393d1eafa2137291f2495"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#x"><span class="id" title="variable">x</span></a>) : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#bf2e58b992e0391262bcf1e3bb7b0fc0"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#bf2e58b992e0391262bcf1e3bb7b0fc0"><span class="id" title="notation">homo</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#bf2e58b992e0391262bcf1e3bb7b0fc0"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#exprz"><span class="id" title="definition">exprz</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#x"><span class="id" title="variable">x</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#bf2e58b992e0391262bcf1e3bb7b0fc0"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#bf2e58b992e0391262bcf1e3bb7b0fc0"><span class="id" title="notation">:</span></a> <span class="id" title="var">x</span> <span class="id" title="var">y</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#bf2e58b992e0391262bcf1e3bb7b0fc0"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssrnum.html#1065783963a393d1eafa2137291f2495"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#y"><span class="id" title="variable">y</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#bf2e58b992e0391262bcf1e3bb7b0fc0"><span class="id" title="notation">}</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="pexprz_eq1"><span class="id" title="lemma">pexprz_eq1</span></a> <span class="id" title="var">x</span> <span class="id" title="var">n</span> (<span class="id" title="var">x0</span> : 0 <a class="idref" href="mathcomp.algebra.ssrnum.html#1065783963a393d1eafa2137291f2495"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#x"><span class="id" title="variable">x</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#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#b033a3d34e421a2439563f5ffdab0b9b"><span class="id" title="notation">^</span></a> <a class="idref" href="mathcomp.algebra.ssrint.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<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="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#14a7a9c7dc61f86bfb664d400fabaf8a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssrint.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#14a7a9c7dc61f86bfb664d400fabaf8a"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#14a7a9c7dc61f86bfb664d400fabaf8a"><span class="id" title="notation">||</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#14a7a9c7dc61f86bfb664d400fabaf8a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#17d28d004d0863cb022d4ce832ddaaae"><span class="id" title="notation">==</span></a> 1<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#14a7a9c7dc61f86bfb664d400fabaf8a"><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>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="ieexprIz"><span class="id" title="lemma">ieexprIz</span></a> <span class="id" title="var">x</span> (<span class="id" title="var">x0</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.ssrint.html#x"><span class="id" title="variable">x</span></a>) (<span class="id" title="var">nx1</span> : <a class="idref" href="mathcomp.algebra.ssrint.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#b1eeadc2feabc7422252baa895418c7b"><span class="id" title="notation">!=</span></a> 1) : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#injective"><span class="id" title="definition">injective</span></a> (<a class="idref" href="mathcomp.algebra.ssrint.html#exprz"><span class="id" title="definition">exprz</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#x"><span class="id" title="variable">x</span></a>).<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="ler_piexpz2l"><span class="id" title="lemma">ler_piexpz2l</span></a> <span class="id" title="var">x</span> (<span class="id" title="var">x0</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.ssrint.html#x"><span class="id" title="variable">x</span></a>) (<span class="id" title="var">x1</span> : <a class="idref" href="mathcomp.algebra.ssrint.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssrnum.html#388c172bf8d34ef0bf11898cd56f8d7b"><span class="id" title="notation">&lt;</span></a> 1) :<br/>
+&nbsp;&nbsp;<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#2bba53854f326a714d377124cccec593"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#2bba53854f326a714d377124cccec593"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.ssrnum.html#23c398dbba06a0aa4819b2d9e2ed5abb"><span class="id" title="notation">≥</span></a> 0 <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#2bba53854f326a714d377124cccec593"><span class="id" title="notation">&amp;,</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#744665b4ecc83382846c028dbdceae50"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#744665b4ecc83382846c028dbdceae50"><span class="id" title="notation">mono</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#744665b4ecc83382846c028dbdceae50"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#exprz"><span class="id" title="definition">exprz</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#x"><span class="id" title="variable">x</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#744665b4ecc83382846c028dbdceae50"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#744665b4ecc83382846c028dbdceae50"><span class="id" title="notation">:</span></a> <span class="id" title="var">x</span> <span class="id" title="var">y</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#744665b4ecc83382846c028dbdceae50"><span class="id" title="notation">/~</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssrnum.html#1065783963a393d1eafa2137291f2495"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#y"><span class="id" title="variable">y</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#744665b4ecc83382846c028dbdceae50"><span class="id" title="notation">}</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#2bba53854f326a714d377124cccec593"><span class="id" title="notation">}</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="ltr_piexpz2l"><span class="id" title="lemma">ltr_piexpz2l</span></a> <span class="id" title="var">x</span> (<span class="id" title="var">x0</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.ssrint.html#x"><span class="id" title="variable">x</span></a>) (<span class="id" title="var">x1</span> : <a class="idref" href="mathcomp.algebra.ssrint.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssrnum.html#388c172bf8d34ef0bf11898cd56f8d7b"><span class="id" title="notation">&lt;</span></a> 1) :<br/>
+&nbsp;&nbsp;<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#2bba53854f326a714d377124cccec593"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#2bba53854f326a714d377124cccec593"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.ssrnum.html#23c398dbba06a0aa4819b2d9e2ed5abb"><span class="id" title="notation">≥</span></a> 0 <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#2bba53854f326a714d377124cccec593"><span class="id" title="notation">&amp;,</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#744665b4ecc83382846c028dbdceae50"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#744665b4ecc83382846c028dbdceae50"><span class="id" title="notation">mono</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#744665b4ecc83382846c028dbdceae50"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#exprz"><span class="id" title="definition">exprz</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#x"><span class="id" title="variable">x</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#744665b4ecc83382846c028dbdceae50"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#744665b4ecc83382846c028dbdceae50"><span class="id" title="notation">:</span></a> <span class="id" title="var">x</span> <span class="id" title="var">y</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#744665b4ecc83382846c028dbdceae50"><span class="id" title="notation">/~</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#x"><span class="id" title="variable">x</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.ssrint.html#y"><span class="id" title="variable">y</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#744665b4ecc83382846c028dbdceae50"><span class="id" title="notation">}</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#2bba53854f326a714d377124cccec593"><span class="id" title="notation">}</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="ler_niexpz2l"><span class="id" title="lemma">ler_niexpz2l</span></a> <span class="id" title="var">x</span> (<span class="id" title="var">x0</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.ssrint.html#x"><span class="id" title="variable">x</span></a>) (<span class="id" title="var">x1</span> : <a class="idref" href="mathcomp.algebra.ssrint.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssrnum.html#388c172bf8d34ef0bf11898cd56f8d7b"><span class="id" title="notation">&lt;</span></a> 1) :<br/>
+&nbsp;&nbsp;<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#2bba53854f326a714d377124cccec593"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#2bba53854f326a714d377124cccec593"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.ssrnum.html#a8f34bc5e467f7971380049ef258ede0"><span class="id" title="notation">&lt;</span></a> 0 <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#2bba53854f326a714d377124cccec593"><span class="id" title="notation">&amp;,</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#744665b4ecc83382846c028dbdceae50"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#744665b4ecc83382846c028dbdceae50"><span class="id" title="notation">mono</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#744665b4ecc83382846c028dbdceae50"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#exprz"><span class="id" title="definition">exprz</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#x"><span class="id" title="variable">x</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#744665b4ecc83382846c028dbdceae50"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#744665b4ecc83382846c028dbdceae50"><span class="id" title="notation">:</span></a> <span class="id" title="var">x</span> <span class="id" title="var">y</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#744665b4ecc83382846c028dbdceae50"><span class="id" title="notation">/~</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssrnum.html#1065783963a393d1eafa2137291f2495"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#y"><span class="id" title="variable">y</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#744665b4ecc83382846c028dbdceae50"><span class="id" title="notation">}</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#2bba53854f326a714d377124cccec593"><span class="id" title="notation">}</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="ltr_niexpz2l"><span class="id" title="lemma">ltr_niexpz2l</span></a> <span class="id" title="var">x</span> (<span class="id" title="var">x0</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.ssrint.html#x"><span class="id" title="variable">x</span></a>) (<span class="id" title="var">x1</span> : <a class="idref" href="mathcomp.algebra.ssrint.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssrnum.html#388c172bf8d34ef0bf11898cd56f8d7b"><span class="id" title="notation">&lt;</span></a> 1) :<br/>
+&nbsp;&nbsp;<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#2bba53854f326a714d377124cccec593"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#2bba53854f326a714d377124cccec593"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.ssrnum.html#a8f34bc5e467f7971380049ef258ede0"><span class="id" title="notation">&lt;</span></a> 0 <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#2bba53854f326a714d377124cccec593"><span class="id" title="notation">&amp;,</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#744665b4ecc83382846c028dbdceae50"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#744665b4ecc83382846c028dbdceae50"><span class="id" title="notation">mono</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#744665b4ecc83382846c028dbdceae50"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#exprz"><span class="id" title="definition">exprz</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#x"><span class="id" title="variable">x</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#744665b4ecc83382846c028dbdceae50"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#744665b4ecc83382846c028dbdceae50"><span class="id" title="notation">:</span></a> <span class="id" title="var">x</span> <span class="id" title="var">y</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#744665b4ecc83382846c028dbdceae50"><span class="id" title="notation">/~</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#x"><span class="id" title="variable">x</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.ssrint.html#y"><span class="id" title="variable">y</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#744665b4ecc83382846c028dbdceae50"><span class="id" title="notation">}</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#2bba53854f326a714d377124cccec593"><span class="id" title="notation">}</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="ler_eexpz2l"><span class="id" title="lemma">ler_eexpz2l</span></a> <span class="id" title="var">x</span> (<span class="id" title="var">x1</span> : 1 <a class="idref" href="mathcomp.algebra.ssrnum.html#388c172bf8d34ef0bf11898cd56f8d7b"><span class="id" title="notation">&lt;</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#x"><span class="id" title="variable">x</span></a>) : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#cedeb4d71ab31ea655ad3d06a9c296b3"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#cedeb4d71ab31ea655ad3d06a9c296b3"><span class="id" title="notation">mono</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#cedeb4d71ab31ea655ad3d06a9c296b3"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#exprz"><span class="id" title="definition">exprz</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#x"><span class="id" title="variable">x</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#cedeb4d71ab31ea655ad3d06a9c296b3"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#cedeb4d71ab31ea655ad3d06a9c296b3"><span class="id" title="notation">:</span></a> <span class="id" title="var">x</span> <span class="id" title="var">y</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#cedeb4d71ab31ea655ad3d06a9c296b3"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssrnum.html#1065783963a393d1eafa2137291f2495"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#y"><span class="id" title="variable">y</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#cedeb4d71ab31ea655ad3d06a9c296b3"><span class="id" title="notation">}</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="ltr_eexpz2l"><span class="id" title="lemma">ltr_eexpz2l</span></a> <span class="id" title="var">x</span> (<span class="id" title="var">x1</span> : 1 <a class="idref" href="mathcomp.algebra.ssrnum.html#388c172bf8d34ef0bf11898cd56f8d7b"><span class="id" title="notation">&lt;</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#x"><span class="id" title="variable">x</span></a>) : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#cedeb4d71ab31ea655ad3d06a9c296b3"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#cedeb4d71ab31ea655ad3d06a9c296b3"><span class="id" title="notation">mono</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#cedeb4d71ab31ea655ad3d06a9c296b3"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#exprz"><span class="id" title="definition">exprz</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#x"><span class="id" title="variable">x</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#cedeb4d71ab31ea655ad3d06a9c296b3"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#cedeb4d71ab31ea655ad3d06a9c296b3"><span class="id" title="notation">:</span></a> <span class="id" title="var">x</span> <span class="id" title="var">y</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#cedeb4d71ab31ea655ad3d06a9c296b3"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#x"><span class="id" title="variable">x</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.ssrint.html#y"><span class="id" title="variable">y</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#cedeb4d71ab31ea655ad3d06a9c296b3"><span class="id" title="notation">}</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="ler_wpexpz2r"><span class="id" title="lemma">ler_wpexpz2r</span></a> <span class="id" title="var">n</span> (<span class="id" title="var">hn</span> : 0 <a class="idref" href="mathcomp.algebra.ssrnum.html#1065783963a393d1eafa2137291f2495"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#n"><span class="id" title="variable">n</span></a>) :<br/>
+<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#2bba53854f326a714d377124cccec593"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#2bba53854f326a714d377124cccec593"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.ssrnum.html#23c398dbba06a0aa4819b2d9e2ed5abb"><span class="id" title="notation">≥</span></a> 0 <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#2bba53854f326a714d377124cccec593"><span class="id" title="notation">&amp;</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#2bba53854f326a714d377124cccec593"><span class="id" title="notation">,</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#bf2e58b992e0391262bcf1e3bb7b0fc0"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#bf2e58b992e0391262bcf1e3bb7b0fc0"><span class="id" title="notation">homo</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#bf2e58b992e0391262bcf1e3bb7b0fc0"><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.ssrint.html#exprz"><span class="id" title="definition">exprz</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#ExprzOrder.R"><span class="id" title="variable">R</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.ssrint.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#bf2e58b992e0391262bcf1e3bb7b0fc0"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#bf2e58b992e0391262bcf1e3bb7b0fc0"><span class="id" title="notation">:</span></a> <span class="id" title="var">x</span> <span class="id" title="var">y</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#bf2e58b992e0391262bcf1e3bb7b0fc0"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssrnum.html#1065783963a393d1eafa2137291f2495"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#y"><span class="id" title="variable">y</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#bf2e58b992e0391262bcf1e3bb7b0fc0"><span class="id" title="notation">}</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#2bba53854f326a714d377124cccec593"><span class="id" title="notation">}</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="ler_wnexpz2r"><span class="id" title="lemma">ler_wnexpz2r</span></a> <span class="id" title="var">n</span> (<span class="id" title="var">hn</span> : <a class="idref" href="mathcomp.algebra.ssrint.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.algebra.ssrnum.html#1065783963a393d1eafa2137291f2495"><span class="id" title="notation">≤</span></a> 0) :<br/>
+<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#2bba53854f326a714d377124cccec593"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#2bba53854f326a714d377124cccec593"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.ssrnum.html#a5bfa1108ca863ae15611f2aac402243"><span class="id" title="notation">&gt;</span></a> 0 <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#2bba53854f326a714d377124cccec593"><span class="id" title="notation">&amp;</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#2bba53854f326a714d377124cccec593"><span class="id" title="notation">,</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#9caa0748cced1c5dad561bd5f28bd7db"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#9caa0748cced1c5dad561bd5f28bd7db"><span class="id" title="notation">homo</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#9caa0748cced1c5dad561bd5f28bd7db"><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.ssrint.html#exprz"><span class="id" title="definition">exprz</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#ExprzOrder.R"><span class="id" title="variable">R</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.ssrint.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#9caa0748cced1c5dad561bd5f28bd7db"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#9caa0748cced1c5dad561bd5f28bd7db"><span class="id" title="notation">:</span></a> <span class="id" title="var">x</span> <span class="id" title="var">y</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#9caa0748cced1c5dad561bd5f28bd7db"><span class="id" title="notation">/~</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssrnum.html#1065783963a393d1eafa2137291f2495"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#y"><span class="id" title="variable">y</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#9caa0748cced1c5dad561bd5f28bd7db"><span class="id" title="notation">}</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#2bba53854f326a714d377124cccec593"><span class="id" title="notation">}</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="pexpIrz"><span class="id" title="lemma">pexpIrz</span></a> <span class="id" title="var">n</span> (<span class="id" title="var">n0</span> : <a class="idref" href="mathcomp.algebra.ssrint.html#n"><span class="id" title="variable">n</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.ssr.ssrbool.html#2bba53854f326a714d377124cccec593"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#2bba53854f326a714d377124cccec593"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.ssrnum.html#23c398dbba06a0aa4819b2d9e2ed5abb"><span class="id" title="notation">≥</span></a> 0 <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#2bba53854f326a714d377124cccec593"><span class="id" title="notation">&amp;,</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#injective"><span class="id" title="definition">injective</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.ssrint.html#exprz"><span class="id" title="definition">exprz</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#ExprzOrder.R"><span class="id" title="variable">R</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.ssrint.html#n"><span class="id" title="variable">n</span></a>)<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#2bba53854f326a714d377124cccec593"><span class="id" title="notation">}</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="nexpIrz"><span class="id" title="lemma">nexpIrz</span></a> <span class="id" title="var">n</span> (<span class="id" title="var">n0</span> : <a class="idref" href="mathcomp.algebra.ssrint.html#n"><span class="id" title="variable">n</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.ssr.ssrbool.html#2bba53854f326a714d377124cccec593"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#2bba53854f326a714d377124cccec593"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.ssrnum.html#e1cffdfd4384e2a91d841324fdf3cf74"><span class="id" title="notation">≤</span></a> 0 <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#2bba53854f326a714d377124cccec593"><span class="id" title="notation">&amp;,</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#injective"><span class="id" title="definition">injective</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.ssrint.html#exprz"><span class="id" title="definition">exprz</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#ExprzOrder.R"><span class="id" title="variable">R</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.ssrint.html#n"><span class="id" title="variable">n</span></a>)<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#2bba53854f326a714d377124cccec593"><span class="id" title="notation">}</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="ler_pexpz2r"><span class="id" title="lemma">ler_pexpz2r</span></a> <span class="id" title="var">n</span> (<span class="id" title="var">hn</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.ssrint.html#n"><span class="id" title="variable">n</span></a>) :<br/>
+&nbsp;&nbsp;<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#2bba53854f326a714d377124cccec593"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#2bba53854f326a714d377124cccec593"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.ssrnum.html#23c398dbba06a0aa4819b2d9e2ed5abb"><span class="id" title="notation">≥</span></a> 0 <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#2bba53854f326a714d377124cccec593"><span class="id" title="notation">&amp;</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#2bba53854f326a714d377124cccec593"><span class="id" title="notation">,</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#cedeb4d71ab31ea655ad3d06a9c296b3"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#cedeb4d71ab31ea655ad3d06a9c296b3"><span class="id" title="notation">mono</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#cedeb4d71ab31ea655ad3d06a9c296b3"><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.ssrint.html#exprz"><span class="id" title="definition">exprz</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#ExprzOrder.R"><span class="id" title="variable">R</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.ssrint.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#cedeb4d71ab31ea655ad3d06a9c296b3"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#cedeb4d71ab31ea655ad3d06a9c296b3"><span class="id" title="notation">:</span></a> <span class="id" title="var">x</span> <span class="id" title="var">y</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#cedeb4d71ab31ea655ad3d06a9c296b3"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssrnum.html#1065783963a393d1eafa2137291f2495"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#y"><span class="id" title="variable">y</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#cedeb4d71ab31ea655ad3d06a9c296b3"><span class="id" title="notation">}</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#2bba53854f326a714d377124cccec593"><span class="id" title="notation">}</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="ltr_pexpz2r"><span class="id" title="lemma">ltr_pexpz2r</span></a> <span class="id" title="var">n</span> (<span class="id" title="var">hn</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.ssrint.html#n"><span class="id" title="variable">n</span></a>) :<br/>
+&nbsp;&nbsp;<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#2bba53854f326a714d377124cccec593"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#2bba53854f326a714d377124cccec593"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.ssrnum.html#23c398dbba06a0aa4819b2d9e2ed5abb"><span class="id" title="notation">≥</span></a> 0 <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#2bba53854f326a714d377124cccec593"><span class="id" title="notation">&amp;</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#2bba53854f326a714d377124cccec593"><span class="id" title="notation">,</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#cedeb4d71ab31ea655ad3d06a9c296b3"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#cedeb4d71ab31ea655ad3d06a9c296b3"><span class="id" title="notation">mono</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#cedeb4d71ab31ea655ad3d06a9c296b3"><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.ssrint.html#exprz"><span class="id" title="definition">exprz</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#ExprzOrder.R"><span class="id" title="variable">R</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.ssrint.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#cedeb4d71ab31ea655ad3d06a9c296b3"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#cedeb4d71ab31ea655ad3d06a9c296b3"><span class="id" title="notation">:</span></a> <span class="id" title="var">x</span> <span class="id" title="var">y</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#cedeb4d71ab31ea655ad3d06a9c296b3"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#x"><span class="id" title="variable">x</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.ssrint.html#y"><span class="id" title="variable">y</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#cedeb4d71ab31ea655ad3d06a9c296b3"><span class="id" title="notation">}</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#2bba53854f326a714d377124cccec593"><span class="id" title="notation">}</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="ler_nexpz2r"><span class="id" title="lemma">ler_nexpz2r</span></a> <span class="id" title="var">n</span> (<span class="id" title="var">hn</span> : <a class="idref" href="mathcomp.algebra.ssrint.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) :<br/>
+&nbsp;&nbsp;<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#2bba53854f326a714d377124cccec593"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#2bba53854f326a714d377124cccec593"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.ssrnum.html#a5bfa1108ca863ae15611f2aac402243"><span class="id" title="notation">&gt;</span></a> 0 <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#2bba53854f326a714d377124cccec593"><span class="id" title="notation">&amp;</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#2bba53854f326a714d377124cccec593"><span class="id" title="notation">,</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#744665b4ecc83382846c028dbdceae50"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#744665b4ecc83382846c028dbdceae50"><span class="id" title="notation">mono</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#744665b4ecc83382846c028dbdceae50"><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.ssrint.html#exprz"><span class="id" title="definition">exprz</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#ExprzOrder.R"><span class="id" title="variable">R</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.ssrint.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#744665b4ecc83382846c028dbdceae50"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#744665b4ecc83382846c028dbdceae50"><span class="id" title="notation">:</span></a> <span class="id" title="var">x</span> <span class="id" title="var">y</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#744665b4ecc83382846c028dbdceae50"><span class="id" title="notation">/~</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssrnum.html#1065783963a393d1eafa2137291f2495"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#y"><span class="id" title="variable">y</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#744665b4ecc83382846c028dbdceae50"><span class="id" title="notation">}</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#2bba53854f326a714d377124cccec593"><span class="id" title="notation">}</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="ltr_nexpz2r"><span class="id" title="lemma">ltr_nexpz2r</span></a> <span class="id" title="var">n</span> (<span class="id" title="var">hn</span> : <a class="idref" href="mathcomp.algebra.ssrint.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) :<br/>
+&nbsp;&nbsp;<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#2bba53854f326a714d377124cccec593"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#2bba53854f326a714d377124cccec593"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.ssrnum.html#a5bfa1108ca863ae15611f2aac402243"><span class="id" title="notation">&gt;</span></a> 0 <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#2bba53854f326a714d377124cccec593"><span class="id" title="notation">&amp;</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#2bba53854f326a714d377124cccec593"><span class="id" title="notation">,</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#744665b4ecc83382846c028dbdceae50"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#744665b4ecc83382846c028dbdceae50"><span class="id" title="notation">mono</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#744665b4ecc83382846c028dbdceae50"><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.ssrint.html#exprz"><span class="id" title="definition">exprz</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#ExprzOrder.R"><span class="id" title="variable">R</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.ssrint.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#744665b4ecc83382846c028dbdceae50"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#744665b4ecc83382846c028dbdceae50"><span class="id" title="notation">:</span></a> <span class="id" title="var">x</span> <span class="id" title="var">y</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#744665b4ecc83382846c028dbdceae50"><span class="id" title="notation">/~</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#x"><span class="id" title="variable">x</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.ssrint.html#y"><span class="id" title="variable">y</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#744665b4ecc83382846c028dbdceae50"><span class="id" title="notation">}</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#2bba53854f326a714d377124cccec593"><span class="id" title="notation">}</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="eqr_expz2"><span class="id" title="lemma">eqr_expz2</span></a> <span class="id" title="var">n</span> <span class="id" title="var">x</span> <span class="id" title="var">y</span> : <a class="idref" href="mathcomp.algebra.ssrint.html#n"><span class="id" title="variable">n</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.ssrint.html#x"><span class="id" title="variable">x</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> 0 <a class="idref" href="mathcomp.algebra.ssrnum.html#1065783963a393d1eafa2137291f2495"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#y"><span class="id" title="variable">y</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.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#b033a3d34e421a2439563f5ffdab0b9b"><span class="id" title="notation">^</span></a> <a class="idref" href="mathcomp.algebra.ssrint.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.ssrint.html#y"><span class="id" title="variable">y</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#b033a3d34e421a2439563f5ffdab0b9b"><span class="id" title="notation">^</span></a> <a class="idref" href="mathcomp.algebra.ssrint.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.ssrint.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#17d28d004d0863cb022d4ce832ddaaae"><span class="id" title="notation">==</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#y"><span class="id" title="variable">y</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">End</span> <a class="idref" href="mathcomp.algebra.ssrint.html#ExprzOrder"><span class="id" title="section">ExprzOrder</span></a>.<br/>
+
+<br/>
+
+<br/>
+<span class="id" title="keyword">Section</span> <a name="Sgz"><span class="id" title="section">Sgz</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Variable</span> <a name="Sgz.R"><span class="id" title="variable">R</span></a> : <a class="idref" href="mathcomp.algebra.ssrnum.html#Num.NumDomain.Exports.numDomainType"><span class="id" title="abbreviation">numDomainType</span></a>.<br/>
+<span class="id" title="keyword">Implicit</span> <span class="id" title="keyword">Types</span> <span class="id" title="var">x</span> <span class="id" title="var">y</span> <span class="id" title="var">z</span> : <a class="idref" href="mathcomp.algebra.ssrint.html#Sgz.R"><span class="id" title="variable">R</span></a>.<br/>
+<span class="id" title="keyword">Implicit</span> <span class="id" title="keyword">Types</span> <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#int"><span class="id" title="inductive">int</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Definition</span> <a name="sgz"><span class="id" title="definition">sgz</span></a> <span class="id" title="var">x</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.ssr.ssreflect.html#0348819abaa88c2cd747e8fa60dde7ae"><span class="id" title="notation">if</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#x"><span class="id" title="variable">x</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> 0 <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> <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.ssrint.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssrnum.html#388c172bf8d34ef0bf11898cd56f8d7b"><span class="id" title="notation">&lt;</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> -1 <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> 1.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="sgz_def"><span class="id" title="lemma">sgz_def</span></a> <span class="id" title="var">x</span> : <a class="idref" href="mathcomp.algebra.ssrint.html#sgz"><span class="id" title="definition">sgz</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#x"><span class="id" title="variable">x</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#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.ssrint.html#x"><span class="id" title="variable">x</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#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.ssrint.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#b1eeadc2feabc7422252baa895418c7b"><span class="id" title="notation">!=</span></a> 0<a class="idref" href="mathcomp.algebra.ssralg.html#891e51846c7d1d63a9cb5458374cf308"><span class="id" title="notation">)</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="sgrEz"><span class="id" title="lemma">sgrEz</span></a> <span class="id" title="var">x</span> : <a class="idref" href="mathcomp.algebra.ssrint.html#sgr"><span class="id" title="abbreviation">sgr</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#x"><span class="id" title="variable">x</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#626a4f68393e32b84ab75f15f785f640"><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.ssrint.html#x"><span class="id" title="variable">x</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>. <br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="gtr0_sgz"><span class="id" title="lemma">gtr0_sgz</span></a> <span class="id" title="var">x</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.ssrint.html#x"><span class="id" title="variable">x</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.ssrint.html#sgz"><span class="id" title="definition">sgz</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#x"><span class="id" title="variable">x</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="ltr0_sgz"><span class="id" title="lemma">ltr0_sgz</span></a> <span class="id" title="var">x</span> : <a class="idref" href="mathcomp.algebra.ssrint.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssrnum.html#388c172bf8d34ef0bf11898cd56f8d7b"><span class="id" title="notation">&lt;</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.ssrint.html#sgz"><span class="id" title="definition">sgz</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#x"><span class="id" title="variable">x</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="sgz0"><span class="id" title="lemma">sgz0</span></a> : <a class="idref" href="mathcomp.algebra.ssrint.html#sgz"><span class="id" title="definition">sgz</span></a> (0 <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.ssrint.html#Sgz.R"><span class="id" title="variable">R</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. <br/>
+<span class="id" title="keyword">Lemma</span> <a name="sgz1"><span class="id" title="lemma">sgz1</span></a> : <a class="idref" href="mathcomp.algebra.ssrint.html#sgz"><span class="id" title="definition">sgz</span></a> (1 <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.ssrint.html#Sgz.R"><span class="id" title="variable">R</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/>
+<span class="id" title="keyword">Lemma</span> <a name="sgzN1"><span class="id" title="lemma">sgzN1</span></a> : <a class="idref" href="mathcomp.algebra.ssrint.html#sgz"><span class="id" title="definition">sgz</span></a> (-1 <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.ssrint.html#Sgz.R"><span class="id" title="variable">R</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">Definition</span> <a name="sgzE"><span class="id" title="definition">sgzE</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.ssrint.html#sgz0"><span class="id" title="lemma">sgz0</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.ssrint.html#sgz1"><span class="id" title="lemma">sgz1</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.ssrint.html#sgzN1"><span class="id" title="lemma">sgzN1</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="sgz_sgr"><span class="id" title="lemma">sgz_sgr</span></a> <span class="id" title="var">x</span> : <a class="idref" href="mathcomp.algebra.ssrint.html#sgz"><span class="id" title="definition">sgz</span></a> (<a class="idref" href="mathcomp.algebra.ssrint.html#sgr"><span class="id" title="abbreviation">sgr</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#x"><span class="id" title="variable">x</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.ssrint.html#x"><span class="id" title="variable">x</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="normr_sgz"><span class="id" title="lemma">normr_sgz</span></a> <span class="id" title="var">x</span> : <a class="idref" href="mathcomp.algebra.ssrnum.html#c536f9a86d3c053391521360ac3f5a61"><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.ssrint.html#x"><span class="id" title="variable">x</span></a><a class="idref" href="mathcomp.algebra.ssrnum.html#c536f9a86d3c053391521360ac3f5a61"><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.ssrint.html#x"><span class="id" title="variable">x</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="normr_sg"><span class="id" title="lemma">normr_sg</span></a> <span class="id" title="var">x</span> : <a class="idref" href="mathcomp.algebra.ssrnum.html#c536f9a86d3c053391521360ac3f5a61"><span class="id" title="notation">`|</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#sgr"><span class="id" title="abbreviation">sgr</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#x"><span class="id" title="variable">x</span></a><a class="idref" href="mathcomp.algebra.ssrnum.html#c536f9a86d3c053391521360ac3f5a61"><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#626a4f68393e32b84ab75f15f785f640"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#b1eeadc2feabc7422252baa895418c7b"><span class="id" title="notation">!=</span></a> 0<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>.<br/>
+
+<br/>
+<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.algebra.ssrint.html#Sgz"><span class="id" title="section">Sgz</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Section</span> <a name="MoreSgz"><span class="id" title="section">MoreSgz</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Variable</span> <a name="MoreSgz.R"><span class="id" title="variable">R</span></a> : <a class="idref" href="mathcomp.algebra.ssrnum.html#Num.NumDomain.Exports.numDomainType"><span class="id" title="abbreviation">numDomainType</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="sgz_int"><span class="id" title="lemma">sgz_int</span></a> <span class="id" title="var">m</span> : <a class="idref" href="mathcomp.algebra.ssrint.html#sgz"><span class="id" title="definition">sgz</span></a> (<a class="idref" href="mathcomp.algebra.ssrint.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="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.ssrint.html#MoreSgz.R"><span class="id" title="variable">R</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.ssrint.html#m"><span class="id" title="variable">m</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="sgrz"><span class="id" title="lemma">sgrz</span></a> (<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="mathcomp.algebra.ssrint.html#sgr"><span class="id" title="abbreviation">sgr</span></a> <a class="idref" href="mathcomp.algebra.ssrint.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#sgz"><span class="id" title="definition">sgz</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#n"><span class="id" title="variable">n</span></a>. <br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="intr_sg"><span class="id" title="lemma">intr_sg</span></a> <span class="id" title="var">m</span> : <a class="idref" href="mathcomp.algebra.ssrint.html#626a4f68393e32b84ab75f15f785f640"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#sgr"><span class="id" title="abbreviation">sgr</span></a> <a class="idref" href="mathcomp.algebra.ssrint.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="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#8f9364556521ebb498093f28eea2240f"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#sgr"><span class="id" title="abbreviation">sgr</span></a> (<a class="idref" href="mathcomp.algebra.ssrint.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="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#8f9364556521ebb498093f28eea2240f"><span class="id" title="notation">:&gt;</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#MoreSgz.R"><span class="id" title="variable">R</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="sgz_id"><span class="id" title="lemma">sgz_id</span></a> (<span class="id" title="var">x</span> : <a class="idref" href="mathcomp.algebra.ssrint.html#MoreSgz.R"><span class="id" title="variable">R</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.ssrint.html#sgz"><span class="id" title="definition">sgz</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#x"><span class="id" title="variable">x</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.ssrint.html#x"><span class="id" title="variable">x</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.algebra.ssrint.html#MoreSgz"><span class="id" title="section">MoreSgz</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Section</span> <a name="SgzReal"><span class="id" title="section">SgzReal</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Variable</span> <a name="SgzReal.R"><span class="id" title="variable">R</span></a> : <a class="idref" href="mathcomp.algebra.ssrnum.html#Num.RealDomain.Exports.realDomainType"><span class="id" title="abbreviation">realDomainType</span></a>.<br/>
+<span class="id" title="keyword">Implicit</span> <span class="id" title="keyword">Types</span> <span class="id" title="var">x</span> <span class="id" title="var">y</span> <span class="id" title="var">z</span> : <a class="idref" href="mathcomp.algebra.ssrint.html#SgzReal.R"><span class="id" title="variable">R</span></a>.<br/>
+<span class="id" title="keyword">Implicit</span> <span class="id" title="keyword">Types</span> <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#int"><span class="id" title="inductive">int</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="sgz_cp0"><span class="id" title="lemma">sgz_cp0</span></a> <span class="id" title="var">x</span> :<br/>
+&nbsp;&nbsp;<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="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.ssrint.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#17d28d004d0863cb022d4ce832ddaaae"><span class="id" title="notation">==</span></a> 1<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>0 <a class="idref" href="mathcomp.algebra.ssrnum.html#388c172bf8d34ef0bf11898cd56f8d7b"><span class="id" title="notation">&lt;</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#x"><span class="id" title="variable">x</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#d19c7eafd0e2d195d10df94b392087b5"><span class="id" title="notation">)</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><br/>
+&nbsp;&nbsp;<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="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.ssrint.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#17d28d004d0863cb022d4ce832ddaaae"><span class="id" title="notation">==</span></a> -1<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.ssrint.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssrnum.html#388c172bf8d34ef0bf11898cd56f8d7b"><span class="id" title="notation">&lt;</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.Datatypes.html#d19c7eafd0e2d195d10df94b392087b5"><span class="id" title="notation">)</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><br/>
+&nbsp;&nbsp;<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="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.ssrint.html#x"><span class="id" title="variable">x</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.ssrint.html#x"><span class="id" title="variable">x</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.Datatypes.html#d19c7eafd0e2d195d10df94b392087b5"><span class="id" title="notation">)</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">CoInductive</span> <a name="sgz_val"><span class="id" title="inductive">sgz_val</span></a> <span class="id" title="var">x</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#bool"><span class="id" title="inductive">bool</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.Datatypes.html#bool"><span class="id" title="inductive">bool</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.Datatypes.html#bool"><span class="id" title="inductive">bool</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.Datatypes.html#bool"><span class="id" title="inductive">bool</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.Datatypes.html#bool"><span class="id" title="inductive">bool</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.Datatypes.html#bool"><span class="id" title="inductive">bool</span></a><br/>
+&nbsp;&nbsp;<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.Datatypes.html#bool"><span class="id" title="inductive">bool</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.Datatypes.html#bool"><span class="id" title="inductive">bool</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.Datatypes.html#bool"><span class="id" title="inductive">bool</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.Datatypes.html#bool"><span class="id" title="inductive">bool</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.Datatypes.html#bool"><span class="id" title="inductive">bool</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.Datatypes.html#bool"><span class="id" title="inductive">bool</span></a><br/>
+&nbsp;&nbsp;<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.Datatypes.html#bool"><span class="id" title="inductive">bool</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.Datatypes.html#bool"><span class="id" title="inductive">bool</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.Datatypes.html#bool"><span class="id" title="inductive">bool</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.Datatypes.html#bool"><span class="id" title="inductive">bool</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.Datatypes.html#bool"><span class="id" title="inductive">bool</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.Datatypes.html#bool"><span class="id" title="inductive">bool</span></a><br/>
+&nbsp;&nbsp;<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#SgzReal.R"><span class="id" title="variable">R</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.ssrint.html#SgzReal.R"><span class="id" title="variable">R</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.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">Set</span> :=<br/>
+&nbsp;&nbsp;| <a name="SgzNull"><span class="id" title="constructor">SgzNull</span></a> <span class="id" title="keyword">of</span> <a class="idref" href="mathcomp.algebra.ssrint.html#x"><span class="id" title="variable">x</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 : <a class="idref" href="mathcomp.algebra.ssrint.html#sgz_val"><span class="id" title="inductive">sgz_val</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#true"><span class="id" title="constructor">true</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#true"><span class="id" title="constructor">true</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#true"><span class="id" title="constructor">true</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#true"><span class="id" title="constructor">true</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#false"><span class="id" title="constructor">false</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#false"><span class="id" title="constructor">false</span></a><br/>
+&nbsp;&nbsp;&nbsp;&nbsp;<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#true"><span class="id" title="constructor">true</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#false"><span class="id" title="constructor">false</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#false"><span class="id" title="constructor">false</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#true"><span class="id" title="constructor">true</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#false"><span class="id" title="constructor">false</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#false"><span class="id" title="constructor">false</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#true"><span class="id" title="constructor">true</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#false"><span class="id" title="constructor">false</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#false"><span class="id" title="constructor">false</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#true"><span class="id" title="constructor">true</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#false"><span class="id" title="constructor">false</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#false"><span class="id" title="constructor">false</span></a> 0 0 0<br/>
+&nbsp;&nbsp;| <a name="SgzPos"><span class="id" title="constructor">SgzPos</span></a> <span class="id" title="keyword">of</span> <a class="idref" href="mathcomp.algebra.ssrint.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssrnum.html#07bcd9d86ae6b6828fbc17b15193853f"><span class="id" title="notation">&gt;</span></a> 0 : <a class="idref" href="mathcomp.algebra.ssrint.html#sgz_val"><span class="id" title="inductive">sgz_val</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#false"><span class="id" title="constructor">false</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#false"><span class="id" title="constructor">false</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#true"><span class="id" title="constructor">true</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#false"><span class="id" title="constructor">false</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#false"><span class="id" title="constructor">false</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#true"><span class="id" title="constructor">true</span></a><br/>
+&nbsp;&nbsp;&nbsp;&nbsp;<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#false"><span class="id" title="constructor">false</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#false"><span class="id" title="constructor">false</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#true"><span class="id" title="constructor">true</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#false"><span class="id" title="constructor">false</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#false"><span class="id" title="constructor">false</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#true"><span class="id" title="constructor">true</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#false"><span class="id" title="constructor">false</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#false"><span class="id" title="constructor">false</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#true"><span class="id" title="constructor">true</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#false"><span class="id" title="constructor">false</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#false"><span class="id" title="constructor">false</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#true"><span class="id" title="constructor">true</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#x"><span class="id" title="variable">x</span></a> 1 1<br/>
+&nbsp;&nbsp;| <a name="SgzNeg"><span class="id" title="constructor">SgzNeg</span></a> <span class="id" title="keyword">of</span> <a class="idref" href="mathcomp.algebra.ssrint.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssrnum.html#388c172bf8d34ef0bf11898cd56f8d7b"><span class="id" title="notation">&lt;</span></a> 0 : <a class="idref" href="mathcomp.algebra.ssrint.html#sgz_val"><span class="id" title="inductive">sgz_val</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#false"><span class="id" title="constructor">false</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#true"><span class="id" title="constructor">true</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#false"><span class="id" title="constructor">false</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#false"><span class="id" title="constructor">false</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#true"><span class="id" title="constructor">true</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#false"><span class="id" title="constructor">false</span></a><br/>
+&nbsp;&nbsp;&nbsp;&nbsp;<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#false"><span class="id" title="constructor">false</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#true"><span class="id" title="constructor">true</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#false"><span class="id" title="constructor">false</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#false"><span class="id" title="constructor">false</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#true"><span class="id" title="constructor">true</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#false"><span class="id" title="constructor">false</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#false"><span class="id" title="constructor">false</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#true"><span class="id" title="constructor">true</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#false"><span class="id" title="constructor">false</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#false"><span class="id" title="constructor">false</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#true"><span class="id" title="constructor">true</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#false"><span class="id" title="constructor">false</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#941c6d086004545bd62614d0213e75e5"><span class="id" title="notation">-</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#x"><span class="id" title="variable">x</span></a>) (-1) (-1).<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="sgzP"><span class="id" title="lemma">sgzP</span></a> <span class="id" title="var">x</span> :<br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.algebra.ssrint.html#sgz_val"><span class="id" title="inductive">sgz_val</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#x"><span class="id" title="variable">x</span></a> (0 <a class="idref" href="mathcomp.ssreflect.eqtype.html#17d28d004d0863cb022d4ce832ddaaae"><span class="id" title="notation">==</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#x"><span class="id" title="variable">x</span></a>) (<a class="idref" href="mathcomp.algebra.ssrint.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssrnum.html#1065783963a393d1eafa2137291f2495"><span class="id" title="notation">≤</span></a> 0) (0 <a class="idref" href="mathcomp.algebra.ssrnum.html#1065783963a393d1eafa2137291f2495"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#x"><span class="id" title="variable">x</span></a>) (<a class="idref" href="mathcomp.algebra.ssrint.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#17d28d004d0863cb022d4ce832ddaaae"><span class="id" title="notation">==</span></a> 0) (<a class="idref" href="mathcomp.algebra.ssrint.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssrnum.html#388c172bf8d34ef0bf11898cd56f8d7b"><span class="id" title="notation">&lt;</span></a> 0) (0 <a class="idref" href="mathcomp.algebra.ssrnum.html#388c172bf8d34ef0bf11898cd56f8d7b"><span class="id" title="notation">&lt;</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#x"><span class="id" title="variable">x</span></a>)<br/>
+&nbsp;&nbsp;(0 <a class="idref" href="mathcomp.ssreflect.eqtype.html#17d28d004d0863cb022d4ce832ddaaae"><span class="id" title="notation">==</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#sgr"><span class="id" title="abbreviation">sgr</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#x"><span class="id" title="variable">x</span></a>) (-1 <a class="idref" href="mathcomp.ssreflect.eqtype.html#17d28d004d0863cb022d4ce832ddaaae"><span class="id" title="notation">==</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#sgr"><span class="id" title="abbreviation">sgr</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#x"><span class="id" title="variable">x</span></a>) (1 <a class="idref" href="mathcomp.ssreflect.eqtype.html#17d28d004d0863cb022d4ce832ddaaae"><span class="id" title="notation">==</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#sgr"><span class="id" title="abbreviation">sgr</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#x"><span class="id" title="variable">x</span></a>)<br/>
+&nbsp;&nbsp;(<a class="idref" href="mathcomp.algebra.ssrint.html#sgr"><span class="id" title="abbreviation">sgr</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#17d28d004d0863cb022d4ce832ddaaae"><span class="id" title="notation">==</span></a> 0) (<a class="idref" href="mathcomp.algebra.ssrint.html#sgr"><span class="id" title="abbreviation">sgr</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#17d28d004d0863cb022d4ce832ddaaae"><span class="id" title="notation">==</span></a> -1) (<a class="idref" href="mathcomp.algebra.ssrint.html#sgr"><span class="id" title="abbreviation">sgr</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#17d28d004d0863cb022d4ce832ddaaae"><span class="id" title="notation">==</span></a> 1)<br/>
+&nbsp;&nbsp;(0 <a class="idref" href="mathcomp.ssreflect.eqtype.html#17d28d004d0863cb022d4ce832ddaaae"><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.ssrint.html#x"><span class="id" title="variable">x</span></a>) (-1 <a class="idref" href="mathcomp.ssreflect.eqtype.html#17d28d004d0863cb022d4ce832ddaaae"><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.ssrint.html#x"><span class="id" title="variable">x</span></a>) (1 <a class="idref" href="mathcomp.ssreflect.eqtype.html#17d28d004d0863cb022d4ce832ddaaae"><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.ssrint.html#x"><span class="id" title="variable">x</span></a>)<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.ssrint.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#17d28d004d0863cb022d4ce832ddaaae"><span class="id" title="notation">==</span></a> 0) (<a class="idref" href="mathcomp.algebra.ssrint.html#sgz"><span class="id" title="definition">sgz</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#17d28d004d0863cb022d4ce832ddaaae"><span class="id" title="notation">==</span></a> -1) (<a class="idref" href="mathcomp.algebra.ssrint.html#sgz"><span class="id" title="definition">sgz</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#17d28d004d0863cb022d4ce832ddaaae"><span class="id" title="notation">==</span></a> 1) <a class="idref" href="mathcomp.algebra.ssrnum.html#c536f9a86d3c053391521360ac3f5a61"><span class="id" title="notation">`|</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#x"><span class="id" title="variable">x</span></a><a class="idref" href="mathcomp.algebra.ssrnum.html#c536f9a86d3c053391521360ac3f5a61"><span class="id" title="notation">|</span></a> (<a class="idref" href="mathcomp.algebra.ssrint.html#sgr"><span class="id" title="abbreviation">sgr</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#x"><span class="id" title="variable">x</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.ssrint.html#x"><span class="id" title="variable">x</span></a>).<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="sgzN"><span class="id" title="lemma">sgzN</span></a> <span class="id" title="var">x</span> : <a class="idref" href="mathcomp.algebra.ssrint.html#sgz"><span class="id" title="definition">sgz</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#941c6d086004545bd62614d0213e75e5"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#x"><span class="id" title="variable">x</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#941c6d086004545bd62614d0213e75e5"><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.ssrint.html#x"><span class="id" title="variable">x</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="mulz_sg"><span class="id" title="lemma">mulz_sg</span></a> <span class="id" title="var">x</span> : <a class="idref" href="mathcomp.algebra.ssrint.html#sgz"><span class="id" title="definition">sgz</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#x"><span class="id" title="variable">x</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#sgz"><span class="id" title="definition">sgz</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#x"><span class="id" title="variable">x</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#626a4f68393e32b84ab75f15f785f640"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#b1eeadc2feabc7422252baa895418c7b"><span class="id" title="notation">!=</span></a> 0<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>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="mulz_sg_eq1"><span class="id" title="lemma">mulz_sg_eq1</span></a> <span class="id" title="var">x</span> <span class="id" title="var">y</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#sgz"><span class="id" title="definition">sgz</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#x"><span class="id" title="variable">x</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#sgz"><span class="id" title="definition">sgz</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#y"><span class="id" title="variable">y</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#17d28d004d0863cb022d4ce832ddaaae"><span class="id" title="notation">==</span></a> 1<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.ssrint.html#x"><span class="id" title="variable">x</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.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.ssrint.html#sgz"><span class="id" title="definition">sgz</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#17d28d004d0863cb022d4ce832ddaaae"><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.ssrint.html#y"><span class="id" title="variable">y</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>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="mulz_sg_eqN1"><span class="id" title="lemma">mulz_sg_eqN1</span></a> <span class="id" title="var">x</span> <span class="id" title="var">y</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#sgz"><span class="id" title="definition">sgz</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#x"><span class="id" title="variable">x</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#sgz"><span class="id" title="definition">sgz</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#y"><span class="id" title="variable">y</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#17d28d004d0863cb022d4ce832ddaaae"><span class="id" title="notation">==</span></a> -1<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.ssrint.html#x"><span class="id" title="variable">x</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.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.ssrint.html#sgz"><span class="id" title="definition">sgz</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#17d28d004d0863cb022d4ce832ddaaae"><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.ssrint.html#sgz"><span class="id" title="definition">sgz</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#y"><span class="id" title="variable">y</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>.<br/>
+
+<br/>
+</div>
+
+<div class="doc">
+ Lemma muls_eqA x y z : sgr x != 0 -&gt;
+ (sgr y * sgr z == sgr x) = ((sgr y * sgr x == sgr z) &amp;&amp; (sgr z != 0)).
+ Proof. by do 3!case: sgrP=&gt; _. Qed.
+</div>
+<div class="code">
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="sgzM"><span class="id" title="lemma">sgzM</span></a> <span class="id" title="var">x</span> <span class="id" title="var">y</span> : <a class="idref" href="mathcomp.algebra.ssrint.html#sgz"><span class="id" title="definition">sgz</span></a> (<a class="idref" href="mathcomp.algebra.ssrint.html#x"><span class="id" title="variable">x</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#y"><span class="id" title="variable">y</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.ssrint.html#x"><span class="id" title="variable">x</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#sgz"><span class="id" title="definition">sgz</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#y"><span class="id" title="variable">y</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="sgzX"><span class="id" title="lemma">sgzX</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#nat"><span class="id" title="inductive">nat</span></a>) <span class="id" title="var">x</span> : <a class="idref" href="mathcomp.algebra.ssrint.html#sgz"><span class="id" title="definition">sgz</span></a> (<a class="idref" href="mathcomp.algebra.ssrint.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#fb22424322c3d7eb9b837dfca65ce21e"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.algebra.ssrint.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.ssralg.html#fb22424322c3d7eb9b837dfca65ce21e"><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.ssrint.html#x"><span class="id" title="variable">x</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.ssrint.html#n"><span class="id" title="variable">n</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="sgz_eq0"><span class="id" title="lemma">sgz_eq0</span></a> <span class="id" title="var">x</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#sgz"><span class="id" title="definition">sgz</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#x"><span class="id" title="variable">x</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.ssrint.html#x"><span class="id" title="variable">x</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="sgz_odd"><span class="id" title="lemma">sgz_odd</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#nat"><span class="id" title="inductive">nat</span></a>) <span class="id" title="var">x</span> : <a class="idref" href="mathcomp.algebra.ssrint.html#x"><span class="id" title="variable">x</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.ssralg.html#fb22424322c3d7eb9b837dfca65ce21e"><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.ssrint.html#x"><span class="id" title="variable">x</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.ssrint.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.ssralg.html#fb22424322c3d7eb9b837dfca65ce21e"><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.ssrint.html#x"><span class="id" title="variable">x</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.ssralg.html#fb22424322c3d7eb9b837dfca65ce21e"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.ssrnat.html#odd"><span class="id" title="definition">odd</span></a> <a class="idref" href="mathcomp.algebra.ssrint.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>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="sgz_gt0"><span class="id" title="lemma">sgz_gt0</span></a> <span class="id" title="var">x</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#sgz"><span class="id" title="definition">sgz</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#x"><span class="id" title="variable">x</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#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.ssrint.html#x"><span class="id" title="variable">x</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#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">)</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="sgz_lt0"><span class="id" title="lemma">sgz_lt0</span></a> <span class="id" title="var">x</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#sgz"><span class="id" title="definition">sgz</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssrnum.html#388c172bf8d34ef0bf11898cd56f8d7b"><span class="id" title="notation">&lt;</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.ssrint.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssrnum.html#388c172bf8d34ef0bf11898cd56f8d7b"><span class="id" title="notation">&lt;</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="sgz_ge0"><span class="id" title="lemma">sgz_ge0</span></a> <span class="id" title="var">x</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#sgz"><span class="id" title="definition">sgz</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#x"><span class="id" title="variable">x</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> <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#x"><span class="id" title="variable">x</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="sgz_le0"><span class="id" title="lemma">sgz_le0</span></a> <span class="id" title="var">x</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#sgz"><span class="id" title="definition">sgz</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssrnum.html#1065783963a393d1eafa2137291f2495"><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.ssrint.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssrnum.html#1065783963a393d1eafa2137291f2495"><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="sgz_smul"><span class="id" title="lemma">sgz_smul</span></a> <span class="id" title="var">x</span> <span class="id" title="var">y</span> : <a class="idref" href="mathcomp.algebra.ssrint.html#sgz"><span class="id" title="definition">sgz</span></a> (<a class="idref" href="mathcomp.algebra.ssrint.html#y"><span class="id" title="variable">y</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#9c7c5437248d02e78f1fc1d9125e7f44"><span class="id" title="notation">*~</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#9c7c5437248d02e78f1fc1d9125e7f44"><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.ssrint.html#x"><span class="id" title="variable">x</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#9c7c5437248d02e78f1fc1d9125e7f44"><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.ssralg.html#22058a36a53dac65c94ca403bc62650a"><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.ssrint.html#x"><span class="id" title="variable">x</span></a><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.ssralg.html#22058a36a53dac65c94ca403bc62650a"><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.ssrint.html#y"><span class="id" title="variable">y</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#22058a36a53dac65c94ca403bc62650a"><span class="id" title="notation">)</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="sgrMz"><span class="id" title="lemma">sgrMz</span></a> <span class="id" title="var">m</span> <span class="id" title="var">x</span> : <a class="idref" href="mathcomp.algebra.ssrint.html#sgr"><span class="id" title="abbreviation">sgr</span></a> (<a class="idref" href="mathcomp.algebra.ssrint.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#9c7c5437248d02e78f1fc1d9125e7f44"><span class="id" title="notation">*~</span></a> <a class="idref" href="mathcomp.algebra.ssrint.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#sgr"><span class="id" title="abbreviation">sgr</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#9c7c5437248d02e78f1fc1d9125e7f44"><span class="id" title="notation">*~</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#sgr"><span class="id" title="abbreviation">sgr</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#m"><span class="id" title="variable">m</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.algebra.ssrint.html#SgzReal"><span class="id" title="section">SgzReal</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="sgz_eq"><span class="id" title="lemma">sgz_eq</span></a> (<span class="id" title="var">R</span> <span class="id" title="var">R'</span> : <a class="idref" href="mathcomp.algebra.ssrnum.html#Num.RealDomain.Exports.realDomainType"><span class="id" title="abbreviation">realDomainType</span></a>) (<span class="id" title="var">x</span> : <a class="idref" href="mathcomp.algebra.ssrint.html#R"><span class="id" title="variable">R</span></a>) (<span class="id" title="var">y</span> : <a class="idref" href="mathcomp.algebra.ssrint.html#R'"><span class="id" title="variable">R'</span></a>) :<br/>
+&nbsp;&nbsp;<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.ssrint.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#17d28d004d0863cb022d4ce832ddaaae"><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.ssrint.html#y"><span class="id" title="variable">y</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.Datatypes.html#49ac24efa716d8b0ee8943bc1d1769a9"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.eqtype.html#17d28d004d0863cb022d4ce832ddaaae"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#17d28d004d0863cb022d4ce832ddaaae"><span class="id" title="notation">==</span></a> 0<a class="idref" href="mathcomp.ssreflect.eqtype.html#17d28d004d0863cb022d4ce832ddaaae"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#17d28d004d0863cb022d4ce832ddaaae"><span class="id" title="notation">==</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#17d28d004d0863cb022d4ce832ddaaae"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#y"><span class="id" title="variable">y</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#17d28d004d0863cb022d4ce832ddaaae"><span class="id" title="notation">==</span></a> 0<a class="idref" href="mathcomp.ssreflect.eqtype.html#17d28d004d0863cb022d4ce832ddaaae"><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="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.ssreflect.eqtype.html#17d28d004d0863cb022d4ce832ddaaae"><span class="id" title="notation">(</span></a>0 <a class="idref" href="mathcomp.algebra.ssrnum.html#388c172bf8d34ef0bf11898cd56f8d7b"><span class="id" title="notation">&lt;</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#x"><span class="id" title="variable">x</span></a><a class="idref" href="mathcomp.ssreflect.eqtype.html#17d28d004d0863cb022d4ce832ddaaae"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#17d28d004d0863cb022d4ce832ddaaae"><span class="id" title="notation">==</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#17d28d004d0863cb022d4ce832ddaaae"><span class="id" title="notation">(</span></a>0 <a class="idref" href="mathcomp.algebra.ssrnum.html#388c172bf8d34ef0bf11898cd56f8d7b"><span class="id" title="notation">&lt;</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#y"><span class="id" title="variable">y</span></a><a class="idref" href="mathcomp.ssreflect.eqtype.html#17d28d004d0863cb022d4ce832ddaaae"><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>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="intr_sign"><span class="id" title="lemma">intr_sign</span></a> (<span class="id" title="var">R</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Ring.Exports.ringType"><span class="id" title="abbreviation">ringType</span></a>) <span class="id" title="var">s</span> : <a class="idref" href="mathcomp.algebra.ssrint.html#626a4f68393e32b84ab75f15f785f640"><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.ssrint.html#s"><span class="id" title="variable">s</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.Init.Logic.html#8f9364556521ebb498093f28eea2240f"><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.ssrint.html#s"><span class="id" title="variable">s</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#8f9364556521ebb498093f28eea2240f"><span class="id" title="notation">:&gt;</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#R"><span class="id" title="variable">R</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Section</span> <a name="Absz"><span class="id" title="section">Absz</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Implicit</span> <span class="id" title="keyword">Types</span> <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#int"><span class="id" title="inductive">int</span></a>.<br/>
+<span class="id" title="keyword">Open</span> <span class="id" title="keyword">Scope</span> <span class="id" title="var">nat_scope</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="absz_nat"><span class="id" title="lemma">absz_nat</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#nat"><span class="id" title="inductive">nat</span></a>) : <a class="idref" href="mathcomp.algebra.ssrint.html#9726a5b7b93df322d246b16aa7c2a4f1"><span class="id" title="notation">`|</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#9726a5b7b93df322d246b16aa7c2a4f1"><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#n"><span class="id" title="variable">n</span></a>. <br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="abszE"><span class="id" title="lemma">abszE</span></a> (<span class="id" title="var">m</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#9726a5b7b93df322d246b16aa7c2a4f1"><span class="id" title="notation">`|</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#m"><span class="id" title="variable">m</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#9726a5b7b93df322d246b16aa7c2a4f1"><span class="id" title="notation">|</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#8f9364556521ebb498093f28eea2240f"><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.ssrint.html#m"><span class="id" title="variable">m</span></a><a class="idref" href="mathcomp.algebra.ssrnum.html#c536f9a86d3c053391521360ac3f5a61"><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.Logic.html#8f9364556521ebb498093f28eea2240f"><span class="id" title="notation">:&gt;</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#int"><span class="id" title="inductive">int</span></a>. <br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="absz0"><span class="id" title="lemma">absz0</span></a> : <a class="idref" href="mathcomp.algebra.ssrint.html#9726a5b7b93df322d246b16aa7c2a4f1"><span class="id" title="notation">`|</span></a>0%<span class="id" title="var">R</span><a class="idref" href="mathcomp.algebra.ssrint.html#9726a5b7b93df322d246b16aa7c2a4f1"><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> 0. <br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="abszN"><span class="id" title="lemma">abszN</span></a> <span class="id" title="var">m</span> : <a class="idref" href="mathcomp.algebra.ssrint.html#9726a5b7b93df322d246b16aa7c2a4f1"><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.ssrint.html#m"><span class="id" title="variable">m</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#9726a5b7b93df322d246b16aa7c2a4f1"><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#9726a5b7b93df322d246b16aa7c2a4f1"><span class="id" title="notation">`|</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#m"><span class="id" title="variable">m</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#9726a5b7b93df322d246b16aa7c2a4f1"><span class="id" title="notation">|</span></a>. <br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="absz_eq0"><span class="id" title="lemma">absz_eq0</span></a> <span class="id" title="var">m</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#9726a5b7b93df322d246b16aa7c2a4f1"><span class="id" title="notation">`|</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#m"><span class="id" title="variable">m</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#9726a5b7b93df322d246b16aa7c2a4f1"><span class="id" title="notation">|</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.ssrint.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%<span class="id" title="var">R</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/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="absz_gt0"><span class="id" title="lemma">absz_gt0</span></a> <span class="id" title="var">m</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#9726a5b7b93df322d246b16aa7c2a4f1"><span class="id" title="notation">`|</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#m"><span class="id" title="variable">m</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#9726a5b7b93df322d246b16aa7c2a4f1"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#19ab5cfd7e4f60fa14f22b576013bd96"><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#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.ssrint.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#b1eeadc2feabc7422252baa895418c7b"><span class="id" title="notation">!=</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.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">)</span></a>. <br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="absz1"><span class="id" title="lemma">absz1</span></a> : <a class="idref" href="mathcomp.algebra.ssrint.html#9726a5b7b93df322d246b16aa7c2a4f1"><span class="id" title="notation">`|</span></a>1%<span class="id" title="var">R</span><a class="idref" href="mathcomp.algebra.ssrint.html#9726a5b7b93df322d246b16aa7c2a4f1"><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> 1. <br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="abszN1"><span class="id" title="lemma">abszN1</span></a> : <a class="idref" href="mathcomp.algebra.ssrint.html#9726a5b7b93df322d246b16aa7c2a4f1"><span class="id" title="notation">`|</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#941c6d086004545bd62614d0213e75e5"><span class="id" title="notation">-</span></a>1%<span class="id" title="var">R</span><a class="idref" href="mathcomp.algebra.ssrint.html#9726a5b7b93df322d246b16aa7c2a4f1"><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> 1. <br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="absz_id"><span class="id" title="lemma">absz_id</span></a> <span class="id" title="var">m</span> : <a class="idref" href="mathcomp.algebra.ssrint.html#9726a5b7b93df322d246b16aa7c2a4f1"><span class="id" title="notation">`|(`|</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#m"><span class="id" title="variable">m</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#9726a5b7b93df322d246b16aa7c2a4f1"><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#9726a5b7b93df322d246b16aa7c2a4f1"><span class="id" title="notation">`|</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#m"><span class="id" title="variable">m</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#9726a5b7b93df322d246b16aa7c2a4f1"><span class="id" title="notation">|</span></a>. <br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="abszM"><span class="id" title="lemma">abszM</span></a> <span class="id" title="var">m1</span> <span class="id" title="var">m2</span> : <a class="idref" href="mathcomp.algebra.ssrint.html#9726a5b7b93df322d246b16aa7c2a4f1"><span class="id" title="notation">`|</span></a>(<a class="idref" href="mathcomp.algebra.ssrint.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.ssrint.html#m2"><span class="id" title="variable">m2</span></a>)%<span class="id" title="var">R</span><a class="idref" href="mathcomp.algebra.ssrint.html#9726a5b7b93df322d246b16aa7c2a4f1"><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#9726a5b7b93df322d246b16aa7c2a4f1"><span class="id" title="notation">`|</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#m1"><span class="id" title="variable">m1</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#9726a5b7b93df322d246b16aa7c2a4f1"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#697e4695610f677ae98a52af81f779d2"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#9726a5b7b93df322d246b16aa7c2a4f1"><span class="id" title="notation">`|</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#m2"><span class="id" title="variable">m2</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#9726a5b7b93df322d246b16aa7c2a4f1"><span class="id" title="notation">|</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="abszX"><span class="id" title="lemma">abszX</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#nat"><span class="id" title="inductive">nat</span></a>) <span class="id" title="var">m</span> : <a class="idref" href="mathcomp.algebra.ssrint.html#9726a5b7b93df322d246b16aa7c2a4f1"><span class="id" title="notation">`|</span></a><a class="idref" href="mathcomp.algebra.ssrint.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.ssrint.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#9726a5b7b93df322d246b16aa7c2a4f1"><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#9726a5b7b93df322d246b16aa7c2a4f1"><span class="id" title="notation">`|</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#m"><span class="id" title="variable">m</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#9726a5b7b93df322d246b16aa7c2a4f1"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#4c362bcf0e947e2792a2e6989b44aeb0"><span class="id" title="notation">^</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#n"><span class="id" title="variable">n</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="absz_sg"><span class="id" title="lemma">absz_sg</span></a> <span class="id" title="var">m</span> : <a class="idref" href="mathcomp.algebra.ssrint.html#9726a5b7b93df322d246b16aa7c2a4f1"><span class="id" title="notation">`|</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#sgr"><span class="id" title="abbreviation">sgr</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#m"><span class="id" title="variable">m</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#9726a5b7b93df322d246b16aa7c2a4f1"><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.ssrint.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#b1eeadc2feabc7422252baa895418c7b"><span class="id" title="notation">!=</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.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">)</span></a>. <br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="gez0_abs"><span class="id" title="lemma">gez0_abs</span></a> <span class="id" title="var">m</span> : (0 <a class="idref" href="mathcomp.algebra.ssrnum.html#1065783963a393d1eafa2137291f2495"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#m"><span class="id" title="variable">m</span></a>)%<span class="id" title="var">R</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#9726a5b7b93df322d246b16aa7c2a4f1"><span class="id" title="notation">`|</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#m"><span class="id" title="variable">m</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#9726a5b7b93df322d246b16aa7c2a4f1"><span class="id" title="notation">|</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#8f9364556521ebb498093f28eea2240f"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssrint.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#8f9364556521ebb498093f28eea2240f"><span class="id" title="notation">:&gt;</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#int"><span class="id" title="inductive">int</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="gtz0_abs"><span class="id" title="lemma">gtz0_abs</span></a> <span class="id" title="var">m</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.ssrint.html#m"><span class="id" title="variable">m</span></a>)%<span class="id" title="var">R</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#9726a5b7b93df322d246b16aa7c2a4f1"><span class="id" title="notation">`|</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#m"><span class="id" title="variable">m</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#9726a5b7b93df322d246b16aa7c2a4f1"><span class="id" title="notation">|</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#8f9364556521ebb498093f28eea2240f"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssrint.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#8f9364556521ebb498093f28eea2240f"><span class="id" title="notation">:&gt;</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#int"><span class="id" title="inductive">int</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="lez0_abs"><span class="id" title="lemma">lez0_abs</span></a> <span class="id" title="var">m</span> : (<a class="idref" href="mathcomp.algebra.ssrint.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> 0)%<span class="id" title="var">R</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#9726a5b7b93df322d246b16aa7c2a4f1"><span class="id" title="notation">`|</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#m"><span class="id" title="variable">m</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#9726a5b7b93df322d246b16aa7c2a4f1"><span class="id" title="notation">|</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#8f9364556521ebb498093f28eea2240f"><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.ssrint.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#8f9364556521ebb498093f28eea2240f"><span class="id" title="notation">:&gt;</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#int"><span class="id" title="inductive">int</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="ltz0_abs"><span class="id" title="lemma">ltz0_abs</span></a> <span class="id" title="var">m</span> : (<a class="idref" href="mathcomp.algebra.ssrint.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="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#9726a5b7b93df322d246b16aa7c2a4f1"><span class="id" title="notation">`|</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#m"><span class="id" title="variable">m</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#9726a5b7b93df322d246b16aa7c2a4f1"><span class="id" title="notation">|</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#8f9364556521ebb498093f28eea2240f"><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.ssrint.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#8f9364556521ebb498093f28eea2240f"><span class="id" title="notation">:&gt;</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#int"><span class="id" title="inductive">int</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="absz_sign"><span class="id" title="lemma">absz_sign</span></a> <span class="id" title="var">s</span> : <a class="idref" href="mathcomp.algebra.ssrint.html#9726a5b7b93df322d246b16aa7c2a4f1"><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.ssrint.html#s"><span class="id" title="variable">s</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#9726a5b7b93df322d246b16aa7c2a4f1"><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> 1.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="abszMsign"><span class="id" title="lemma">abszMsign</span></a> <span class="id" title="var">s</span> <span class="id" title="var">m</span> : <a class="idref" href="mathcomp.algebra.ssrint.html#9726a5b7b93df322d246b16aa7c2a4f1"><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.ssrint.html#s"><span class="id" title="variable">s</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#m"><span class="id" title="variable">m</span></a>)%<span class="id" title="var">R</span><a class="idref" href="mathcomp.algebra.ssrint.html#9726a5b7b93df322d246b16aa7c2a4f1"><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#9726a5b7b93df322d246b16aa7c2a4f1"><span class="id" title="notation">`|</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#m"><span class="id" title="variable">m</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#9726a5b7b93df322d246b16aa7c2a4f1"><span class="id" title="notation">|</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="mulz_sign_abs"><span class="id" title="lemma">mulz_sign_abs</span></a> <span class="id" title="var">m</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.ssrint.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.ssrint.html#9726a5b7b93df322d246b16aa7c2a4f1"><span class="id" title="notation">`|</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#m"><span class="id" title="variable">m</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#9726a5b7b93df322d246b16aa7c2a4f1"><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>)%<span class="id" title="var">R</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#m"><span class="id" title="variable">m</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="mulz_Nsign_abs"><span class="id" title="lemma">mulz_Nsign_abs</span></a> <span class="id" title="var">m</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> (0 <a class="idref" href="mathcomp.algebra.ssrnum.html#388c172bf8d34ef0bf11898cd56f8d7b"><span class="id" title="notation">&lt;</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#m"><span class="id" title="variable">m</span></a>)%<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.ssrint.html#9726a5b7b93df322d246b16aa7c2a4f1"><span class="id" title="notation">`|</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#m"><span class="id" title="variable">m</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#9726a5b7b93df322d246b16aa7c2a4f1"><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>)%<span class="id" title="var">R</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.ssrint.html#m"><span class="id" title="variable">m</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="intEsign"><span class="id" title="lemma">intEsign</span></a> <span class="id" title="var">m</span> : <a class="idref" href="mathcomp.algebra.ssrint.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.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.ssrint.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.ssrint.html#9726a5b7b93df322d246b16aa7c2a4f1"><span class="id" title="notation">`|</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#m"><span class="id" title="variable">m</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#9726a5b7b93df322d246b16aa7c2a4f1"><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>)%<span class="id" title="var">R</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="abszEsign"><span class="id" title="lemma">abszEsign</span></a> <span class="id" title="var">m</span> : <a class="idref" href="mathcomp.algebra.ssrint.html#9726a5b7b93df322d246b16aa7c2a4f1"><span class="id" title="notation">`|</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#m"><span class="id" title="variable">m</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#9726a5b7b93df322d246b16aa7c2a4f1"><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.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.ssrint.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.ssrint.html#m"><span class="id" title="variable">m</span></a>)%<span class="id" title="var">R</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="intEsg"><span class="id" title="lemma">intEsg</span></a> <span class="id" title="var">m</span> : <a class="idref" href="mathcomp.algebra.ssrint.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#sgz"><span class="id" title="definition">sgz</span></a> <a class="idref" href="mathcomp.algebra.ssrint.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.ssrint.html#9726a5b7b93df322d246b16aa7c2a4f1"><span class="id" title="notation">`|</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#m"><span class="id" title="variable">m</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#9726a5b7b93df322d246b16aa7c2a4f1"><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>)%<span class="id" title="var">R</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="abszEsg"><span class="id" title="lemma">abszEsg</span></a> <span class="id" title="var">m</span> : (<a class="idref" href="mathcomp.algebra.ssrint.html#9726a5b7b93df322d246b16aa7c2a4f1"><span class="id" title="notation">`|</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#m"><span class="id" title="variable">m</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#9726a5b7b93df322d246b16aa7c2a4f1"><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.ssrint.html#sgz"><span class="id" title="definition">sgz</span></a> <a class="idref" href="mathcomp.algebra.ssrint.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.ssrint.html#m"><span class="id" title="variable">m</span></a>)%<span class="id" title="var">R</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.algebra.ssrint.html#Absz"><span class="id" title="section">Absz</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Module</span> <span class="id" title="keyword">Export</span> <a name="IntDist"><span class="id" title="module">IntDist</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Notation</span> <a name="878788e4c3198d7431c2d18c9b6d439d"><span class="id" title="notation">&quot;</span></a>m - n" :=<br/>
+&nbsp;&nbsp;(@<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.add"><span class="id" title="definition">GRing.add</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#int_ZmodType"><span class="id" title="definition">int_ZmodType</span></a> <span class="id" title="var">m</span>%<span class="id" title="var">N</span> (@<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.opp"><span class="id" title="definition">GRing.opp</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#int_ZmodType"><span class="id" title="definition">int_ZmodType</span></a> <span class="id" title="var">n</span>%<span class="id" title="var">N</span>)) : <span class="id" title="var">distn_scope</span>.<br/>
+<span class="id" title="keyword">Notation</span> <a name="521bb1f21db4ea2eead2a81dcc1b61f3"><span class="id" title="notation">&quot;</span></a>`| m |" := (<a class="idref" href="mathcomp.algebra.ssrint.html#absz"><span class="id" title="definition">absz</span></a> <span class="id" title="var">m</span>) : <span class="id" title="var">nat_scope</span>.<br/>
+<span class="id" title="keyword">Coercion</span> <a class="idref" href="mathcomp.algebra.ssrint.html#Posz"><span class="id" title="constructor">Posz</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#Posz"><span class="id" title="constructor">:</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#Posz"><span class="id" title="constructor">nat</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#Posz"><span class="id" title="constructor">&gt;-&gt;</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#Posz"><span class="id" title="constructor">int</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Section</span> <a name="IntDist.Distn"><span class="id" title="section">Distn</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Open</span> <span class="id" title="keyword">Scope</span> <span class="id" title="var">nat_scope</span>.<br/>
+<span class="id" title="keyword">Implicit</span> <span class="id" title="keyword">Type</span> <span class="id" title="var">m</span> : <a class="idref" href="mathcomp.algebra.ssrint.html#int"><span class="id" title="inductive">int</span></a>.<br/>
+<span class="id" title="keyword">Implicit</span> <span class="id" title="keyword">Types</span> <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>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="IntDist.distnC"><span class="id" title="lemma">distnC</span></a> <span class="id" title="var">m1</span> <span class="id" title="var">m2</span> : <a class="idref" href="mathcomp.algebra.ssrint.html#9726a5b7b93df322d246b16aa7c2a4f1"><span class="id" title="notation">`|</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#m1"><span class="id" title="variable">m1</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#53c6dc3dc685e0493576f688fde974cb"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#m2"><span class="id" title="variable">m2</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#9726a5b7b93df322d246b16aa7c2a4f1"><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#9726a5b7b93df322d246b16aa7c2a4f1"><span class="id" title="notation">`|</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#m2"><span class="id" title="variable">m2</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#53c6dc3dc685e0493576f688fde974cb"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#m1"><span class="id" title="variable">m1</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#9726a5b7b93df322d246b16aa7c2a4f1"><span class="id" title="notation">|</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="IntDist.distnDl"><span class="id" title="lemma">distnDl</span></a> <span class="id" title="var">d</span> <span class="id" title="var">n1</span> <span class="id" title="var">n2</span> : <a class="idref" href="mathcomp.algebra.ssrint.html#9726a5b7b93df322d246b16aa7c2a4f1"><span class="id" title="notation">`|</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#d"><span class="id" title="variable">d</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#b3eea360671e1b32b18a26e15b3aace3"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#n1"><span class="id" title="variable">n1</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#53c6dc3dc685e0493576f688fde974cb"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#53c6dc3dc685e0493576f688fde974cb"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#d"><span class="id" title="variable">d</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#b3eea360671e1b32b18a26e15b3aace3"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#n2"><span class="id" title="variable">n2</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#53c6dc3dc685e0493576f688fde974cb"><span class="id" title="notation">)</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#9726a5b7b93df322d246b16aa7c2a4f1"><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#9726a5b7b93df322d246b16aa7c2a4f1"><span class="id" title="notation">`|</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#n1"><span class="id" title="variable">n1</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#53c6dc3dc685e0493576f688fde974cb"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#n2"><span class="id" title="variable">n2</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#9726a5b7b93df322d246b16aa7c2a4f1"><span class="id" title="notation">|</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="IntDist.distnDr"><span class="id" title="lemma">distnDr</span></a> <span class="id" title="var">d</span> <span class="id" title="var">n1</span> <span class="id" title="var">n2</span> : <a class="idref" href="mathcomp.algebra.ssrint.html#9726a5b7b93df322d246b16aa7c2a4f1"><span class="id" title="notation">`|</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#n1"><span class="id" title="variable">n1</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#b3eea360671e1b32b18a26e15b3aace3"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#d"><span class="id" title="variable">d</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#53c6dc3dc685e0493576f688fde974cb"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#53c6dc3dc685e0493576f688fde974cb"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#n2"><span class="id" title="variable">n2</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#b3eea360671e1b32b18a26e15b3aace3"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#d"><span class="id" title="variable">d</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#53c6dc3dc685e0493576f688fde974cb"><span class="id" title="notation">)</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#9726a5b7b93df322d246b16aa7c2a4f1"><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#9726a5b7b93df322d246b16aa7c2a4f1"><span class="id" title="notation">`|</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#n1"><span class="id" title="variable">n1</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#53c6dc3dc685e0493576f688fde974cb"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#n2"><span class="id" title="variable">n2</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#9726a5b7b93df322d246b16aa7c2a4f1"><span class="id" title="notation">|</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="IntDist.distnEr"><span class="id" title="lemma">distnEr</span></a> <span class="id" title="var">n1</span> <span class="id" title="var">n2</span> : <a class="idref" href="mathcomp.algebra.ssrint.html#n1"><span class="id" title="variable">n1</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#n2"><span class="id" title="variable">n2</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.ssrint.html#9726a5b7b93df322d246b16aa7c2a4f1"><span class="id" title="notation">`|</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#n1"><span class="id" title="variable">n1</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#53c6dc3dc685e0493576f688fde974cb"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#n2"><span class="id" title="variable">n2</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#9726a5b7b93df322d246b16aa7c2a4f1"><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#n2"><span class="id" title="variable">n2</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#9482aae3d3b06e249765c1225dbb8cbb"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#n1"><span class="id" title="variable">n1</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="IntDist.distnEl"><span class="id" title="lemma">distnEl</span></a> <span class="id" title="var">n1</span> <span class="id" title="var">n2</span> : <a class="idref" href="mathcomp.algebra.ssrint.html#n2"><span class="id" title="variable">n2</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#n1"><span class="id" title="variable">n1</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.ssrint.html#9726a5b7b93df322d246b16aa7c2a4f1"><span class="id" title="notation">`|</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#n1"><span class="id" title="variable">n1</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#53c6dc3dc685e0493576f688fde974cb"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#n2"><span class="id" title="variable">n2</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#9726a5b7b93df322d246b16aa7c2a4f1"><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#n1"><span class="id" title="variable">n1</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#9482aae3d3b06e249765c1225dbb8cbb"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#n2"><span class="id" title="variable">n2</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="IntDist.distn0"><span class="id" title="lemma">distn0</span></a> <span class="id" title="var">n</span> : <a class="idref" href="mathcomp.algebra.ssrint.html#9726a5b7b93df322d246b16aa7c2a4f1"><span class="id" title="notation">`|</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#53c6dc3dc685e0493576f688fde974cb"><span class="id" title="notation">-</span></a> 0<a class="idref" href="mathcomp.algebra.ssrint.html#9726a5b7b93df322d246b16aa7c2a4f1"><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#n"><span class="id" title="variable">n</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="IntDist.dist0n"><span class="id" title="lemma">dist0n</span></a> <span class="id" title="var">n</span> : <a class="idref" href="mathcomp.algebra.ssrint.html#9726a5b7b93df322d246b16aa7c2a4f1"><span class="id" title="notation">`|</span></a>0 <a class="idref" href="mathcomp.algebra.ssrint.html#53c6dc3dc685e0493576f688fde974cb"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#9726a5b7b93df322d246b16aa7c2a4f1"><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#n"><span class="id" title="variable">n</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="IntDist.distnn"><span class="id" title="lemma">distnn</span></a> <span class="id" title="var">m</span> : <a class="idref" href="mathcomp.algebra.ssrint.html#9726a5b7b93df322d246b16aa7c2a4f1"><span class="id" title="notation">`|</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#53c6dc3dc685e0493576f688fde974cb"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#m"><span class="id" title="variable">m</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#9726a5b7b93df322d246b16aa7c2a4f1"><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> 0.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="IntDist.distn_eq0"><span class="id" title="lemma">distn_eq0</span></a> <span class="id" title="var">n1</span> <span class="id" title="var">n2</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#9726a5b7b93df322d246b16aa7c2a4f1"><span class="id" title="notation">`|</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#n1"><span class="id" title="variable">n1</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#53c6dc3dc685e0493576f688fde974cb"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#n2"><span class="id" title="variable">n2</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#9726a5b7b93df322d246b16aa7c2a4f1"><span class="id" title="notation">|</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.ssrint.html#n1"><span class="id" title="variable">n1</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#17d28d004d0863cb022d4ce832ddaaae"><span class="id" title="notation">==</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#n2"><span class="id" title="variable">n2</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="IntDist.distnS"><span class="id" title="lemma">distnS</span></a> <span class="id" title="var">n</span> : <a class="idref" href="mathcomp.algebra.ssrint.html#9726a5b7b93df322d246b16aa7c2a4f1"><span class="id" title="notation">`|</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#53c6dc3dc685e0493576f688fde974cb"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#n"><span class="id" title="variable">n</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#9726a5b7b93df322d246b16aa7c2a4f1"><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> 1.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="IntDist.distSn"><span class="id" title="lemma">distSn</span></a> <span class="id" title="var">n</span> : <a class="idref" href="mathcomp.algebra.ssrint.html#9726a5b7b93df322d246b16aa7c2a4f1"><span class="id" title="notation">`|</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#n"><span class="id" title="variable">n</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#53c6dc3dc685e0493576f688fde974cb"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#9726a5b7b93df322d246b16aa7c2a4f1"><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> 1.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="IntDist.distn_eq1"><span class="id" title="lemma">distn_eq1</span></a> <span class="id" title="var">n1</span> <span class="id" title="var">n2</span> :<br/>
+&nbsp;&nbsp;<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#9726a5b7b93df322d246b16aa7c2a4f1"><span class="id" title="notation">`|</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#n1"><span class="id" title="variable">n1</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#53c6dc3dc685e0493576f688fde974cb"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#n2"><span class="id" title="variable">n2</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#9726a5b7b93df322d246b16aa7c2a4f1"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#17d28d004d0863cb022d4ce832ddaaae"><span class="id" title="notation">==</span></a> 1<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="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.ssrint.html#n1"><span class="id" title="variable">n1</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#989c98e7ddd65d5bf37c334ff2076de8"><span class="id" title="notation">&lt;</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#n2"><span class="id" title="variable">n2</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">then</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#n1"><span class="id" title="variable">n1</span></a><a class="idref" href="mathcomp.ssreflect.ssrnat.html#361454269931ea8643f7b402f2ab7222"><span class="id" title="notation">.+1</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#17d28d004d0863cb022d4ce832ddaaae"><span class="id" title="notation">==</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#n2"><span class="id" title="variable">n2</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> <a class="idref" href="mathcomp.algebra.ssrint.html#n1"><span class="id" title="variable">n1</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#17d28d004d0863cb022d4ce832ddaaae"><span class="id" title="notation">==</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#n2"><span class="id" title="variable">n2</span></a><a class="idref" href="mathcomp.ssreflect.ssrnat.html#361454269931ea8643f7b402f2ab7222"><span class="id" title="notation">.+1</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="IntDist.leq_add_dist"><span class="id" title="lemma">leq_add_dist</span></a> <span class="id" title="var">m1</span> <span class="id" title="var">m2</span> <span class="id" title="var">m3</span> : <a class="idref" href="mathcomp.algebra.ssrint.html#9726a5b7b93df322d246b16aa7c2a4f1"><span class="id" title="notation">`|</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#m1"><span class="id" title="variable">m1</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#53c6dc3dc685e0493576f688fde974cb"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#m3"><span class="id" title="variable">m3</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#9726a5b7b93df322d246b16aa7c2a4f1"><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#9726a5b7b93df322d246b16aa7c2a4f1"><span class="id" title="notation">`|</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#m1"><span class="id" title="variable">m1</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#53c6dc3dc685e0493576f688fde974cb"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#m2"><span class="id" title="variable">m2</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#9726a5b7b93df322d246b16aa7c2a4f1"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#b3eea360671e1b32b18a26e15b3aace3"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#9726a5b7b93df322d246b16aa7c2a4f1"><span class="id" title="notation">`|</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#m2"><span class="id" title="variable">m2</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#53c6dc3dc685e0493576f688fde974cb"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#m3"><span class="id" title="variable">m3</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#9726a5b7b93df322d246b16aa7c2a4f1"><span class="id" title="notation">|</span></a>.<br/>
+
+<br/>
+</div>
+
+<div class="doc">
+ Most of this proof generalizes to all real-ordered rings.
+</div>
+<div class="code">
+<span class="id" title="keyword">Lemma</span> <a name="IntDist.leqif_add_distz"><span class="id" title="lemma">leqif_add_distz</span></a> <span class="id" title="var">m1</span> <span class="id" title="var">m2</span> <span class="id" title="var">m3</span> :<br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.algebra.ssrint.html#9726a5b7b93df322d246b16aa7c2a4f1"><span class="id" title="notation">`|</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#m1"><span class="id" title="variable">m1</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#53c6dc3dc685e0493576f688fde974cb"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#m3"><span class="id" title="variable">m3</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#9726a5b7b93df322d246b16aa7c2a4f1"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#f0472472bc7977d4afb419d87444a23b"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#9726a5b7b93df322d246b16aa7c2a4f1"><span class="id" title="notation">`|</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#m1"><span class="id" title="variable">m1</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#53c6dc3dc685e0493576f688fde974cb"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#m2"><span class="id" title="variable">m2</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#9726a5b7b93df322d246b16aa7c2a4f1"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#b3eea360671e1b32b18a26e15b3aace3"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#9726a5b7b93df322d246b16aa7c2a4f1"><span class="id" title="notation">`|</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#m2"><span class="id" title="variable">m2</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#53c6dc3dc685e0493576f688fde974cb"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#m3"><span class="id" title="variable">m3</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#9726a5b7b93df322d246b16aa7c2a4f1"><span class="id" title="notation">|</span></a><br/>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class="idref" href="mathcomp.ssreflect.ssrnat.html#f0472472bc7977d4afb419d87444a23b"><span class="id" title="notation">?=</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#f0472472bc7977d4afb419d87444a23b"><span class="id" title="notation">iff</span></a> (<a class="idref" href="mathcomp.algebra.ssrint.html#m1"><span class="id" title="variable">m1</span></a> <a class="idref" href="mathcomp.algebra.ssrnum.html#ff736a21b738c796d1200c3222013b46"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#m2"><span class="id" title="variable">m2</span></a> <a class="idref" href="mathcomp.algebra.ssrnum.html#ff736a21b738c796d1200c3222013b46"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#m3"><span class="id" title="variable">m3</span></a>)%<span class="id" title="var">R</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#14a7a9c7dc61f86bfb664d400fabaf8a"><span class="id" title="notation">||</span></a> (<a class="idref" href="mathcomp.algebra.ssrint.html#m3"><span class="id" title="variable">m3</span></a> <a class="idref" href="mathcomp.algebra.ssrnum.html#ff736a21b738c796d1200c3222013b46"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#m2"><span class="id" title="variable">m2</span></a> <a class="idref" href="mathcomp.algebra.ssrnum.html#ff736a21b738c796d1200c3222013b46"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#m1"><span class="id" title="variable">m1</span></a>)%<span class="id" title="var">R</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="IntDist.leqif_add_dist"><span class="id" title="lemma">leqif_add_dist</span></a> <span class="id" title="var">n1</span> <span class="id" title="var">n2</span> <span class="id" title="var">n3</span> :<br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.algebra.ssrint.html#9726a5b7b93df322d246b16aa7c2a4f1"><span class="id" title="notation">`|</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#n1"><span class="id" title="variable">n1</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#53c6dc3dc685e0493576f688fde974cb"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#n3"><span class="id" title="variable">n3</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#9726a5b7b93df322d246b16aa7c2a4f1"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#f0472472bc7977d4afb419d87444a23b"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#9726a5b7b93df322d246b16aa7c2a4f1"><span class="id" title="notation">`|</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#n1"><span class="id" title="variable">n1</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#53c6dc3dc685e0493576f688fde974cb"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#n2"><span class="id" title="variable">n2</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#9726a5b7b93df322d246b16aa7c2a4f1"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#b3eea360671e1b32b18a26e15b3aace3"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#9726a5b7b93df322d246b16aa7c2a4f1"><span class="id" title="notation">`|</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#n2"><span class="id" title="variable">n2</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#53c6dc3dc685e0493576f688fde974cb"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#n3"><span class="id" title="variable">n3</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#9726a5b7b93df322d246b16aa7c2a4f1"><span class="id" title="notation">|</span></a><br/>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class="idref" href="mathcomp.ssreflect.ssrnat.html#f0472472bc7977d4afb419d87444a23b"><span class="id" title="notation">?=</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#f0472472bc7977d4afb419d87444a23b"><span class="id" title="notation">iff</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#14a7a9c7dc61f86bfb664d400fabaf8a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#n1"><span class="id" title="variable">n1</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#5b045077597c2458ff66998b6cb1d006"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#n2"><span class="id" title="variable">n2</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#5b045077597c2458ff66998b6cb1d006"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#n3"><span class="id" title="variable">n3</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#14a7a9c7dc61f86bfb664d400fabaf8a"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#14a7a9c7dc61f86bfb664d400fabaf8a"><span class="id" title="notation">||</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#14a7a9c7dc61f86bfb664d400fabaf8a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#n3"><span class="id" title="variable">n3</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#5b045077597c2458ff66998b6cb1d006"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#n2"><span class="id" title="variable">n2</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#5b045077597c2458ff66998b6cb1d006"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#n1"><span class="id" title="variable">n1</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#14a7a9c7dc61f86bfb664d400fabaf8a"><span class="id" title="notation">)</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="IntDist.sqrn_dist"><span class="id" title="lemma">sqrn_dist</span></a> <span class="id" title="var">n1</span> <span class="id" title="var">n2</span> : <a class="idref" href="mathcomp.algebra.ssrint.html#9726a5b7b93df322d246b16aa7c2a4f1"><span class="id" title="notation">`|</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#n1"><span class="id" title="variable">n1</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#53c6dc3dc685e0493576f688fde974cb"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#n2"><span class="id" title="variable">n2</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#9726a5b7b93df322d246b16aa7c2a4f1"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#4c362bcf0e947e2792a2e6989b44aeb0"><span class="id" title="notation">^</span></a> 2 <a class="idref" href="mathcomp.ssreflect.ssrnat.html#b3eea360671e1b32b18a26e15b3aace3"><span class="id" title="notation">+</span></a> 2 <a class="idref" href="mathcomp.ssreflect.ssrnat.html#697e4695610f677ae98a52af81f779d2"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#697e4695610f677ae98a52af81f779d2"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#n1"><span class="id" title="variable">n1</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#697e4695610f677ae98a52af81f779d2"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#n2"><span class="id" title="variable">n2</span></a><a class="idref" href="mathcomp.ssreflect.ssrnat.html#697e4695610f677ae98a52af81f779d2"><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#n1"><span class="id" title="variable">n1</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#4c362bcf0e947e2792a2e6989b44aeb0"><span class="id" title="notation">^</span></a> 2 <a class="idref" href="mathcomp.ssreflect.ssrnat.html#b3eea360671e1b32b18a26e15b3aace3"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#n2"><span class="id" title="variable">n2</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#4c362bcf0e947e2792a2e6989b44aeb0"><span class="id" title="notation">^</span></a> 2.<br/>
+
+<br/>
+<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.algebra.ssrint.html#IntDist.Distn"><span class="id" title="section">Distn</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.algebra.ssrint.html#IntDist"><span class="id" title="module">IntDist</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Section</span> <a name="NormInt"><span class="id" title="section">NormInt</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Variable</span> <a name="NormInt.R"><span class="id" title="variable">R</span></a> : <a class="idref" href="mathcomp.algebra.ssrnum.html#Num.NumDomain.Exports.numDomainType"><span class="id" title="abbreviation">numDomainType</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="intr_norm"><span class="id" title="lemma">intr_norm</span></a> <span class="id" title="var">m</span> : <a class="idref" href="mathcomp.algebra.ssrnum.html#c536f9a86d3c053391521360ac3f5a61"><span class="id" title="notation">`|</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#m"><span class="id" title="variable">m</span></a><a class="idref" href="mathcomp.algebra.ssrnum.html#c536f9a86d3c053391521360ac3f5a61"><span class="id" title="notation">|</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.Init.Logic.html#8f9364556521ebb498093f28eea2240f"><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.ssrint.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.ssrnum.html#c536f9a86d3c053391521360ac3f5a61"><span class="id" title="notation">|</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#8f9364556521ebb498093f28eea2240f"><span class="id" title="notation">:&gt;</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#NormInt.R"><span class="id" title="variable">R</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="normrMz"><span class="id" title="lemma">normrMz</span></a> <span class="id" title="var">m</span> (<span class="id" title="var">x</span> : <a class="idref" href="mathcomp.algebra.ssrint.html#NormInt.R"><span class="id" title="variable">R</span></a>) : <a class="idref" href="mathcomp.algebra.ssrnum.html#c536f9a86d3c053391521360ac3f5a61"><span class="id" title="notation">`|</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#9c7c5437248d02e78f1fc1d9125e7f44"><span class="id" title="notation">*~</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#m"><span class="id" title="variable">m</span></a><a class="idref" href="mathcomp.algebra.ssrnum.html#c536f9a86d3c053391521360ac3f5a61"><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.ssrnum.html#c536f9a86d3c053391521360ac3f5a61"><span class="id" title="notation">`|</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#x"><span class="id" title="variable">x</span></a><a class="idref" href="mathcomp.algebra.ssrnum.html#c536f9a86d3c053391521360ac3f5a61"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#9c7c5437248d02e78f1fc1d9125e7f44"><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.ssrint.html#m"><span class="id" title="variable">m</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="expN1r"><span class="id" title="lemma">expN1r</span></a> (<span class="id" title="var">i</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#b033a3d34e421a2439563f5ffdab0b9b"><span class="id" title="notation">(</span></a>-1 <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.ssrint.html#NormInt.R"><span class="id" title="variable">R</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#b033a3d34e421a2439563f5ffdab0b9b"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#b033a3d34e421a2439563f5ffdab0b9b"><span class="id" title="notation">^</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#i"><span class="id" title="variable">i</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#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.ssrint.html#9726a5b7b93df322d246b16aa7c2a4f1"><span class="id" title="notation">`|</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#9726a5b7b93df322d246b16aa7c2a4f1"><span class="id" title="notation">|</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.algebra.ssrint.html#NormInt"><span class="id" title="section">NormInt</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Section</span> <a name="PolyZintRing"><span class="id" title="section">PolyZintRing</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Variable</span> <a name="PolyZintRing.R"><span class="id" title="variable">R</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Ring.Exports.ringType"><span class="id" title="abbreviation">ringType</span></a>.<br/>
+<span class="id" title="keyword">Implicit</span> <span class="id" title="keyword">Types</span> <span class="id" title="var">x</span> <span class="id" title="var">y</span> <span class="id" title="var">z</span>: <a class="idref" href="mathcomp.algebra.ssrint.html#PolyZintRing.R"><span class="id" title="variable">R</span></a>.<br/>
+<span class="id" title="keyword">Implicit</span> <span class="id" title="keyword">Types</span> <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>.<br/>
+<span class="id" title="keyword">Implicit</span> <span class="id" title="keyword">Types</span> <span class="id" title="var">i</span> <span class="id" title="var">j</span> <span class="id" title="var">k</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>.<br/>
+<span class="id" title="keyword">Implicit</span> <span class="id" title="keyword">Types</span> <span class="id" title="var">p</span> <span class="id" title="var">q</span> <span class="id" title="var">r</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.ssrint.html#PolyZintRing.R"><span class="id" title="variable">R</span></a><a class="idref" href="mathcomp.algebra.poly.html#699040ddc0986f520cece215f531d947"><span class="id" title="notation">}</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="coefMrz"><span class="id" title="lemma">coefMrz</span></a> : <span class="id" title="keyword">∀</span> <span class="id" title="var">p</span> <span class="id" title="var">n</span> <span class="id" title="var">i</span>, <a class="idref" href="mathcomp.algebra.ssralg.html#9625b440a0052f6dbfd015f5bb8b5125"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#p"><span class="id" title="variable">p</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#9c7c5437248d02e78f1fc1d9125e7f44"><span class="id" title="notation">*~</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#n"><span class="id" title="variable">n</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="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#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> <a class="idref" href="mathcomp.algebra.ssrint.html#9c7c5437248d02e78f1fc1d9125e7f44"><span class="id" title="notation">*~</span></a> <a class="idref" href="mathcomp.algebra.ssrint.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="polyC_mulrz"><span class="id" title="lemma">polyC_mulrz</span></a> : <span class="id" title="keyword">∀</span> <span class="id" title="var">n</span>, <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#c3c88e2b30b681cd767a54649faf5973"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#c3c88e2b30b681cd767a54649faf5973"><span class="id" title="notation">morph</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#c3c88e2b30b681cd767a54649faf5973"><span class="id" title="notation">(</span></a>@<a class="idref" href="mathcomp.algebra.poly.html#polyC"><span class="id" title="definition">polyC</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#PolyZintRing.R"><span class="id" title="variable">R</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#c3c88e2b30b681cd767a54649faf5973"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#c3c88e2b30b681cd767a54649faf5973"><span class="id" title="notation">:</span></a> <span class="id" title="var">c</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#c3c88e2b30b681cd767a54649faf5973"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#c"><span class="id" title="variable">c</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#9c7c5437248d02e78f1fc1d9125e7f44"><span class="id" title="notation">*~</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#c3c88e2b30b681cd767a54649faf5973"><span class="id" title="notation">}</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="hornerMz"><span class="id" title="lemma">hornerMz</span></a> : <span class="id" title="keyword">∀</span> <span class="id" title="var">n</span> (<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.ssrint.html#PolyZintRing.R"><span class="id" title="variable">R</span></a><a class="idref" href="mathcomp.algebra.poly.html#699040ddc0986f520cece215f531d947"><span class="id" title="notation">}</span></a>) <span class="id" title="var">x</span>, <a class="idref" href="mathcomp.algebra.poly.html#9956cd3926e9966aa6979e465e39d037"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#p"><span class="id" title="variable">p</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#9c7c5437248d02e78f1fc1d9125e7f44"><span class="id" title="notation">*~</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.poly.html#9956cd3926e9966aa6979e465e39d037"><span class="id" title="notation">).[</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#x"><span class="id" title="variable">x</span></a><a class="idref" href="mathcomp.algebra.poly.html#9956cd3926e9966aa6979e465e39d037"><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#p"><span class="id" title="variable">p</span></a><a class="idref" href="mathcomp.algebra.poly.html#9956cd3926e9966aa6979e465e39d037"><span class="id" title="notation">.[</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#x"><span class="id" title="variable">x</span></a><a class="idref" href="mathcomp.algebra.poly.html#9956cd3926e9966aa6979e465e39d037"><span class="id" title="notation">]</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#9c7c5437248d02e78f1fc1d9125e7f44"><span class="id" title="notation">*~</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#n"><span class="id" title="variable">n</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="horner_int"><span class="id" title="lemma">horner_int</span></a> : <span class="id" title="keyword">∀</span> <span class="id" title="var">n</span> <span class="id" title="var">x</span>, <a class="idref" href="mathcomp.algebra.poly.html#9956cd3926e9966aa6979e465e39d037"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#n"><span class="id" title="variable">n</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.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#PolyZintRing.R"><span class="id" title="variable">R</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#9956cd3926e9966aa6979e465e39d037"><span class="id" title="notation">).[</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#x"><span class="id" title="variable">x</span></a><a class="idref" href="mathcomp.algebra.poly.html#9956cd3926e9966aa6979e465e39d037"><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#n"><span class="id" title="variable">n</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>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="derivMz"><span class="id" title="lemma">derivMz</span></a> : <span class="id" title="keyword">∀</span> <span class="id" title="var">n</span> <span class="id" title="var">p</span>, <a class="idref" href="mathcomp.algebra.poly.html#03bdc25c1ca3719165e27fca9d5b98af"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#p"><span class="id" title="variable">p</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#9c7c5437248d02e78f1fc1d9125e7f44"><span class="id" title="notation">*~</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.poly.html#03bdc25c1ca3719165e27fca9d5b98af"><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#p"><span class="id" title="variable">p</span></a><a class="idref" href="mathcomp.algebra.poly.html#03bdc25c1ca3719165e27fca9d5b98af"><span class="id" title="notation">^`</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#9c7c5437248d02e78f1fc1d9125e7f44"><span class="id" title="notation">*~</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#n"><span class="id" title="variable">n</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.algebra.ssrint.html#PolyZintRing"><span class="id" title="section">PolyZintRing</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Section</span> <a name="PolyZintOIdom"><span class="id" title="section">PolyZintOIdom</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Variable</span> <a name="PolyZintOIdom.R"><span class="id" title="variable">R</span></a> : <a class="idref" href="mathcomp.algebra.ssrnum.html#Num.RealDomain.Exports.realDomainType"><span class="id" title="abbreviation">realDomainType</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="mulpz"><span class="id" title="lemma">mulpz</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.ssrint.html#PolyZintOIdom.R"><span class="id" title="variable">R</span></a><a class="idref" href="mathcomp.algebra.poly.html#699040ddc0986f520cece215f531d947"><span class="id" title="notation">}</span></a>) (<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="mathcomp.algebra.ssrint.html#p"><span class="id" title="variable">p</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#9c7c5437248d02e78f1fc1d9125e7f44"><span class="id" title="notation">*~</span></a> <a class="idref" href="mathcomp.algebra.ssrint.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#n"><span class="id" title="variable">n</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#81f8078534dcbb7e13a32d292f766525"><span class="id" title="notation">*:</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#p"><span class="id" title="variable">p</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.algebra.ssrint.html#PolyZintOIdom"><span class="id" title="section">PolyZintOIdom</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Section</span> <a name="ZnatPred"><span class="id" title="section">ZnatPred</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Definition</span> <a name="Znat"><span class="id" title="definition">Znat</span></a> := <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#3838d61fb3e8125493e649946f677b04"><span class="id" title="notation">[</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#3838d61fb3e8125493e649946f677b04"><span class="id" title="notation">qualify</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#3838d61fb3e8125493e649946f677b04"><span class="id" title="notation">a</span></a> <span class="id" title="var">n</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#3838d61fb3e8125493e649946f677b04"><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.ssr.ssrbool.html#3838d61fb3e8125493e649946f677b04"><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.ssrint.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#3838d61fb3e8125493e649946f677b04"><span class="id" title="notation">]</span></a>.<br/>
+<span class="id" title="keyword">Fact</span> <a name="Znat_key"><span class="id" title="lemma">Znat_key</span></a> : <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.ssrint.html#Znat"><span class="id" title="definition">Znat</span></a>. <br/>
+<span class="id" title="keyword">Canonical</span> <span class="id" title="var">Znat_keyd</span> := <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#KeyedQualifier"><span class="id" title="definition">KeyedQualifier</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#Znat_key"><span class="id" title="lemma">Znat_key</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="Znat_def"><span class="id" title="lemma">Znat_def</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#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#n"><span class="id" title="variable">n</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.ssrint.html#Znat"><span class="id" title="definition">Znat</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>0 <a class="idref" href="mathcomp.algebra.ssrnum.html#1065783963a393d1eafa2137291f2495"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.algebra.ssrint.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="Znat_semiring_closed"><span class="id" title="lemma">Znat_semiring_closed</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Pred.Exports.semiring_closed"><span class="id" title="abbreviation">semiring_closed</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#Znat"><span class="id" title="definition">Znat</span></a>.<br/>
+ <span class="id" title="keyword">Canonical</span> <span class="id" title="var">Znat_addrPred</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.ssrint.html#Znat_semiring_closed"><span class="id" title="lemma">Znat_semiring_closed</span></a>.<br/>
+<span class="id" title="keyword">Canonical</span> <span class="id" title="var">Znat_mulrPred</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Pred.Exports.MulrPred"><span class="id" title="definition">MulrPred</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#Znat_semiring_closed"><span class="id" title="lemma">Znat_semiring_closed</span></a>.<br/>
+<span class="id" title="keyword">Canonical</span> <span class="id" title="var">Znat_semiringPred</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Pred.Exports.SemiringPred"><span class="id" title="definition">SemiringPred</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#Znat_semiring_closed"><span class="id" title="lemma">Znat_semiring_closed</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="ZnatP"><span class="id" title="lemma">ZnatP</span></a> (<span class="id" title="var">m</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.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">n</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="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.ssrint.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#n"><span class="id" title="variable">n</span></a>) (<a class="idref" href="mathcomp.algebra.ssrint.html#m"><span class="id" title="variable">m</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.ssrint.html#Znat"><span class="id" title="definition">Znat</span></a>).<br/>
+
+<br/>
+<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.algebra.ssrint.html#ZnatPred"><span class="id" title="section">ZnatPred</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Section</span> <a name="rpred"><span class="id" title="section">rpred</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="rpredMz"><span class="id" title="lemma">rpredMz</span></a> <span class="id" title="var">M</span> <span class="id" title="var">S</span> (<span class="id" title="var">addS</span> : @<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Pred.Exports.zmodPred"><span class="id" title="abbreviation">zmodPred</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#M"><span class="id" title="variable">M</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#S"><span class="id" title="variable">S</span></a>) (<span class="id" title="var">kS</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#keyed_pred"><span class="id" title="record">keyed_pred</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#addS"><span class="id" title="variable">addS</span></a>) <span class="id" title="var">m</span> :<br/>
+&nbsp;&nbsp;<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#5c59b35a0b51db520cf1fba473ecf127"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#5c59b35a0b51db520cf1fba473ecf127"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#kS"><span class="id" title="variable">kS</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#5c59b35a0b51db520cf1fba473ecf127"><span class="id" title="notation">,</span></a> <span class="id" title="keyword">∀</span> <span class="id" title="var">u</span>, <a class="idref" href="mathcomp.algebra.ssrint.html#u"><span class="id" title="variable">u</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#9c7c5437248d02e78f1fc1d9125e7f44"><span class="id" title="notation">*~</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#m"><span class="id" title="variable">m</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.ssrint.html#kS"><span class="id" title="variable">kS</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#5c59b35a0b51db520cf1fba473ecf127"><span class="id" title="notation">}</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="rpred_int"><span class="id" title="lemma">rpred_int</span></a> <span class="id" title="var">R</span> <span class="id" title="var">S</span> (<span class="id" title="var">ringS</span> : @<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Pred.Exports.subringPred"><span class="id" title="abbreviation">subringPred</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#R"><span class="id" title="variable">R</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#S"><span class="id" title="variable">S</span></a>) (<span class="id" title="var">kS</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#keyed_pred"><span class="id" title="record">keyed_pred</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#ringS"><span class="id" title="variable">ringS</span></a>) <span class="id" title="var">m</span> :<br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.algebra.ssrint.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="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.ssrint.html#kS"><span class="id" title="variable">kS</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="rpredZint"><span class="id" title="lemma">rpredZint</span></a> (<span class="id" title="var">R</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Ring.Exports.ringType"><span class="id" title="abbreviation">ringType</span></a>) (<span class="id" title="var">M</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lmodule.Exports.lmodType"><span class="id" title="abbreviation">lmodType</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#R"><span class="id" title="variable">R</span></a>) <span class="id" title="var">S</span><br/>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(<span class="id" title="var">addS</span> : @<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Pred.Exports.zmodPred"><span class="id" title="abbreviation">zmodPred</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#M"><span class="id" title="variable">M</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#S"><span class="id" title="variable">S</span></a>) (<span class="id" title="var">kS</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#keyed_pred"><span class="id" title="record">keyed_pred</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#addS"><span class="id" title="variable">addS</span></a>) <span class="id" title="var">m</span> :<br/>
+&nbsp;&nbsp;<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#5c59b35a0b51db520cf1fba473ecf127"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#5c59b35a0b51db520cf1fba473ecf127"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#kS"><span class="id" title="variable">kS</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#5c59b35a0b51db520cf1fba473ecf127"><span class="id" title="notation">,</span></a> <span class="id" title="keyword">∀</span> <span class="id" title="var">u</span>, <a class="idref" href="mathcomp.algebra.ssrint.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#81f8078534dcbb7e13a32d292f766525"><span class="id" title="notation">*:</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#u"><span class="id" title="variable">u</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.ssrint.html#kS"><span class="id" title="variable">kS</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#5c59b35a0b51db520cf1fba473ecf127"><span class="id" title="notation">}</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="rpredXz"><span class="id" title="lemma">rpredXz</span></a> <span class="id" title="var">R</span> <span class="id" title="var">S</span> (<span class="id" title="var">divS</span> : @<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Pred.Exports.divrPred"><span class="id" title="abbreviation">divrPred</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#R"><span class="id" title="variable">R</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#S"><span class="id" title="variable">S</span></a>) (<span class="id" title="var">kS</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#keyed_pred"><span class="id" title="record">keyed_pred</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#divS"><span class="id" title="variable">divS</span></a>) <span class="id" title="var">m</span> :<br/>
+&nbsp;&nbsp;<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#5c59b35a0b51db520cf1fba473ecf127"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#5c59b35a0b51db520cf1fba473ecf127"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#kS"><span class="id" title="variable">kS</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#5c59b35a0b51db520cf1fba473ecf127"><span class="id" title="notation">,</span></a> <span class="id" title="keyword">∀</span> <span class="id" title="var">x</span>, <a class="idref" href="mathcomp.algebra.ssrint.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#b033a3d34e421a2439563f5ffdab0b9b"><span class="id" title="notation">^</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#m"><span class="id" title="variable">m</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.ssrint.html#kS"><span class="id" title="variable">kS</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#5c59b35a0b51db520cf1fba473ecf127"><span class="id" title="notation">}</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="rpredXsign"><span class="id" title="lemma">rpredXsign</span></a> <span class="id" title="var">R</span> <span class="id" title="var">S</span> (<span class="id" title="var">divS</span> : @<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Pred.Exports.divrPred"><span class="id" title="abbreviation">divrPred</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#R"><span class="id" title="variable">R</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#S"><span class="id" title="variable">S</span></a>) (<span class="id" title="var">kS</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#keyed_pred"><span class="id" title="record">keyed_pred</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#divS"><span class="id" title="variable">divS</span></a>) <span class="id" title="var">n</span> <span class="id" title="var">x</span> :<br/>
+&nbsp;&nbsp;<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#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#b033a3d34e421a2439563f5ffdab0b9b"><span class="id" title="notation">^</span></a> <a class="idref" href="mathcomp.algebra.ssrint.html#b033a3d34e421a2439563f5ffdab0b9b"><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.ssrint.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.ssrint.html#b033a3d34e421a2439563f5ffdab0b9b"><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">\</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.ssrint.html#kS"><span class="id" title="variable">kS</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.ssrint.html#x"><span class="id" title="variable">x</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.ssrint.html#kS"><span class="id" title="variable">kS</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">End</span> <a class="idref" href="mathcomp.algebra.ssrint.html#rpred"><span class="id" title="section">rpred</span></a>.<br/>
+</div>
+</div>
+
+<div id="footer">
+<hr/><a href="index.html">Index</a><hr/>This page has been generated by <a href="http://coq.inria.fr/">coqdoc</a>
+</div>
+
+</div>
+
+</body>
+</html> \ No newline at end of file