diff options
| author | Enrico Tassi | 2019-05-22 13:43:08 +0200 |
|---|---|---|
| committer | Enrico Tassi | 2019-05-22 15:34:14 +0200 |
| commit | 748d716efb2f2f75946c8386e441ce1789806a39 (patch) | |
| tree | fe7bb1c5235550410c64e968f4a4d69b7f10a047 /docs/htmldoc/mathcomp.algebra.ssralg.html | |
| parent | 415be3b908daadabf178a292c885db78e5b2c9a4 (diff) | |
htmldoc regenerated
Diffstat (limited to 'docs/htmldoc/mathcomp.algebra.ssralg.html')
| -rw-r--r-- | docs/htmldoc/mathcomp.algebra.ssralg.html | 2873 |
1 files changed, 1448 insertions, 1425 deletions
diff --git a/docs/htmldoc/mathcomp.algebra.ssralg.html b/docs/htmldoc/mathcomp.algebra.ssralg.html index 8466ee9..cb47add 100644 --- a/docs/htmldoc/mathcomp.algebra.ssralg.html +++ b/docs/htmldoc/mathcomp.algebra.ssralg.html @@ -21,7 +21,6 @@ <div class="code"> <span class="comment">(* (c) Copyright 2006-2016 Microsoft Corporation and Inria. <br/> Distributed under the terms of CeCILL-B. *)</span><br/> -<span class="id" title="keyword">Require</span> <span class="id" title="keyword">Import</span> <a class="idref" href="mathcomp.ssreflect.ssreflect.html#"><span class="id" title="library">mathcomp.ssreflect.ssreflect</span></a>.<br/> <br/> </div> @@ -189,9 +188,10 @@ WARNING: while it is possible to omit R for most of the XxxType functions, R MUST be explicitly given when UnitRingType is used with a mixin produced - by ComUnitRingMixin, otherwise the resulting - structure will have the WRONG sort key and will - NOT BE USED during type inference. + by ComUnitRingMixin, in a Canonical definition, + otherwise the resulting structure will have the + WRONG sort key and will NOT BE USED during type + inference. [unitRingType of R for S] == R-clone of the unitRingType structure S. [unitRingType of R] == clones a canonical unitRingType structure on R. x \is a GRing.unit <=> x is a unit (i.e., has an inverse). @@ -249,16 +249,29 @@ <a name="lab10"></a><h1 class="section">Field (commutative fields):</h1> fieldType == interface type for fields. - GRing.Field.axiom inv == the field axiom (x != 0 -> inv x * x = 1). - FieldUnitMixin mulVx unitP inv0id == builds a *non commutative unit ring* - mixin, using the field axiom to simplify proof - obligations. The carrier type must have a - comRingType canonical structure. - FieldMixin mulVx == builds the field mixin from the field axiom. The - carrier type must have a comRingType structure. - FieldIdomainMixin m == builds an *idomain* mixin from a field mixin m. + GRing.Field.mixin_of R == the field property: x != 0 -> x \is a unit, for + x : R; R must be or coerce to a unitRingType. + GRing.Field.axiom inv == the field axiom: x != 0 -> inv x * x = 1 for all + x. This is equivalent to the property above, but + does not require a unitRingType as inv is an + explicit argument. + FieldUnitMixin mulVf inv0 == a *non commutative unit ring* mixin, using an + inverse function that satisfies the field axiom + and fixes 0 (arguments mulVf and inv0, resp.), + and x != 0 as the Ring.unit predicate. The + carrier type must be a canonical comRingType. + FieldIdomainMixin m == an *idomain* mixin derived from a field mixin m. + GRing.Field.IdomainType mulVf inv0 == an idomainType incorporating the two + mixins above, where FieldIdomainMixin is applied + to the trivial field mixin for FieldUnitMixin. + FieldMixin mulVf inv0 == the (trivial) field mixin for Field.IdomainType. FieldType R m == packs the field mixin M into a fieldType. The carrier type R must be an idomainType. +> Given proofs mulVf and inv0 as above, a non-Canonical instances + of fieldType can be created with FieldType _ (FieldMixin mulVf inv0). + For Canonical instances one should always specify the first (sort) + argument of FieldType and other instance constructors, as well as pose + Definitions for unit ring, field, and idomain mixins (in that order). [fieldType of F for S] == F-clone of the fieldType structure S. [fieldType of F] == clone of a canonical fieldType structure on F. [fieldMixin of R by <: ] == mixin axiom for a field subType. @@ -718,12 +731,12 @@ <br/> <span class="id" title="keyword">Record</span> <a name="GRing.Zmodule.mixin_of"><span class="id" title="record">mixin_of</span></a> (<span class="id" title="var">V</span> : <span class="id" title="keyword">Type</span>) : <span class="id" title="keyword">Type</span> := <a name="GRing.Zmodule.Mixin"><span class="id" title="constructor">Mixin</span></a> {<br/> <a name="GRing.Zmodule.zero"><span class="id" title="projection">zero</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#V"><span class="id" title="variable">V</span></a>;<br/> - <a name="GRing.Zmodule.opp"><span class="id" title="projection">opp</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.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#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#V"><span class="id" title="variable">V</span></a>;<br/> - <a name="GRing.Zmodule.add"><span class="id" title="projection">add</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.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#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#V"><span class="id" title="variable">V</span></a>;<br/> - <span class="id" title="var">_</span> : <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.ssralg.html#add"><span class="id" title="method">add</span></a>;<br/> - <span class="id" title="var">_</span> : <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.ssralg.html#add"><span class="id" title="method">add</span></a>;<br/> - <span class="id" title="var">_</span> : <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> <a class="idref" href="mathcomp.algebra.ssralg.html#zero"><span class="id" title="method">zero</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#add"><span class="id" title="method">add</span></a>;<br/> - <span class="id" title="var">_</span> : <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> <a class="idref" href="mathcomp.algebra.ssralg.html#zero"><span class="id" title="method">zero</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#opp"><span class="id" title="method">opp</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#add"><span class="id" title="method">add</span></a><br/> + <a name="GRing.Zmodule.opp"><span class="id" title="projection">opp</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#V"><span class="id" title="variable">V</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#V"><span class="id" title="variable">V</span></a>;<br/> + <a name="GRing.Zmodule.add"><span class="id" title="projection">add</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#V"><span class="id" title="variable">V</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#V"><span class="id" title="variable">V</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#V"><span class="id" title="variable">V</span></a>;<br/> + <span class="id" title="var">_</span> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#associative"><span class="id" title="definition">associative</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#add"><span class="id" title="method">add</span></a>;<br/> + <span class="id" title="var">_</span> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#commutative"><span class="id" title="definition">commutative</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#add"><span class="id" title="method">add</span></a>;<br/> + <span class="id" title="var">_</span> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#left_id"><span class="id" title="definition">left_id</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#zero"><span class="id" title="method">zero</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#add"><span class="id" title="method">add</span></a>;<br/> + <span class="id" title="var">_</span> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#left_inverse"><span class="id" title="definition">left_inverse</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#zero"><span class="id" title="method">zero</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#opp"><span class="id" title="method">opp</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#add"><span class="id" title="method">add</span></a><br/> }.<br/> <br/> @@ -733,20 +746,20 @@ <span class="id" title="keyword">Record</span> <a name="GRing.Zmodule.class_of"><span class="id" title="record">class_of</span></a> <span class="id" title="var">T</span> := <a name="GRing.Zmodule.Class"><span class="id" title="constructor">Class</span></a> { <a name="GRing.Zmodule.base"><span class="id" title="projection">base</span></a> : <a class="idref" href="mathcomp.ssreflect.choice.html#Choice.class_of"><span class="id" title="record">Choice.class_of</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#T"><span class="id" title="variable">T</span></a>; <a name="GRing.Zmodule.mixin"><span class="id" title="projection">mixin</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Zmodule.mixin_of"><span class="id" title="record">mixin_of</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#T"><span class="id" title="variable">T</span></a> }.<br/> <br/> -<span class="id" title="keyword">Structure</span> <a name="GRing.Zmodule.type"><span class="id" title="record">type</span></a> := <a name="GRing.Zmodule.Pack"><span class="id" title="constructor">Pack</span></a> {<a name="GRing.Zmodule.sort"><span class="id" title="projection">sort</span></a>; <span class="id" title="var">_</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Zmodule.class_of"><span class="id" title="record">class_of</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#sort"><span class="id" title="method">sort</span></a>; <span class="id" title="var">_</span> : <span class="id" title="keyword">Type</span>}.<br/> +<span class="id" title="keyword">Structure</span> <a name="GRing.Zmodule.type"><span class="id" title="record">type</span></a> := <a name="GRing.Zmodule.Pack"><span class="id" title="constructor">Pack</span></a> {<a name="GRing.Zmodule.sort"><span class="id" title="projection">sort</span></a>; <span class="id" title="var">_</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Zmodule.class_of"><span class="id" title="record">class_of</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#sort"><span class="id" title="method">sort</span></a>}.<br/> <span class="id" title="keyword">Variables</span> (<a name="GRing.Zmodule.ClassDef.T"><span class="id" title="variable">T</span></a> : <span class="id" title="keyword">Type</span>) (<a name="GRing.Zmodule.ClassDef.cT"><span class="id" title="variable">cT</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Zmodule.type"><span class="id" title="record">type</span></a>).<br/> -<span class="id" title="keyword">Definition</span> <a name="GRing.Zmodule.class"><span class="id" title="definition">class</span></a> := <span class="id" title="keyword">let</span>: <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Zmodule.Pack"><span class="id" title="constructor">Pack</span></a> <span class="id" title="var">_</span> <span class="id" title="var">c</span> <span class="id" title="var">_</span> <span class="id" title="keyword">as</span> <span class="id" title="var">cT'</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Zmodule.ClassDef.cT"><span class="id" title="variable">cT</span></a> <span class="id" title="keyword">return</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Zmodule.class_of"><span class="id" title="record">class_of</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#cT'"><span class="id" title="variable">cT'</span></a> <span class="id" title="tactic">in</span> <span class="id" title="var">c</span>.<br/> -<span class="id" title="keyword">Definition</span> <a name="GRing.Zmodule.clone"><span class="id" title="definition">clone</span></a> <span class="id" title="var">c</span> <span class="id" title="keyword">of</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#phant_id"><span class="id" title="definition">phant_id</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Zmodule.class"><span class="id" title="definition">class</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#c"><span class="id" title="variable">c</span></a> := @<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Zmodule.Pack"><span class="id" title="constructor">Pack</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Zmodule.ClassDef.T"><span class="id" title="variable">T</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#c"><span class="id" title="variable">c</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Zmodule.ClassDef.T"><span class="id" title="variable">T</span></a>.<br/> -<span class="id" title="keyword">Let</span> <a name="GRing.Zmodule.ClassDef.xT"><span class="id" title="variable">xT</span></a> := <span class="id" title="keyword">let</span>: <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Zmodule.Pack"><span class="id" title="constructor">Pack</span></a> <span class="id" title="var">T</span> <span class="id" title="var">_</span> <span class="id" title="var">_</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Zmodule.ClassDef.cT"><span class="id" title="variable">cT</span></a> <span class="id" title="tactic">in</span> <span class="id" title="var">T</span>.<br/> -<span class="id" title="keyword">Notation</span> <a name="GRing.Zmodule.xclass"><span class="id" title="abbreviation">xclass</span></a> := (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Zmodule.class"><span class="id" title="definition">class</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.ssralg.html#GRing.Zmodule.class_of"><span class="id" title="record">class_of</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Zmodule.ClassDef.xT"><span class="id" title="variable">xT</span></a>).<br/> +<span class="id" title="keyword">Definition</span> <a name="GRing.Zmodule.class"><span class="id" title="definition">class</span></a> := <span class="id" title="keyword">let</span>: <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Zmodule.Pack"><span class="id" title="constructor">Pack</span></a> <span class="id" title="var">_</span> <span class="id" title="var">c</span> <span class="id" title="keyword">as</span> <span class="id" title="var">cT'</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Zmodule.ClassDef.cT"><span class="id" title="variable">cT</span></a> <span class="id" title="keyword">return</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Zmodule.class_of"><span class="id" title="record">class_of</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#cT'"><span class="id" title="variable">cT'</span></a> <span class="id" title="tactic">in</span> <span class="id" title="var">c</span>.<br/> +<span class="id" title="keyword">Definition</span> <a name="GRing.Zmodule.clone"><span class="id" title="definition">clone</span></a> <span class="id" title="var">c</span> <span class="id" title="keyword">of</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#phant_id"><span class="id" title="definition">phant_id</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Zmodule.class"><span class="id" title="definition">class</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#c"><span class="id" title="variable">c</span></a> := @<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Zmodule.Pack"><span class="id" title="constructor">Pack</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Zmodule.ClassDef.T"><span class="id" title="variable">T</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#c"><span class="id" title="variable">c</span></a>.<br/> +<span class="id" title="keyword">Let</span> <a name="GRing.Zmodule.ClassDef.xT"><span class="id" title="variable">xT</span></a> := <span class="id" title="keyword">let</span>: <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Zmodule.Pack"><span class="id" title="constructor">Pack</span></a> <span class="id" title="var">T</span> <span class="id" title="var">_</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Zmodule.ClassDef.cT"><span class="id" title="variable">cT</span></a> <span class="id" title="tactic">in</span> <span class="id" title="var">T</span>.<br/> +<span class="id" title="keyword">Notation</span> <a name="GRing.Zmodule.xclass"><span class="id" title="abbreviation">xclass</span></a> := (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Zmodule.class"><span class="id" title="definition">class</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssreflect.html#aed478b27f23b4f753c27c8ac393febc"><span class="id" title="notation">:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Zmodule.class_of"><span class="id" title="record">class_of</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Zmodule.ClassDef.xT"><span class="id" title="variable">xT</span></a>).<br/> <br/> <span class="id" title="keyword">Definition</span> <a name="GRing.Zmodule.pack"><span class="id" title="definition">pack</span></a> <span class="id" title="var">m</span> :=<br/> - <span class="id" title="keyword">fun</span> <span class="id" title="var">bT</span> <span class="id" title="var">b</span> & <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#phant_id"><span class="id" title="definition">phant_id</span></a> (<a class="idref" href="mathcomp.ssreflect.choice.html#Choice.class"><span class="id" title="definition">Choice.class</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#bT"><span class="id" title="variable">bT</span></a>) <a class="idref" href="mathcomp.algebra.ssralg.html#b"><span class="id" title="variable">b</span></a> ⇒ <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Zmodule.Pack"><span class="id" title="constructor">Pack</span></a> (@<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Zmodule.Class"><span class="id" title="constructor">Class</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Zmodule.ClassDef.T"><span class="id" title="variable">T</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b"><span class="id" title="variable">b</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#m"><span class="id" title="variable">m</span></a>) <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Zmodule.ClassDef.T"><span class="id" title="variable">T</span></a>.<br/> + <span class="id" title="keyword">fun</span> <span class="id" title="var">bT</span> <span class="id" title="var">b</span> & <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#phant_id"><span class="id" title="definition">phant_id</span></a> (<a class="idref" href="mathcomp.ssreflect.choice.html#Choice.class"><span class="id" title="definition">Choice.class</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#bT"><span class="id" title="variable">bT</span></a>) <a class="idref" href="mathcomp.algebra.ssralg.html#b"><span class="id" title="variable">b</span></a> ⇒ <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Zmodule.Pack"><span class="id" title="constructor">Pack</span></a> (@<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Zmodule.Class"><span class="id" title="constructor">Class</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Zmodule.ClassDef.T"><span class="id" title="variable">T</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b"><span class="id" title="variable">b</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#m"><span class="id" title="variable">m</span></a>).<br/> <br/> -<span class="id" title="keyword">Definition</span> <a name="GRing.Zmodule.eqType"><span class="id" title="definition">eqType</span></a> := @<a class="idref" href="mathcomp.ssreflect.eqtype.html#Equality.Pack"><span class="id" title="constructor">Equality.Pack</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Zmodule.ClassDef.cT"><span class="id" title="variable">cT</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Zmodule.xclass"><span class="id" title="abbreviation">xclass</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Zmodule.ClassDef.xT"><span class="id" title="variable">xT</span></a>.<br/> -<span class="id" title="keyword">Definition</span> <a name="GRing.Zmodule.choiceType"><span class="id" title="definition">choiceType</span></a> := @<a class="idref" href="mathcomp.ssreflect.choice.html#Choice.Pack"><span class="id" title="constructor">Choice.Pack</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Zmodule.ClassDef.cT"><span class="id" title="variable">cT</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Zmodule.xclass"><span class="id" title="abbreviation">xclass</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Zmodule.ClassDef.xT"><span class="id" title="variable">xT</span></a>.<br/> +<span class="id" title="keyword">Definition</span> <a name="GRing.Zmodule.eqType"><span class="id" title="definition">eqType</span></a> := @<a class="idref" href="mathcomp.ssreflect.eqtype.html#Equality.Pack"><span class="id" title="constructor">Equality.Pack</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Zmodule.ClassDef.cT"><span class="id" title="variable">cT</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Zmodule.xclass"><span class="id" title="abbreviation">xclass</span></a>.<br/> +<span class="id" title="keyword">Definition</span> <a name="GRing.Zmodule.choiceType"><span class="id" title="definition">choiceType</span></a> := @<a class="idref" href="mathcomp.ssreflect.choice.html#Choice.Pack"><span class="id" title="constructor">Choice.Pack</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Zmodule.ClassDef.cT"><span class="id" title="variable">cT</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Zmodule.xclass"><span class="id" title="abbreviation">xclass</span></a>.<br/> <br/> <span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Zmodule.ClassDef"><span class="id" title="section">ClassDef</span></a>.<br/> @@ -761,11 +774,11 @@ <span class="id" title="keyword">Coercion</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Zmodule.choiceType"><span class="id" title="definition">choiceType</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Zmodule.choiceType"><span class="id" title="definition">:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Zmodule.choiceType"><span class="id" title="definition">type</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Zmodule.choiceType"><span class="id" title="definition">>-></span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Zmodule.choiceType"><span class="id" title="definition">Choice.type</span></a>.<br/> <span class="id" title="keyword">Canonical</span> <span class="id" title="var">choiceType</span>.<br/> <span class="id" title="keyword">Notation</span> <a name="GRing.Zmodule.Exports.zmodType"><span class="id" title="abbreviation">zmodType</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Zmodule.type"><span class="id" title="record">type</span></a>.<br/> -<span class="id" title="keyword">Notation</span> <a name="GRing.Zmodule.Exports.ZmodType"><span class="id" title="abbreviation">ZmodType</span></a> <span class="id" title="var">T</span> <span class="id" title="var">m</span> := (@<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Zmodule.pack"><span class="id" title="definition">pack</span></a> <span class="id" title="var">T</span> <span class="id" title="var">m</span> <span class="id" title="var">_</span> <span class="id" title="var">_</span> <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>).<br/> +<span class="id" title="keyword">Notation</span> <a name="GRing.Zmodule.Exports.ZmodType"><span class="id" title="abbreviation">ZmodType</span></a> <span class="id" title="var">T</span> <span class="id" title="var">m</span> := (@<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Zmodule.pack"><span class="id" title="definition">pack</span></a> <span class="id" title="var">T</span> <span class="id" title="var">m</span> <span class="id" title="var">_</span> <span class="id" title="var">_</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#id"><span class="id" title="abbreviation">id</span></a>).<br/> <span class="id" title="keyword">Notation</span> <a name="GRing.Zmodule.Exports.ZmodMixin"><span class="id" title="abbreviation">ZmodMixin</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Zmodule.Mixin"><span class="id" title="constructor">Mixin</span></a>.<br/> -<span class="id" title="keyword">Notation</span> <a name="285f5ccd0012cc284cf906e2e04f16f7"><span class="id" title="notation">"</span></a>[ 'zmodType' 'of' T 'for' cT ]" := (@<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Zmodule.clone"><span class="id" title="definition">clone</span></a> <span class="id" title="var">T</span> <span class="id" title="var">cT</span> <span class="id" title="var">_</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#idfun"><span class="id" title="abbreviation">idfun</span></a>)<br/> +<span class="id" title="keyword">Notation</span> <a name="39c4486aeb13eba38054a2f7092a4a46"><span class="id" title="notation">"</span></a>[ 'zmodType' 'of' T 'for' cT ]" := (@<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Zmodule.clone"><span class="id" title="definition">clone</span></a> <span class="id" title="var">T</span> <span class="id" title="var">cT</span> <span class="id" title="var">_</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#idfun"><span class="id" title="abbreviation">idfun</span></a>)<br/> (<span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 0, <span class="id" title="var">format</span> "[ 'zmodType' 'of' T 'for' cT ]") : <span class="id" title="var">form_scope</span>.<br/> -<span class="id" title="keyword">Notation</span> <a name="af6385fc2df84aeeec6855073f75cc68"><span class="id" title="notation">"</span></a>[ 'zmodType' 'of' T ]" := (@<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Zmodule.clone"><span class="id" title="definition">clone</span></a> <span class="id" title="var">T</span> <span class="id" title="var">_</span> <span class="id" title="var">_</span> <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>)<br/> +<span class="id" title="keyword">Notation</span> <a name="97b11d2a158d9db11032c2626798c6ac"><span class="id" title="notation">"</span></a>[ 'zmodType' 'of' T ]" := (@<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Zmodule.clone"><span class="id" title="definition">clone</span></a> <span class="id" title="var">T</span> <span class="id" title="var">_</span> <span class="id" title="var">_</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#id"><span class="id" title="abbreviation">id</span></a>)<br/> (<span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 0, <span class="id" title="var">format</span> "[ 'zmodType' 'of' T ]") : <span class="id" title="var">form_scope</span>.<br/> <span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Zmodule.Exports"><span class="id" title="module">Exports</span></a>.<br/> @@ -781,7 +794,7 @@ <br/> <br/> -<span class="id" title="keyword">Definition</span> <a name="GRing.natmul"><span class="id" title="definition">natmul</span></a> <span class="id" title="var">V</span> <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.ssr.ssreflect.html#nosimpl"><span class="id" title="abbreviation">nosimpl</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#iterop"><span class="id" title="definition">iterop</span></a> <span class="id" title="var">_</span> <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#6c3404a70e11a79a0fa82b3d398aa71f"><span class="id" title="notation">+%</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#6c3404a70e11a79a0fa82b3d398aa71f"><span class="id" title="notation">R</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.zero"><span class="id" title="definition">zero</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#V"><span class="id" title="variable">V</span></a>).<br/> +<span class="id" title="keyword">Definition</span> <a name="GRing.natmul"><span class="id" title="definition">natmul</span></a> <span class="id" title="var">V</span> <span class="id" title="var">x</span> <span class="id" title="var">n</span> := <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssreflect.html#nosimpl"><span class="id" title="abbreviation">nosimpl</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#iterop"><span class="id" title="definition">iterop</span></a> <span class="id" title="var">_</span> <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#89db507031b6d4a3d916a0f1c8eeaac2"><span class="id" title="notation">+%</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#89db507031b6d4a3d916a0f1c8eeaac2"><span class="id" title="notation">R</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.zero"><span class="id" title="definition">zero</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#V"><span class="id" title="variable">V</span></a>).<br/> <br/> @@ -797,14 +810,14 @@ <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.ssralg.html#GRing.ZmoduleTheory.V"><span class="id" title="variable">V</span></a>.<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.addrA"><span class="id" title="lemma">addrA</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.ssralg.html#GRing.ZmoduleTheory.V"><span class="id" title="variable">V</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#6c3404a70e11a79a0fa82b3d398aa71f"><span class="id" title="notation">+%</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#6c3404a70e11a79a0fa82b3d398aa71f"><span class="id" title="notation">R</span></a>. <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.addrC"><span class="id" title="lemma">addrC</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.ssralg.html#GRing.ZmoduleTheory.V"><span class="id" title="variable">V</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ZmoduleTheory.V"><span class="id" title="variable">V</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#6c3404a70e11a79a0fa82b3d398aa71f"><span class="id" title="notation">+%</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#6c3404a70e11a79a0fa82b3d398aa71f"><span class="id" title="notation">R</span></a>. <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.add0r"><span class="id" title="lemma">add0r</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> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ZmoduleTheory.V"><span class="id" title="variable">V</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ZmoduleTheory.V"><span class="id" title="variable">V</span></a> 0 <a class="idref" href="mathcomp.algebra.ssralg.html#6c3404a70e11a79a0fa82b3d398aa71f"><span class="id" title="notation">+%</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#6c3404a70e11a79a0fa82b3d398aa71f"><span class="id" title="notation">R</span></a>. <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.addNr"><span class="id" title="lemma">addNr</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> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ZmoduleTheory.V"><span class="id" title="variable">V</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ZmoduleTheory.V"><span class="id" title="variable">V</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ZmoduleTheory.V"><span class="id" title="variable">V</span></a> 0 <a class="idref" href="mathcomp.algebra.ssralg.html#221881b99d58ceaaa33c4172192f697e"><span class="id" title="notation">-%</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#221881b99d58ceaaa33c4172192f697e"><span class="id" title="notation">R</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#6c3404a70e11a79a0fa82b3d398aa71f"><span class="id" title="notation">+%</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#6c3404a70e11a79a0fa82b3d398aa71f"><span class="id" title="notation">R</span></a>. <br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.addrA"><span class="id" title="lemma">addrA</span></a> : @<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#associative"><span class="id" title="definition">associative</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ZmoduleTheory.V"><span class="id" title="variable">V</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#89db507031b6d4a3d916a0f1c8eeaac2"><span class="id" title="notation">+%</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#89db507031b6d4a3d916a0f1c8eeaac2"><span class="id" title="notation">R</span></a>. <br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.addrC"><span class="id" title="lemma">addrC</span></a> : @<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#commutative"><span class="id" title="definition">commutative</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ZmoduleTheory.V"><span class="id" title="variable">V</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ZmoduleTheory.V"><span class="id" title="variable">V</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#89db507031b6d4a3d916a0f1c8eeaac2"><span class="id" title="notation">+%</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#89db507031b6d4a3d916a0f1c8eeaac2"><span class="id" title="notation">R</span></a>. <br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.add0r"><span class="id" title="lemma">add0r</span></a> : @<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#left_id"><span class="id" title="definition">left_id</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ZmoduleTheory.V"><span class="id" title="variable">V</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ZmoduleTheory.V"><span class="id" title="variable">V</span></a> 0 <a class="idref" href="mathcomp.algebra.ssralg.html#89db507031b6d4a3d916a0f1c8eeaac2"><span class="id" title="notation">+%</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#89db507031b6d4a3d916a0f1c8eeaac2"><span class="id" title="notation">R</span></a>. <br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.addNr"><span class="id" title="lemma">addNr</span></a> : @<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#left_inverse"><span class="id" title="definition">left_inverse</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ZmoduleTheory.V"><span class="id" title="variable">V</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ZmoduleTheory.V"><span class="id" title="variable">V</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ZmoduleTheory.V"><span class="id" title="variable">V</span></a> 0 <a class="idref" href="mathcomp.algebra.ssralg.html#f6c07ffdcee3462925d63c623b06b027"><span class="id" title="notation">-%</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#f6c07ffdcee3462925d63c623b06b027"><span class="id" title="notation">R</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#89db507031b6d4a3d916a0f1c8eeaac2"><span class="id" title="notation">+%</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#89db507031b6d4a3d916a0f1c8eeaac2"><span class="id" title="notation">R</span></a>. <br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.addr0"><span class="id" title="lemma">addr0</span></a> : @<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#right_id"><span class="id" title="definition">right_id</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ZmoduleTheory.V"><span class="id" title="variable">V</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ZmoduleTheory.V"><span class="id" title="variable">V</span></a> 0 <a class="idref" href="mathcomp.algebra.ssralg.html#6c3404a70e11a79a0fa82b3d398aa71f"><span class="id" title="notation">+%</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#6c3404a70e11a79a0fa82b3d398aa71f"><span class="id" title="notation">R</span></a>.<br/> - <span class="id" title="keyword">Lemma</span> <a name="GRing.addrN"><span class="id" title="lemma">addrN</span></a> : @<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#right_inverse"><span class="id" title="definition">right_inverse</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ZmoduleTheory.V"><span class="id" title="variable">V</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ZmoduleTheory.V"><span class="id" title="variable">V</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ZmoduleTheory.V"><span class="id" title="variable">V</span></a> 0 <a class="idref" href="mathcomp.algebra.ssralg.html#221881b99d58ceaaa33c4172192f697e"><span class="id" title="notation">-%</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#221881b99d58ceaaa33c4172192f697e"><span class="id" title="notation">R</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#6c3404a70e11a79a0fa82b3d398aa71f"><span class="id" title="notation">+%</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#6c3404a70e11a79a0fa82b3d398aa71f"><span class="id" title="notation">R</span></a>.<br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.addr0"><span class="id" title="lemma">addr0</span></a> : @<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#right_id"><span class="id" title="definition">right_id</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ZmoduleTheory.V"><span class="id" title="variable">V</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ZmoduleTheory.V"><span class="id" title="variable">V</span></a> 0 <a class="idref" href="mathcomp.algebra.ssralg.html#89db507031b6d4a3d916a0f1c8eeaac2"><span class="id" title="notation">+%</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#89db507031b6d4a3d916a0f1c8eeaac2"><span class="id" title="notation">R</span></a>.<br/> + <span class="id" title="keyword">Lemma</span> <a name="GRing.addrN"><span class="id" title="lemma">addrN</span></a> : @<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#right_inverse"><span class="id" title="definition">right_inverse</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ZmoduleTheory.V"><span class="id" title="variable">V</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ZmoduleTheory.V"><span class="id" title="variable">V</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ZmoduleTheory.V"><span class="id" title="variable">V</span></a> 0 <a class="idref" href="mathcomp.algebra.ssralg.html#f6c07ffdcee3462925d63c623b06b027"><span class="id" title="notation">-%</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#f6c07ffdcee3462925d63c623b06b027"><span class="id" title="notation">R</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#89db507031b6d4a3d916a0f1c8eeaac2"><span class="id" title="notation">+%</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#89db507031b6d4a3d916a0f1c8eeaac2"><span class="id" title="notation">R</span></a>.<br/> <span class="id" title="keyword">Definition</span> <a name="GRing.subrr"><span class="id" title="definition">subrr</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.addrN"><span class="id" title="lemma">addrN</span></a>.<br/> <br/> @@ -812,143 +825,143 @@ <span class="id" title="keyword">Canonical</span> <span class="id" title="var">add_comoid</span> := <a class="idref" href="mathcomp.ssreflect.bigop.html#Monoid.ComLaw"><span class="id" title="constructor">Monoid.ComLaw</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.addrC"><span class="id" title="lemma">addrC</span></a>.<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.addrCA"><span class="id" title="lemma">addrCA</span></a> : @<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#left_commutative"><span class="id" title="definition">left_commutative</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ZmoduleTheory.V"><span class="id" title="variable">V</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ZmoduleTheory.V"><span class="id" title="variable">V</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#6c3404a70e11a79a0fa82b3d398aa71f"><span class="id" title="notation">+%</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#6c3404a70e11a79a0fa82b3d398aa71f"><span class="id" title="notation">R</span></a>. <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.addrAC"><span class="id" title="lemma">addrAC</span></a> : @<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#right_commutative"><span class="id" title="definition">right_commutative</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ZmoduleTheory.V"><span class="id" title="variable">V</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ZmoduleTheory.V"><span class="id" title="variable">V</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#6c3404a70e11a79a0fa82b3d398aa71f"><span class="id" title="notation">+%</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#6c3404a70e11a79a0fa82b3d398aa71f"><span class="id" title="notation">R</span></a>. <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.addrACA"><span class="id" title="lemma">addrACA</span></a> : @<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#interchange"><span class="id" title="definition">interchange</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ZmoduleTheory.V"><span class="id" title="variable">V</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#6c3404a70e11a79a0fa82b3d398aa71f"><span class="id" title="notation">+%</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#6c3404a70e11a79a0fa82b3d398aa71f"><span class="id" title="notation">R</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#6c3404a70e11a79a0fa82b3d398aa71f"><span class="id" title="notation">+%</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#6c3404a70e11a79a0fa82b3d398aa71f"><span class="id" title="notation">R</span></a>. <br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.addrCA"><span class="id" title="lemma">addrCA</span></a> : @<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#left_commutative"><span class="id" title="definition">left_commutative</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ZmoduleTheory.V"><span class="id" title="variable">V</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ZmoduleTheory.V"><span class="id" title="variable">V</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#89db507031b6d4a3d916a0f1c8eeaac2"><span class="id" title="notation">+%</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#89db507031b6d4a3d916a0f1c8eeaac2"><span class="id" title="notation">R</span></a>. <br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.addrAC"><span class="id" title="lemma">addrAC</span></a> : @<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#right_commutative"><span class="id" title="definition">right_commutative</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ZmoduleTheory.V"><span class="id" title="variable">V</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ZmoduleTheory.V"><span class="id" title="variable">V</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#89db507031b6d4a3d916a0f1c8eeaac2"><span class="id" title="notation">+%</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#89db507031b6d4a3d916a0f1c8eeaac2"><span class="id" title="notation">R</span></a>. <br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.addrACA"><span class="id" title="lemma">addrACA</span></a> : @<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#interchange"><span class="id" title="definition">interchange</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ZmoduleTheory.V"><span class="id" title="variable">V</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#89db507031b6d4a3d916a0f1c8eeaac2"><span class="id" title="notation">+%</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#89db507031b6d4a3d916a0f1c8eeaac2"><span class="id" title="notation">R</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#89db507031b6d4a3d916a0f1c8eeaac2"><span class="id" title="notation">+%</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#89db507031b6d4a3d916a0f1c8eeaac2"><span class="id" title="notation">R</span></a>. <br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.addKr"><span class="id" title="lemma">addKr</span></a> : @<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#left_loop"><span class="id" title="definition">left_loop</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ZmoduleTheory.V"><span class="id" title="variable">V</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ZmoduleTheory.V"><span class="id" title="variable">V</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#221881b99d58ceaaa33c4172192f697e"><span class="id" title="notation">-%</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#221881b99d58ceaaa33c4172192f697e"><span class="id" title="notation">R</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#6c3404a70e11a79a0fa82b3d398aa71f"><span class="id" title="notation">+%</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#6c3404a70e11a79a0fa82b3d398aa71f"><span class="id" title="notation">R</span></a>.<br/> - <span class="id" title="keyword">Lemma</span> <a name="GRing.addNKr"><span class="id" title="lemma">addNKr</span></a> : @<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#rev_left_loop"><span class="id" title="definition">rev_left_loop</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ZmoduleTheory.V"><span class="id" title="variable">V</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ZmoduleTheory.V"><span class="id" title="variable">V</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#221881b99d58ceaaa33c4172192f697e"><span class="id" title="notation">-%</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#221881b99d58ceaaa33c4172192f697e"><span class="id" title="notation">R</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#6c3404a70e11a79a0fa82b3d398aa71f"><span class="id" title="notation">+%</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#6c3404a70e11a79a0fa82b3d398aa71f"><span class="id" title="notation">R</span></a>.<br/> - <span class="id" title="keyword">Lemma</span> <a name="GRing.addrK"><span class="id" title="lemma">addrK</span></a> : @<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#right_loop"><span class="id" title="definition">right_loop</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ZmoduleTheory.V"><span class="id" title="variable">V</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ZmoduleTheory.V"><span class="id" title="variable">V</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#221881b99d58ceaaa33c4172192f697e"><span class="id" title="notation">-%</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#221881b99d58ceaaa33c4172192f697e"><span class="id" title="notation">R</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#6c3404a70e11a79a0fa82b3d398aa71f"><span class="id" title="notation">+%</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#6c3404a70e11a79a0fa82b3d398aa71f"><span class="id" title="notation">R</span></a>.<br/> - <span class="id" title="keyword">Lemma</span> <a name="GRing.addrNK"><span class="id" title="lemma">addrNK</span></a> : @<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#rev_right_loop"><span class="id" title="definition">rev_right_loop</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ZmoduleTheory.V"><span class="id" title="variable">V</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ZmoduleTheory.V"><span class="id" title="variable">V</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#221881b99d58ceaaa33c4172192f697e"><span class="id" title="notation">-%</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#221881b99d58ceaaa33c4172192f697e"><span class="id" title="notation">R</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#6c3404a70e11a79a0fa82b3d398aa71f"><span class="id" title="notation">+%</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#6c3404a70e11a79a0fa82b3d398aa71f"><span class="id" title="notation">R</span></a>.<br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.addKr"><span class="id" title="lemma">addKr</span></a> : @<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#left_loop"><span class="id" title="definition">left_loop</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ZmoduleTheory.V"><span class="id" title="variable">V</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ZmoduleTheory.V"><span class="id" title="variable">V</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f6c07ffdcee3462925d63c623b06b027"><span class="id" title="notation">-%</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#f6c07ffdcee3462925d63c623b06b027"><span class="id" title="notation">R</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#89db507031b6d4a3d916a0f1c8eeaac2"><span class="id" title="notation">+%</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#89db507031b6d4a3d916a0f1c8eeaac2"><span class="id" title="notation">R</span></a>.<br/> + <span class="id" title="keyword">Lemma</span> <a name="GRing.addNKr"><span class="id" title="lemma">addNKr</span></a> : @<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#rev_left_loop"><span class="id" title="definition">rev_left_loop</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ZmoduleTheory.V"><span class="id" title="variable">V</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ZmoduleTheory.V"><span class="id" title="variable">V</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f6c07ffdcee3462925d63c623b06b027"><span class="id" title="notation">-%</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#f6c07ffdcee3462925d63c623b06b027"><span class="id" title="notation">R</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#89db507031b6d4a3d916a0f1c8eeaac2"><span class="id" title="notation">+%</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#89db507031b6d4a3d916a0f1c8eeaac2"><span class="id" title="notation">R</span></a>.<br/> + <span class="id" title="keyword">Lemma</span> <a name="GRing.addrK"><span class="id" title="lemma">addrK</span></a> : @<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#right_loop"><span class="id" title="definition">right_loop</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ZmoduleTheory.V"><span class="id" title="variable">V</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ZmoduleTheory.V"><span class="id" title="variable">V</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f6c07ffdcee3462925d63c623b06b027"><span class="id" title="notation">-%</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#f6c07ffdcee3462925d63c623b06b027"><span class="id" title="notation">R</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#89db507031b6d4a3d916a0f1c8eeaac2"><span class="id" title="notation">+%</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#89db507031b6d4a3d916a0f1c8eeaac2"><span class="id" title="notation">R</span></a>.<br/> + <span class="id" title="keyword">Lemma</span> <a name="GRing.addrNK"><span class="id" title="lemma">addrNK</span></a> : @<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#rev_right_loop"><span class="id" title="definition">rev_right_loop</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ZmoduleTheory.V"><span class="id" title="variable">V</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ZmoduleTheory.V"><span class="id" title="variable">V</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f6c07ffdcee3462925d63c623b06b027"><span class="id" title="notation">-%</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#f6c07ffdcee3462925d63c623b06b027"><span class="id" title="notation">R</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#89db507031b6d4a3d916a0f1c8eeaac2"><span class="id" title="notation">+%</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#89db507031b6d4a3d916a0f1c8eeaac2"><span class="id" title="notation">R</span></a>.<br/> <span class="id" title="keyword">Definition</span> <a name="GRing.subrK"><span class="id" title="definition">subrK</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.addrNK"><span class="id" title="lemma">addrNK</span></a>.<br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.subKr"><span class="id" title="lemma">subKr</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#involutive"><span class="id" title="definition">involutive</span></a> (<span class="id" title="keyword">fun</span> <span class="id" title="var">y</span> ⇒ <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#4d4b9697032429ec46472e6332d1356a"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a>).<br/> - <span class="id" title="keyword">Lemma</span> <a name="GRing.addrI"><span class="id" title="lemma">addrI</span></a> : @<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#right_injective"><span class="id" title="definition">right_injective</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ZmoduleTheory.V"><span class="id" title="variable">V</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ZmoduleTheory.V"><span class="id" title="variable">V</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ZmoduleTheory.V"><span class="id" title="variable">V</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#6c3404a70e11a79a0fa82b3d398aa71f"><span class="id" title="notation">+%</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#6c3404a70e11a79a0fa82b3d398aa71f"><span class="id" title="notation">R</span></a>.<br/> - <span class="id" title="keyword">Lemma</span> <a name="GRing.addIr"><span class="id" title="lemma">addIr</span></a> : @<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#left_injective"><span class="id" title="definition">left_injective</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ZmoduleTheory.V"><span class="id" title="variable">V</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ZmoduleTheory.V"><span class="id" title="variable">V</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ZmoduleTheory.V"><span class="id" title="variable">V</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#6c3404a70e11a79a0fa82b3d398aa71f"><span class="id" title="notation">+%</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#6c3404a70e11a79a0fa82b3d398aa71f"><span class="id" title="notation">R</span></a>.<br/> - <span class="id" title="keyword">Lemma</span> <a name="GRing.subrI"><span class="id" title="lemma">subrI</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#right_injective"><span class="id" title="definition">right_injective</span></a> (<span class="id" title="keyword">fun</span> <span class="id" title="var">x</span> <span class="id" title="var">y</span> ⇒ <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#4d4b9697032429ec46472e6332d1356a"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a>).<br/> - <span class="id" title="keyword">Lemma</span> <a name="GRing.subIr"><span class="id" title="lemma">subIr</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#left_injective"><span class="id" title="definition">left_injective</span></a> (<span class="id" title="keyword">fun</span> <span class="id" title="var">x</span> <span class="id" title="var">y</span> ⇒ <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#4d4b9697032429ec46472e6332d1356a"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a>).<br/> - <span class="id" title="keyword">Lemma</span> <a name="GRing.opprK"><span class="id" title="lemma">opprK</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.ssralg.html#GRing.ZmoduleTheory.V"><span class="id" title="variable">V</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#221881b99d58ceaaa33c4172192f697e"><span class="id" title="notation">-%</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#221881b99d58ceaaa33c4172192f697e"><span class="id" title="notation">R</span></a>.<br/> - <span class="id" title="keyword">Lemma</span> <a name="GRing.oppr_inj"><span class="id" title="lemma">oppr_inj</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="mathcomp.algebra.ssralg.html#GRing.ZmoduleTheory.V"><span class="id" title="variable">V</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ZmoduleTheory.V"><span class="id" title="variable">V</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#221881b99d58ceaaa33c4172192f697e"><span class="id" title="notation">-%</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#221881b99d58ceaaa33c4172192f697e"><span class="id" title="notation">R</span></a>.<br/> - <span class="id" title="keyword">Lemma</span> <a name="GRing.oppr0"><span class="id" title="lemma">oppr0</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#eefae7eea8ed2b8fccf150cb653d7a7b"><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">=</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">:></span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ZmoduleTheory.V"><span class="id" title="variable">V</span></a>.<br/> - <span class="id" title="keyword">Lemma</span> <a name="GRing.oppr_eq0"><span class="id" title="lemma">oppr_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.ssralg.html#eefae7eea8ed2b8fccf150cb653d7a7b"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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.ssralg.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/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.subKr"><span class="id" title="lemma">subKr</span></a> <span class="id" title="var">x</span> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#involutive"><span class="id" title="definition">involutive</span></a> (<span class="id" title="keyword">fun</span> <span class="id" title="var">y</span> ⇒ <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#4a5fc7f0d0a33bc3822357a38c953c9e"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a>).<br/> + <span class="id" title="keyword">Lemma</span> <a name="GRing.addrI"><span class="id" title="lemma">addrI</span></a> : @<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#right_injective"><span class="id" title="definition">right_injective</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ZmoduleTheory.V"><span class="id" title="variable">V</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ZmoduleTheory.V"><span class="id" title="variable">V</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ZmoduleTheory.V"><span class="id" title="variable">V</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#89db507031b6d4a3d916a0f1c8eeaac2"><span class="id" title="notation">+%</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#89db507031b6d4a3d916a0f1c8eeaac2"><span class="id" title="notation">R</span></a>.<br/> + <span class="id" title="keyword">Lemma</span> <a name="GRing.addIr"><span class="id" title="lemma">addIr</span></a> : @<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#left_injective"><span class="id" title="definition">left_injective</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ZmoduleTheory.V"><span class="id" title="variable">V</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ZmoduleTheory.V"><span class="id" title="variable">V</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ZmoduleTheory.V"><span class="id" title="variable">V</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#89db507031b6d4a3d916a0f1c8eeaac2"><span class="id" title="notation">+%</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#89db507031b6d4a3d916a0f1c8eeaac2"><span class="id" title="notation">R</span></a>.<br/> + <span class="id" title="keyword">Lemma</span> <a name="GRing.subrI"><span class="id" title="lemma">subrI</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#right_injective"><span class="id" title="definition">right_injective</span></a> (<span class="id" title="keyword">fun</span> <span class="id" title="var">x</span> <span class="id" title="var">y</span> ⇒ <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#4a5fc7f0d0a33bc3822357a38c953c9e"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a>).<br/> + <span class="id" title="keyword">Lemma</span> <a name="GRing.subIr"><span class="id" title="lemma">subIr</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#left_injective"><span class="id" title="definition">left_injective</span></a> (<span class="id" title="keyword">fun</span> <span class="id" title="var">x</span> <span class="id" title="var">y</span> ⇒ <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#4a5fc7f0d0a33bc3822357a38c953c9e"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a>).<br/> + <span class="id" title="keyword">Lemma</span> <a name="GRing.opprK"><span class="id" title="lemma">opprK</span></a> : @<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#involutive"><span class="id" title="definition">involutive</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ZmoduleTheory.V"><span class="id" title="variable">V</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f6c07ffdcee3462925d63c623b06b027"><span class="id" title="notation">-%</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#f6c07ffdcee3462925d63c623b06b027"><span class="id" title="notation">R</span></a>.<br/> + <span class="id" title="keyword">Lemma</span> <a name="GRing.oppr_inj"><span class="id" title="lemma">oppr_inj</span></a> : @<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#injective"><span class="id" title="definition">injective</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ZmoduleTheory.V"><span class="id" title="variable">V</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ZmoduleTheory.V"><span class="id" title="variable">V</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f6c07ffdcee3462925d63c623b06b027"><span class="id" title="notation">-%</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#f6c07ffdcee3462925d63c623b06b027"><span class="id" title="notation">R</span></a>.<br/> + <span class="id" title="keyword">Lemma</span> <a name="GRing.oppr0"><span class="id" title="lemma">oppr0</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#aa58dfcfb323e1f070c38e31f9efddbe"><span class="id" title="notation">-</span></a>0 <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#b8b2ebc8e1a8b9aa935c0702efb5dccf"><span class="id" title="notation">=</span></a> 0 <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#b8b2ebc8e1a8b9aa935c0702efb5dccf"><span class="id" title="notation">:></span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ZmoduleTheory.V"><span class="id" title="variable">V</span></a>.<br/> + <span class="id" title="keyword">Lemma</span> <a name="GRing.oppr_eq0"><span class="id" title="lemma">oppr_eq0</span></a> <span class="id" title="var">x</span> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#aa58dfcfb323e1f070c38e31f9efddbe"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#df45e8c2e8370fd4f0f7c4fdaf208180"><span class="id" title="notation">==</span></a> 0<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#df45e8c2e8370fd4f0f7c4fdaf208180"><span class="id" title="notation">==</span></a> 0<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">)</span></a>.<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.subr0"><span class="id" title="lemma">subr0</span></a> <span class="id" title="var">x</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#4d4b9697032429ec46472e6332d1356a"><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="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a>. <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.sub0r"><span class="id" title="lemma">sub0r</span></a> <span class="id" title="var">x</span> : 0 <a class="idref" href="mathcomp.algebra.ssralg.html#4d4b9697032429ec46472e6332d1356a"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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#eefae7eea8ed2b8fccf150cb653d7a7b"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a>. <br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.subr0"><span class="id" title="lemma">subr0</span></a> <span class="id" title="var">x</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#4a5fc7f0d0a33bc3822357a38c953c9e"><span class="id" title="notation">-</span></a> 0 <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a>. <br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.sub0r"><span class="id" title="lemma">sub0r</span></a> <span class="id" title="var">x</span> : 0 <a class="idref" href="mathcomp.algebra.ssralg.html#4a5fc7f0d0a33bc3822357a38c953c9e"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#aa58dfcfb323e1f070c38e31f9efddbe"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a>. <br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.opprB"><span class="id" title="lemma">opprB</span></a> <span class="id" title="var">x</span> <span class="id" title="var">y</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#eefae7eea8ed2b8fccf150cb653d7a7b"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#eefae7eea8ed2b8fccf150cb653d7a7b"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#4d4b9697032429ec46472e6332d1356a"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#eefae7eea8ed2b8fccf150cb653d7a7b"><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#y"><span class="id" title="variable">y</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#4d4b9697032429ec46472e6332d1356a"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a>.<br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.opprB"><span class="id" title="lemma">opprB</span></a> <span class="id" title="var">x</span> <span class="id" title="var">y</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#aa58dfcfb323e1f070c38e31f9efddbe"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#aa58dfcfb323e1f070c38e31f9efddbe"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#4a5fc7f0d0a33bc3822357a38c953c9e"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#aa58dfcfb323e1f070c38e31f9efddbe"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#4a5fc7f0d0a33bc3822357a38c953c9e"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a>.<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.opprD"><span class="id" title="lemma">opprD</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.ssralg.html#221881b99d58ceaaa33c4172192f697e"><span class="id" title="notation">-%</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#221881b99d58ceaaa33c4172192f697e"><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#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.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#338c5345074fd3586073fd29273c138a"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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.ssreflect.html#4509b22bf26e3d6d771897e22bd8bc8f"><span class="id" title="notation">:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ZmoduleTheory.V"><span class="id" title="variable">V</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/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.opprD"><span class="id" title="lemma">opprD</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#e69c60b553f06d3463460a9f4cee3c01"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#e69c60b553f06d3463460a9f4cee3c01"><span class="id" title="notation">morph</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f6c07ffdcee3462925d63c623b06b027"><span class="id" title="notation">-%</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#f6c07ffdcee3462925d63c623b06b027"><span class="id" title="notation">R</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#e69c60b553f06d3463460a9f4cee3c01"><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/V8.9.0/stdlib//Coq.ssr.ssrfun.html#e69c60b553f06d3463460a9f4cee3c01"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#730bbb3cf1092122fa1a208d3879e5e8"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssreflect.html#aed478b27f23b4f753c27c8ac393febc"><span class="id" title="notation">:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ZmoduleTheory.V"><span class="id" title="variable">V</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#e69c60b553f06d3463460a9f4cee3c01"><span class="id" title="notation">}</span></a>.<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.addrKA"><span class="id" title="lemma">addrKA</span></a> <span class="id" title="var">z</span> <span class="id" title="var">x</span> <span class="id" title="var">y</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#4d4b9697032429ec46472e6332d1356a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#338c5345074fd3586073fd29273c138a"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#z"><span class="id" title="variable">z</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#4d4b9697032429ec46472e6332d1356a"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#4d4b9697032429ec46472e6332d1356a"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#4d4b9697032429ec46472e6332d1356a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#z"><span class="id" title="variable">z</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#338c5345074fd3586073fd29273c138a"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#4d4b9697032429ec46472e6332d1356a"><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#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#4d4b9697032429ec46472e6332d1356a"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a>.<br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.addrKA"><span class="id" title="lemma">addrKA</span></a> <span class="id" title="var">z</span> <span class="id" title="var">x</span> <span class="id" title="var">y</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#4a5fc7f0d0a33bc3822357a38c953c9e"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#730bbb3cf1092122fa1a208d3879e5e8"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#z"><span class="id" title="variable">z</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#4a5fc7f0d0a33bc3822357a38c953c9e"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#4a5fc7f0d0a33bc3822357a38c953c9e"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#4a5fc7f0d0a33bc3822357a38c953c9e"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#z"><span class="id" title="variable">z</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#730bbb3cf1092122fa1a208d3879e5e8"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#4a5fc7f0d0a33bc3822357a38c953c9e"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#4a5fc7f0d0a33bc3822357a38c953c9e"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a>.<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.subrKA"><span class="id" title="lemma">subrKA</span></a> <span class="id" title="var">z</span> <span class="id" title="var">x</span> <span class="id" title="var">y</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#338c5345074fd3586073fd29273c138a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#4d4b9697032429ec46472e6332d1356a"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#z"><span class="id" title="variable">z</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#338c5345074fd3586073fd29273c138a"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#338c5345074fd3586073fd29273c138a"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#338c5345074fd3586073fd29273c138a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#z"><span class="id" title="variable">z</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#338c5345074fd3586073fd29273c138a"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#338c5345074fd3586073fd29273c138a"><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#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#338c5345074fd3586073fd29273c138a"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a>.<br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.subrKA"><span class="id" title="lemma">subrKA</span></a> <span class="id" title="var">z</span> <span class="id" title="var">x</span> <span class="id" title="var">y</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#730bbb3cf1092122fa1a208d3879e5e8"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#4a5fc7f0d0a33bc3822357a38c953c9e"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#z"><span class="id" title="variable">z</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#730bbb3cf1092122fa1a208d3879e5e8"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#730bbb3cf1092122fa1a208d3879e5e8"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#730bbb3cf1092122fa1a208d3879e5e8"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#z"><span class="id" title="variable">z</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#730bbb3cf1092122fa1a208d3879e5e8"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#730bbb3cf1092122fa1a208d3879e5e8"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#730bbb3cf1092122fa1a208d3879e5e8"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a>.<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.addr0_eq"><span class="id" title="lemma">addr0_eq</span></a> <span class="id" title="var">x</span> <span class="id" title="var">y</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#338c5345074fd3586073fd29273c138a"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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> 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#eefae7eea8ed2b8fccf150cb653d7a7b"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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#y"><span class="id" title="variable">y</span></a>.<br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.addr0_eq"><span class="id" title="lemma">addr0_eq</span></a> <span class="id" title="var">x</span> <span class="id" title="var">y</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#730bbb3cf1092122fa1a208d3879e5e8"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> 0 <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#aa58dfcfb323e1f070c38e31f9efddbe"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a>.<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.subr0_eq"><span class="id" title="lemma">subr0_eq</span></a> <span class="id" title="var">x</span> <span class="id" title="var">y</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#4d4b9697032429ec46472e6332d1356a"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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> 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#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#y"><span class="id" title="variable">y</span></a>. <br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.subr0_eq"><span class="id" title="lemma">subr0_eq</span></a> <span class="id" title="var">x</span> <span class="id" title="var">y</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#4a5fc7f0d0a33bc3822357a38c953c9e"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> 0 <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a>. <br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.subr_eq"><span class="id" title="lemma">subr_eq</span></a> <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="http://coq.inria.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#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#4d4b9697032429ec46472e6332d1356a"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#z"><span class="id" title="variable">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.ssralg.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.ssralg.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#y"><span class="id" title="variable">y</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#338c5345074fd3586073fd29273c138a"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#z"><span class="id" title="variable">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>.<br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.subr_eq"><span class="id" title="lemma">subr_eq</span></a> <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="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#4a5fc7f0d0a33bc3822357a38c953c9e"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#z"><span class="id" title="variable">z</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#df45e8c2e8370fd4f0f7c4fdaf208180"><span class="id" title="notation">==</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#df45e8c2e8370fd4f0f7c4fdaf208180"><span class="id" title="notation">==</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#730bbb3cf1092122fa1a208d3879e5e8"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#z"><span class="id" title="variable">z</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">)</span></a>.<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.subr_eq0"><span class="id" title="lemma">subr_eq0</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.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#4d4b9697032429ec46472e6332d1356a"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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="http://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.ssralg.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#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/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.subr_eq0"><span class="id" title="lemma">subr_eq0</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/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#4a5fc7f0d0a33bc3822357a38c953c9e"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#df45e8c2e8370fd4f0f7c4fdaf208180"><span class="id" title="notation">==</span></a> 0<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#df45e8c2e8370fd4f0f7c4fdaf208180"><span class="id" title="notation">==</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">)</span></a>.<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.addr_eq0"><span class="id" title="lemma">addr_eq0</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.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#338c5345074fd3586073fd29273c138a"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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="http://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.ssralg.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#eefae7eea8ed2b8fccf150cb653d7a7b"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.addr_eq0"><span class="id" title="lemma">addr_eq0</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/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#730bbb3cf1092122fa1a208d3879e5e8"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#df45e8c2e8370fd4f0f7c4fdaf208180"><span class="id" title="notation">==</span></a> 0<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#df45e8c2e8370fd4f0f7c4fdaf208180"><span class="id" title="notation">==</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#aa58dfcfb323e1f070c38e31f9efddbe"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">)</span></a>.<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.eqr_opp"><span class="id" title="lemma">eqr_opp</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.ssralg.html#eefae7eea8ed2b8fccf150cb653d7a7b"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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#eefae7eea8ed2b8fccf150cb653d7a7b"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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.ssralg.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#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/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.eqr_opp"><span class="id" title="lemma">eqr_opp</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/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#aa58dfcfb323e1f070c38e31f9efddbe"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#df45e8c2e8370fd4f0f7c4fdaf208180"><span class="id" title="notation">==</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#aa58dfcfb323e1f070c38e31f9efddbe"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#df45e8c2e8370fd4f0f7c4fdaf208180"><span class="id" title="notation">==</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">)</span></a>.<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.eqr_oppLR"><span class="id" title="lemma">eqr_oppLR</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.ssralg.html#eefae7eea8ed2b8fccf150cb653d7a7b"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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#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.ssralg.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#eefae7eea8ed2b8fccf150cb653d7a7b"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.eqr_oppLR"><span class="id" title="lemma">eqr_oppLR</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/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#aa58dfcfb323e1f070c38e31f9efddbe"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#df45e8c2e8370fd4f0f7c4fdaf208180"><span class="id" title="notation">==</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#df45e8c2e8370fd4f0f7c4fdaf208180"><span class="id" title="notation">==</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#aa58dfcfb323e1f070c38e31f9efddbe"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">)</span></a>.<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.mulr0n"><span class="id" title="lemma">mulr0n</span></a> <span class="id" title="var">x</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#513eaa3129601ecbcc9e188a80d6155b"><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/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.mulr1n"><span class="id" title="lemma">mulr1n</span></a> <span class="id" title="var">x</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#513eaa3129601ecbcc9e188a80d6155b"><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.ssralg.html#x"><span class="id" title="variable">x</span></a>. <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.mulr2n"><span class="id" title="lemma">mulr2n</span></a> <span class="id" title="var">x</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#513eaa3129601ecbcc9e188a80d6155b"><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.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#338c5345074fd3586073fd29273c138a"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a>. <br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.mulr0n"><span class="id" title="lemma">mulr0n</span></a> <span class="id" title="var">x</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#506f68330939db1f655609b68b37b467"><span class="id" title="notation">*+</span></a> 0 <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> 0. <br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.mulr1n"><span class="id" title="lemma">mulr1n</span></a> <span class="id" title="var">x</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#506f68330939db1f655609b68b37b467"><span class="id" title="notation">*+</span></a> 1 <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a>. <br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.mulr2n"><span class="id" title="lemma">mulr2n</span></a> <span class="id" title="var">x</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#506f68330939db1f655609b68b37b467"><span class="id" title="notation">*+</span></a> 2 <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#730bbb3cf1092122fa1a208d3879e5e8"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a>. <br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.mulrS"><span class="id" title="lemma">mulrS</span></a> <span class="id" title="var">x</span> <span class="id" title="var">n</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#513eaa3129601ecbcc9e188a80d6155b"><span class="id" title="notation">*+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#338c5345074fd3586073fd29273c138a"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#513eaa3129601ecbcc9e188a80d6155b"><span class="id" title="notation">*+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a>.<br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.mulrS"><span class="id" title="lemma">mulrS</span></a> <span class="id" title="var">x</span> <span class="id" title="var">n</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#506f68330939db1f655609b68b37b467"><span class="id" title="notation">*+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.ssreflect.ssrnat.html#bda89d73ec4a8f23ae92b565ffb5aaa6"><span class="id" title="notation">.+1</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#730bbb3cf1092122fa1a208d3879e5e8"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#506f68330939db1f655609b68b37b467"><span class="id" title="notation">*+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a>.<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.mulrSr"><span class="id" title="lemma">mulrSr</span></a> <span class="id" title="var">x</span> <span class="id" title="var">n</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#513eaa3129601ecbcc9e188a80d6155b"><span class="id" title="notation">*+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#513eaa3129601ecbcc9e188a80d6155b"><span class="id" title="notation">*+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#338c5345074fd3586073fd29273c138a"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a>.<br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.mulrSr"><span class="id" title="lemma">mulrSr</span></a> <span class="id" title="var">x</span> <span class="id" title="var">n</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#506f68330939db1f655609b68b37b467"><span class="id" title="notation">*+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.ssreflect.ssrnat.html#bda89d73ec4a8f23ae92b565ffb5aaa6"><span class="id" title="notation">.+1</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#506f68330939db1f655609b68b37b467"><span class="id" title="notation">*+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#730bbb3cf1092122fa1a208d3879e5e8"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a>.<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.mulrb"><span class="id" title="lemma">mulrb</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.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#513eaa3129601ecbcc9e188a80d6155b"><span class="id" title="notation">*+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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.ssralg.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.ssralg.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/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.mulrb"><span class="id" title="lemma">mulrb</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/V8.9.0/stdlib//Coq.Init.Datatypes.html#bool"><span class="id" title="inductive">bool</span></a>) : <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#506f68330939db1f655609b68b37b467"><span class="id" title="notation">*+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b"><span class="id" title="variable">b</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">(</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssreflect.html#00a1a5b58aac8f1e3f1abff064a39f9d"><span class="id" title="notation">if</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b"><span class="id" title="variable">b</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssreflect.html#00a1a5b58aac8f1e3f1abff064a39f9d"><span class="id" title="notation">then</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssreflect.html#00a1a5b58aac8f1e3f1abff064a39f9d"><span class="id" title="notation">else</span></a> 0<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">)</span></a>.<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.mul0rn"><span class="id" title="lemma">mul0rn</span></a> <span class="id" title="var">n</span> : 0 <a class="idref" href="mathcomp.algebra.ssralg.html#513eaa3129601ecbcc9e188a80d6155b"><span class="id" title="notation">*+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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">:></span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ZmoduleTheory.V"><span class="id" title="variable">V</span></a>.<br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.mul0rn"><span class="id" title="lemma">mul0rn</span></a> <span class="id" title="var">n</span> : 0 <a class="idref" href="mathcomp.algebra.ssralg.html#506f68330939db1f655609b68b37b467"><span class="id" title="notation">*+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#b8b2ebc8e1a8b9aa935c0702efb5dccf"><span class="id" title="notation">=</span></a> 0 <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#b8b2ebc8e1a8b9aa935c0702efb5dccf"><span class="id" title="notation">:></span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ZmoduleTheory.V"><span class="id" title="variable">V</span></a>.<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.mulNrn"><span class="id" title="lemma">mulNrn</span></a> <span class="id" title="var">x</span> <span class="id" title="var">n</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#513eaa3129601ecbcc9e188a80d6155b"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#eefae7eea8ed2b8fccf150cb653d7a7b"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#513eaa3129601ecbcc9e188a80d6155b"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#513eaa3129601ecbcc9e188a80d6155b"><span class="id" title="notation">*+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#be9a273af87c6a30d88bd8379c802cbe"><span class="id" title="notation">*-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a>.<br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.mulNrn"><span class="id" title="lemma">mulNrn</span></a> <span class="id" title="var">x</span> <span class="id" title="var">n</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#506f68330939db1f655609b68b37b467"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#aa58dfcfb323e1f070c38e31f9efddbe"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#506f68330939db1f655609b68b37b467"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#506f68330939db1f655609b68b37b467"><span class="id" title="notation">*+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#0c0f4a48fca1c1f27e9d71f54b6b8bd3"><span class="id" title="notation">*-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a>.<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.mulrnDl"><span class="id" title="lemma">mulrnDl</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#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">x</span> ⇒ <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#513eaa3129601ecbcc9e188a80d6155b"><span class="id" title="notation">*+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#338c5345074fd3586073fd29273c138a"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.mulrnDl"><span class="id" title="lemma">mulrnDl</span></a> <span class="id" title="var">n</span> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#e69c60b553f06d3463460a9f4cee3c01"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#e69c60b553f06d3463460a9f4cee3c01"><span class="id" title="notation">morph</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#e69c60b553f06d3463460a9f4cee3c01"><span class="id" title="notation">(</span></a><span class="id" title="keyword">fun</span> <span class="id" title="var">x</span> ⇒ <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#506f68330939db1f655609b68b37b467"><span class="id" title="notation">*+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#e69c60b553f06d3463460a9f4cee3c01"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#e69c60b553f06d3463460a9f4cee3c01"><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/V8.9.0/stdlib//Coq.ssr.ssrfun.html#e69c60b553f06d3463460a9f4cee3c01"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#730bbb3cf1092122fa1a208d3879e5e8"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#e69c60b553f06d3463460a9f4cee3c01"><span class="id" title="notation">}</span></a>.<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.mulrnDr"><span class="id" title="lemma">mulrnDr</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.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#513eaa3129601ecbcc9e188a80d6155b"><span class="id" title="notation">*+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#513eaa3129601ecbcc9e188a80d6155b"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.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.ssralg.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#513eaa3129601ecbcc9e188a80d6155b"><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#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#513eaa3129601ecbcc9e188a80d6155b"><span class="id" title="notation">*+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#338c5345074fd3586073fd29273c138a"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#513eaa3129601ecbcc9e188a80d6155b"><span class="id" title="notation">*+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a>.<br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.mulrnDr"><span class="id" title="lemma">mulrnDr</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.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#506f68330939db1f655609b68b37b467"><span class="id" title="notation">*+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#506f68330939db1f655609b68b37b467"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#0dacc1786c5ba797d47dd85006231633"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#506f68330939db1f655609b68b37b467"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#506f68330939db1f655609b68b37b467"><span class="id" title="notation">*+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#730bbb3cf1092122fa1a208d3879e5e8"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#506f68330939db1f655609b68b37b467"><span class="id" title="notation">*+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a>.<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.mulrnBl"><span class="id" title="lemma">mulrnBl</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#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">x</span> ⇒ <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#513eaa3129601ecbcc9e188a80d6155b"><span class="id" title="notation">*+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#4d4b9697032429ec46472e6332d1356a"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.mulrnBl"><span class="id" title="lemma">mulrnBl</span></a> <span class="id" title="var">n</span> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#e69c60b553f06d3463460a9f4cee3c01"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#e69c60b553f06d3463460a9f4cee3c01"><span class="id" title="notation">morph</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#e69c60b553f06d3463460a9f4cee3c01"><span class="id" title="notation">(</span></a><span class="id" title="keyword">fun</span> <span class="id" title="var">x</span> ⇒ <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#506f68330939db1f655609b68b37b467"><span class="id" title="notation">*+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#e69c60b553f06d3463460a9f4cee3c01"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#e69c60b553f06d3463460a9f4cee3c01"><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/V8.9.0/stdlib//Coq.ssr.ssrfun.html#e69c60b553f06d3463460a9f4cee3c01"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#4a5fc7f0d0a33bc3822357a38c953c9e"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#e69c60b553f06d3463460a9f4cee3c01"><span class="id" title="notation">}</span></a>.<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.mulrnBr"><span class="id" title="lemma">mulrnBr</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.ssralg.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.ssralg.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#513eaa3129601ecbcc9e188a80d6155b"><span class="id" title="notation">*+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#513eaa3129601ecbcc9e188a80d6155b"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.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.ssralg.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#513eaa3129601ecbcc9e188a80d6155b"><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#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#513eaa3129601ecbcc9e188a80d6155b"><span class="id" title="notation">*+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#4d4b9697032429ec46472e6332d1356a"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#513eaa3129601ecbcc9e188a80d6155b"><span class="id" title="notation">*+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a>.<br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.mulrnBr"><span class="id" title="lemma">mulrnBr</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.ssralg.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#cb53cf0ee22c036a03b4a9281c68b5a3"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#506f68330939db1f655609b68b37b467"><span class="id" title="notation">*+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#506f68330939db1f655609b68b37b467"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#7825ccc99f23b0d30c9d40c317ba7af0"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#506f68330939db1f655609b68b37b467"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#506f68330939db1f655609b68b37b467"><span class="id" title="notation">*+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#4a5fc7f0d0a33bc3822357a38c953c9e"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#506f68330939db1f655609b68b37b467"><span class="id" title="notation">*+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a>.<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.mulrnA"><span class="id" title="lemma">mulrnA</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.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#513eaa3129601ecbcc9e188a80d6155b"><span class="id" title="notation">*+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#513eaa3129601ecbcc9e188a80d6155b"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#697e4695610f677ae98a52af81f779d2"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#513eaa3129601ecbcc9e188a80d6155b"><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#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#513eaa3129601ecbcc9e188a80d6155b"><span class="id" title="notation">*+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#513eaa3129601ecbcc9e188a80d6155b"><span class="id" title="notation">*+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a>.<br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.mulrnA"><span class="id" title="lemma">mulrnA</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.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#506f68330939db1f655609b68b37b467"><span class="id" title="notation">*+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#506f68330939db1f655609b68b37b467"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#ea2ff3d561159081cea6fb2e8113cc54"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#506f68330939db1f655609b68b37b467"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#506f68330939db1f655609b68b37b467"><span class="id" title="notation">*+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#506f68330939db1f655609b68b37b467"><span class="id" title="notation">*+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a>.<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.mulrnAC"><span class="id" title="lemma">mulrnAC</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.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#513eaa3129601ecbcc9e188a80d6155b"><span class="id" title="notation">*+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#513eaa3129601ecbcc9e188a80d6155b"><span class="id" title="notation">*+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#513eaa3129601ecbcc9e188a80d6155b"><span class="id" title="notation">*+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#513eaa3129601ecbcc9e188a80d6155b"><span class="id" title="notation">*+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#m"><span class="id" title="variable">m</span></a>.<br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.mulrnAC"><span class="id" title="lemma">mulrnAC</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.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#506f68330939db1f655609b68b37b467"><span class="id" title="notation">*+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#506f68330939db1f655609b68b37b467"><span class="id" title="notation">*+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#506f68330939db1f655609b68b37b467"><span class="id" title="notation">*+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#506f68330939db1f655609b68b37b467"><span class="id" title="notation">*+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#m"><span class="id" title="variable">m</span></a>.<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.sumrN"><span class="id" title="lemma">sumrN</span></a> <span class="id" title="var">I</span> <span class="id" title="var">r</span> <span class="id" title="var">P</span> (<span class="id" title="var">F</span> : <a class="idref" href="mathcomp.algebra.ssralg.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.ssralg.html#GRing.ZmoduleTheory.V"><span class="id" title="variable">V</span></a>) :<br/> - (<a class="idref" href="mathcomp.algebra.ssralg.html#664ae738a3286983847c80e5ee4c8c6b"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#664ae738a3286983847c80e5ee4c8c6b"><span class="id" title="notation">sum_</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#664ae738a3286983847c80e5ee4c8c6b"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.algebra.ssralg.html#664ae738a3286983847c80e5ee4c8c6b"><span class="id" title="notation"><-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#r"><span class="id" title="variable">r</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#664ae738a3286983847c80e5ee4c8c6b"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#664ae738a3286983847c80e5ee4c8c6b"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#eefae7eea8ed2b8fccf150cb653d7a7b"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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#eefae7eea8ed2b8fccf150cb653d7a7b"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#eefae7eea8ed2b8fccf150cb653d7a7b"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#664ae738a3286983847c80e5ee4c8c6b"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#664ae738a3286983847c80e5ee4c8c6b"><span class="id" title="notation">sum_</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#664ae738a3286983847c80e5ee4c8c6b"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.algebra.ssralg.html#664ae738a3286983847c80e5ee4c8c6b"><span class="id" title="notation"><-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#r"><span class="id" title="variable">r</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#664ae738a3286983847c80e5ee4c8c6b"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#664ae738a3286983847c80e5ee4c8c6b"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#eefae7eea8ed2b8fccf150cb653d7a7b"><span class="id" title="notation">)</span></a>).<br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.sumrN"><span class="id" title="lemma">sumrN</span></a> <span class="id" title="var">I</span> <span class="id" title="var">r</span> <span class="id" title="var">P</span> (<span class="id" title="var">F</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#I"><span class="id" title="variable">I</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ZmoduleTheory.V"><span class="id" title="variable">V</span></a>) :<br/> + (<a class="idref" href="mathcomp.algebra.ssralg.html#dcb91d0b08ece8369cc6084787184d13"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#dcb91d0b08ece8369cc6084787184d13"><span class="id" title="notation">sum_</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#dcb91d0b08ece8369cc6084787184d13"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.algebra.ssralg.html#dcb91d0b08ece8369cc6084787184d13"><span class="id" title="notation"><-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#r"><span class="id" title="variable">r</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#dcb91d0b08ece8369cc6084787184d13"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#dcb91d0b08ece8369cc6084787184d13"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#aa58dfcfb323e1f070c38e31f9efddbe"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#aa58dfcfb323e1f070c38e31f9efddbe"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#aa58dfcfb323e1f070c38e31f9efddbe"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#dcb91d0b08ece8369cc6084787184d13"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#dcb91d0b08ece8369cc6084787184d13"><span class="id" title="notation">sum_</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#dcb91d0b08ece8369cc6084787184d13"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.algebra.ssralg.html#dcb91d0b08ece8369cc6084787184d13"><span class="id" title="notation"><-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#r"><span class="id" title="variable">r</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#dcb91d0b08ece8369cc6084787184d13"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#dcb91d0b08ece8369cc6084787184d13"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#aa58dfcfb323e1f070c38e31f9efddbe"><span class="id" title="notation">)</span></a>).<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.sumrB"><span class="id" title="lemma">sumrB</span></a> <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.ssralg.html#I"><span class="id" title="variable">I</span></a>) (<span class="id" title="var">F1</span> <span class="id" title="var">F2</span> : <a class="idref" href="mathcomp.algebra.ssralg.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.ssralg.html#GRing.ZmoduleTheory.V"><span class="id" title="variable">V</span></a>) :<br/> - <a class="idref" href="mathcomp.algebra.ssralg.html#664ae738a3286983847c80e5ee4c8c6b"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#664ae738a3286983847c80e5ee4c8c6b"><span class="id" title="notation">sum_</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#664ae738a3286983847c80e5ee4c8c6b"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.algebra.ssralg.html#664ae738a3286983847c80e5ee4c8c6b"><span class="id" title="notation"><-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#r"><span class="id" title="variable">r</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#664ae738a3286983847c80e5ee4c8c6b"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#664ae738a3286983847c80e5ee4c8c6b"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#664ae738a3286983847c80e5ee4c8c6b"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#F1"><span class="id" title="variable">F1</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#4d4b9697032429ec46472e6332d1356a"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#F2"><span class="id" title="variable">F2</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#664ae738a3286983847c80e5ee4c8c6b"><span class="id" title="notation">)</span></a><br/> - <a class="idref" href="http://coq.inria.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#664ae738a3286983847c80e5ee4c8c6b"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#664ae738a3286983847c80e5ee4c8c6b"><span class="id" title="notation">sum_</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#664ae738a3286983847c80e5ee4c8c6b"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.algebra.ssralg.html#664ae738a3286983847c80e5ee4c8c6b"><span class="id" title="notation"><-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#r"><span class="id" title="variable">r</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#664ae738a3286983847c80e5ee4c8c6b"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#664ae738a3286983847c80e5ee4c8c6b"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#F1"><span class="id" title="variable">F1</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#4d4b9697032429ec46472e6332d1356a"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#664ae738a3286983847c80e5ee4c8c6b"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#664ae738a3286983847c80e5ee4c8c6b"><span class="id" title="notation">sum_</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#664ae738a3286983847c80e5ee4c8c6b"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.algebra.ssralg.html#664ae738a3286983847c80e5ee4c8c6b"><span class="id" title="notation"><-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#r"><span class="id" title="variable">r</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#664ae738a3286983847c80e5ee4c8c6b"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#664ae738a3286983847c80e5ee4c8c6b"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#F2"><span class="id" title="variable">F2</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</span></a>.<br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.sumrB"><span class="id" title="lemma">sumrB</span></a> <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/V8.9.0/stdlib//Coq.ssr.ssrbool.html#pred"><span class="id" title="definition">pred</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#I"><span class="id" title="variable">I</span></a>) (<span class="id" title="var">F1</span> <span class="id" title="var">F2</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#I"><span class="id" title="variable">I</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ZmoduleTheory.V"><span class="id" title="variable">V</span></a>) :<br/> + <a class="idref" href="mathcomp.algebra.ssralg.html#dcb91d0b08ece8369cc6084787184d13"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#dcb91d0b08ece8369cc6084787184d13"><span class="id" title="notation">sum_</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#dcb91d0b08ece8369cc6084787184d13"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.algebra.ssralg.html#dcb91d0b08ece8369cc6084787184d13"><span class="id" title="notation"><-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#r"><span class="id" title="variable">r</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#dcb91d0b08ece8369cc6084787184d13"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#dcb91d0b08ece8369cc6084787184d13"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#dcb91d0b08ece8369cc6084787184d13"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#F1"><span class="id" title="variable">F1</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#4a5fc7f0d0a33bc3822357a38c953c9e"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#F2"><span class="id" title="variable">F2</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#dcb91d0b08ece8369cc6084787184d13"><span class="id" title="notation">)</span></a><br/> + <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#dcb91d0b08ece8369cc6084787184d13"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#dcb91d0b08ece8369cc6084787184d13"><span class="id" title="notation">sum_</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#dcb91d0b08ece8369cc6084787184d13"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.algebra.ssralg.html#dcb91d0b08ece8369cc6084787184d13"><span class="id" title="notation"><-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#r"><span class="id" title="variable">r</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#dcb91d0b08ece8369cc6084787184d13"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#dcb91d0b08ece8369cc6084787184d13"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#F1"><span class="id" title="variable">F1</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#4a5fc7f0d0a33bc3822357a38c953c9e"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#dcb91d0b08ece8369cc6084787184d13"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#dcb91d0b08ece8369cc6084787184d13"><span class="id" title="notation">sum_</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#dcb91d0b08ece8369cc6084787184d13"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.algebra.ssralg.html#dcb91d0b08ece8369cc6084787184d13"><span class="id" title="notation"><-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#r"><span class="id" title="variable">r</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#dcb91d0b08ece8369cc6084787184d13"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#dcb91d0b08ece8369cc6084787184d13"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#F2"><span class="id" title="variable">F2</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</span></a>.<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.sumrMnl"><span class="id" title="lemma">sumrMnl</span></a> <span class="id" title="var">I</span> <span class="id" title="var">r</span> <span class="id" title="var">P</span> (<span class="id" title="var">F</span> : <a class="idref" href="mathcomp.algebra.ssralg.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.ssralg.html#GRing.ZmoduleTheory.V"><span class="id" title="variable">V</span></a>) <span class="id" title="var">n</span> :<br/> - <a class="idref" href="mathcomp.algebra.ssralg.html#664ae738a3286983847c80e5ee4c8c6b"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#664ae738a3286983847c80e5ee4c8c6b"><span class="id" title="notation">sum_</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#664ae738a3286983847c80e5ee4c8c6b"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.algebra.ssralg.html#664ae738a3286983847c80e5ee4c8c6b"><span class="id" title="notation"><-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#r"><span class="id" title="variable">r</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#664ae738a3286983847c80e5ee4c8c6b"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#664ae738a3286983847c80e5ee4c8c6b"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#513eaa3129601ecbcc9e188a80d6155b"><span class="id" title="notation">*+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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#513eaa3129601ecbcc9e188a80d6155b"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#664ae738a3286983847c80e5ee4c8c6b"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#664ae738a3286983847c80e5ee4c8c6b"><span class="id" title="notation">sum_</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#664ae738a3286983847c80e5ee4c8c6b"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.algebra.ssralg.html#664ae738a3286983847c80e5ee4c8c6b"><span class="id" title="notation"><-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#r"><span class="id" title="variable">r</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#664ae738a3286983847c80e5ee4c8c6b"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#664ae738a3286983847c80e5ee4c8c6b"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#513eaa3129601ecbcc9e188a80d6155b"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#513eaa3129601ecbcc9e188a80d6155b"><span class="id" title="notation">*+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a>.<br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.sumrMnl"><span class="id" title="lemma">sumrMnl</span></a> <span class="id" title="var">I</span> <span class="id" title="var">r</span> <span class="id" title="var">P</span> (<span class="id" title="var">F</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#I"><span class="id" title="variable">I</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ZmoduleTheory.V"><span class="id" title="variable">V</span></a>) <span class="id" title="var">n</span> :<br/> + <a class="idref" href="mathcomp.algebra.ssralg.html#dcb91d0b08ece8369cc6084787184d13"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#dcb91d0b08ece8369cc6084787184d13"><span class="id" title="notation">sum_</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#dcb91d0b08ece8369cc6084787184d13"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.algebra.ssralg.html#dcb91d0b08ece8369cc6084787184d13"><span class="id" title="notation"><-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#r"><span class="id" title="variable">r</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#dcb91d0b08ece8369cc6084787184d13"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#dcb91d0b08ece8369cc6084787184d13"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#506f68330939db1f655609b68b37b467"><span class="id" title="notation">*+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#506f68330939db1f655609b68b37b467"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#dcb91d0b08ece8369cc6084787184d13"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#dcb91d0b08ece8369cc6084787184d13"><span class="id" title="notation">sum_</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#dcb91d0b08ece8369cc6084787184d13"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.algebra.ssralg.html#dcb91d0b08ece8369cc6084787184d13"><span class="id" title="notation"><-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#r"><span class="id" title="variable">r</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#dcb91d0b08ece8369cc6084787184d13"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#dcb91d0b08ece8369cc6084787184d13"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#506f68330939db1f655609b68b37b467"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#506f68330939db1f655609b68b37b467"><span class="id" title="notation">*+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a>.<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.sumrMnr"><span class="id" title="lemma">sumrMnr</span></a> <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> (<span class="id" title="var">F</span> : <a class="idref" href="mathcomp.algebra.ssralg.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="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#nat"><span class="id" title="inductive">nat</span></a>) :<br/> - <a class="idref" href="mathcomp.algebra.ssralg.html#664ae738a3286983847c80e5ee4c8c6b"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#664ae738a3286983847c80e5ee4c8c6b"><span class="id" title="notation">sum_</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#664ae738a3286983847c80e5ee4c8c6b"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.algebra.ssralg.html#664ae738a3286983847c80e5ee4c8c6b"><span class="id" title="notation"><-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#r"><span class="id" title="variable">r</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#664ae738a3286983847c80e5ee4c8c6b"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#664ae738a3286983847c80e5ee4c8c6b"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#513eaa3129601ecbcc9e188a80d6155b"><span class="id" title="notation">*+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#513eaa3129601ecbcc9e188a80d6155b"><span class="id" title="notation">*+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#513eaa3129601ecbcc9e188a80d6155b"><span class="id" title="notation">(</span></a><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"><-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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.ssralg.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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.ssralg.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#513eaa3129601ecbcc9e188a80d6155b"><span class="id" title="notation">)</span></a>.<br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.sumrMnr"><span class="id" title="lemma">sumrMnr</span></a> <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> (<span class="id" title="var">F</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#I"><span class="id" title="variable">I</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#nat"><span class="id" title="inductive">nat</span></a>) :<br/> + <a class="idref" href="mathcomp.algebra.ssralg.html#dcb91d0b08ece8369cc6084787184d13"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#dcb91d0b08ece8369cc6084787184d13"><span class="id" title="notation">sum_</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#dcb91d0b08ece8369cc6084787184d13"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.algebra.ssralg.html#dcb91d0b08ece8369cc6084787184d13"><span class="id" title="notation"><-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#r"><span class="id" title="variable">r</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#dcb91d0b08ece8369cc6084787184d13"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#dcb91d0b08ece8369cc6084787184d13"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#506f68330939db1f655609b68b37b467"><span class="id" title="notation">*+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#506f68330939db1f655609b68b37b467"><span class="id" title="notation">*+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#506f68330939db1f655609b68b37b467"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#f9660601caed2f1f92279ff134c53c8a"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#f9660601caed2f1f92279ff134c53c8a"><span class="id" title="notation">sum_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#f9660601caed2f1f92279ff134c53c8a"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#f9660601caed2f1f92279ff134c53c8a"><span class="id" title="notation"><-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#r"><span class="id" title="variable">r</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#f9660601caed2f1f92279ff134c53c8a"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#f9660601caed2f1f92279ff134c53c8a"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#506f68330939db1f655609b68b37b467"><span class="id" title="notation">)</span></a>.<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.sumr_const"><span class="id" title="lemma">sumr_const</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">A</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.ssralg.html#I"><span class="id" title="variable">I</span></a>) (<span class="id" title="var">x</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ZmoduleTheory.V"><span class="id" title="variable">V</span></a>) :<br/> - <a class="idref" href="mathcomp.algebra.ssralg.html#c6a5df59bc3b78ffe928e04ac98d6fa4"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#c6a5df59bc3b78ffe928e04ac98d6fa4"><span class="id" title="notation">sum_</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#c6a5df59bc3b78ffe928e04ac98d6fa4"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.algebra.ssralg.html#c6a5df59bc3b78ffe928e04ac98d6fa4"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#c6a5df59bc3b78ffe928e04ac98d6fa4"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#513eaa3129601ecbcc9e188a80d6155b"><span class="id" title="notation">*+</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#f01714bb99e6c7abc6cfb2e43eff7f6e"><span class="id" title="notation">#|</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#f01714bb99e6c7abc6cfb2e43eff7f6e"><span class="id" title="notation">|</span></a>.<br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.sumr_const"><span class="id" title="lemma">sumr_const</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">A</span> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#pred"><span class="id" title="definition">pred</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#I"><span class="id" title="variable">I</span></a>) (<span class="id" title="var">x</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ZmoduleTheory.V"><span class="id" title="variable">V</span></a>) :<br/> + <a class="idref" href="mathcomp.algebra.ssralg.html#3f77cb0ecca797dabe8a89fee7b1337b"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#3f77cb0ecca797dabe8a89fee7b1337b"><span class="id" title="notation">sum_</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#3f77cb0ecca797dabe8a89fee7b1337b"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.algebra.ssralg.html#3f77cb0ecca797dabe8a89fee7b1337b"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#3f77cb0ecca797dabe8a89fee7b1337b"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#506f68330939db1f655609b68b37b467"><span class="id" title="notation">*+</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#234f50e13366f794cd6877cf832a5935"><span class="id" title="notation">#|</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#234f50e13366f794cd6877cf832a5935"><span class="id" title="notation">|</span></a>.<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.telescope_sumr"><span class="id" title="lemma">telescope_sumr</span></a> <span class="id" title="var">n</span> <span class="id" title="var">m</span> (<span class="id" title="var">f</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#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ZmoduleTheory.V"><span class="id" title="variable">V</span></a>) : <a class="idref" href="mathcomp.algebra.ssralg.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.ssralg.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a><br/> - <a class="idref" href="mathcomp.algebra.ssralg.html#309e5ebdf789a3828a9b458462d3e1bc"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#309e5ebdf789a3828a9b458462d3e1bc"><span class="id" title="notation">sum_</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#309e5ebdf789a3828a9b458462d3e1bc"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#309e5ebdf789a3828a9b458462d3e1bc"><span class="id" title="notation">≤</span></a> <span class="id" title="var">k</span> <a class="idref" href="mathcomp.algebra.ssralg.html#309e5ebdf789a3828a9b458462d3e1bc"><span class="id" title="notation"><</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#m"><span class="id" title="variable">m</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#309e5ebdf789a3828a9b458462d3e1bc"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#309e5ebdf789a3828a9b458462d3e1bc"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#k"><span class="id" title="variable">k</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#4d4b9697032429ec46472e6332d1356a"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#k"><span class="id" title="variable">k</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#309e5ebdf789a3828a9b458462d3e1bc"><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#f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#4d4b9697032429ec46472e6332d1356a"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a>.<br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.telescope_sumr"><span class="id" title="lemma">telescope_sumr</span></a> <span class="id" title="var">n</span> <span class="id" title="var">m</span> (<span class="id" title="var">f</span> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#nat"><span class="id" title="inductive">nat</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ZmoduleTheory.V"><span class="id" title="variable">V</span></a>) : <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#cb53cf0ee22c036a03b4a9281c68b5a3"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a><br/> + <a class="idref" href="mathcomp.algebra.ssralg.html#b6b1fbfe788a2b1990c0d8b2548df5eb"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#b6b1fbfe788a2b1990c0d8b2548df5eb"><span class="id" title="notation">sum_</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#b6b1fbfe788a2b1990c0d8b2548df5eb"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b6b1fbfe788a2b1990c0d8b2548df5eb"><span class="id" title="notation">≤</span></a> <span class="id" title="var">k</span> <a class="idref" href="mathcomp.algebra.ssralg.html#b6b1fbfe788a2b1990c0d8b2548df5eb"><span class="id" title="notation"><</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#m"><span class="id" title="variable">m</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#b6b1fbfe788a2b1990c0d8b2548df5eb"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b6b1fbfe788a2b1990c0d8b2548df5eb"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#k"><span class="id" title="variable">k</span></a><a class="idref" href="mathcomp.ssreflect.ssrnat.html#bda89d73ec4a8f23ae92b565ffb5aaa6"><span class="id" title="notation">.+1</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#4a5fc7f0d0a33bc3822357a38c953c9e"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#k"><span class="id" title="variable">k</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#b6b1fbfe788a2b1990c0d8b2548df5eb"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#4a5fc7f0d0a33bc3822357a38c953c9e"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a>.<br/> <br/> <span class="id" title="keyword">Section</span> <a name="GRing.ZmoduleTheory.ClosedPredicates"><span class="id" title="section">ClosedPredicates</span></a>.<br/> <br/> -<span class="id" title="keyword">Variable</span> <a name="GRing.ZmoduleTheory.ClosedPredicates.S"><span class="id" title="variable">S</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#predPredType"><span class="id" title="definition">predPredType</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ZmoduleTheory.V"><span class="id" title="variable">V</span></a>.<br/> +<span class="id" title="keyword">Variable</span> <a name="GRing.ZmoduleTheory.ClosedPredicates.S"><span class="id" title="variable">S</span></a> : <a class="idref" href="mathcomp.ssreflect.ssrbool.html#64f8873130736b599801d4930af00e74"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.ssreflect.ssrbool.html#64f8873130736b599801d4930af00e74"><span class="id" title="notation">pred</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ZmoduleTheory.V"><span class="id" title="variable">V</span></a><a class="idref" href="mathcomp.ssreflect.ssrbool.html#64f8873130736b599801d4930af00e74"><span class="id" title="notation">}</span></a>.<br/> <br/> -<span class="id" title="keyword">Definition</span> <a name="GRing.addr_closed"><span class="id" title="definition">addr_closed</span></a> := 0 <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#GRing.ZmoduleTheory.ClosedPredicates.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#d82a7d96d3659d805ffe732283716822"><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><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.ssralg.html#GRing.ZmoduleTheory.ClosedPredicates.S"><span class="id" title="variable">S</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> <span class="id" title="keyword">∀</span> <span class="id" title="var">u</span> <span class="id" title="var">v</span>, <a class="idref" href="mathcomp.algebra.ssralg.html#u"><span class="id" title="variable">u</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#338c5345074fd3586073fd29273c138a"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#v"><span class="id" title="variable">v</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#GRing.ZmoduleTheory.ClosedPredicates.S"><span class="id" title="variable">S</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/> -<span class="id" title="keyword">Definition</span> <a name="GRing.oppr_closed"><span class="id" title="definition">oppr_closed</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.ssralg.html#GRing.ZmoduleTheory.ClosedPredicates.S"><span class="id" title="variable">S</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.ssralg.html#eefae7eea8ed2b8fccf150cb653d7a7b"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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.ssralg.html#GRing.ZmoduleTheory.ClosedPredicates.S"><span class="id" title="variable">S</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/> -<span class="id" title="keyword">Definition</span> <a name="GRing.subr_2closed"><span class="id" title="definition">subr_2closed</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.ssrbool.html#2bba53854f326a714d377124cccec593"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ZmoduleTheory.ClosedPredicates.S"><span class="id" title="variable">S</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> <span class="id" title="keyword">∀</span> <span class="id" title="var">u</span> <span class="id" title="var">v</span>, <a class="idref" href="mathcomp.algebra.ssralg.html#u"><span class="id" title="variable">u</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#4d4b9697032429ec46472e6332d1356a"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#v"><span class="id" title="variable">v</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#GRing.ZmoduleTheory.ClosedPredicates.S"><span class="id" title="variable">S</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/> -<span class="id" title="keyword">Definition</span> <a name="GRing.zmod_closed"><span class="id" title="definition">zmod_closed</span></a> := 0 <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#GRing.ZmoduleTheory.ClosedPredicates.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#d82a7d96d3659d805ffe732283716822"><span class="id" title="notation">∧</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.subr_2closed"><span class="id" title="definition">subr_2closed</span></a>.<br/> +<span class="id" title="keyword">Definition</span> <a name="GRing.addr_closed"><span class="id" title="definition">addr_closed</span></a> := 0 <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ZmoduleTheory.ClosedPredicates.S"><span class="id" title="variable">S</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#ba2b0e492d2b4675a0acf3ea92aabadd"><span class="id" title="notation">∧</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b4f176550f5b849a7fbba2ee164934d3"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b4f176550f5b849a7fbba2ee164934d3"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ZmoduleTheory.ClosedPredicates.S"><span class="id" title="variable">S</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b4f176550f5b849a7fbba2ee164934d3"><span class="id" title="notation">&,</span></a> <span class="id" title="keyword">∀</span> <span class="id" title="var">u</span> <span class="id" title="var">v</span>, <a class="idref" href="mathcomp.algebra.ssralg.html#u"><span class="id" title="variable">u</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#730bbb3cf1092122fa1a208d3879e5e8"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#v"><span class="id" title="variable">v</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ZmoduleTheory.ClosedPredicates.S"><span class="id" title="variable">S</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b4f176550f5b849a7fbba2ee164934d3"><span class="id" title="notation">}</span></a>.<br/> +<span class="id" title="keyword">Definition</span> <a name="GRing.oppr_closed"><span class="id" title="definition">oppr_closed</span></a> := <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ZmoduleTheory.ClosedPredicates.S"><span class="id" title="variable">S</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><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.ssralg.html#aa58dfcfb323e1f070c38e31f9efddbe"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#u"><span class="id" title="variable">u</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ZmoduleTheory.ClosedPredicates.S"><span class="id" title="variable">S</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><span class="id" title="notation">}</span></a>.<br/> +<span class="id" title="keyword">Definition</span> <a name="GRing.subr_2closed"><span class="id" title="definition">subr_2closed</span></a> := <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b4f176550f5b849a7fbba2ee164934d3"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b4f176550f5b849a7fbba2ee164934d3"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ZmoduleTheory.ClosedPredicates.S"><span class="id" title="variable">S</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b4f176550f5b849a7fbba2ee164934d3"><span class="id" title="notation">&,</span></a> <span class="id" title="keyword">∀</span> <span class="id" title="var">u</span> <span class="id" title="var">v</span>, <a class="idref" href="mathcomp.algebra.ssralg.html#u"><span class="id" title="variable">u</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#4a5fc7f0d0a33bc3822357a38c953c9e"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#v"><span class="id" title="variable">v</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ZmoduleTheory.ClosedPredicates.S"><span class="id" title="variable">S</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b4f176550f5b849a7fbba2ee164934d3"><span class="id" title="notation">}</span></a>.<br/> +<span class="id" title="keyword">Definition</span> <a name="GRing.zmod_closed"><span class="id" title="definition">zmod_closed</span></a> := 0 <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ZmoduleTheory.ClosedPredicates.S"><span class="id" title="variable">S</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#ba2b0e492d2b4675a0acf3ea92aabadd"><span class="id" title="notation">∧</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.subr_2closed"><span class="id" title="definition">subr_2closed</span></a>.<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.zmod_closedN"><span class="id" title="lemma">zmod_closedN</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.zmod_closed"><span class="id" title="definition">zmod_closed</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.oppr_closed"><span class="id" title="definition">oppr_closed</span></a>.<br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.zmod_closedN"><span class="id" title="lemma">zmod_closedN</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.zmod_closed"><span class="id" title="definition">zmod_closed</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.oppr_closed"><span class="id" title="definition">oppr_closed</span></a>.<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.zmod_closedD"><span class="id" title="lemma">zmod_closedD</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.zmod_closed"><span class="id" title="definition">zmod_closed</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.addr_closed"><span class="id" title="definition">addr_closed</span></a>.<br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.zmod_closedD"><span class="id" title="lemma">zmod_closedD</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.zmod_closed"><span class="id" title="definition">zmod_closed</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.addr_closed"><span class="id" title="definition">addr_closed</span></a>.<br/> <br/> <span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ZmoduleTheory.ClosedPredicates"><span class="id" title="section">ClosedPredicates</span></a>.<br/> @@ -964,19 +977,19 @@ <br/> <span class="id" title="keyword">Record</span> <a name="GRing.Ring.mixin_of"><span class="id" title="record">mixin_of</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="keyword">Type</span> := <a name="GRing.Ring.Mixin"><span class="id" title="constructor">Mixin</span></a> {<br/> <a name="GRing.Ring.one"><span class="id" title="projection">one</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#R"><span class="id" title="variable">R</span></a>;<br/> - <a name="GRing.Ring.mul"><span class="id" title="projection">mul</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.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.ssralg.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.ssralg.html#R"><span class="id" title="variable">R</span></a>;<br/> - <span class="id" title="var">_</span> : <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.ssralg.html#mul"><span class="id" title="method">mul</span></a>;<br/> - <span class="id" title="var">_</span> : <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> <a class="idref" href="mathcomp.algebra.ssralg.html#one"><span class="id" title="method">one</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#mul"><span class="id" title="method">mul</span></a>;<br/> - <span class="id" title="var">_</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#right_id"><span class="id" title="definition">right_id</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#one"><span class="id" title="method">one</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#mul"><span class="id" title="method">mul</span></a>;<br/> - <span class="id" title="var">_</span> : <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.ssralg.html#mul"><span class="id" title="method">mul</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#6c3404a70e11a79a0fa82b3d398aa71f"><span class="id" title="notation">+%</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#6c3404a70e11a79a0fa82b3d398aa71f"><span class="id" title="notation">R</span></a>;<br/> - <span class="id" title="var">_</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#right_distributive"><span class="id" title="definition">right_distributive</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#mul"><span class="id" title="method">mul</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#6c3404a70e11a79a0fa82b3d398aa71f"><span class="id" title="notation">+%</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#6c3404a70e11a79a0fa82b3d398aa71f"><span class="id" title="notation">R</span></a>;<br/> - <span class="id" title="var">_</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#one"><span class="id" title="method">one</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#b1eeadc2feabc7422252baa895418c7b"><span class="id" title="notation">!=</span></a> 0<br/> + <a name="GRing.Ring.mul"><span class="id" title="projection">mul</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#R"><span class="id" title="variable">R</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#R"><span class="id" title="variable">R</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#R"><span class="id" title="variable">R</span></a>;<br/> + <span class="id" title="var">_</span> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#associative"><span class="id" title="definition">associative</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#mul"><span class="id" title="method">mul</span></a>;<br/> + <span class="id" title="var">_</span> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#left_id"><span class="id" title="definition">left_id</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#one"><span class="id" title="method">one</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#mul"><span class="id" title="method">mul</span></a>;<br/> + <span class="id" title="var">_</span> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#right_id"><span class="id" title="definition">right_id</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#one"><span class="id" title="method">one</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#mul"><span class="id" title="method">mul</span></a>;<br/> + <span class="id" title="var">_</span> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#left_distributive"><span class="id" title="definition">left_distributive</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#mul"><span class="id" title="method">mul</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#89db507031b6d4a3d916a0f1c8eeaac2"><span class="id" title="notation">+%</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#89db507031b6d4a3d916a0f1c8eeaac2"><span class="id" title="notation">R</span></a>;<br/> + <span class="id" title="var">_</span> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#right_distributive"><span class="id" title="definition">right_distributive</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#mul"><span class="id" title="method">mul</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#89db507031b6d4a3d916a0f1c8eeaac2"><span class="id" title="notation">+%</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#89db507031b6d4a3d916a0f1c8eeaac2"><span class="id" title="notation">R</span></a>;<br/> + <span class="id" title="var">_</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#one"><span class="id" title="method">one</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#c385a484ee9d1b4e0615924561a9b75e"><span class="id" title="notation">!=</span></a> 0<br/> }.<br/> <br/> <span class="id" title="keyword">Definition</span> <a name="GRing.Ring.EtaMixin"><span class="id" title="definition">EtaMixin</span></a> <span class="id" title="var">R</span> <span class="id" title="var">one</span> <span class="id" title="var">mul</span> <span class="id" title="var">mulA</span> <span class="id" title="var">mul1x</span> <span class="id" title="var">mulx1</span> <span class="id" title="var">mul_addl</span> <span class="id" title="var">mul_addr</span> <span class="id" title="var">nz1</span> :=<br/> <span class="id" title="keyword">let</span> <span class="id" title="var">_</span> := @<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Ring.Mixin"><span class="id" title="constructor">Mixin</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#R"><span class="id" title="variable">R</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#one"><span class="id" title="variable">one</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#mul"><span class="id" title="variable">mul</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#mulA"><span class="id" title="variable">mulA</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#mul1x"><span class="id" title="variable">mul1x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#mulx1"><span class="id" title="variable">mulx1</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#mul_addl"><span class="id" title="variable">mul_addl</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#mul_addr"><span class="id" title="variable">mul_addr</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#nz1"><span class="id" title="variable">nz1</span></a> <span class="id" title="tactic">in</span><br/> - @<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Ring.Mixin"><span class="id" title="constructor">Mixin</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Zmodule.Pack"><span class="id" title="constructor">Zmodule.Pack</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Zmodule.class"><span class="id" title="definition">Zmodule.class</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#R"><span class="id" title="variable">R</span></a>) <a class="idref" href="mathcomp.algebra.ssralg.html#R"><span class="id" title="variable">R</span></a>) <span class="id" title="var">_</span> <span class="id" title="var">_</span><br/> + @<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Ring.Mixin"><span class="id" title="constructor">Mixin</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Zmodule.Pack"><span class="id" title="constructor">Zmodule.Pack</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Zmodule.class"><span class="id" title="definition">Zmodule.class</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#R"><span class="id" title="variable">R</span></a>)) <span class="id" title="var">_</span> <span class="id" title="var">_</span><br/> <a class="idref" href="mathcomp.algebra.ssralg.html#mulA"><span class="id" title="variable">mulA</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#mul1x"><span class="id" title="variable">mul1x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#mulx1"><span class="id" title="variable">mulx1</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#mul_addl"><span class="id" title="variable">mul_addl</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#mul_addr"><span class="id" title="variable">mul_addr</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#nz1"><span class="id" title="variable">nz1</span></a>.<br/> <br/> @@ -985,26 +998,26 @@ <br/> <span class="id" title="keyword">Record</span> <a name="GRing.Ring.class_of"><span class="id" title="record">class_of</span></a> (<span class="id" title="var">R</span> : <span class="id" title="keyword">Type</span>) : <span class="id" title="keyword">Type</span> := <a name="GRing.Ring.Class"><span class="id" title="constructor">Class</span></a> {<br/> <a name="GRing.Ring.base"><span class="id" title="projection">base</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Zmodule.class_of"><span class="id" title="record">Zmodule.class_of</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#R"><span class="id" title="variable">R</span></a>;<br/> - <a name="GRing.Ring.mixin"><span class="id" title="projection">mixin</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Ring.mixin_of"><span class="id" title="record">mixin_of</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Zmodule.Pack"><span class="id" title="constructor">Zmodule.Pack</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#base"><span class="id" title="method">base</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#R"><span class="id" title="variable">R</span></a>)<br/> + <a name="GRing.Ring.mixin"><span class="id" title="projection">mixin</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Ring.mixin_of"><span class="id" title="record">mixin_of</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Zmodule.Pack"><span class="id" title="constructor">Zmodule.Pack</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#base"><span class="id" title="method">base</span></a>)<br/> }.<br/> <br/> -<span class="id" title="keyword">Structure</span> <a name="GRing.Ring.type"><span class="id" title="record">type</span></a> := <a name="GRing.Ring.Pack"><span class="id" title="constructor">Pack</span></a> {<a name="GRing.Ring.sort"><span class="id" title="projection">sort</span></a>; <span class="id" title="var">_</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Ring.class_of"><span class="id" title="record">class_of</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#sort"><span class="id" title="method">sort</span></a>; <span class="id" title="var">_</span> : <span class="id" title="keyword">Type</span>}.<br/> +<span class="id" title="keyword">Structure</span> <a name="GRing.Ring.type"><span class="id" title="record">type</span></a> := <a name="GRing.Ring.Pack"><span class="id" title="constructor">Pack</span></a> {<a name="GRing.Ring.sort"><span class="id" title="projection">sort</span></a>; <span class="id" title="var">_</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Ring.class_of"><span class="id" title="record">class_of</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#sort"><span class="id" title="method">sort</span></a>}.<br/> <span class="id" title="keyword">Variables</span> (<a name="GRing.Ring.ClassDef.T"><span class="id" title="variable">T</span></a> : <span class="id" title="keyword">Type</span>) (<a name="GRing.Ring.ClassDef.cT"><span class="id" title="variable">cT</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Ring.type"><span class="id" title="record">type</span></a>).<br/> -<span class="id" title="keyword">Definition</span> <a name="GRing.Ring.class"><span class="id" title="definition">class</span></a> := <span class="id" title="keyword">let</span>: <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Ring.Pack"><span class="id" title="constructor">Pack</span></a> <span class="id" title="var">_</span> <span class="id" title="var">c</span> <span class="id" title="var">_</span> <span class="id" title="keyword">as</span> <span class="id" title="var">cT'</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Ring.ClassDef.cT"><span class="id" title="variable">cT</span></a> <span class="id" title="keyword">return</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Ring.class_of"><span class="id" title="record">class_of</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#cT'"><span class="id" title="variable">cT'</span></a> <span class="id" title="tactic">in</span> <span class="id" title="var">c</span>.<br/> -<span class="id" title="keyword">Definition</span> <a name="GRing.Ring.clone"><span class="id" title="definition">clone</span></a> <span class="id" title="var">c</span> <span class="id" title="keyword">of</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#phant_id"><span class="id" title="definition">phant_id</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Ring.class"><span class="id" title="definition">class</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#c"><span class="id" title="variable">c</span></a> := @<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Ring.Pack"><span class="id" title="constructor">Pack</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Ring.ClassDef.T"><span class="id" title="variable">T</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#c"><span class="id" title="variable">c</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Ring.ClassDef.T"><span class="id" title="variable">T</span></a>.<br/> -<span class="id" title="keyword">Let</span> <a name="GRing.Ring.ClassDef.xT"><span class="id" title="variable">xT</span></a> := <span class="id" title="keyword">let</span>: <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Ring.Pack"><span class="id" title="constructor">Pack</span></a> <span class="id" title="var">T</span> <span class="id" title="var">_</span> <span class="id" title="var">_</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Ring.ClassDef.cT"><span class="id" title="variable">cT</span></a> <span class="id" title="tactic">in</span> <span class="id" title="var">T</span>.<br/> -<span class="id" title="keyword">Notation</span> <a name="GRing.Ring.xclass"><span class="id" title="abbreviation">xclass</span></a> := (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Ring.class"><span class="id" title="definition">class</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.ssralg.html#GRing.Ring.class_of"><span class="id" title="record">class_of</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Ring.ClassDef.xT"><span class="id" title="variable">xT</span></a>).<br/> +<span class="id" title="keyword">Definition</span> <a name="GRing.Ring.class"><span class="id" title="definition">class</span></a> := <span class="id" title="keyword">let</span>: <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Ring.Pack"><span class="id" title="constructor">Pack</span></a> <span class="id" title="var">_</span> <span class="id" title="var">c</span> <span class="id" title="keyword">as</span> <span class="id" title="var">cT'</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Ring.ClassDef.cT"><span class="id" title="variable">cT</span></a> <span class="id" title="keyword">return</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Ring.class_of"><span class="id" title="record">class_of</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#cT'"><span class="id" title="variable">cT'</span></a> <span class="id" title="tactic">in</span> <span class="id" title="var">c</span>.<br/> +<span class="id" title="keyword">Definition</span> <a name="GRing.Ring.clone"><span class="id" title="definition">clone</span></a> <span class="id" title="var">c</span> <span class="id" title="keyword">of</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#phant_id"><span class="id" title="definition">phant_id</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Ring.class"><span class="id" title="definition">class</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#c"><span class="id" title="variable">c</span></a> := @<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Ring.Pack"><span class="id" title="constructor">Pack</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Ring.ClassDef.T"><span class="id" title="variable">T</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#c"><span class="id" title="variable">c</span></a>.<br/> +<span class="id" title="keyword">Let</span> <a name="GRing.Ring.ClassDef.xT"><span class="id" title="variable">xT</span></a> := <span class="id" title="keyword">let</span>: <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Ring.Pack"><span class="id" title="constructor">Pack</span></a> <span class="id" title="var">T</span> <span class="id" title="var">_</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Ring.ClassDef.cT"><span class="id" title="variable">cT</span></a> <span class="id" title="tactic">in</span> <span class="id" title="var">T</span>.<br/> +<span class="id" title="keyword">Notation</span> <a name="GRing.Ring.xclass"><span class="id" title="abbreviation">xclass</span></a> := (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Ring.class"><span class="id" title="definition">class</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssreflect.html#aed478b27f23b4f753c27c8ac393febc"><span class="id" title="notation">:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Ring.class_of"><span class="id" title="record">class_of</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Ring.ClassDef.xT"><span class="id" title="variable">xT</span></a>).<br/> <br/> -<span class="id" title="keyword">Definition</span> <a name="GRing.Ring.pack"><span class="id" title="definition">pack</span></a> <span class="id" title="var">b0</span> (<span class="id" title="var">m0</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Ring.mixin_of"><span class="id" title="record">mixin_of</span></a> (@<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Zmodule.Pack"><span class="id" title="constructor">Zmodule.Pack</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Ring.ClassDef.T"><span class="id" title="variable">T</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b0"><span class="id" title="variable">b0</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Ring.ClassDef.T"><span class="id" title="variable">T</span></a>)) :=<br/> - <span class="id" title="keyword">fun</span> <span class="id" title="var">bT</span> <span class="id" title="var">b</span> & <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#phant_id"><span class="id" title="definition">phant_id</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Zmodule.class"><span class="id" title="definition">Zmodule.class</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#bT"><span class="id" title="variable">bT</span></a>) <a class="idref" href="mathcomp.algebra.ssralg.html#b"><span class="id" title="variable">b</span></a> ⇒<br/> - <span class="id" title="keyword">fun</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#phant_id"><span class="id" title="definition">phant_id</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#m0"><span class="id" title="variable">m0</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#m"><span class="id" title="variable">m</span></a> ⇒ <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Ring.Pack"><span class="id" title="constructor">Pack</span></a> (@<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Ring.Class"><span class="id" title="constructor">Class</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Ring.ClassDef.T"><span class="id" title="variable">T</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b"><span class="id" title="variable">b</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#m"><span class="id" title="variable">m</span></a>) <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Ring.ClassDef.T"><span class="id" title="variable">T</span></a>.<br/> +<span class="id" title="keyword">Definition</span> <a name="GRing.Ring.pack"><span class="id" title="definition">pack</span></a> <span class="id" title="var">b0</span> (<span class="id" title="var">m0</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Ring.mixin_of"><span class="id" title="record">mixin_of</span></a> (@<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Zmodule.Pack"><span class="id" title="constructor">Zmodule.Pack</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Ring.ClassDef.T"><span class="id" title="variable">T</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b0"><span class="id" title="variable">b0</span></a>)) :=<br/> + <span class="id" title="keyword">fun</span> <span class="id" title="var">bT</span> <span class="id" title="var">b</span> & <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#phant_id"><span class="id" title="definition">phant_id</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Zmodule.class"><span class="id" title="definition">Zmodule.class</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#bT"><span class="id" title="variable">bT</span></a>) <a class="idref" href="mathcomp.algebra.ssralg.html#b"><span class="id" title="variable">b</span></a> ⇒<br/> + <span class="id" title="keyword">fun</span> <span class="id" title="var">m</span> & <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#phant_id"><span class="id" title="definition">phant_id</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#m0"><span class="id" title="variable">m0</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#m"><span class="id" title="variable">m</span></a> ⇒ <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Ring.Pack"><span class="id" title="constructor">Pack</span></a> (@<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Ring.Class"><span class="id" title="constructor">Class</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Ring.ClassDef.T"><span class="id" title="variable">T</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b"><span class="id" title="variable">b</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#m"><span class="id" title="variable">m</span></a>).<br/> <br/> -<span class="id" title="keyword">Definition</span> <a name="GRing.Ring.eqType"><span class="id" title="definition">eqType</span></a> := @<a class="idref" href="mathcomp.ssreflect.eqtype.html#Equality.Pack"><span class="id" title="constructor">Equality.Pack</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Ring.ClassDef.cT"><span class="id" title="variable">cT</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Ring.xclass"><span class="id" title="abbreviation">xclass</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Ring.ClassDef.xT"><span class="id" title="variable">xT</span></a>.<br/> -<span class="id" title="keyword">Definition</span> <a name="GRing.Ring.choiceType"><span class="id" title="definition">choiceType</span></a> := @<a class="idref" href="mathcomp.ssreflect.choice.html#Choice.Pack"><span class="id" title="constructor">Choice.Pack</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Ring.ClassDef.cT"><span class="id" title="variable">cT</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Ring.xclass"><span class="id" title="abbreviation">xclass</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Ring.ClassDef.xT"><span class="id" title="variable">xT</span></a>.<br/> -<span class="id" title="keyword">Definition</span> <a name="GRing.Ring.zmodType"><span class="id" title="definition">zmodType</span></a> := @<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Zmodule.Pack"><span class="id" title="constructor">Zmodule.Pack</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Ring.ClassDef.cT"><span class="id" title="variable">cT</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Ring.xclass"><span class="id" title="abbreviation">xclass</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Ring.ClassDef.xT"><span class="id" title="variable">xT</span></a>.<br/> +<span class="id" title="keyword">Definition</span> <a name="GRing.Ring.eqType"><span class="id" title="definition">eqType</span></a> := @<a class="idref" href="mathcomp.ssreflect.eqtype.html#Equality.Pack"><span class="id" title="constructor">Equality.Pack</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Ring.ClassDef.cT"><span class="id" title="variable">cT</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Ring.xclass"><span class="id" title="abbreviation">xclass</span></a>.<br/> +<span class="id" title="keyword">Definition</span> <a name="GRing.Ring.choiceType"><span class="id" title="definition">choiceType</span></a> := @<a class="idref" href="mathcomp.ssreflect.choice.html#Choice.Pack"><span class="id" title="constructor">Choice.Pack</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Ring.ClassDef.cT"><span class="id" title="variable">cT</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Ring.xclass"><span class="id" title="abbreviation">xclass</span></a>.<br/> +<span class="id" title="keyword">Definition</span> <a name="GRing.Ring.zmodType"><span class="id" title="definition">zmodType</span></a> := @<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Zmodule.Pack"><span class="id" title="constructor">Zmodule.Pack</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Ring.ClassDef.cT"><span class="id" title="variable">cT</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Ring.xclass"><span class="id" title="abbreviation">xclass</span></a>.<br/> <br/> <span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Ring.ClassDef"><span class="id" title="section">ClassDef</span></a>.<br/> @@ -1021,11 +1034,11 @@ <span class="id" title="keyword">Coercion</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Ring.zmodType"><span class="id" title="definition">zmodType</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Ring.zmodType"><span class="id" title="definition">:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Ring.zmodType"><span class="id" title="definition">type</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Ring.zmodType"><span class="id" title="definition">>-></span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Ring.zmodType"><span class="id" title="definition">Zmodule.type</span></a>.<br/> <span class="id" title="keyword">Canonical</span> <span class="id" title="var">zmodType</span>.<br/> <span class="id" title="keyword">Notation</span> <a name="GRing.Ring.Exports.ringType"><span class="id" title="abbreviation">ringType</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Ring.type"><span class="id" title="record">type</span></a>.<br/> -<span class="id" title="keyword">Notation</span> <a name="GRing.Ring.Exports.RingType"><span class="id" title="abbreviation">RingType</span></a> <span class="id" title="var">T</span> <span class="id" title="var">m</span> := (@<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Ring.pack"><span class="id" title="definition">pack</span></a> <span class="id" title="var">T</span> <span class="id" title="var">_</span> <span class="id" title="var">m</span> <span class="id" title="var">_</span> <span class="id" title="var">_</span> <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> <span class="id" title="var">_</span> <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>).<br/> +<span class="id" title="keyword">Notation</span> <a name="GRing.Ring.Exports.RingType"><span class="id" title="abbreviation">RingType</span></a> <span class="id" title="var">T</span> <span class="id" title="var">m</span> := (@<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Ring.pack"><span class="id" title="definition">pack</span></a> <span class="id" title="var">T</span> <span class="id" title="var">_</span> <span class="id" title="var">m</span> <span class="id" title="var">_</span> <span class="id" title="var">_</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#id"><span class="id" title="abbreviation">id</span></a> <span class="id" title="var">_</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#id"><span class="id" title="abbreviation">id</span></a>).<br/> <span class="id" title="keyword">Notation</span> <a name="GRing.Ring.Exports.RingMixin"><span class="id" title="abbreviation">RingMixin</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Ring.Mixin"><span class="id" title="constructor">Mixin</span></a>.<br/> -<span class="id" title="keyword">Notation</span> <a name="35ecfd7bffc5e04ef0f8a2c421680259"><span class="id" title="notation">"</span></a>[ 'ringType' 'of' T 'for' cT ]" := (@<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Ring.clone"><span class="id" title="definition">clone</span></a> <span class="id" title="var">T</span> <span class="id" title="var">cT</span> <span class="id" title="var">_</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#idfun"><span class="id" title="abbreviation">idfun</span></a>)<br/> +<span class="id" title="keyword">Notation</span> <a name="ecf0b15322b67c769ef6213b9b1c1517"><span class="id" title="notation">"</span></a>[ 'ringType' 'of' T 'for' cT ]" := (@<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Ring.clone"><span class="id" title="definition">clone</span></a> <span class="id" title="var">T</span> <span class="id" title="var">cT</span> <span class="id" title="var">_</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#idfun"><span class="id" title="abbreviation">idfun</span></a>)<br/> (<span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 0, <span class="id" title="var">format</span> "[ 'ringType' 'of' T 'for' cT ]") : <span class="id" title="var">form_scope</span>.<br/> -<span class="id" title="keyword">Notation</span> <a name="dee4f3431027813095272c568fc6b5ce"><span class="id" title="notation">"</span></a>[ 'ringType' 'of' T ]" := (@<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Ring.clone"><span class="id" title="definition">clone</span></a> <span class="id" title="var">T</span> <span class="id" title="var">_</span> <span class="id" title="var">_</span> <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>)<br/> +<span class="id" title="keyword">Notation</span> <a name="964cf6dee45a836ccf0bcd3d85de1071"><span class="id" title="notation">"</span></a>[ 'ringType' 'of' T ]" := (@<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Ring.clone"><span class="id" title="definition">clone</span></a> <span class="id" title="var">T</span> <span class="id" title="var">_</span> <span class="id" title="var">_</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#id"><span class="id" title="abbreviation">id</span></a>)<br/> (<span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 0, <span class="id" title="var">format</span> "[ 'ringType' 'of' T ]") : <span class="id" title="var">form_scope</span>.<br/> <span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Ring.Exports"><span class="id" title="module">Exports</span></a>.<br/> @@ -1035,12 +1048,12 @@ <br/> <span class="id" title="keyword">Definition</span> <a name="GRing.one"><span class="id" title="definition">one</span></a> (<span class="id" title="var">R</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ringType"><span class="id" title="abbreviation">ringType</span></a>) : <a class="idref" href="mathcomp.algebra.ssralg.html#R"><span class="id" title="variable">R</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.one"><span class="id" title="projection">Ring.one</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.class"><span class="id" title="definition">Ring.class</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#R"><span class="id" title="variable">R</span></a>).<br/> -<span class="id" title="keyword">Definition</span> <a name="GRing.mul"><span class="id" title="definition">mul</span></a> (<span class="id" title="var">R</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ringType"><span class="id" title="abbreviation">ringType</span></a>) : <a class="idref" href="mathcomp.algebra.ssralg.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.ssralg.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.ssralg.html#R"><span class="id" title="variable">R</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.mul"><span class="id" title="projection">Ring.mul</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.class"><span class="id" title="definition">Ring.class</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#R"><span class="id" title="variable">R</span></a>).<br/> -<span class="id" title="keyword">Definition</span> <a name="GRing.exp"><span class="id" title="definition">exp</span></a> <span class="id" title="var">R</span> <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.ssr.ssreflect.html#nosimpl"><span class="id" title="abbreviation">nosimpl</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#iterop"><span class="id" title="definition">iterop</span></a> <span class="id" title="var">_</span> <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a> (@<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.mul"><span class="id" title="definition">mul</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#R"><span class="id" title="variable">R</span></a>) <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.one"><span class="id" title="definition">one</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#R"><span class="id" title="variable">R</span></a>).<br/> -<span class="id" title="keyword">Notation</span> <a name="GRing.sign"><span class="id" title="abbreviation">sign</span></a> <span class="id" title="var">R</span> <span class="id" title="var">b</span> := (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.exp"><span class="id" title="definition">exp</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#eefae7eea8ed2b8fccf150cb653d7a7b"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.one"><span class="id" title="definition">one</span></a> <span class="id" title="var">R</span>) (<a class="idref" href="mathcomp.ssreflect.ssrnat.html#nat_of_bool"><span class="id" title="definition">nat_of_bool</span></a> <span class="id" title="var">b</span>)) (<span class="id" title="var">only</span> <span class="id" title="var">parsing</span>).<br/> -<span class="id" title="keyword">Definition</span> <a name="GRing.comm"><span class="id" title="definition">comm</span></a> <span class="id" title="var">R</span> <span class="id" title="var">x</span> <span class="id" title="var">y</span> := @<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.mul"><span class="id" title="definition">mul</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#R"><span class="id" title="variable">R</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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.ssralg.html#GRing.mul"><span class="id" title="definition">mul</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a>.<br/> -<span class="id" title="keyword">Definition</span> <a name="GRing.lreg"><span class="id" title="definition">lreg</span></a> <span class="id" title="var">R</span> <span class="id" title="var">x</span> := <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.ssralg.html#GRing.mul"><span class="id" title="definition">mul</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#R"><span class="id" title="variable">R</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a>).<br/> -<span class="id" title="keyword">Definition</span> <a name="GRing.rreg"><span class="id" title="definition">rreg</span></a> <span class="id" title="var">R</span> <span class="id" title="var">x</span> := <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.ssralg.html#GRing.mul"><span class="id" title="definition">mul</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#R"><span class="id" title="variable">R</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#8f28bbd804547edd8de802d63ef85617"><span class="id" title="notation">)^~</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a>).<br/> +<span class="id" title="keyword">Definition</span> <a name="GRing.mul"><span class="id" title="definition">mul</span></a> (<span class="id" title="var">R</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ringType"><span class="id" title="abbreviation">ringType</span></a>) : <a class="idref" href="mathcomp.algebra.ssralg.html#R"><span class="id" title="variable">R</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#R"><span class="id" title="variable">R</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#R"><span class="id" title="variable">R</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.mul"><span class="id" title="projection">Ring.mul</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.class"><span class="id" title="definition">Ring.class</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#R"><span class="id" title="variable">R</span></a>).<br/> +<span class="id" title="keyword">Definition</span> <a name="GRing.exp"><span class="id" title="definition">exp</span></a> <span class="id" title="var">R</span> <span class="id" title="var">x</span> <span class="id" title="var">n</span> := <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssreflect.html#nosimpl"><span class="id" title="abbreviation">nosimpl</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#iterop"><span class="id" title="definition">iterop</span></a> <span class="id" title="var">_</span> <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a> (@<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.mul"><span class="id" title="definition">mul</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#R"><span class="id" title="variable">R</span></a>) <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.one"><span class="id" title="definition">one</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#R"><span class="id" title="variable">R</span></a>).<br/> +<span class="id" title="keyword">Notation</span> <a name="GRing.sign"><span class="id" title="abbreviation">sign</span></a> <span class="id" title="var">R</span> <span class="id" title="var">b</span> := (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.exp"><span class="id" title="definition">exp</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#aa58dfcfb323e1f070c38e31f9efddbe"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.one"><span class="id" title="definition">one</span></a> <span class="id" title="var">R</span>) (<a class="idref" href="mathcomp.ssreflect.ssrnat.html#nat_of_bool"><span class="id" title="definition">nat_of_bool</span></a> <span class="id" title="var">b</span>)) (<span class="id" title="var">only</span> <span class="id" title="var">parsing</span>).<br/> +<span class="id" title="keyword">Definition</span> <a name="GRing.comm"><span class="id" title="definition">comm</span></a> <span class="id" title="var">R</span> <span class="id" title="var">x</span> <span class="id" title="var">y</span> := @<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.mul"><span class="id" title="definition">mul</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#R"><span class="id" title="variable">R</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.mul"><span class="id" title="definition">mul</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a>.<br/> +<span class="id" title="keyword">Definition</span> <a name="GRing.lreg"><span class="id" title="definition">lreg</span></a> <span class="id" title="var">R</span> <span class="id" title="var">x</span> := <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#injective"><span class="id" title="definition">injective</span></a> (@<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.mul"><span class="id" title="definition">mul</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#R"><span class="id" title="variable">R</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a>).<br/> +<span class="id" title="keyword">Definition</span> <a name="GRing.rreg"><span class="id" title="definition">rreg</span></a> <span class="id" title="var">R</span> <span class="id" title="var">x</span> := <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#injective"><span class="id" title="definition">injective</span></a> (<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#d89396f990d6b54d736cfe259e498cf4"><span class="id" title="notation">(</span></a>@<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.mul"><span class="id" title="definition">mul</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#R"><span class="id" title="variable">R</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#d89396f990d6b54d736cfe259e498cf4"><span class="id" title="notation">)^~</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a>).<br/> <br/> @@ -1055,8 +1068,8 @@ results for a non commutative ring in the proof of Gorenstein 2.6.3. </div> <div class="code"> -<span class="id" title="keyword">Definition</span> <a name="GRing.char"><span class="id" title="definition">char</span></a> (<span class="id" title="var">R</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.type"><span class="id" title="record">Ring.type</span></a>) <span class="id" title="keyword">of</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssreflect.html#phant"><span class="id" title="inductive">phant</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#R"><span class="id" title="variable">R</span></a> : <a class="idref" href="mathcomp.ssreflect.prime.html#nat_pred"><span class="id" title="definition">nat_pred</span></a> :=<br/> - <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#b8288f36a4177926116f8c7429ee1d26"><span class="id" title="notation">[</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#b8288f36a4177926116f8c7429ee1d26"><span class="id" title="notation">pred</span></a> <span class="id" title="var">p</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#b8288f36a4177926116f8c7429ee1d26"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.prime.html#prime"><span class="id" title="definition">prime</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#p"><span class="id" title="variable">p</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#b8288f36a4177926116f8c7429ee1d26"><span class="id" title="notation">&</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#p"><span class="id" title="variable">p</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#c191333b9c7c034282647fbffacc9d18"><span class="id" title="notation">%:</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#c191333b9c7c034282647fbffacc9d18"><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">:></span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#R"><span class="id" title="variable">R</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#b8288f36a4177926116f8c7429ee1d26"><span class="id" title="notation">]</span></a>.<br/> +<span class="id" title="keyword">Definition</span> <a name="GRing.char"><span class="id" title="definition">char</span></a> (<span class="id" title="var">R</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.type"><span class="id" title="record">Ring.type</span></a>) <span class="id" title="keyword">of</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssreflect.html#phant"><span class="id" title="inductive">phant</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#R"><span class="id" title="variable">R</span></a> : <a class="idref" href="mathcomp.ssreflect.prime.html#nat_pred"><span class="id" title="definition">nat_pred</span></a> :=<br/> + <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#08a7ed80cdc6170ce1653a381b05d13e"><span class="id" title="notation">[</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#08a7ed80cdc6170ce1653a381b05d13e"><span class="id" title="notation">pred</span></a> <span class="id" title="var">p</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#08a7ed80cdc6170ce1653a381b05d13e"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.prime.html#prime"><span class="id" title="definition">prime</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#p"><span class="id" title="variable">p</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#08a7ed80cdc6170ce1653a381b05d13e"><span class="id" title="notation">&</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#p"><span class="id" title="variable">p</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#512a31305e556a90e0ad0550ee623cbc"><span class="id" title="notation">%:</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#512a31305e556a90e0ad0550ee623cbc"><span class="id" title="notation">R</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#28a3089bb29d95d7bdc98c2c73b31552"><span class="id" title="notation">==</span></a> 0 <a class="idref" href="mathcomp.ssreflect.eqtype.html#28a3089bb29d95d7bdc98c2c73b31552"><span class="id" title="notation">:></span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#R"><span class="id" title="variable">R</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#08a7ed80cdc6170ce1653a381b05d13e"><span class="id" title="notation">]</span></a>.<br/> <br/> @@ -1077,22 +1090,22 @@ <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.ssralg.html#GRing.RingTheory.R"><span class="id" title="variable">R</span></a>.<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.mulrA"><span class="id" title="lemma">mulrA</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.ssralg.html#GRing.RingTheory.R"><span class="id" title="variable">R</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#6498e6e308d8a143464cf2d2ba603d36"><span class="id" title="notation">*%</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#6498e6e308d8a143464cf2d2ba603d36"><span class="id" title="notation">R</span></a>. <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.mul1r"><span class="id" title="lemma">mul1r</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> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RingTheory.R"><span class="id" title="variable">R</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RingTheory.R"><span class="id" title="variable">R</span></a> 1 <a class="idref" href="mathcomp.algebra.ssralg.html#6498e6e308d8a143464cf2d2ba603d36"><span class="id" title="notation">*%</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#6498e6e308d8a143464cf2d2ba603d36"><span class="id" title="notation">R</span></a>. <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.mulr1"><span class="id" title="lemma">mulr1</span></a> : @<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#right_id"><span class="id" title="definition">right_id</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RingTheory.R"><span class="id" title="variable">R</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RingTheory.R"><span class="id" title="variable">R</span></a> 1 <a class="idref" href="mathcomp.algebra.ssralg.html#6498e6e308d8a143464cf2d2ba603d36"><span class="id" title="notation">*%</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#6498e6e308d8a143464cf2d2ba603d36"><span class="id" title="notation">R</span></a>. <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.mulrDl"><span class="id" title="lemma">mulrDl</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.ssralg.html#GRing.RingTheory.R"><span class="id" title="variable">R</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RingTheory.R"><span class="id" title="variable">R</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#6498e6e308d8a143464cf2d2ba603d36"><span class="id" title="notation">*%</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#6498e6e308d8a143464cf2d2ba603d36"><span class="id" title="notation">R</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#6c3404a70e11a79a0fa82b3d398aa71f"><span class="id" title="notation">+%</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#6c3404a70e11a79a0fa82b3d398aa71f"><span class="id" title="notation">R</span></a>.<br/> - <span class="id" title="keyword">Lemma</span> <a name="GRing.mulrDr"><span class="id" title="lemma">mulrDr</span></a> : @<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#right_distributive"><span class="id" title="definition">right_distributive</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RingTheory.R"><span class="id" title="variable">R</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RingTheory.R"><span class="id" title="variable">R</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#6498e6e308d8a143464cf2d2ba603d36"><span class="id" title="notation">*%</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#6498e6e308d8a143464cf2d2ba603d36"><span class="id" title="notation">R</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#6c3404a70e11a79a0fa82b3d398aa71f"><span class="id" title="notation">+%</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#6c3404a70e11a79a0fa82b3d398aa71f"><span class="id" title="notation">R</span></a>.<br/> - <span class="id" title="keyword">Lemma</span> <a name="GRing.oner_neq0"><span class="id" title="lemma">oner_neq0</span></a> : 1 <a class="idref" href="mathcomp.ssreflect.eqtype.html#9e45f909d1732d6d9e153b650829bccf"><span class="id" title="notation">!=</span></a> 0 <a class="idref" href="mathcomp.ssreflect.eqtype.html#9e45f909d1732d6d9e153b650829bccf"><span class="id" title="notation">:></span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RingTheory.R"><span class="id" title="variable">R</span></a>. <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.oner_eq0"><span class="id" title="lemma">oner_eq0</span></a> : <a 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.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">:></span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RingTheory.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.Datatypes.html#false"><span class="id" title="constructor">false</span></a>. <br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.mulrA"><span class="id" title="lemma">mulrA</span></a> : @<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#associative"><span class="id" title="definition">associative</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RingTheory.R"><span class="id" title="variable">R</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#bae191a5c954d16cccd67244cf8a6ceb"><span class="id" title="notation">*%</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#bae191a5c954d16cccd67244cf8a6ceb"><span class="id" title="notation">R</span></a>. <br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.mul1r"><span class="id" title="lemma">mul1r</span></a> : @<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#left_id"><span class="id" title="definition">left_id</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RingTheory.R"><span class="id" title="variable">R</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RingTheory.R"><span class="id" title="variable">R</span></a> 1 <a class="idref" href="mathcomp.algebra.ssralg.html#bae191a5c954d16cccd67244cf8a6ceb"><span class="id" title="notation">*%</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#bae191a5c954d16cccd67244cf8a6ceb"><span class="id" title="notation">R</span></a>. <br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.mulr1"><span class="id" title="lemma">mulr1</span></a> : @<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#right_id"><span class="id" title="definition">right_id</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RingTheory.R"><span class="id" title="variable">R</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RingTheory.R"><span class="id" title="variable">R</span></a> 1 <a class="idref" href="mathcomp.algebra.ssralg.html#bae191a5c954d16cccd67244cf8a6ceb"><span class="id" title="notation">*%</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#bae191a5c954d16cccd67244cf8a6ceb"><span class="id" title="notation">R</span></a>. <br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.mulrDl"><span class="id" title="lemma">mulrDl</span></a> : @<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#left_distributive"><span class="id" title="definition">left_distributive</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RingTheory.R"><span class="id" title="variable">R</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RingTheory.R"><span class="id" title="variable">R</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#bae191a5c954d16cccd67244cf8a6ceb"><span class="id" title="notation">*%</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#bae191a5c954d16cccd67244cf8a6ceb"><span class="id" title="notation">R</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#89db507031b6d4a3d916a0f1c8eeaac2"><span class="id" title="notation">+%</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#89db507031b6d4a3d916a0f1c8eeaac2"><span class="id" title="notation">R</span></a>.<br/> + <span class="id" title="keyword">Lemma</span> <a name="GRing.mulrDr"><span class="id" title="lemma">mulrDr</span></a> : @<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#right_distributive"><span class="id" title="definition">right_distributive</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RingTheory.R"><span class="id" title="variable">R</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RingTheory.R"><span class="id" title="variable">R</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#bae191a5c954d16cccd67244cf8a6ceb"><span class="id" title="notation">*%</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#bae191a5c954d16cccd67244cf8a6ceb"><span class="id" title="notation">R</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#89db507031b6d4a3d916a0f1c8eeaac2"><span class="id" title="notation">+%</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#89db507031b6d4a3d916a0f1c8eeaac2"><span class="id" title="notation">R</span></a>.<br/> + <span class="id" title="keyword">Lemma</span> <a name="GRing.oner_neq0"><span class="id" title="lemma">oner_neq0</span></a> : 1 <a class="idref" href="mathcomp.ssreflect.eqtype.html#228e85e3c31a939cba019f255574c875"><span class="id" title="notation">!=</span></a> 0 <a class="idref" href="mathcomp.ssreflect.eqtype.html#228e85e3c31a939cba019f255574c875"><span class="id" title="notation">:></span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RingTheory.R"><span class="id" title="variable">R</span></a>. <br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.oner_eq0"><span class="id" title="lemma">oner_eq0</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">(</span></a>1 <a class="idref" href="mathcomp.ssreflect.eqtype.html#28a3089bb29d95d7bdc98c2c73b31552"><span class="id" title="notation">==</span></a> 0 <a class="idref" href="mathcomp.ssreflect.eqtype.html#28a3089bb29d95d7bdc98c2c73b31552"><span class="id" title="notation">:></span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RingTheory.R"><span class="id" title="variable">R</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#false"><span class="id" title="constructor">false</span></a>. <br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.mul0r"><span class="id" title="lemma">mul0r</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> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RingTheory.R"><span class="id" title="variable">R</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RingTheory.R"><span class="id" title="variable">R</span></a> 0 <a class="idref" href="mathcomp.algebra.ssralg.html#6498e6e308d8a143464cf2d2ba603d36"><span class="id" title="notation">*%</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#6498e6e308d8a143464cf2d2ba603d36"><span class="id" title="notation">R</span></a>.<br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.mulr0"><span class="id" title="lemma">mulr0</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> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RingTheory.R"><span class="id" title="variable">R</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RingTheory.R"><span class="id" title="variable">R</span></a> 0 <a class="idref" href="mathcomp.algebra.ssralg.html#6498e6e308d8a143464cf2d2ba603d36"><span class="id" title="notation">*%</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#6498e6e308d8a143464cf2d2ba603d36"><span class="id" title="notation">R</span></a>.<br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.mulrN"><span class="id" title="lemma">mulrN</span></a> <span class="id" title="var">x</span> <span class="id" title="var">y</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#ed99e7035d9a1f8a2c1515be81ac2e5f"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#ed99e7035d9a1f8a2c1515be81ac2e5f"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#eefae7eea8ed2b8fccf150cb653d7a7b"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#ed99e7035d9a1f8a2c1515be81ac2e5f"><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#eefae7eea8ed2b8fccf150cb653d7a7b"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#eefae7eea8ed2b8fccf150cb653d7a7b"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#ed99e7035d9a1f8a2c1515be81ac2e5f"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#eefae7eea8ed2b8fccf150cb653d7a7b"><span class="id" title="notation">)</span></a>.<br/> - <span class="id" title="keyword">Lemma</span> <a name="GRing.mulNr"><span class="id" title="lemma">mulNr</span></a> <span class="id" title="var">x</span> <span class="id" title="var">y</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#ed99e7035d9a1f8a2c1515be81ac2e5f"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#eefae7eea8ed2b8fccf150cb653d7a7b"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#ed99e7035d9a1f8a2c1515be81ac2e5f"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#ed99e7035d9a1f8a2c1515be81ac2e5f"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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.ssralg.html#eefae7eea8ed2b8fccf150cb653d7a7b"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#eefae7eea8ed2b8fccf150cb653d7a7b"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#ed99e7035d9a1f8a2c1515be81ac2e5f"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#eefae7eea8ed2b8fccf150cb653d7a7b"><span class="id" title="notation">)</span></a>.<br/> - <span class="id" title="keyword">Lemma</span> <a name="GRing.mulrNN"><span class="id" title="lemma">mulrNN</span></a> <span class="id" title="var">x</span> <span class="id" title="var">y</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#ed99e7035d9a1f8a2c1515be81ac2e5f"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#eefae7eea8ed2b8fccf150cb653d7a7b"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#ed99e7035d9a1f8a2c1515be81ac2e5f"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#ed99e7035d9a1f8a2c1515be81ac2e5f"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#ed99e7035d9a1f8a2c1515be81ac2e5f"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#eefae7eea8ed2b8fccf150cb653d7a7b"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#ed99e7035d9a1f8a2c1515be81ac2e5f"><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#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#ed99e7035d9a1f8a2c1515be81ac2e5f"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a>.<br/> - <span class="id" title="keyword">Lemma</span> <a name="GRing.mulN1r"><span class="id" title="lemma">mulN1r</span></a> <span class="id" title="var">x</span> : -1 <a class="idref" href="mathcomp.algebra.ssralg.html#ed99e7035d9a1f8a2c1515be81ac2e5f"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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#eefae7eea8ed2b8fccf150cb653d7a7b"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a>.<br/> - <span class="id" title="keyword">Lemma</span> <a name="GRing.mulrN1"><span class="id" title="lemma">mulrN1</span></a> <span class="id" title="var">x</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#ed99e7035d9a1f8a2c1515be81ac2e5f"><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.ssralg.html#eefae7eea8ed2b8fccf150cb653d7a7b"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a>.<br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.mul0r"><span class="id" title="lemma">mul0r</span></a> : @<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#left_zero"><span class="id" title="definition">left_zero</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RingTheory.R"><span class="id" title="variable">R</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RingTheory.R"><span class="id" title="variable">R</span></a> 0 <a class="idref" href="mathcomp.algebra.ssralg.html#bae191a5c954d16cccd67244cf8a6ceb"><span class="id" title="notation">*%</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#bae191a5c954d16cccd67244cf8a6ceb"><span class="id" title="notation">R</span></a>.<br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.mulr0"><span class="id" title="lemma">mulr0</span></a> : @<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#right_zero"><span class="id" title="definition">right_zero</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RingTheory.R"><span class="id" title="variable">R</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RingTheory.R"><span class="id" title="variable">R</span></a> 0 <a class="idref" href="mathcomp.algebra.ssralg.html#bae191a5c954d16cccd67244cf8a6ceb"><span class="id" title="notation">*%</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#bae191a5c954d16cccd67244cf8a6ceb"><span class="id" title="notation">R</span></a>.<br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.mulrN"><span class="id" title="lemma">mulrN</span></a> <span class="id" title="var">x</span> <span class="id" title="var">y</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f99a2dc6d143aa8f1021ab57e4a19eee"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f99a2dc6d143aa8f1021ab57e4a19eee"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#aa58dfcfb323e1f070c38e31f9efddbe"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#f99a2dc6d143aa8f1021ab57e4a19eee"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#aa58dfcfb323e1f070c38e31f9efddbe"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#aa58dfcfb323e1f070c38e31f9efddbe"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f99a2dc6d143aa8f1021ab57e4a19eee"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#aa58dfcfb323e1f070c38e31f9efddbe"><span class="id" title="notation">)</span></a>.<br/> + <span class="id" title="keyword">Lemma</span> <a name="GRing.mulNr"><span class="id" title="lemma">mulNr</span></a> <span class="id" title="var">x</span> <span class="id" title="var">y</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#f99a2dc6d143aa8f1021ab57e4a19eee"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#aa58dfcfb323e1f070c38e31f9efddbe"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#f99a2dc6d143aa8f1021ab57e4a19eee"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f99a2dc6d143aa8f1021ab57e4a19eee"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#aa58dfcfb323e1f070c38e31f9efddbe"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#aa58dfcfb323e1f070c38e31f9efddbe"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f99a2dc6d143aa8f1021ab57e4a19eee"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#aa58dfcfb323e1f070c38e31f9efddbe"><span class="id" title="notation">)</span></a>.<br/> + <span class="id" title="keyword">Lemma</span> <a name="GRing.mulrNN"><span class="id" title="lemma">mulrNN</span></a> <span class="id" title="var">x</span> <span class="id" title="var">y</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#f99a2dc6d143aa8f1021ab57e4a19eee"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#aa58dfcfb323e1f070c38e31f9efddbe"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#f99a2dc6d143aa8f1021ab57e4a19eee"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f99a2dc6d143aa8f1021ab57e4a19eee"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f99a2dc6d143aa8f1021ab57e4a19eee"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#aa58dfcfb323e1f070c38e31f9efddbe"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#f99a2dc6d143aa8f1021ab57e4a19eee"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f99a2dc6d143aa8f1021ab57e4a19eee"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a>.<br/> + <span class="id" title="keyword">Lemma</span> <a name="GRing.mulN1r"><span class="id" title="lemma">mulN1r</span></a> <span class="id" title="var">x</span> : -1 <a class="idref" href="mathcomp.algebra.ssralg.html#f99a2dc6d143aa8f1021ab57e4a19eee"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#aa58dfcfb323e1f070c38e31f9efddbe"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a>.<br/> + <span class="id" title="keyword">Lemma</span> <a name="GRing.mulrN1"><span class="id" title="lemma">mulrN1</span></a> <span class="id" title="var">x</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f99a2dc6d143aa8f1021ab57e4a19eee"><span class="id" title="notation">×</span></a> -1 <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#aa58dfcfb323e1f070c38e31f9efddbe"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a>.<br/> <br/> <span class="id" title="keyword">Canonical</span> <span class="id" title="var">mul_monoid</span> := <a class="idref" href="mathcomp.ssreflect.bigop.html#Monoid.Law"><span class="id" title="constructor">Monoid.Law</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.mulrA"><span class="id" title="lemma">mulrA</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.mul1r"><span class="id" title="lemma">mul1r</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.mulr1"><span class="id" title="lemma">mulr1</span></a>.<br/> @@ -1100,65 +1113,65 @@ <span class="id" title="keyword">Canonical</span> <span class="id" title="var">addoid</span> := <a class="idref" href="mathcomp.ssreflect.bigop.html#Monoid.AddLaw"><span class="id" title="constructor">Monoid.AddLaw</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.mulrDl"><span class="id" title="lemma">mulrDl</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.mulrDr"><span class="id" title="lemma">mulrDr</span></a>.<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.mulr_suml"><span class="id" title="lemma">mulr_suml</span></a> <span class="id" title="var">I</span> <span class="id" title="var">r</span> <span class="id" title="var">P</span> (<span class="id" title="var">F</span> : <a class="idref" href="mathcomp.algebra.ssralg.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.ssralg.html#GRing.RingTheory.R"><span class="id" title="variable">R</span></a>) <span class="id" title="var">x</span> :<br/> - <a class="idref" href="mathcomp.algebra.ssralg.html#ed99e7035d9a1f8a2c1515be81ac2e5f"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#664ae738a3286983847c80e5ee4c8c6b"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#664ae738a3286983847c80e5ee4c8c6b"><span class="id" title="notation">sum_</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#664ae738a3286983847c80e5ee4c8c6b"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.algebra.ssralg.html#664ae738a3286983847c80e5ee4c8c6b"><span class="id" title="notation"><-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#r"><span class="id" title="variable">r</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#664ae738a3286983847c80e5ee4c8c6b"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#664ae738a3286983847c80e5ee4c8c6b"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#ed99e7035d9a1f8a2c1515be81ac2e5f"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#ed99e7035d9a1f8a2c1515be81ac2e5f"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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#664ae738a3286983847c80e5ee4c8c6b"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#664ae738a3286983847c80e5ee4c8c6b"><span class="id" title="notation">sum_</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#664ae738a3286983847c80e5ee4c8c6b"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.algebra.ssralg.html#664ae738a3286983847c80e5ee4c8c6b"><span class="id" title="notation"><-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#r"><span class="id" title="variable">r</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#664ae738a3286983847c80e5ee4c8c6b"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#664ae738a3286983847c80e5ee4c8c6b"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#ed99e7035d9a1f8a2c1515be81ac2e5f"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a>.<br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.mulr_suml"><span class="id" title="lemma">mulr_suml</span></a> <span class="id" title="var">I</span> <span class="id" title="var">r</span> <span class="id" title="var">P</span> (<span class="id" title="var">F</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#I"><span class="id" title="variable">I</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RingTheory.R"><span class="id" title="variable">R</span></a>) <span class="id" title="var">x</span> :<br/> + <a class="idref" href="mathcomp.algebra.ssralg.html#f99a2dc6d143aa8f1021ab57e4a19eee"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#dcb91d0b08ece8369cc6084787184d13"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#dcb91d0b08ece8369cc6084787184d13"><span class="id" title="notation">sum_</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#dcb91d0b08ece8369cc6084787184d13"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.algebra.ssralg.html#dcb91d0b08ece8369cc6084787184d13"><span class="id" title="notation"><-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#r"><span class="id" title="variable">r</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#dcb91d0b08ece8369cc6084787184d13"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#dcb91d0b08ece8369cc6084787184d13"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#f99a2dc6d143aa8f1021ab57e4a19eee"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f99a2dc6d143aa8f1021ab57e4a19eee"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#dcb91d0b08ece8369cc6084787184d13"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#dcb91d0b08ece8369cc6084787184d13"><span class="id" title="notation">sum_</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#dcb91d0b08ece8369cc6084787184d13"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.algebra.ssralg.html#dcb91d0b08ece8369cc6084787184d13"><span class="id" title="notation"><-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#r"><span class="id" title="variable">r</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#dcb91d0b08ece8369cc6084787184d13"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#dcb91d0b08ece8369cc6084787184d13"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f99a2dc6d143aa8f1021ab57e4a19eee"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a>.<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.mulr_sumr"><span class="id" title="lemma">mulr_sumr</span></a> <span class="id" title="var">I</span> <span class="id" title="var">r</span> <span class="id" title="var">P</span> (<span class="id" title="var">F</span> : <a class="idref" href="mathcomp.algebra.ssralg.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.ssralg.html#GRing.RingTheory.R"><span class="id" title="variable">R</span></a>) <span class="id" title="var">x</span> :<br/> - <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#ed99e7035d9a1f8a2c1515be81ac2e5f"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#ed99e7035d9a1f8a2c1515be81ac2e5f"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#664ae738a3286983847c80e5ee4c8c6b"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#664ae738a3286983847c80e5ee4c8c6b"><span class="id" title="notation">sum_</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#664ae738a3286983847c80e5ee4c8c6b"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.algebra.ssralg.html#664ae738a3286983847c80e5ee4c8c6b"><span class="id" title="notation"><-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#r"><span class="id" title="variable">r</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#664ae738a3286983847c80e5ee4c8c6b"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#664ae738a3286983847c80e5ee4c8c6b"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#ed99e7035d9a1f8a2c1515be81ac2e5f"><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#664ae738a3286983847c80e5ee4c8c6b"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#664ae738a3286983847c80e5ee4c8c6b"><span class="id" title="notation">sum_</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#664ae738a3286983847c80e5ee4c8c6b"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.algebra.ssralg.html#664ae738a3286983847c80e5ee4c8c6b"><span class="id" title="notation"><-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#r"><span class="id" title="variable">r</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#664ae738a3286983847c80e5ee4c8c6b"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#664ae738a3286983847c80e5ee4c8c6b"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#ed99e7035d9a1f8a2c1515be81ac2e5f"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</span></a>.<br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.mulr_sumr"><span class="id" title="lemma">mulr_sumr</span></a> <span class="id" title="var">I</span> <span class="id" title="var">r</span> <span class="id" title="var">P</span> (<span class="id" title="var">F</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#I"><span class="id" title="variable">I</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RingTheory.R"><span class="id" title="variable">R</span></a>) <span class="id" title="var">x</span> :<br/> + <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f99a2dc6d143aa8f1021ab57e4a19eee"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f99a2dc6d143aa8f1021ab57e4a19eee"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#dcb91d0b08ece8369cc6084787184d13"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#dcb91d0b08ece8369cc6084787184d13"><span class="id" title="notation">sum_</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#dcb91d0b08ece8369cc6084787184d13"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.algebra.ssralg.html#dcb91d0b08ece8369cc6084787184d13"><span class="id" title="notation"><-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#r"><span class="id" title="variable">r</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#dcb91d0b08ece8369cc6084787184d13"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#dcb91d0b08ece8369cc6084787184d13"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#f99a2dc6d143aa8f1021ab57e4a19eee"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#dcb91d0b08ece8369cc6084787184d13"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#dcb91d0b08ece8369cc6084787184d13"><span class="id" title="notation">sum_</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#dcb91d0b08ece8369cc6084787184d13"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.algebra.ssralg.html#dcb91d0b08ece8369cc6084787184d13"><span class="id" title="notation"><-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#r"><span class="id" title="variable">r</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#dcb91d0b08ece8369cc6084787184d13"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#dcb91d0b08ece8369cc6084787184d13"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f99a2dc6d143aa8f1021ab57e4a19eee"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</span></a>.<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.mulrBl"><span class="id" title="lemma">mulrBl</span></a> <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.ssralg.html#ed99e7035d9a1f8a2c1515be81ac2e5f"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#4d4b9697032429ec46472e6332d1356a"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#z"><span class="id" title="variable">z</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#ed99e7035d9a1f8a2c1515be81ac2e5f"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#ed99e7035d9a1f8a2c1515be81ac2e5f"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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#y"><span class="id" title="variable">y</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#ed99e7035d9a1f8a2c1515be81ac2e5f"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#4d4b9697032429ec46472e6332d1356a"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#z"><span class="id" title="variable">z</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#ed99e7035d9a1f8a2c1515be81ac2e5f"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a>.<br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.mulrBl"><span class="id" title="lemma">mulrBl</span></a> <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.ssralg.html#f99a2dc6d143aa8f1021ab57e4a19eee"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#4a5fc7f0d0a33bc3822357a38c953c9e"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#z"><span class="id" title="variable">z</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#f99a2dc6d143aa8f1021ab57e4a19eee"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f99a2dc6d143aa8f1021ab57e4a19eee"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f99a2dc6d143aa8f1021ab57e4a19eee"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#4a5fc7f0d0a33bc3822357a38c953c9e"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#z"><span class="id" title="variable">z</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f99a2dc6d143aa8f1021ab57e4a19eee"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a>.<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.mulrBr"><span class="id" title="lemma">mulrBr</span></a> <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.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#ed99e7035d9a1f8a2c1515be81ac2e5f"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#ed99e7035d9a1f8a2c1515be81ac2e5f"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#4d4b9697032429ec46472e6332d1356a"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#z"><span class="id" title="variable">z</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#ed99e7035d9a1f8a2c1515be81ac2e5f"><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#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#ed99e7035d9a1f8a2c1515be81ac2e5f"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#4d4b9697032429ec46472e6332d1356a"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#ed99e7035d9a1f8a2c1515be81ac2e5f"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#z"><span class="id" title="variable">z</span></a>.<br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.mulrBr"><span class="id" title="lemma">mulrBr</span></a> <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.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f99a2dc6d143aa8f1021ab57e4a19eee"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f99a2dc6d143aa8f1021ab57e4a19eee"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#4a5fc7f0d0a33bc3822357a38c953c9e"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#z"><span class="id" title="variable">z</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#f99a2dc6d143aa8f1021ab57e4a19eee"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f99a2dc6d143aa8f1021ab57e4a19eee"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#4a5fc7f0d0a33bc3822357a38c953c9e"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f99a2dc6d143aa8f1021ab57e4a19eee"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#z"><span class="id" title="variable">z</span></a>.<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.mulrnAl"><span class="id" title="lemma">mulrnAl</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#ed99e7035d9a1f8a2c1515be81ac2e5f"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#513eaa3129601ecbcc9e188a80d6155b"><span class="id" title="notation">*+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#ed99e7035d9a1f8a2c1515be81ac2e5f"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#ed99e7035d9a1f8a2c1515be81ac2e5f"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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.ssralg.html#513eaa3129601ecbcc9e188a80d6155b"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#ed99e7035d9a1f8a2c1515be81ac2e5f"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#513eaa3129601ecbcc9e188a80d6155b"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#513eaa3129601ecbcc9e188a80d6155b"><span class="id" title="notation">*+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a>.<br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.mulrnAl"><span class="id" title="lemma">mulrnAl</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#f99a2dc6d143aa8f1021ab57e4a19eee"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#506f68330939db1f655609b68b37b467"><span class="id" title="notation">*+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#f99a2dc6d143aa8f1021ab57e4a19eee"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f99a2dc6d143aa8f1021ab57e4a19eee"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#506f68330939db1f655609b68b37b467"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f99a2dc6d143aa8f1021ab57e4a19eee"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#506f68330939db1f655609b68b37b467"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#506f68330939db1f655609b68b37b467"><span class="id" title="notation">*+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a>.<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.mulrnAr"><span class="id" title="lemma">mulrnAr</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#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#ed99e7035d9a1f8a2c1515be81ac2e5f"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#ed99e7035d9a1f8a2c1515be81ac2e5f"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#513eaa3129601ecbcc9e188a80d6155b"><span class="id" title="notation">*+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#ed99e7035d9a1f8a2c1515be81ac2e5f"><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#513eaa3129601ecbcc9e188a80d6155b"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#ed99e7035d9a1f8a2c1515be81ac2e5f"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#513eaa3129601ecbcc9e188a80d6155b"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#513eaa3129601ecbcc9e188a80d6155b"><span class="id" title="notation">*+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a>.<br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.mulrnAr"><span class="id" title="lemma">mulrnAr</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#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f99a2dc6d143aa8f1021ab57e4a19eee"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f99a2dc6d143aa8f1021ab57e4a19eee"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#506f68330939db1f655609b68b37b467"><span class="id" title="notation">*+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#f99a2dc6d143aa8f1021ab57e4a19eee"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#506f68330939db1f655609b68b37b467"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f99a2dc6d143aa8f1021ab57e4a19eee"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#506f68330939db1f655609b68b37b467"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#506f68330939db1f655609b68b37b467"><span class="id" title="notation">*+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a>.<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.mulr_natl"><span class="id" title="lemma">mulr_natl</span></a> <span class="id" title="var">x</span> <span class="id" title="var">n</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#c191333b9c7c034282647fbffacc9d18"><span class="id" title="notation">%:</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#c191333b9c7c034282647fbffacc9d18"><span class="id" title="notation">R</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#ed99e7035d9a1f8a2c1515be81ac2e5f"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#513eaa3129601ecbcc9e188a80d6155b"><span class="id" title="notation">*+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a>.<br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.mulr_natl"><span class="id" title="lemma">mulr_natl</span></a> <span class="id" title="var">x</span> <span class="id" title="var">n</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#512a31305e556a90e0ad0550ee623cbc"><span class="id" title="notation">%:</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#512a31305e556a90e0ad0550ee623cbc"><span class="id" title="notation">R</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f99a2dc6d143aa8f1021ab57e4a19eee"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#506f68330939db1f655609b68b37b467"><span class="id" title="notation">*+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a>.<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.mulr_natr"><span class="id" title="lemma">mulr_natr</span></a> <span class="id" title="var">x</span> <span class="id" title="var">n</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#ed99e7035d9a1f8a2c1515be81ac2e5f"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#c191333b9c7c034282647fbffacc9d18"><span class="id" title="notation">%:</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#c191333b9c7c034282647fbffacc9d18"><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.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#513eaa3129601ecbcc9e188a80d6155b"><span class="id" title="notation">*+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a>.<br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.mulr_natr"><span class="id" title="lemma">mulr_natr</span></a> <span class="id" title="var">x</span> <span class="id" title="var">n</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f99a2dc6d143aa8f1021ab57e4a19eee"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#512a31305e556a90e0ad0550ee623cbc"><span class="id" title="notation">%:</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#512a31305e556a90e0ad0550ee623cbc"><span class="id" title="notation">R</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#506f68330939db1f655609b68b37b467"><span class="id" title="notation">*+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a>.<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.natrD"><span class="id" title="lemma">natrD</span></a> <span class="id" title="var">m</span> <span class="id" title="var">n</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#c191333b9c7c034282647fbffacc9d18"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.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.ssralg.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#c191333b9c7c034282647fbffacc9d18"><span class="id" title="notation">)%:</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#c191333b9c7c034282647fbffacc9d18"><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#m"><span class="id" title="variable">m</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#c191333b9c7c034282647fbffacc9d18"><span class="id" title="notation">%:</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#c191333b9c7c034282647fbffacc9d18"><span class="id" title="notation">R</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#338c5345074fd3586073fd29273c138a"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#c191333b9c7c034282647fbffacc9d18"><span class="id" title="notation">%:</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#c191333b9c7c034282647fbffacc9d18"><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#GRing.RingTheory.R"><span class="id" title="variable">R</span></a>.<br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.natrD"><span class="id" title="lemma">natrD</span></a> <span class="id" title="var">m</span> <span class="id" title="var">n</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#512a31305e556a90e0ad0550ee623cbc"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#0dacc1786c5ba797d47dd85006231633"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#512a31305e556a90e0ad0550ee623cbc"><span class="id" title="notation">)%:</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#512a31305e556a90e0ad0550ee623cbc"><span class="id" title="notation">R</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#b8b2ebc8e1a8b9aa935c0702efb5dccf"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#m"><span class="id" title="variable">m</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#512a31305e556a90e0ad0550ee623cbc"><span class="id" title="notation">%:</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#512a31305e556a90e0ad0550ee623cbc"><span class="id" title="notation">R</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#730bbb3cf1092122fa1a208d3879e5e8"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#512a31305e556a90e0ad0550ee623cbc"><span class="id" title="notation">%:</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#512a31305e556a90e0ad0550ee623cbc"><span class="id" title="notation">R</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#b8b2ebc8e1a8b9aa935c0702efb5dccf"><span class="id" title="notation">:></span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RingTheory.R"><span class="id" title="variable">R</span></a>.<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.natrB"><span class="id" title="lemma">natrB</span></a> <span class="id" title="var">m</span> <span class="id" title="var">n</span> : <a class="idref" href="mathcomp.algebra.ssralg.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.ssralg.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#c191333b9c7c034282647fbffacc9d18"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.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.ssralg.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#c191333b9c7c034282647fbffacc9d18"><span class="id" title="notation">)%:</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#c191333b9c7c034282647fbffacc9d18"><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#m"><span class="id" title="variable">m</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#c191333b9c7c034282647fbffacc9d18"><span class="id" title="notation">%:</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#c191333b9c7c034282647fbffacc9d18"><span class="id" title="notation">R</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#4d4b9697032429ec46472e6332d1356a"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#c191333b9c7c034282647fbffacc9d18"><span class="id" title="notation">%:</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#c191333b9c7c034282647fbffacc9d18"><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#GRing.RingTheory.R"><span class="id" title="variable">R</span></a>.<br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.natrB"><span class="id" title="lemma">natrB</span></a> <span class="id" title="var">m</span> <span class="id" title="var">n</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#cb53cf0ee22c036a03b4a9281c68b5a3"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#512a31305e556a90e0ad0550ee623cbc"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#7825ccc99f23b0d30c9d40c317ba7af0"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#512a31305e556a90e0ad0550ee623cbc"><span class="id" title="notation">)%:</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#512a31305e556a90e0ad0550ee623cbc"><span class="id" title="notation">R</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#b8b2ebc8e1a8b9aa935c0702efb5dccf"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#m"><span class="id" title="variable">m</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#512a31305e556a90e0ad0550ee623cbc"><span class="id" title="notation">%:</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#512a31305e556a90e0ad0550ee623cbc"><span class="id" title="notation">R</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#4a5fc7f0d0a33bc3822357a38c953c9e"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#512a31305e556a90e0ad0550ee623cbc"><span class="id" title="notation">%:</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#512a31305e556a90e0ad0550ee623cbc"><span class="id" title="notation">R</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#b8b2ebc8e1a8b9aa935c0702efb5dccf"><span class="id" title="notation">:></span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RingTheory.R"><span class="id" title="variable">R</span></a>.<br/> <br/> <span class="id" title="keyword">Definition</span> <a name="GRing.natr_sum"><span class="id" title="definition">natr_sum</span></a> := <a class="idref" href="mathcomp.ssreflect.bigop.html#big_morph"><span class="id" title="lemma">big_morph</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.natmul"><span class="id" title="definition">natmul</span></a> 1) <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.natrD"><span class="id" title="lemma">natrD</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.mulr0n"><span class="id" title="lemma">mulr0n</span></a> 1).<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.natrM"><span class="id" title="lemma">natrM</span></a> <span class="id" title="var">m</span> <span class="id" title="var">n</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#c191333b9c7c034282647fbffacc9d18"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#697e4695610f677ae98a52af81f779d2"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#c191333b9c7c034282647fbffacc9d18"><span class="id" title="notation">)%:</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#c191333b9c7c034282647fbffacc9d18"><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#m"><span class="id" title="variable">m</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#c191333b9c7c034282647fbffacc9d18"><span class="id" title="notation">%:</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#c191333b9c7c034282647fbffacc9d18"><span class="id" title="notation">R</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#ed99e7035d9a1f8a2c1515be81ac2e5f"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#c191333b9c7c034282647fbffacc9d18"><span class="id" title="notation">%:</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#c191333b9c7c034282647fbffacc9d18"><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#GRing.RingTheory.R"><span class="id" title="variable">R</span></a>.<br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.natrM"><span class="id" title="lemma">natrM</span></a> <span class="id" title="var">m</span> <span class="id" title="var">n</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#512a31305e556a90e0ad0550ee623cbc"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#ea2ff3d561159081cea6fb2e8113cc54"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#512a31305e556a90e0ad0550ee623cbc"><span class="id" title="notation">)%:</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#512a31305e556a90e0ad0550ee623cbc"><span class="id" title="notation">R</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#b8b2ebc8e1a8b9aa935c0702efb5dccf"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#m"><span class="id" title="variable">m</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#512a31305e556a90e0ad0550ee623cbc"><span class="id" title="notation">%:</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#512a31305e556a90e0ad0550ee623cbc"><span class="id" title="notation">R</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f99a2dc6d143aa8f1021ab57e4a19eee"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#512a31305e556a90e0ad0550ee623cbc"><span class="id" title="notation">%:</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#512a31305e556a90e0ad0550ee623cbc"><span class="id" title="notation">R</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#b8b2ebc8e1a8b9aa935c0702efb5dccf"><span class="id" title="notation">:></span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RingTheory.R"><span class="id" title="variable">R</span></a>.<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.expr0"><span class="id" title="lemma">expr0</span></a> <span class="id" title="var">x</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><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/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.expr1"><span class="id" title="lemma">expr1</span></a> <span class="id" title="var">x</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><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.ssralg.html#x"><span class="id" title="variable">x</span></a>. <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.expr2"><span class="id" title="lemma">expr2</span></a> <span class="id" title="var">x</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><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.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#ed99e7035d9a1f8a2c1515be81ac2e5f"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a>. <br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.expr0"><span class="id" title="lemma">expr0</span></a> <span class="id" title="var">x</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">^+</span></a> 0 <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> 1. <br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.expr1"><span class="id" title="lemma">expr1</span></a> <span class="id" title="var">x</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">^+</span></a> 1 <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a>. <br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.expr2"><span class="id" title="lemma">expr2</span></a> <span class="id" title="var">x</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">^+</span></a> 2 <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f99a2dc6d143aa8f1021ab57e4a19eee"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a>. <br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.exprS"><span class="id" title="lemma">exprS</span></a> <span class="id" title="var">x</span> <span class="id" title="var">n</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#ed99e7035d9a1f8a2c1515be81ac2e5f"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a>.<br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.exprS"><span class="id" title="lemma">exprS</span></a> <span class="id" title="var">x</span> <span class="id" title="var">n</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.ssreflect.ssrnat.html#bda89d73ec4a8f23ae92b565ffb5aaa6"><span class="id" title="notation">.+1</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f99a2dc6d143aa8f1021ab57e4a19eee"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a>.<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.expr0n"><span class="id" title="lemma">expr0n</span></a> <span class="id" title="var">n</span> : 0 <a class="idref" href="mathcomp.algebra.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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#c191333b9c7c034282647fbffacc9d18"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.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="mathcomp.algebra.ssralg.html#c191333b9c7c034282647fbffacc9d18"><span class="id" title="notation">)%:</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#c191333b9c7c034282647fbffacc9d18"><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#GRing.RingTheory.R"><span class="id" title="variable">R</span></a>.<br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.expr0n"><span class="id" title="lemma">expr0n</span></a> <span class="id" title="var">n</span> : 0 <a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#b8b2ebc8e1a8b9aa935c0702efb5dccf"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#512a31305e556a90e0ad0550ee623cbc"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#df45e8c2e8370fd4f0f7c4fdaf208180"><span class="id" title="notation">==</span></a> 0%<span class="id" title="var">N</span><a class="idref" href="mathcomp.algebra.ssralg.html#512a31305e556a90e0ad0550ee623cbc"><span class="id" title="notation">)%:</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#512a31305e556a90e0ad0550ee623cbc"><span class="id" title="notation">R</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#b8b2ebc8e1a8b9aa935c0702efb5dccf"><span class="id" title="notation">:></span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RingTheory.R"><span class="id" title="variable">R</span></a>.<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.expr1n"><span class="id" title="lemma">expr1n</span></a> <span class="id" title="var">n</span> : 1 <a class="idref" href="mathcomp.algebra.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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">:></span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RingTheory.R"><span class="id" title="variable">R</span></a>.<br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.expr1n"><span class="id" title="lemma">expr1n</span></a> <span class="id" title="var">n</span> : 1 <a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#b8b2ebc8e1a8b9aa935c0702efb5dccf"><span class="id" title="notation">=</span></a> 1 <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#b8b2ebc8e1a8b9aa935c0702efb5dccf"><span class="id" title="notation">:></span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RingTheory.R"><span class="id" title="variable">R</span></a>.<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.exprD"><span class="id" title="lemma">exprD</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.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.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.ssralg.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><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#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#ed99e7035d9a1f8a2c1515be81ac2e5f"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a>.<br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.exprD"><span class="id" title="lemma">exprD</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.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#0dacc1786c5ba797d47dd85006231633"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f99a2dc6d143aa8f1021ab57e4a19eee"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a>.<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.exprSr"><span class="id" title="lemma">exprSr</span></a> <span class="id" title="var">x</span> <span class="id" title="var">n</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#ed99e7035d9a1f8a2c1515be81ac2e5f"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a>.<br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.exprSr"><span class="id" title="lemma">exprSr</span></a> <span class="id" title="var">x</span> <span class="id" title="var">n</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.ssreflect.ssrnat.html#bda89d73ec4a8f23ae92b565ffb5aaa6"><span class="id" title="notation">.+1</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f99a2dc6d143aa8f1021ab57e4a19eee"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a>.<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.commr_sym"><span class="id" title="lemma">commr_sym</span></a> <span class="id" title="var">x</span> <span class="id" title="var">y</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.comm"><span class="id" title="definition">comm</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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">comm</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a>. <br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.commr_sym"><span class="id" title="lemma">commr_sym</span></a> <span class="id" title="var">x</span> <span class="id" title="var">y</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.comm"><span class="id" title="definition">comm</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.comm"><span class="id" title="definition">comm</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a>. <br/> <span class="id" title="keyword">Lemma</span> <a name="GRing.commr_refl"><span class="id" title="lemma">commr_refl</span></a> <span class="id" title="var">x</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.comm"><span class="id" title="definition">comm</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a>. <br/> <br/> @@ -1168,296 +1181,299 @@ <span class="id" title="keyword">Lemma</span> <a name="GRing.commr1"><span class="id" title="lemma">commr1</span></a> <span class="id" title="var">x</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.comm"><span class="id" title="definition">comm</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> 1.<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.commrN"><span class="id" title="lemma">commrN</span></a> <span class="id" title="var">x</span> <span class="id" title="var">y</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.comm"><span class="id" title="definition">comm</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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">comm</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#eefae7eea8ed2b8fccf150cb653d7a7b"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a>).<br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.commrN"><span class="id" title="lemma">commrN</span></a> <span class="id" title="var">x</span> <span class="id" title="var">y</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.comm"><span class="id" title="definition">comm</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.comm"><span class="id" title="definition">comm</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#aa58dfcfb323e1f070c38e31f9efddbe"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a>).<br/> <br/> <span class="id" title="keyword">Lemma</span> <a name="GRing.commrN1"><span class="id" title="lemma">commrN1</span></a> <span class="id" title="var">x</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.comm"><span class="id" title="definition">comm</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> (-1).<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.commrD"><span class="id" title="lemma">commrD</span></a> <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.ssralg.html#GRing.comm"><span class="id" title="definition">comm</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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">comm</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#z"><span class="id" title="variable">z</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.comm"><span class="id" title="definition">comm</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#338c5345074fd3586073fd29273c138a"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#z"><span class="id" title="variable">z</span></a>).<br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.commrD"><span class="id" title="lemma">commrD</span></a> <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.ssralg.html#GRing.comm"><span class="id" title="definition">comm</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.comm"><span class="id" title="definition">comm</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#z"><span class="id" title="variable">z</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.comm"><span class="id" title="definition">comm</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#730bbb3cf1092122fa1a208d3879e5e8"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#z"><span class="id" title="variable">z</span></a>).<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.commrMn"><span class="id" title="lemma">commrMn</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">comm</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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">comm</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#513eaa3129601ecbcc9e188a80d6155b"><span class="id" title="notation">*+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a>).<br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.commrMn"><span class="id" title="lemma">commrMn</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">comm</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.comm"><span class="id" title="definition">comm</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#506f68330939db1f655609b68b37b467"><span class="id" title="notation">*+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a>).<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.commrM"><span class="id" title="lemma">commrM</span></a> <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.ssralg.html#GRing.comm"><span class="id" title="definition">comm</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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">comm</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#z"><span class="id" title="variable">z</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.comm"><span class="id" title="definition">comm</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#ed99e7035d9a1f8a2c1515be81ac2e5f"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#z"><span class="id" title="variable">z</span></a>).<br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.commrM"><span class="id" title="lemma">commrM</span></a> <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.ssralg.html#GRing.comm"><span class="id" title="definition">comm</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.comm"><span class="id" title="definition">comm</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#z"><span class="id" title="variable">z</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.comm"><span class="id" title="definition">comm</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f99a2dc6d143aa8f1021ab57e4a19eee"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#z"><span class="id" title="variable">z</span></a>).<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.commr_nat"><span class="id" title="lemma">commr_nat</span></a> <span class="id" title="var">x</span> <span class="id" title="var">n</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.comm"><span class="id" title="definition">comm</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#c191333b9c7c034282647fbffacc9d18"><span class="id" title="notation">%:</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#c191333b9c7c034282647fbffacc9d18"><span class="id" title="notation">R</span></a>.<br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.commr_nat"><span class="id" title="lemma">commr_nat</span></a> <span class="id" title="var">x</span> <span class="id" title="var">n</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.comm"><span class="id" title="definition">comm</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#512a31305e556a90e0ad0550ee623cbc"><span class="id" title="notation">%:</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#512a31305e556a90e0ad0550ee623cbc"><span class="id" title="notation">R</span></a>.<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.commrX"><span class="id" title="lemma">commrX</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">comm</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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">comm</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a>).<br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.commrX"><span class="id" title="lemma">commrX</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">comm</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.comm"><span class="id" title="definition">comm</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a>).<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.exprMn_comm"><span class="id" title="lemma">exprMn_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.ssralg.html#GRing.comm"><span class="id" title="definition">comm</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#ed99e7035d9a1f8a2c1515be81ac2e5f"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#ed99e7035d9a1f8a2c1515be81ac2e5f"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a>.<br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.exprMn_comm"><span class="id" title="lemma">exprMn_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.ssralg.html#GRing.comm"><span class="id" title="definition">comm</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f99a2dc6d143aa8f1021ab57e4a19eee"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f99a2dc6d143aa8f1021ab57e4a19eee"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a>.<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.commr_sign"><span class="id" title="lemma">commr_sign</span></a> <span class="id" title="var">x</span> <span class="id" title="var">n</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.comm"><span class="id" title="definition">comm</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">(</span></a>-1<a class="idref" href="mathcomp.algebra.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a>).<br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.commr_sign"><span class="id" title="lemma">commr_sign</span></a> <span class="id" title="var">x</span> <span class="id" title="var">n</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.comm"><span class="id" title="definition">comm</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">(</span></a>-1<a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a>).<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.exprMn_n"><span class="id" title="lemma">exprMn_n</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.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#513eaa3129601ecbcc9e188a80d6155b"><span class="id" title="notation">*+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#m"><span class="id" title="variable">m</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#513eaa3129601ecbcc9e188a80d6155b"><span class="id" title="notation">*+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#513eaa3129601ecbcc9e188a80d6155b"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#4c362bcf0e947e2792a2e6989b44aeb0"><span class="id" title="notation">^</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#513eaa3129601ecbcc9e188a80d6155b"><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#GRing.RingTheory.R"><span class="id" title="variable">R</span></a>.<br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.exprMn_n"><span class="id" title="lemma">exprMn_n</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.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#506f68330939db1f655609b68b37b467"><span class="id" title="notation">*+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#m"><span class="id" title="variable">m</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#b8b2ebc8e1a8b9aa935c0702efb5dccf"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#506f68330939db1f655609b68b37b467"><span class="id" title="notation">*+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#506f68330939db1f655609b68b37b467"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#81fd94e251a61ee523cdd7855774ae7c"><span class="id" title="notation">^</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#506f68330939db1f655609b68b37b467"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#b8b2ebc8e1a8b9aa935c0702efb5dccf"><span class="id" title="notation">:></span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RingTheory.R"><span class="id" title="variable">R</span></a>.<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.exprM"><span class="id" title="lemma">exprM</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.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#697e4695610f677ae98a52af81f779d2"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><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#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a>.<br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.exprM"><span class="id" title="lemma">exprM</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.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#ea2ff3d561159081cea6fb2e8113cc54"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a>.<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.exprAC"><span class="id" title="lemma">exprAC</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.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#m"><span class="id" title="variable">m</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#m"><span class="id" title="variable">m</span></a>.<br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.exprAC"><span class="id" title="lemma">exprAC</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.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#m"><span class="id" title="variable">m</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#m"><span class="id" title="variable">m</span></a>.<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.expr_mod"><span class="id" title="lemma">expr_mod</span></a> <span class="id" title="var">n</span> <span class="id" title="var">x</span> <span class="id" title="var">i</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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="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#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="mathcomp.ssreflect.div.html#2179ac53e82aa7c0b2f2f5a16b5510ea"><span class="id" title="notation">%%</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><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#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</span></a>.<br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.expr_mod"><span class="id" title="lemma">expr_mod</span></a> <span class="id" title="var">n</span> <span class="id" title="var">x</span> <span class="id" title="var">i</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> 1 <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="mathcomp.ssreflect.div.html#e3d79e08e7e529cc9ef532e000103386"><span class="id" title="notation">%%</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</span></a>.<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.expr_dvd"><span class="id" title="lemma">expr_dvd</span></a> <span class="id" title="var">n</span> <span class="id" title="var">x</span> <span class="id" title="var">i</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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="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#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.ssreflect.div.html#aa34fd1c61c5cf0a3356b624a5d2afed"><span class="id" title="notation">%|</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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> 1.<br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.expr_dvd"><span class="id" title="lemma">expr_dvd</span></a> <span class="id" title="var">n</span> <span class="id" title="var">x</span> <span class="id" title="var">i</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> 1 <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.ssreflect.div.html#bde82eab2fe4a0799bc2419e587505d4"><span class="id" title="notation">%|</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> 1.<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.natrX"><span class="id" title="lemma">natrX</span></a> <span class="id" title="var">n</span> <span class="id" title="var">k</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#c191333b9c7c034282647fbffacc9d18"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#4c362bcf0e947e2792a2e6989b44aeb0"><span class="id" title="notation">^</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#k"><span class="id" title="variable">k</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#c191333b9c7c034282647fbffacc9d18"><span class="id" title="notation">)%:</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#c191333b9c7c034282647fbffacc9d18"><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#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#c191333b9c7c034282647fbffacc9d18"><span class="id" title="notation">%:</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#c191333b9c7c034282647fbffacc9d18"><span class="id" title="notation">R</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#k"><span class="id" title="variable">k</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#8f9364556521ebb498093f28eea2240f"><span class="id" title="notation">:></span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RingTheory.R"><span class="id" title="variable">R</span></a>.<br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.natrX"><span class="id" title="lemma">natrX</span></a> <span class="id" title="var">n</span> <span class="id" title="var">k</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#512a31305e556a90e0ad0550ee623cbc"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#81fd94e251a61ee523cdd7855774ae7c"><span class="id" title="notation">^</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#k"><span class="id" title="variable">k</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#512a31305e556a90e0ad0550ee623cbc"><span class="id" title="notation">)%:</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#512a31305e556a90e0ad0550ee623cbc"><span class="id" title="notation">R</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#b8b2ebc8e1a8b9aa935c0702efb5dccf"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#512a31305e556a90e0ad0550ee623cbc"><span class="id" title="notation">%:</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#512a31305e556a90e0ad0550ee623cbc"><span class="id" title="notation">R</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#k"><span class="id" title="variable">k</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#b8b2ebc8e1a8b9aa935c0702efb5dccf"><span class="id" title="notation">:></span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RingTheory.R"><span class="id" title="variable">R</span></a>.<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.signr_odd"><span class="id" title="lemma">signr_odd</span></a> <span class="id" title="var">n</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">(</span></a>-1<a class="idref" href="mathcomp.algebra.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><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.ssralg.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><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#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">(</span></a>-1<a class="idref" href="mathcomp.algebra.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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#GRing.RingTheory.R"><span class="id" title="variable">R</span></a>.<br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.signr_odd"><span class="id" title="lemma">signr_odd</span></a> <span class="id" title="var">n</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">(</span></a>-1<a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><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.ssralg.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#b8b2ebc8e1a8b9aa935c0702efb5dccf"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">(</span></a>-1<a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#b8b2ebc8e1a8b9aa935c0702efb5dccf"><span class="id" title="notation">:></span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RingTheory.R"><span class="id" title="variable">R</span></a>.<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.signr_eq0"><span class="id" title="lemma">signr_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.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">(</span></a>-1<a class="idref" href="mathcomp.algebra.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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 <a class="idref" href="mathcomp.ssreflect.eqtype.html#340b60eb5a3e9913f807040630cb8d43"><span class="id" title="notation">:></span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RingTheory.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.Datatypes.html#false"><span class="id" title="constructor">false</span></a>.<br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.signr_eq0"><span class="id" title="lemma">signr_eq0</span></a> <span class="id" title="var">n</span> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">(</span></a>-1<a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#28a3089bb29d95d7bdc98c2c73b31552"><span class="id" title="notation">==</span></a> 0 <a class="idref" href="mathcomp.ssreflect.eqtype.html#28a3089bb29d95d7bdc98c2c73b31552"><span class="id" title="notation">:></span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RingTheory.R"><span class="id" title="variable">R</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#false"><span class="id" title="constructor">false</span></a>.<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.mulr_sign"><span class="id" title="lemma">mulr_sign</span></a> (<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>) <span class="id" title="var">x</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">(</span></a>-1<a class="idref" href="mathcomp.algebra.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b"><span class="id" title="variable">b</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#ed99e7035d9a1f8a2c1515be81ac2e5f"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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.ssr.ssreflect.html#0348819abaa88c2cd747e8fa60dde7ae"><span class="id" title="notation">if</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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.ssralg.html#eefae7eea8ed2b8fccf150cb653d7a7b"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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> <a class="idref" href="mathcomp.algebra.ssralg.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/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.mulr_sign"><span class="id" title="lemma">mulr_sign</span></a> (<span class="id" title="var">b</span> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#bool"><span class="id" title="inductive">bool</span></a>) <span class="id" title="var">x</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">(</span></a>-1<a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b"><span class="id" title="variable">b</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f99a2dc6d143aa8f1021ab57e4a19eee"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">(</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssreflect.html#00a1a5b58aac8f1e3f1abff064a39f9d"><span class="id" title="notation">if</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b"><span class="id" title="variable">b</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssreflect.html#00a1a5b58aac8f1e3f1abff064a39f9d"><span class="id" title="notation">then</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#aa58dfcfb323e1f070c38e31f9efddbe"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssreflect.html#00a1a5b58aac8f1e3f1abff064a39f9d"><span class="id" title="notation">else</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">)</span></a>.<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.signr_addb"><span class="id" title="lemma">signr_addb</span></a> <span class="id" title="var">b1</span> <span class="id" title="var">b2</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">(</span></a>-1<a class="idref" href="mathcomp.algebra.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#b1"><span class="id" title="variable">b1</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#ef177bde7d01ae97c98f9cba81f6c95b"><span class="id" title="notation">(+)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b2"><span class="id" title="variable">b2</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><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#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">(</span></a>-1<a class="idref" href="mathcomp.algebra.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b1"><span class="id" title="variable">b1</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#ed99e7035d9a1f8a2c1515be81ac2e5f"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">(</span></a>-1<a class="idref" href="mathcomp.algebra.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b2"><span class="id" title="variable">b2</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#GRing.RingTheory.R"><span class="id" title="variable">R</span></a>.<br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.signr_addb"><span class="id" title="lemma">signr_addb</span></a> <span class="id" title="var">b1</span> <span class="id" title="var">b2</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">(</span></a>-1<a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#b1"><span class="id" title="variable">b1</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#a60537c464e134477471443dd91ae651"><span class="id" title="notation">(+)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b2"><span class="id" title="variable">b2</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#b8b2ebc8e1a8b9aa935c0702efb5dccf"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">(</span></a>-1<a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b1"><span class="id" title="variable">b1</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f99a2dc6d143aa8f1021ab57e4a19eee"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">(</span></a>-1<a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b2"><span class="id" title="variable">b2</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#b8b2ebc8e1a8b9aa935c0702efb5dccf"><span class="id" title="notation">:></span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RingTheory.R"><span class="id" title="variable">R</span></a>.<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.signrE"><span class="id" title="lemma">signrE</span></a> (<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.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">(</span></a>-1<a class="idref" href="mathcomp.algebra.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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#8f9364556521ebb498093f28eea2240f"><span class="id" title="notation">=</span></a> 1 <a class="idref" href="mathcomp.algebra.ssralg.html#4d4b9697032429ec46472e6332d1356a"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b"><span class="id" title="variable">b</span></a><a class="idref" href="mathcomp.ssreflect.ssrnat.html#f460b977ac49dd1a229be682bc38c411"><span class="id" title="notation">.*2</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#c191333b9c7c034282647fbffacc9d18"><span class="id" title="notation">%:</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#c191333b9c7c034282647fbffacc9d18"><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#GRing.RingTheory.R"><span class="id" title="variable">R</span></a>.<br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.signrE"><span class="id" title="lemma">signrE</span></a> (<span class="id" title="var">b</span> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#bool"><span class="id" title="inductive">bool</span></a>) : <a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">(</span></a>-1<a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b"><span class="id" title="variable">b</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#b8b2ebc8e1a8b9aa935c0702efb5dccf"><span class="id" title="notation">=</span></a> 1 <a class="idref" href="mathcomp.algebra.ssralg.html#4a5fc7f0d0a33bc3822357a38c953c9e"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b"><span class="id" title="variable">b</span></a><a class="idref" href="mathcomp.ssreflect.ssrnat.html#bff172cdafaf4b86cefb300b16285e42"><span class="id" title="notation">.*2</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#512a31305e556a90e0ad0550ee623cbc"><span class="id" title="notation">%:</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#512a31305e556a90e0ad0550ee623cbc"><span class="id" title="notation">R</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#b8b2ebc8e1a8b9aa935c0702efb5dccf"><span class="id" title="notation">:></span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RingTheory.R"><span class="id" title="variable">R</span></a>.<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.signrN"><span class="id" title="lemma">signrN</span></a> <span class="id" title="var">b</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">(</span></a>-1<a class="idref" href="mathcomp.algebra.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">(</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#4b80c70cdb231351c5e129ba61f7f956"><span class="id" title="notation">~~</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b"><span class="id" title="variable">b</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><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#eefae7eea8ed2b8fccf150cb653d7a7b"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">(</span></a>-1<a class="idref" href="mathcomp.algebra.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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#8f9364556521ebb498093f28eea2240f"><span class="id" title="notation">:></span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RingTheory.R"><span class="id" title="variable">R</span></a>.<br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.signrN"><span class="id" title="lemma">signrN</span></a> <span class="id" title="var">b</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">(</span></a>-1<a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">(</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b3ebd0deddd84fd60e149cb5ef719351"><span class="id" title="notation">~~</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b"><span class="id" title="variable">b</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#b8b2ebc8e1a8b9aa935c0702efb5dccf"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#aa58dfcfb323e1f070c38e31f9efddbe"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">(</span></a>-1<a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b"><span class="id" title="variable">b</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#b8b2ebc8e1a8b9aa935c0702efb5dccf"><span class="id" title="notation">:></span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RingTheory.R"><span class="id" title="variable">R</span></a>.<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.mulr_signM"><span class="id" title="lemma">mulr_signM</span></a> (<span class="id" title="var">b1</span> <span class="id" title="var">b2</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>) <span class="id" title="var">x1</span> <span class="id" title="var">x2</span> :<br/> - <a class="idref" href="mathcomp.algebra.ssralg.html#ed99e7035d9a1f8a2c1515be81ac2e5f"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">(</span></a>-1<a class="idref" href="mathcomp.algebra.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b1"><span class="id" title="variable">b1</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#ed99e7035d9a1f8a2c1515be81ac2e5f"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x1"><span class="id" title="variable">x1</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#ed99e7035d9a1f8a2c1515be81ac2e5f"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#ed99e7035d9a1f8a2c1515be81ac2e5f"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#ed99e7035d9a1f8a2c1515be81ac2e5f"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">(</span></a>-1<a class="idref" href="mathcomp.algebra.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b2"><span class="id" title="variable">b2</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#ed99e7035d9a1f8a2c1515be81ac2e5f"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x2"><span class="id" title="variable">x2</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#ed99e7035d9a1f8a2c1515be81ac2e5f"><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#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">(</span></a>-1<a class="idref" href="mathcomp.algebra.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#b1"><span class="id" title="variable">b1</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#ef177bde7d01ae97c98f9cba81f6c95b"><span class="id" title="notation">(+)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b2"><span class="id" title="variable">b2</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#ed99e7035d9a1f8a2c1515be81ac2e5f"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#ed99e7035d9a1f8a2c1515be81ac2e5f"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#x1"><span class="id" title="variable">x1</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#ed99e7035d9a1f8a2c1515be81ac2e5f"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x2"><span class="id" title="variable">x2</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#ed99e7035d9a1f8a2c1515be81ac2e5f"><span class="id" title="notation">)</span></a>.<br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.mulr_signM"><span class="id" title="lemma">mulr_signM</span></a> (<span class="id" title="var">b1</span> <span class="id" title="var">b2</span> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#bool"><span class="id" title="inductive">bool</span></a>) <span class="id" title="var">x1</span> <span class="id" title="var">x2</span> :<br/> + <a class="idref" href="mathcomp.algebra.ssralg.html#f99a2dc6d143aa8f1021ab57e4a19eee"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">(</span></a>-1<a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b1"><span class="id" title="variable">b1</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f99a2dc6d143aa8f1021ab57e4a19eee"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x1"><span class="id" title="variable">x1</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#f99a2dc6d143aa8f1021ab57e4a19eee"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f99a2dc6d143aa8f1021ab57e4a19eee"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f99a2dc6d143aa8f1021ab57e4a19eee"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">(</span></a>-1<a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b2"><span class="id" title="variable">b2</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f99a2dc6d143aa8f1021ab57e4a19eee"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x2"><span class="id" title="variable">x2</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#f99a2dc6d143aa8f1021ab57e4a19eee"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">(</span></a>-1<a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#b1"><span class="id" title="variable">b1</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#a60537c464e134477471443dd91ae651"><span class="id" title="notation">(+)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b2"><span class="id" title="variable">b2</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f99a2dc6d143aa8f1021ab57e4a19eee"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f99a2dc6d143aa8f1021ab57e4a19eee"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#x1"><span class="id" title="variable">x1</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f99a2dc6d143aa8f1021ab57e4a19eee"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x2"><span class="id" title="variable">x2</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#f99a2dc6d143aa8f1021ab57e4a19eee"><span class="id" title="notation">)</span></a>.<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.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="mathcomp.algebra.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#eefae7eea8ed2b8fccf150cb653d7a7b"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">(</span></a>-1<a class="idref" href="mathcomp.algebra.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#ed99e7035d9a1f8a2c1515be81ac2e5f"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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#GRing.RingTheory.R"><span class="id" title="variable">R</span></a>.<br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.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="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#aa58dfcfb323e1f070c38e31f9efddbe"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#b8b2ebc8e1a8b9aa935c0702efb5dccf"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">(</span></a>-1<a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f99a2dc6d143aa8f1021ab57e4a19eee"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#b8b2ebc8e1a8b9aa935c0702efb5dccf"><span class="id" title="notation">:></span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RingTheory.R"><span class="id" title="variable">R</span></a>.<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.sqrrN"><span class="id" title="lemma">sqrrN</span></a> <span class="id" title="var">x</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#eefae7eea8ed2b8fccf150cb653d7a7b"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><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.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">^+</span></a> 2.<br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.sqrrN"><span class="id" title="lemma">sqrrN</span></a> <span class="id" title="var">x</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#aa58dfcfb323e1f070c38e31f9efddbe"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">^+</span></a> 2 <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">^+</span></a> 2.<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.sqrr_sign"><span class="id" title="lemma">sqrr_sign</span></a> <span class="id" title="var">n</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">((</span></a>-1<a class="idref" href="mathcomp.algebra.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><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#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">:></span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RingTheory.R"><span class="id" title="variable">R</span></a>.<br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.sqrr_sign"><span class="id" title="lemma">sqrr_sign</span></a> <span class="id" title="var">n</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">((</span></a>-1<a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">^+</span></a> 2 <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#b8b2ebc8e1a8b9aa935c0702efb5dccf"><span class="id" title="notation">=</span></a> 1 <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#b8b2ebc8e1a8b9aa935c0702efb5dccf"><span class="id" title="notation">:></span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RingTheory.R"><span class="id" title="variable">R</span></a>.<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.signrMK"><span class="id" title="lemma">signrMK</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#involutive"><span class="id" title="definition">involutive</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RingTheory.R"><span class="id" title="variable">R</span></a> ( <a class="idref" href="mathcomp.algebra.ssralg.html#6498e6e308d8a143464cf2d2ba603d36"><span class="id" title="notation">*%</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#6498e6e308d8a143464cf2d2ba603d36"><span class="id" title="notation">R</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#6498e6e308d8a143464cf2d2ba603d36"><span class="id" title="notation">((-1)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#6498e6e308d8a143464cf2d2ba603d36"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#6498e6e308d8a143464cf2d2ba603d36"><span class="id" title="notation">n</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#6498e6e308d8a143464cf2d2ba603d36"><span class="id" title="notation">)</span></a>).<br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.signrMK"><span class="id" title="lemma">signrMK</span></a> <span class="id" title="var">n</span> : @<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#involutive"><span class="id" title="definition">involutive</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RingTheory.R"><span class="id" title="variable">R</span></a> ( <a class="idref" href="mathcomp.algebra.ssralg.html#bae191a5c954d16cccd67244cf8a6ceb"><span class="id" title="notation">*%</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#bae191a5c954d16cccd67244cf8a6ceb"><span class="id" title="notation">R</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#bae191a5c954d16cccd67244cf8a6ceb"><span class="id" title="notation">((-1)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#bae191a5c954d16cccd67244cf8a6ceb"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#bae191a5c954d16cccd67244cf8a6ceb"><span class="id" title="notation">n</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#bae191a5c954d16cccd67244cf8a6ceb"><span class="id" title="notation">)</span></a>).<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.mulrI_eq0"><span class="id" title="lemma">mulrI_eq0</span></a> <span class="id" title="var">x</span> <span class="id" title="var">y</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.lreg"><span class="id" title="definition">lreg</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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="http://coq.inria.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#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#ed99e7035d9a1f8a2c1515be81ac2e5f"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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="http://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.ssralg.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="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">)</span></a>.<br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.lastr_eq0"><span class="id" title="lemma">lastr_eq0</span></a> (<span class="id" title="var">s</span> : <a class="idref" href="mathcomp.ssreflect.seq.html#seq"><span class="id" title="abbreviation">seq</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RingTheory.R"><span class="id" title="variable">R</span></a>) <span class="id" title="var">x</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#c385a484ee9d1b4e0615924561a9b75e"><span class="id" title="notation">!=</span></a> 0 <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.seq.html#last"><span class="id" title="definition">last</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#s"><span class="id" title="variable">s</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#df45e8c2e8370fd4f0f7c4fdaf208180"><span class="id" title="notation">==</span></a> 0<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.seq.html#last"><span class="id" title="definition">last</span></a> 1 <a class="idref" href="mathcomp.algebra.ssralg.html#s"><span class="id" title="variable">s</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#df45e8c2e8370fd4f0f7c4fdaf208180"><span class="id" title="notation">==</span></a> 0<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">)</span></a>.<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.lreg_neq0"><span class="id" title="lemma">lreg_neq0</span></a> <span class="id" title="var">x</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.lreg"><span class="id" title="definition">lreg</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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.ssralg.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.<br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.mulrI_eq0"><span class="id" title="lemma">mulrI_eq0</span></a> <span class="id" title="var">x</span> <span class="id" title="var">y</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.lreg"><span class="id" title="definition">lreg</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f99a2dc6d143aa8f1021ab57e4a19eee"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#df45e8c2e8370fd4f0f7c4fdaf208180"><span class="id" title="notation">==</span></a> 0<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#df45e8c2e8370fd4f0f7c4fdaf208180"><span class="id" title="notation">==</span></a> 0<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">)</span></a>.<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.mulrI0_lreg"><span class="id" title="lemma">mulrI0_lreg</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#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">(</span></a><span class="id" title="keyword">∀</span> <span class="id" title="var">y</span>, <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#ed99e7035d9a1f8a2c1515be81ac2e5f"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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> 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#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> 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> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.lreg"><span class="id" title="definition">lreg</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a>.<br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.lreg_neq0"><span class="id" title="lemma">lreg_neq0</span></a> <span class="id" title="var">x</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.lreg"><span class="id" title="definition">lreg</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#c385a484ee9d1b4e0615924561a9b75e"><span class="id" title="notation">!=</span></a> 0.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.mulrI0_lreg"><span class="id" title="lemma">mulrI0_lreg</span></a> <span class="id" title="var">x</span> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">(</span></a><span class="id" title="keyword">∀</span> <span class="id" title="var">y</span>, <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f99a2dc6d143aa8f1021ab57e4a19eee"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> 0 <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> 0<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.lreg"><span class="id" title="definition">lreg</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a>.<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.lregN"><span class="id" title="lemma">lregN</span></a> <span class="id" title="var">x</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.lreg"><span class="id" title="definition">lreg</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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.ssralg.html#GRing.lreg"><span class="id" title="definition">lreg</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#eefae7eea8ed2b8fccf150cb653d7a7b"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a>).<br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.lregN"><span class="id" title="lemma">lregN</span></a> <span class="id" title="var">x</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.lreg"><span class="id" title="definition">lreg</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.lreg"><span class="id" title="definition">lreg</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#aa58dfcfb323e1f070c38e31f9efddbe"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a>).<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.lreg1"><span class="id" title="lemma">lreg1</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.lreg"><span class="id" title="definition">lreg</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.ssralg.html#GRing.RingTheory.R"><span class="id" title="variable">R</span></a>).<br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.lreg1"><span class="id" title="lemma">lreg1</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.lreg"><span class="id" title="definition">lreg</span></a> (1 <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssreflect.html#aed478b27f23b4f753c27c8ac393febc"><span class="id" title="notation">:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RingTheory.R"><span class="id" title="variable">R</span></a>).<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.lregM"><span class="id" title="lemma">lregM</span></a> <span class="id" title="var">x</span> <span class="id" title="var">y</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.lreg"><span class="id" title="definition">lreg</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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.ssralg.html#GRing.lreg"><span class="id" title="definition">lreg</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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.lreg"><span class="id" title="definition">lreg</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#ed99e7035d9a1f8a2c1515be81ac2e5f"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a>).<br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.lregM"><span class="id" title="lemma">lregM</span></a> <span class="id" title="var">x</span> <span class="id" title="var">y</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.lreg"><span class="id" title="definition">lreg</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.lreg"><span class="id" title="definition">lreg</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.lreg"><span class="id" title="definition">lreg</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f99a2dc6d143aa8f1021ab57e4a19eee"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a>).<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.lregX"><span class="id" title="lemma">lregX</span></a> <span class="id" title="var">x</span> <span class="id" title="var">n</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.lreg"><span class="id" title="definition">lreg</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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.ssralg.html#GRing.lreg"><span class="id" title="definition">lreg</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a>).<br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.lregX"><span class="id" title="lemma">lregX</span></a> <span class="id" title="var">x</span> <span class="id" title="var">n</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.lreg"><span class="id" title="definition">lreg</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.lreg"><span class="id" title="definition">lreg</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a>).<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.lreg_sign"><span class="id" title="lemma">lreg_sign</span></a> <span class="id" title="var">n</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.lreg"><span class="id" title="definition">lreg</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">(</span></a>-1<a class="idref" href="mathcomp.algebra.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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.ssreflect.html#4509b22bf26e3d6d771897e22bd8bc8f"><span class="id" title="notation">:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RingTheory.R"><span class="id" title="variable">R</span></a>).<br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.lreg_sign"><span class="id" title="lemma">lreg_sign</span></a> <span class="id" title="var">n</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.lreg"><span class="id" title="definition">lreg</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">(</span></a>-1<a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssreflect.html#aed478b27f23b4f753c27c8ac393febc"><span class="id" title="notation">:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RingTheory.R"><span class="id" title="variable">R</span></a>).<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.prodr_const"><span class="id" title="lemma">prodr_const</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">A</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.ssralg.html#I"><span class="id" title="variable">I</span></a>) (<span class="id" title="var">x</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RingTheory.R"><span class="id" title="variable">R</span></a>) :<br/> - <a class="idref" href="mathcomp.algebra.ssralg.html#3d9b33c1fff84830fd684d3347f0b504"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#3d9b33c1fff84830fd684d3347f0b504"><span class="id" title="notation">prod_</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#3d9b33c1fff84830fd684d3347f0b504"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.algebra.ssralg.html#3d9b33c1fff84830fd684d3347f0b504"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#3d9b33c1fff84830fd684d3347f0b504"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#f01714bb99e6c7abc6cfb2e43eff7f6e"><span class="id" title="notation">#|</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#f01714bb99e6c7abc6cfb2e43eff7f6e"><span class="id" title="notation">|</span></a>.<br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.prodr_const"><span class="id" title="lemma">prodr_const</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">A</span> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#pred"><span class="id" title="definition">pred</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#I"><span class="id" title="variable">I</span></a>) (<span class="id" title="var">x</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RingTheory.R"><span class="id" title="variable">R</span></a>) :<br/> + <a class="idref" href="mathcomp.algebra.ssralg.html#ffaead03d6bc40b2e0dc2c448b2f18da"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#ffaead03d6bc40b2e0dc2c448b2f18da"><span class="id" title="notation">prod_</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#ffaead03d6bc40b2e0dc2c448b2f18da"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.algebra.ssralg.html#ffaead03d6bc40b2e0dc2c448b2f18da"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#ffaead03d6bc40b2e0dc2c448b2f18da"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#234f50e13366f794cd6877cf832a5935"><span class="id" title="notation">#|</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#234f50e13366f794cd6877cf832a5935"><span class="id" title="notation">|</span></a>.<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.prodrXr"><span class="id" title="lemma">prodrXr</span></a> <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> (<span class="id" title="var">F</span> : <a class="idref" href="mathcomp.algebra.ssralg.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="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#nat"><span class="id" title="inductive">nat</span></a>) :<br/> - <a class="idref" href="mathcomp.algebra.ssralg.html#3f1a950be6bcb72c9434150471b42417"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#3f1a950be6bcb72c9434150471b42417"><span class="id" title="notation">prod_</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#3f1a950be6bcb72c9434150471b42417"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.algebra.ssralg.html#3f1a950be6bcb72c9434150471b42417"><span class="id" title="notation"><-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#r"><span class="id" title="variable">r</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#3f1a950be6bcb72c9434150471b42417"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#3f1a950be6bcb72c9434150471b42417"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">(</span></a><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"><-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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.ssralg.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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.ssralg.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">)</span></a>.<br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.prodrXr"><span class="id" title="lemma">prodrXr</span></a> <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> (<span class="id" title="var">F</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#I"><span class="id" title="variable">I</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#nat"><span class="id" title="inductive">nat</span></a>) :<br/> + <a class="idref" href="mathcomp.algebra.ssralg.html#5e0b538209a51fa2bd900767b9312dd8"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#5e0b538209a51fa2bd900767b9312dd8"><span class="id" title="notation">prod_</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#5e0b538209a51fa2bd900767b9312dd8"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.algebra.ssralg.html#5e0b538209a51fa2bd900767b9312dd8"><span class="id" title="notation"><-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#r"><span class="id" title="variable">r</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#5e0b538209a51fa2bd900767b9312dd8"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#5e0b538209a51fa2bd900767b9312dd8"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#f9660601caed2f1f92279ff134c53c8a"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#f9660601caed2f1f92279ff134c53c8a"><span class="id" title="notation">sum_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#f9660601caed2f1f92279ff134c53c8a"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#f9660601caed2f1f92279ff134c53c8a"><span class="id" title="notation"><-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#r"><span class="id" title="variable">r</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#f9660601caed2f1f92279ff134c53c8a"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#f9660601caed2f1f92279ff134c53c8a"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">)</span></a>.<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.prodrN"><span class="id" title="lemma">prodrN</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">A</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.ssralg.html#I"><span class="id" title="variable">I</span></a>) (<span class="id" title="var">F</span> : <a class="idref" href="mathcomp.algebra.ssralg.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.ssralg.html#GRing.RingTheory.R"><span class="id" title="variable">R</span></a>) :<br/> - <a class="idref" href="mathcomp.algebra.ssralg.html#3d9b33c1fff84830fd684d3347f0b504"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#3d9b33c1fff84830fd684d3347f0b504"><span class="id" title="notation">prod_</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#3d9b33c1fff84830fd684d3347f0b504"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.algebra.ssralg.html#3d9b33c1fff84830fd684d3347f0b504"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#3d9b33c1fff84830fd684d3347f0b504"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#eefae7eea8ed2b8fccf150cb653d7a7b"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">(</span></a>- 1<a class="idref" href="mathcomp.algebra.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#f01714bb99e6c7abc6cfb2e43eff7f6e"><span class="id" title="notation">#|</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#f01714bb99e6c7abc6cfb2e43eff7f6e"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#ed99e7035d9a1f8a2c1515be81ac2e5f"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#3d9b33c1fff84830fd684d3347f0b504"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#3d9b33c1fff84830fd684d3347f0b504"><span class="id" title="notation">prod_</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#3d9b33c1fff84830fd684d3347f0b504"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.algebra.ssralg.html#3d9b33c1fff84830fd684d3347f0b504"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#3d9b33c1fff84830fd684d3347f0b504"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</span></a>.<br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.prodrN"><span class="id" title="lemma">prodrN</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">A</span> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#pred"><span class="id" title="definition">pred</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#I"><span class="id" title="variable">I</span></a>) (<span class="id" title="var">F</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#I"><span class="id" title="variable">I</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RingTheory.R"><span class="id" title="variable">R</span></a>) :<br/> + <a class="idref" href="mathcomp.algebra.ssralg.html#ffaead03d6bc40b2e0dc2c448b2f18da"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#ffaead03d6bc40b2e0dc2c448b2f18da"><span class="id" title="notation">prod_</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#ffaead03d6bc40b2e0dc2c448b2f18da"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.algebra.ssralg.html#ffaead03d6bc40b2e0dc2c448b2f18da"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#ffaead03d6bc40b2e0dc2c448b2f18da"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#aa58dfcfb323e1f070c38e31f9efddbe"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">(</span></a>- 1<a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#234f50e13366f794cd6877cf832a5935"><span class="id" title="notation">#|</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#234f50e13366f794cd6877cf832a5935"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f99a2dc6d143aa8f1021ab57e4a19eee"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#ffaead03d6bc40b2e0dc2c448b2f18da"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#ffaead03d6bc40b2e0dc2c448b2f18da"><span class="id" title="notation">prod_</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#ffaead03d6bc40b2e0dc2c448b2f18da"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.algebra.ssralg.html#ffaead03d6bc40b2e0dc2c448b2f18da"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#ffaead03d6bc40b2e0dc2c448b2f18da"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</span></a>.<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.prodrMn"><span class="id" title="lemma">prodrMn</span></a> <span class="id" title="var">n</span> (<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">A</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.ssralg.html#I"><span class="id" title="variable">I</span></a>) (<span class="id" title="var">F</span> : <a class="idref" href="mathcomp.algebra.ssralg.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.ssralg.html#GRing.RingTheory.R"><span class="id" title="variable">R</span></a>) :<br/> - <a class="idref" href="mathcomp.algebra.ssralg.html#3d9b33c1fff84830fd684d3347f0b504"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#3d9b33c1fff84830fd684d3347f0b504"><span class="id" title="notation">prod_</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#3d9b33c1fff84830fd684d3347f0b504"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.algebra.ssralg.html#3d9b33c1fff84830fd684d3347f0b504"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#3d9b33c1fff84830fd684d3347f0b504"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#3d9b33c1fff84830fd684d3347f0b504"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#513eaa3129601ecbcc9e188a80d6155b"><span class="id" title="notation">*+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#3d9b33c1fff84830fd684d3347f0b504"><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#3d9b33c1fff84830fd684d3347f0b504"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#3d9b33c1fff84830fd684d3347f0b504"><span class="id" title="notation">prod_</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#3d9b33c1fff84830fd684d3347f0b504"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.algebra.ssralg.html#3d9b33c1fff84830fd684d3347f0b504"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#3d9b33c1fff84830fd684d3347f0b504"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#513eaa3129601ecbcc9e188a80d6155b"><span class="id" title="notation">*+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#4c362bcf0e947e2792a2e6989b44aeb0"><span class="id" title="notation">^</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#f01714bb99e6c7abc6cfb2e43eff7f6e"><span class="id" title="notation">#|</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#f01714bb99e6c7abc6cfb2e43eff7f6e"><span class="id" title="notation">|</span></a>.<br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.prodrMn"><span class="id" title="lemma">prodrMn</span></a> <span class="id" title="var">n</span> (<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">A</span> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#pred"><span class="id" title="definition">pred</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#I"><span class="id" title="variable">I</span></a>) (<span class="id" title="var">F</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#I"><span class="id" title="variable">I</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RingTheory.R"><span class="id" title="variable">R</span></a>) :<br/> + <a class="idref" href="mathcomp.algebra.ssralg.html#ffaead03d6bc40b2e0dc2c448b2f18da"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#ffaead03d6bc40b2e0dc2c448b2f18da"><span class="id" title="notation">prod_</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#ffaead03d6bc40b2e0dc2c448b2f18da"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.algebra.ssralg.html#ffaead03d6bc40b2e0dc2c448b2f18da"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#ffaead03d6bc40b2e0dc2c448b2f18da"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#ffaead03d6bc40b2e0dc2c448b2f18da"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#506f68330939db1f655609b68b37b467"><span class="id" title="notation">*+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#ffaead03d6bc40b2e0dc2c448b2f18da"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#ffaead03d6bc40b2e0dc2c448b2f18da"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#ffaead03d6bc40b2e0dc2c448b2f18da"><span class="id" title="notation">prod_</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#ffaead03d6bc40b2e0dc2c448b2f18da"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.algebra.ssralg.html#ffaead03d6bc40b2e0dc2c448b2f18da"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#ffaead03d6bc40b2e0dc2c448b2f18da"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#506f68330939db1f655609b68b37b467"><span class="id" title="notation">*+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#81fd94e251a61ee523cdd7855774ae7c"><span class="id" title="notation">^</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#234f50e13366f794cd6877cf832a5935"><span class="id" title="notation">#|</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#234f50e13366f794cd6877cf832a5935"><span class="id" title="notation">|</span></a>.<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.natr_prod"><span class="id" title="lemma">natr_prod</span></a> <span class="id" title="var">I</span> <span class="id" title="var">r</span> <span class="id" title="var">P</span> (<span class="id" title="var">F</span> : <a class="idref" href="mathcomp.algebra.ssralg.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="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#nat"><span class="id" title="inductive">nat</span></a>) :<br/> - <a class="idref" href="mathcomp.algebra.ssralg.html#c191333b9c7c034282647fbffacc9d18"><span class="id" title="notation">(</span></a><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"><-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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.ssralg.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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.ssralg.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#c191333b9c7c034282647fbffacc9d18"><span class="id" title="notation">)%:</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#c191333b9c7c034282647fbffacc9d18"><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#3f1a950be6bcb72c9434150471b42417"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#3f1a950be6bcb72c9434150471b42417"><span class="id" title="notation">prod_</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#3f1a950be6bcb72c9434150471b42417"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.algebra.ssralg.html#3f1a950be6bcb72c9434150471b42417"><span class="id" title="notation"><-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#r"><span class="id" title="variable">r</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#3f1a950be6bcb72c9434150471b42417"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#3f1a950be6bcb72c9434150471b42417"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#c191333b9c7c034282647fbffacc9d18"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#c191333b9c7c034282647fbffacc9d18"><span class="id" title="notation">)%:</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#c191333b9c7c034282647fbffacc9d18"><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#GRing.RingTheory.R"><span class="id" title="variable">R</span></a>.<br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.natr_prod"><span class="id" title="lemma">natr_prod</span></a> <span class="id" title="var">I</span> <span class="id" title="var">r</span> <span class="id" title="var">P</span> (<span class="id" title="var">F</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#I"><span class="id" title="variable">I</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#nat"><span class="id" title="inductive">nat</span></a>) :<br/> + <a class="idref" href="mathcomp.algebra.ssralg.html#512a31305e556a90e0ad0550ee623cbc"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#f442bb2e94ef4d788c146d8499003144"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#f442bb2e94ef4d788c146d8499003144"><span class="id" title="notation">prod_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#f442bb2e94ef4d788c146d8499003144"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#f442bb2e94ef4d788c146d8499003144"><span class="id" title="notation"><-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#r"><span class="id" title="variable">r</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#f442bb2e94ef4d788c146d8499003144"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#f442bb2e94ef4d788c146d8499003144"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#512a31305e556a90e0ad0550ee623cbc"><span class="id" title="notation">)%:</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#512a31305e556a90e0ad0550ee623cbc"><span class="id" title="notation">R</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#b8b2ebc8e1a8b9aa935c0702efb5dccf"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#5e0b538209a51fa2bd900767b9312dd8"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#5e0b538209a51fa2bd900767b9312dd8"><span class="id" title="notation">prod_</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#5e0b538209a51fa2bd900767b9312dd8"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.algebra.ssralg.html#5e0b538209a51fa2bd900767b9312dd8"><span class="id" title="notation"><-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#r"><span class="id" title="variable">r</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#5e0b538209a51fa2bd900767b9312dd8"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#5e0b538209a51fa2bd900767b9312dd8"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#512a31305e556a90e0ad0550ee623cbc"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#512a31305e556a90e0ad0550ee623cbc"><span class="id" title="notation">)%:</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#512a31305e556a90e0ad0550ee623cbc"><span class="id" title="notation">R</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#b8b2ebc8e1a8b9aa935c0702efb5dccf"><span class="id" title="notation">:></span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RingTheory.R"><span class="id" title="variable">R</span></a>.<br/> <br/> <span class="id" title="keyword">Lemma</span> <a name="GRing.exprDn_comm"><span class="id" title="lemma">exprDn_comm</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">cxy</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.comm"><span class="id" title="definition">comm</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a>) :<br/> - <a class="idref" href="mathcomp.algebra.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#338c5345074fd3586073fd29273c138a"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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#33f78485f60ea5a637d17f41367f37d2"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#33f78485f60ea5a637d17f41367f37d2"><span class="id" title="notation">sum_</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#33f78485f60ea5a637d17f41367f37d2"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.algebra.ssralg.html#33f78485f60ea5a637d17f41367f37d2"><span class="id" title="notation"><</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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#33f78485f60ea5a637d17f41367f37d2"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#513eaa3129601ecbcc9e188a80d6155b"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#9482aae3d3b06e249765c1225dbb8cbb"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#ed99e7035d9a1f8a2c1515be81ac2e5f"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#513eaa3129601ecbcc9e188a80d6155b"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#513eaa3129601ecbcc9e188a80d6155b"><span class="id" title="notation">*+</span></a> <a class="idref" href="mathcomp.ssreflect.binomial.html#f55f24aacb42fe0283014d29bcccb8c2"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.ssreflect.binomial.html#f55f24aacb42fe0283014d29bcccb8c2"><span class="id" title="notation">C</span></a><a class="idref" href="mathcomp.ssreflect.binomial.html#f55f24aacb42fe0283014d29bcccb8c2"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.ssreflect.binomial.html#f55f24aacb42fe0283014d29bcccb8c2"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.ssreflect.binomial.html#f55f24aacb42fe0283014d29bcccb8c2"><span class="id" title="notation">)</span></a>.<br/> + <a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#730bbb3cf1092122fa1a208d3879e5e8"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#2212b29e1a046120b3e8fdf5f4fbcd1f"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#2212b29e1a046120b3e8fdf5f4fbcd1f"><span class="id" title="notation">sum_</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#2212b29e1a046120b3e8fdf5f4fbcd1f"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.algebra.ssralg.html#2212b29e1a046120b3e8fdf5f4fbcd1f"><span class="id" title="notation"><</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.ssreflect.ssrnat.html#bda89d73ec4a8f23ae92b565ffb5aaa6"><span class="id" title="notation">.+1</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#2212b29e1a046120b3e8fdf5f4fbcd1f"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#506f68330939db1f655609b68b37b467"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#7825ccc99f23b0d30c9d40c317ba7af0"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f99a2dc6d143aa8f1021ab57e4a19eee"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#506f68330939db1f655609b68b37b467"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#506f68330939db1f655609b68b37b467"><span class="id" title="notation">*+</span></a> <a class="idref" href="mathcomp.ssreflect.binomial.html#95129fba25b300adee91ca933fa2fcdc"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.ssreflect.binomial.html#95129fba25b300adee91ca933fa2fcdc"><span class="id" title="notation">C</span></a><a class="idref" href="mathcomp.ssreflect.binomial.html#95129fba25b300adee91ca933fa2fcdc"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.ssreflect.binomial.html#95129fba25b300adee91ca933fa2fcdc"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.ssreflect.binomial.html#95129fba25b300adee91ca933fa2fcdc"><span class="id" title="notation">)</span></a>.<br/> <br/> <span class="id" title="keyword">Lemma</span> <a name="GRing.exprBn_comm"><span class="id" title="lemma">exprBn_comm</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">cxy</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.comm"><span class="id" title="definition">comm</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a>) :<br/> - <a class="idref" href="mathcomp.algebra.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#4d4b9697032429ec46472e6332d1356a"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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/> - <a class="idref" href="mathcomp.algebra.ssralg.html#33f78485f60ea5a637d17f41367f37d2"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#33f78485f60ea5a637d17f41367f37d2"><span class="id" title="notation">sum_</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#33f78485f60ea5a637d17f41367f37d2"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.algebra.ssralg.html#33f78485f60ea5a637d17f41367f37d2"><span class="id" title="notation"><</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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#33f78485f60ea5a637d17f41367f37d2"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#513eaa3129601ecbcc9e188a80d6155b"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">(</span></a>-1<a class="idref" href="mathcomp.algebra.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#ed99e7035d9a1f8a2c1515be81ac2e5f"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#9482aae3d3b06e249765c1225dbb8cbb"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#ed99e7035d9a1f8a2c1515be81ac2e5f"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#513eaa3129601ecbcc9e188a80d6155b"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#513eaa3129601ecbcc9e188a80d6155b"><span class="id" title="notation">*+</span></a> <a class="idref" href="mathcomp.ssreflect.binomial.html#f55f24aacb42fe0283014d29bcccb8c2"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.ssreflect.binomial.html#f55f24aacb42fe0283014d29bcccb8c2"><span class="id" title="notation">C</span></a><a class="idref" href="mathcomp.ssreflect.binomial.html#f55f24aacb42fe0283014d29bcccb8c2"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.ssreflect.binomial.html#f55f24aacb42fe0283014d29bcccb8c2"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.ssreflect.binomial.html#f55f24aacb42fe0283014d29bcccb8c2"><span class="id" title="notation">)</span></a>.<br/> + <a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#4a5fc7f0d0a33bc3822357a38c953c9e"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a><br/> + <a class="idref" href="mathcomp.algebra.ssralg.html#2212b29e1a046120b3e8fdf5f4fbcd1f"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#2212b29e1a046120b3e8fdf5f4fbcd1f"><span class="id" title="notation">sum_</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#2212b29e1a046120b3e8fdf5f4fbcd1f"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.algebra.ssralg.html#2212b29e1a046120b3e8fdf5f4fbcd1f"><span class="id" title="notation"><</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.ssreflect.ssrnat.html#bda89d73ec4a8f23ae92b565ffb5aaa6"><span class="id" title="notation">.+1</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#2212b29e1a046120b3e8fdf5f4fbcd1f"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#506f68330939db1f655609b68b37b467"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">(</span></a>-1<a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f99a2dc6d143aa8f1021ab57e4a19eee"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#7825ccc99f23b0d30c9d40c317ba7af0"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f99a2dc6d143aa8f1021ab57e4a19eee"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#506f68330939db1f655609b68b37b467"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#506f68330939db1f655609b68b37b467"><span class="id" title="notation">*+</span></a> <a class="idref" href="mathcomp.ssreflect.binomial.html#95129fba25b300adee91ca933fa2fcdc"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.ssreflect.binomial.html#95129fba25b300adee91ca933fa2fcdc"><span class="id" title="notation">C</span></a><a class="idref" href="mathcomp.ssreflect.binomial.html#95129fba25b300adee91ca933fa2fcdc"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.ssreflect.binomial.html#95129fba25b300adee91ca933fa2fcdc"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.ssreflect.binomial.html#95129fba25b300adee91ca933fa2fcdc"><span class="id" title="notation">)</span></a>.<br/> <br/> <span class="id" title="keyword">Lemma</span> <a name="GRing.subrXX_comm"><span class="id" title="lemma">subrXX_comm</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">cxy</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.comm"><span class="id" title="definition">comm</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a>) :<br/> - <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#4d4b9697032429ec46472e6332d1356a"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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#ed99e7035d9a1f8a2c1515be81ac2e5f"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#4d4b9697032429ec46472e6332d1356a"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#ed99e7035d9a1f8a2c1515be81ac2e5f"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#ed99e7035d9a1f8a2c1515be81ac2e5f"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#ed99e7035d9a1f8a2c1515be81ac2e5f"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#33f78485f60ea5a637d17f41367f37d2"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#33f78485f60ea5a637d17f41367f37d2"><span class="id" title="notation">sum_</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#33f78485f60ea5a637d17f41367f37d2"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.algebra.ssralg.html#33f78485f60ea5a637d17f41367f37d2"><span class="id" title="notation"><</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#33f78485f60ea5a637d17f41367f37d2"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.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.ssreflect.ssrnat.html#9482aae3d3b06e249765c1225dbb8cbb"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#ed99e7035d9a1f8a2c1515be81ac2e5f"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#ed99e7035d9a1f8a2c1515be81ac2e5f"><span class="id" title="notation">)</span></a>.<br/> + <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#4a5fc7f0d0a33bc3822357a38c953c9e"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f99a2dc6d143aa8f1021ab57e4a19eee"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#4a5fc7f0d0a33bc3822357a38c953c9e"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#f99a2dc6d143aa8f1021ab57e4a19eee"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f99a2dc6d143aa8f1021ab57e4a19eee"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f99a2dc6d143aa8f1021ab57e4a19eee"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#2212b29e1a046120b3e8fdf5f4fbcd1f"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#2212b29e1a046120b3e8fdf5f4fbcd1f"><span class="id" title="notation">sum_</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#2212b29e1a046120b3e8fdf5f4fbcd1f"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.algebra.ssralg.html#2212b29e1a046120b3e8fdf5f4fbcd1f"><span class="id" title="notation"><</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#2212b29e1a046120b3e8fdf5f4fbcd1f"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.ssreflect.ssrnat.html#f953bf7095e0da1cb644443fd0e17d6d"><span class="id" title="notation">.-1</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#7825ccc99f23b0d30c9d40c317ba7af0"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f99a2dc6d143aa8f1021ab57e4a19eee"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#f99a2dc6d143aa8f1021ab57e4a19eee"><span class="id" title="notation">)</span></a>.<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.exprD1n"><span class="id" title="lemma">exprD1n</span></a> <span class="id" title="var">x</span> <span class="id" title="var">n</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#338c5345074fd3586073fd29273c138a"><span class="id" title="notation">+</span></a> 1<a class="idref" href="mathcomp.algebra.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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#33f78485f60ea5a637d17f41367f37d2"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#33f78485f60ea5a637d17f41367f37d2"><span class="id" title="notation">sum_</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#33f78485f60ea5a637d17f41367f37d2"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.algebra.ssralg.html#33f78485f60ea5a637d17f41367f37d2"><span class="id" title="notation"><</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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#33f78485f60ea5a637d17f41367f37d2"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#513eaa3129601ecbcc9e188a80d6155b"><span class="id" title="notation">*+</span></a> <a class="idref" href="mathcomp.ssreflect.binomial.html#f55f24aacb42fe0283014d29bcccb8c2"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.ssreflect.binomial.html#f55f24aacb42fe0283014d29bcccb8c2"><span class="id" title="notation">C</span></a><a class="idref" href="mathcomp.ssreflect.binomial.html#f55f24aacb42fe0283014d29bcccb8c2"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.ssreflect.binomial.html#f55f24aacb42fe0283014d29bcccb8c2"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.ssreflect.binomial.html#f55f24aacb42fe0283014d29bcccb8c2"><span class="id" title="notation">)</span></a>.<br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.exprD1n"><span class="id" title="lemma">exprD1n</span></a> <span class="id" title="var">x</span> <span class="id" title="var">n</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#730bbb3cf1092122fa1a208d3879e5e8"><span class="id" title="notation">+</span></a> 1<a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#2212b29e1a046120b3e8fdf5f4fbcd1f"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#2212b29e1a046120b3e8fdf5f4fbcd1f"><span class="id" title="notation">sum_</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#2212b29e1a046120b3e8fdf5f4fbcd1f"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.algebra.ssralg.html#2212b29e1a046120b3e8fdf5f4fbcd1f"><span class="id" title="notation"><</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.ssreflect.ssrnat.html#bda89d73ec4a8f23ae92b565ffb5aaa6"><span class="id" title="notation">.+1</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#2212b29e1a046120b3e8fdf5f4fbcd1f"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#506f68330939db1f655609b68b37b467"><span class="id" title="notation">*+</span></a> <a class="idref" href="mathcomp.ssreflect.binomial.html#95129fba25b300adee91ca933fa2fcdc"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.ssreflect.binomial.html#95129fba25b300adee91ca933fa2fcdc"><span class="id" title="notation">C</span></a><a class="idref" href="mathcomp.ssreflect.binomial.html#95129fba25b300adee91ca933fa2fcdc"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.ssreflect.binomial.html#95129fba25b300adee91ca933fa2fcdc"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.ssreflect.binomial.html#95129fba25b300adee91ca933fa2fcdc"><span class="id" title="notation">)</span></a>.<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.subrX1"><span class="id" title="lemma">subrX1</span></a> <span class="id" title="var">x</span> <span class="id" title="var">n</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#4d4b9697032429ec46472e6332d1356a"><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.ssralg.html#ed99e7035d9a1f8a2c1515be81ac2e5f"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#4d4b9697032429ec46472e6332d1356a"><span class="id" title="notation">-</span></a> 1<a class="idref" href="mathcomp.algebra.ssralg.html#ed99e7035d9a1f8a2c1515be81ac2e5f"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#ed99e7035d9a1f8a2c1515be81ac2e5f"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#ed99e7035d9a1f8a2c1515be81ac2e5f"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#33f78485f60ea5a637d17f41367f37d2"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#33f78485f60ea5a637d17f41367f37d2"><span class="id" title="notation">sum_</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#33f78485f60ea5a637d17f41367f37d2"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.algebra.ssralg.html#33f78485f60ea5a637d17f41367f37d2"><span class="id" title="notation"><</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#33f78485f60ea5a637d17f41367f37d2"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#ed99e7035d9a1f8a2c1515be81ac2e5f"><span class="id" title="notation">)</span></a>.<br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.subrX1"><span class="id" title="lemma">subrX1</span></a> <span class="id" title="var">x</span> <span class="id" title="var">n</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#4a5fc7f0d0a33bc3822357a38c953c9e"><span class="id" title="notation">-</span></a> 1 <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f99a2dc6d143aa8f1021ab57e4a19eee"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#4a5fc7f0d0a33bc3822357a38c953c9e"><span class="id" title="notation">-</span></a> 1<a class="idref" href="mathcomp.algebra.ssralg.html#f99a2dc6d143aa8f1021ab57e4a19eee"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f99a2dc6d143aa8f1021ab57e4a19eee"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f99a2dc6d143aa8f1021ab57e4a19eee"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#2212b29e1a046120b3e8fdf5f4fbcd1f"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#2212b29e1a046120b3e8fdf5f4fbcd1f"><span class="id" title="notation">sum_</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#2212b29e1a046120b3e8fdf5f4fbcd1f"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.algebra.ssralg.html#2212b29e1a046120b3e8fdf5f4fbcd1f"><span class="id" title="notation"><</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#2212b29e1a046120b3e8fdf5f4fbcd1f"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#f99a2dc6d143aa8f1021ab57e4a19eee"><span class="id" title="notation">)</span></a>.<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.sqrrD1"><span class="id" title="lemma">sqrrD1</span></a> <span class="id" title="var">x</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#338c5345074fd3586073fd29273c138a"><span class="id" title="notation">+</span></a> 1<a class="idref" href="mathcomp.algebra.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><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.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">^+</span></a> 2 <a class="idref" href="mathcomp.algebra.ssralg.html#338c5345074fd3586073fd29273c138a"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#513eaa3129601ecbcc9e188a80d6155b"><span class="id" title="notation">*+</span></a> 2 <a class="idref" href="mathcomp.algebra.ssralg.html#338c5345074fd3586073fd29273c138a"><span class="id" title="notation">+</span></a> 1.<br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.sqrrD1"><span class="id" title="lemma">sqrrD1</span></a> <span class="id" title="var">x</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#730bbb3cf1092122fa1a208d3879e5e8"><span class="id" title="notation">+</span></a> 1<a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">^+</span></a> 2 <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">^+</span></a> 2 <a class="idref" href="mathcomp.algebra.ssralg.html#730bbb3cf1092122fa1a208d3879e5e8"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#506f68330939db1f655609b68b37b467"><span class="id" title="notation">*+</span></a> 2 <a class="idref" href="mathcomp.algebra.ssralg.html#730bbb3cf1092122fa1a208d3879e5e8"><span class="id" title="notation">+</span></a> 1.<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.sqrrB1"><span class="id" title="lemma">sqrrB1</span></a> <span class="id" title="var">x</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#4d4b9697032429ec46472e6332d1356a"><span class="id" title="notation">-</span></a> 1<a class="idref" href="mathcomp.algebra.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><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.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">^+</span></a> 2 <a class="idref" href="mathcomp.algebra.ssralg.html#4d4b9697032429ec46472e6332d1356a"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#513eaa3129601ecbcc9e188a80d6155b"><span class="id" title="notation">*+</span></a> 2 <a class="idref" href="mathcomp.algebra.ssralg.html#338c5345074fd3586073fd29273c138a"><span class="id" title="notation">+</span></a> 1.<br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.sqrrB1"><span class="id" title="lemma">sqrrB1</span></a> <span class="id" title="var">x</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#4a5fc7f0d0a33bc3822357a38c953c9e"><span class="id" title="notation">-</span></a> 1<a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">^+</span></a> 2 <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">^+</span></a> 2 <a class="idref" href="mathcomp.algebra.ssralg.html#4a5fc7f0d0a33bc3822357a38c953c9e"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#506f68330939db1f655609b68b37b467"><span class="id" title="notation">*+</span></a> 2 <a class="idref" href="mathcomp.algebra.ssralg.html#730bbb3cf1092122fa1a208d3879e5e8"><span class="id" title="notation">+</span></a> 1.<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.subr_sqr_1"><span class="id" title="lemma">subr_sqr_1</span></a> <span class="id" title="var">x</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">^+</span></a> 2 <a class="idref" href="mathcomp.algebra.ssralg.html#4d4b9697032429ec46472e6332d1356a"><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.ssralg.html#ed99e7035d9a1f8a2c1515be81ac2e5f"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#4d4b9697032429ec46472e6332d1356a"><span class="id" title="notation">-</span></a> 1<a class="idref" href="mathcomp.algebra.ssralg.html#ed99e7035d9a1f8a2c1515be81ac2e5f"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#ed99e7035d9a1f8a2c1515be81ac2e5f"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#ed99e7035d9a1f8a2c1515be81ac2e5f"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#338c5345074fd3586073fd29273c138a"><span class="id" title="notation">+</span></a> 1<a class="idref" href="mathcomp.algebra.ssralg.html#ed99e7035d9a1f8a2c1515be81ac2e5f"><span class="id" title="notation">)</span></a>.<br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.subr_sqr_1"><span class="id" title="lemma">subr_sqr_1</span></a> <span class="id" title="var">x</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">^+</span></a> 2 <a class="idref" href="mathcomp.algebra.ssralg.html#4a5fc7f0d0a33bc3822357a38c953c9e"><span class="id" title="notation">-</span></a> 1 <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f99a2dc6d143aa8f1021ab57e4a19eee"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#4a5fc7f0d0a33bc3822357a38c953c9e"><span class="id" title="notation">-</span></a> 1<a class="idref" href="mathcomp.algebra.ssralg.html#f99a2dc6d143aa8f1021ab57e4a19eee"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f99a2dc6d143aa8f1021ab57e4a19eee"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f99a2dc6d143aa8f1021ab57e4a19eee"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#730bbb3cf1092122fa1a208d3879e5e8"><span class="id" title="notation">+</span></a> 1<a class="idref" href="mathcomp.algebra.ssralg.html#f99a2dc6d143aa8f1021ab57e4a19eee"><span class="id" title="notation">)</span></a>.<br/> <br/> -<span class="id" title="keyword">Definition</span> <a name="GRing.Frobenius_aut"><span class="id" title="definition">Frobenius_aut</span></a> <span class="id" title="var">p</span> <span class="id" title="keyword">of</span> <a class="idref" href="mathcomp.algebra.ssralg.html#p"><span class="id" title="variable">p</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#51fab11b73193ca5e8e7a62cac129ebc"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#51fab11b73193ca5e8e7a62cac129ebc"><span class="id" title="notation">char</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RingTheory.R"><span class="id" title="variable">R</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#51fab11b73193ca5e8e7a62cac129ebc"><span class="id" title="notation">]</span></a> := <span class="id" title="keyword">fun</span> <span class="id" title="var">x</span> ⇒ <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#p"><span class="id" title="variable">p</span></a>.<br/> +<span class="id" title="keyword">Definition</span> <a name="GRing.Frobenius_aut"><span class="id" title="definition">Frobenius_aut</span></a> <span class="id" title="var">p</span> <span class="id" title="keyword">of</span> <a class="idref" href="mathcomp.algebra.ssralg.html#p"><span class="id" title="variable">p</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#7cf08e2f41bbb95903802050d3919698"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#7cf08e2f41bbb95903802050d3919698"><span class="id" title="notation">char</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RingTheory.R"><span class="id" title="variable">R</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#7cf08e2f41bbb95903802050d3919698"><span class="id" title="notation">]</span></a> := <span class="id" title="keyword">fun</span> <span class="id" title="var">x</span> ⇒ <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#p"><span class="id" title="variable">p</span></a>.<br/> <br/> <span class="id" title="keyword">Section</span> <a name="GRing.RingTheory.FrobeniusAutomorphism"><span class="id" title="section">FrobeniusAutomorphism</span></a>.<br/> <br/> -<span class="id" title="keyword">Variable</span> <a name="GRing.RingTheory.FrobeniusAutomorphism.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="GRing.RingTheory.FrobeniusAutomorphism.charFp"><span class="id" title="variable">charFp</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RingTheory.FrobeniusAutomorphism.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#51fab11b73193ca5e8e7a62cac129ebc"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#51fab11b73193ca5e8e7a62cac129ebc"><span class="id" title="notation">char</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RingTheory.R"><span class="id" title="variable">R</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#51fab11b73193ca5e8e7a62cac129ebc"><span class="id" title="notation">]</span></a>.<br/> +<span class="id" title="keyword">Variable</span> <a name="GRing.RingTheory.FrobeniusAutomorphism.p"><span class="id" title="variable">p</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#nat"><span class="id" title="inductive">nat</span></a>.<br/> +<span class="id" title="keyword">Hypothesis</span> <a name="GRing.RingTheory.FrobeniusAutomorphism.charFp"><span class="id" title="variable">charFp</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RingTheory.FrobeniusAutomorphism.p"><span class="id" title="variable">p</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#7cf08e2f41bbb95903802050d3919698"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#7cf08e2f41bbb95903802050d3919698"><span class="id" title="notation">char</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RingTheory.R"><span class="id" title="variable">R</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#7cf08e2f41bbb95903802050d3919698"><span class="id" title="notation">]</span></a>.<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.charf0"><span class="id" title="lemma">charf0</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RingTheory.FrobeniusAutomorphism.p"><span class="id" title="variable">p</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#c191333b9c7c034282647fbffacc9d18"><span class="id" title="notation">%:</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#c191333b9c7c034282647fbffacc9d18"><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> 0 <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#GRing.RingTheory.R"><span class="id" title="variable">R</span></a>. <br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.charf0"><span class="id" title="lemma">charf0</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RingTheory.FrobeniusAutomorphism.p"><span class="id" title="variable">p</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#512a31305e556a90e0ad0550ee623cbc"><span class="id" title="notation">%:</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#512a31305e556a90e0ad0550ee623cbc"><span class="id" title="notation">R</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#b8b2ebc8e1a8b9aa935c0702efb5dccf"><span class="id" title="notation">=</span></a> 0 <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#b8b2ebc8e1a8b9aa935c0702efb5dccf"><span class="id" title="notation">:></span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RingTheory.R"><span class="id" title="variable">R</span></a>. <br/> <span class="id" title="keyword">Lemma</span> <a name="GRing.charf_prime"><span class="id" title="lemma">charf_prime</span></a> : <a class="idref" href="mathcomp.ssreflect.prime.html#prime"><span class="id" title="definition">prime</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RingTheory.FrobeniusAutomorphism.p"><span class="id" title="variable">p</span></a>. <br/> -<span class="id" title="keyword">Hint Resolve</span> <span class="id" title="var">charf_prime</span>.<br/> +<span class="id" title="keyword">Hint Resolve</span> <span class="id" title="var">charf_prime</span> : <span class="id" title="var">core</span>.<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.mulrn_char"><span class="id" title="lemma">mulrn_char</span></a> <span class="id" title="var">x</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#513eaa3129601ecbcc9e188a80d6155b"><span class="id" title="notation">*+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RingTheory.FrobeniusAutomorphism.p"><span class="id" title="variable">p</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> 0. <br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.mulrn_char"><span class="id" title="lemma">mulrn_char</span></a> <span class="id" title="var">x</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#506f68330939db1f655609b68b37b467"><span class="id" title="notation">*+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RingTheory.FrobeniusAutomorphism.p"><span class="id" title="variable">p</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> 0. <br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.natr_mod_char"><span class="id" title="lemma">natr_mod_char</span></a> <span class="id" title="var">n</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#c191333b9c7c034282647fbffacc9d18"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.ssreflect.div.html#2179ac53e82aa7c0b2f2f5a16b5510ea"><span class="id" title="notation">%%</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RingTheory.FrobeniusAutomorphism.p"><span class="id" title="variable">p</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#c191333b9c7c034282647fbffacc9d18"><span class="id" title="notation">)%:</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#c191333b9c7c034282647fbffacc9d18"><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#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#c191333b9c7c034282647fbffacc9d18"><span class="id" title="notation">%:</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#c191333b9c7c034282647fbffacc9d18"><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#GRing.RingTheory.R"><span class="id" title="variable">R</span></a>.<br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.natr_mod_char"><span class="id" title="lemma">natr_mod_char</span></a> <span class="id" title="var">n</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#512a31305e556a90e0ad0550ee623cbc"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.ssreflect.div.html#e3d79e08e7e529cc9ef532e000103386"><span class="id" title="notation">%%</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RingTheory.FrobeniusAutomorphism.p"><span class="id" title="variable">p</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#512a31305e556a90e0ad0550ee623cbc"><span class="id" title="notation">)%:</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#512a31305e556a90e0ad0550ee623cbc"><span class="id" title="notation">R</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#b8b2ebc8e1a8b9aa935c0702efb5dccf"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#512a31305e556a90e0ad0550ee623cbc"><span class="id" title="notation">%:</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#512a31305e556a90e0ad0550ee623cbc"><span class="id" title="notation">R</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#b8b2ebc8e1a8b9aa935c0702efb5dccf"><span class="id" title="notation">:></span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RingTheory.R"><span class="id" title="variable">R</span></a>.<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.dvdn_charf"><span class="id" title="lemma">dvdn_charf</span></a> <span class="id" title="var">n</span> : (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RingTheory.FrobeniusAutomorphism.p"><span class="id" title="variable">p</span></a> <a class="idref" href="mathcomp.ssreflect.div.html#aa34fd1c61c5cf0a3356b624a5d2afed"><span class="id" title="notation">%|</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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#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.ssralg.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#c191333b9c7c034282647fbffacc9d18"><span class="id" title="notation">%:</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#c191333b9c7c034282647fbffacc9d18"><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">:></span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RingTheory.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>.<br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.dvdn_charf"><span class="id" title="lemma">dvdn_charf</span></a> <span class="id" title="var">n</span> : (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RingTheory.FrobeniusAutomorphism.p"><span class="id" title="variable">p</span></a> <a class="idref" href="mathcomp.ssreflect.div.html#bde82eab2fe4a0799bc2419e587505d4"><span class="id" title="notation">%|</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a>)%<span class="id" title="var">N</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#512a31305e556a90e0ad0550ee623cbc"><span class="id" title="notation">%:</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#512a31305e556a90e0ad0550ee623cbc"><span class="id" title="notation">R</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#28a3089bb29d95d7bdc98c2c73b31552"><span class="id" title="notation">==</span></a> 0 <a class="idref" href="mathcomp.ssreflect.eqtype.html#28a3089bb29d95d7bdc98c2c73b31552"><span class="id" title="notation">:></span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RingTheory.R"><span class="id" title="variable">R</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">)</span></a>.<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.charf_eq"><span class="id" title="lemma">charf_eq</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#51fab11b73193ca5e8e7a62cac129ebc"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#51fab11b73193ca5e8e7a62cac129ebc"><span class="id" title="notation">char</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RingTheory.R"><span class="id" title="variable">R</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#51fab11b73193ca5e8e7a62cac129ebc"><span class="id" title="notation">]</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#20bf07099d6d8cf369383b22fd37862e"><span class="id" title="notation">=</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#20bf07099d6d8cf369383b22fd37862e"><span class="id" title="notation">i</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#20bf07099d6d8cf369383b22fd37862e"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RingTheory.FrobeniusAutomorphism.p"><span class="id" title="variable">p</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.ssreflect.prime.html#nat_pred"><span class="id" title="definition">nat_pred</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#20bf07099d6d8cf369383b22fd37862e"><span class="id" title="notation">)</span></a>.<br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.charf_eq"><span class="id" title="lemma">charf_eq</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#7cf08e2f41bbb95903802050d3919698"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#7cf08e2f41bbb95903802050d3919698"><span class="id" title="notation">char</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RingTheory.R"><span class="id" title="variable">R</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#7cf08e2f41bbb95903802050d3919698"><span class="id" title="notation">]</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#1e6a438ff685c38fcd9034a94f271777"><span class="id" title="notation">=</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#1e6a438ff685c38fcd9034a94f271777"><span class="id" title="notation">i</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#1e6a438ff685c38fcd9034a94f271777"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RingTheory.FrobeniusAutomorphism.p"><span class="id" title="variable">p</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssreflect.html#aed478b27f23b4f753c27c8ac393febc"><span class="id" title="notation">:</span></a> <a class="idref" href="mathcomp.ssreflect.prime.html#nat_pred"><span class="id" title="definition">nat_pred</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#1e6a438ff685c38fcd9034a94f271777"><span class="id" title="notation">)</span></a>.<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.bin_lt_charf_0"><span class="id" title="lemma">bin_lt_charf_0</span></a> <span class="id" title="var">k</span> : 0 <a class="idref" href="mathcomp.ssreflect.ssrnat.html#432e31800fc09abd260feb634dbbd1af"><span class="id" title="notation"><</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#k"><span class="id" title="variable">k</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#432e31800fc09abd260feb634dbbd1af"><span class="id" title="notation"><</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RingTheory.FrobeniusAutomorphism.p"><span class="id" title="variable">p</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.ssreflect.binomial.html#f55f24aacb42fe0283014d29bcccb8c2"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.ssreflect.binomial.html#f55f24aacb42fe0283014d29bcccb8c2"><span class="id" title="notation">C</span></a><a class="idref" href="mathcomp.ssreflect.binomial.html#f55f24aacb42fe0283014d29bcccb8c2"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RingTheory.FrobeniusAutomorphism.p"><span class="id" title="variable">p</span></a><a class="idref" href="mathcomp.ssreflect.binomial.html#f55f24aacb42fe0283014d29bcccb8c2"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#k"><span class="id" title="variable">k</span></a><a class="idref" href="mathcomp.ssreflect.binomial.html#f55f24aacb42fe0283014d29bcccb8c2"><span class="id" title="notation">)</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#c191333b9c7c034282647fbffacc9d18"><span class="id" title="notation">%:</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#c191333b9c7c034282647fbffacc9d18"><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> 0 <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#GRing.RingTheory.R"><span class="id" title="variable">R</span></a>.<br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.bin_lt_charf_0"><span class="id" title="lemma">bin_lt_charf_0</span></a> <span class="id" title="var">k</span> : 0 <a class="idref" href="mathcomp.ssreflect.ssrnat.html#cf4676be165a6295cd8b63fc45b45d8a"><span class="id" title="notation"><</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#k"><span class="id" title="variable">k</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#cf4676be165a6295cd8b63fc45b45d8a"><span class="id" title="notation"><</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RingTheory.FrobeniusAutomorphism.p"><span class="id" title="variable">p</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.ssreflect.binomial.html#95129fba25b300adee91ca933fa2fcdc"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.ssreflect.binomial.html#95129fba25b300adee91ca933fa2fcdc"><span class="id" title="notation">C</span></a><a class="idref" href="mathcomp.ssreflect.binomial.html#95129fba25b300adee91ca933fa2fcdc"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RingTheory.FrobeniusAutomorphism.p"><span class="id" title="variable">p</span></a><a class="idref" href="mathcomp.ssreflect.binomial.html#95129fba25b300adee91ca933fa2fcdc"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#k"><span class="id" title="variable">k</span></a><a class="idref" href="mathcomp.ssreflect.binomial.html#95129fba25b300adee91ca933fa2fcdc"><span class="id" title="notation">)</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#512a31305e556a90e0ad0550ee623cbc"><span class="id" title="notation">%:</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#512a31305e556a90e0ad0550ee623cbc"><span class="id" title="notation">R</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#b8b2ebc8e1a8b9aa935c0702efb5dccf"><span class="id" title="notation">=</span></a> 0 <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#b8b2ebc8e1a8b9aa935c0702efb5dccf"><span class="id" title="notation">:></span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RingTheory.R"><span class="id" title="variable">R</span></a>.<br/> <br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.Frobenius_autE"><span class="id" title="lemma">Frobenius_autE</span></a> <span class="id" title="var">x</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#258e0db845a269f145e1328806c3365d"><span class="id" title="notation">^</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#258e0db845a269f145e1328806c3365d"><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.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RingTheory.FrobeniusAutomorphism.p"><span class="id" title="variable">p</span></a>. <br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.Frobenius_autE"><span class="id" title="lemma">Frobenius_autE</span></a> <span class="id" title="var">x</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#0a9ddc310d4a9a62484de48da8431046"><span class="id" title="notation">^</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#0a9ddc310d4a9a62484de48da8431046"><span class="id" title="notation">f</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RingTheory.FrobeniusAutomorphism.p"><span class="id" title="variable">p</span></a>. <br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.Frobenius_aut0"><span class="id" title="lemma">Frobenius_aut0</span></a> : 0<a class="idref" href="mathcomp.algebra.ssralg.html#258e0db845a269f145e1328806c3365d"><span class="id" title="notation">^</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#258e0db845a269f145e1328806c3365d"><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> 0.<br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.Frobenius_aut0"><span class="id" title="lemma">Frobenius_aut0</span></a> : 0<a class="idref" href="mathcomp.algebra.ssralg.html#0a9ddc310d4a9a62484de48da8431046"><span class="id" title="notation">^</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#0a9ddc310d4a9a62484de48da8431046"><span class="id" title="notation">f</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> 0.<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.Frobenius_aut1"><span class="id" title="lemma">Frobenius_aut1</span></a> : 1<a class="idref" href="mathcomp.algebra.ssralg.html#258e0db845a269f145e1328806c3365d"><span class="id" title="notation">^</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#258e0db845a269f145e1328806c3365d"><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> 1.<br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.Frobenius_aut1"><span class="id" title="lemma">Frobenius_aut1</span></a> : 1<a class="idref" href="mathcomp.algebra.ssralg.html#0a9ddc310d4a9a62484de48da8431046"><span class="id" title="notation">^</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#0a9ddc310d4a9a62484de48da8431046"><span class="id" title="notation">f</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> 1.<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.Frobenius_autD_comm"><span class="id" title="lemma">Frobenius_autD_comm</span></a> <span class="id" title="var">x</span> <span class="id" title="var">y</span> (<span class="id" title="var">cxy</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.comm"><span class="id" title="definition">comm</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a>) : <a class="idref" href="mathcomp.algebra.ssralg.html#258e0db845a269f145e1328806c3365d"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#338c5345074fd3586073fd29273c138a"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#258e0db845a269f145e1328806c3365d"><span class="id" title="notation">)^</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#258e0db845a269f145e1328806c3365d"><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.ssralg.html#x"><span class="id" title="variable">x</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#258e0db845a269f145e1328806c3365d"><span class="id" title="notation">^</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#258e0db845a269f145e1328806c3365d"><span class="id" title="notation">f</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#338c5345074fd3586073fd29273c138a"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#258e0db845a269f145e1328806c3365d"><span class="id" title="notation">^</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#258e0db845a269f145e1328806c3365d"><span class="id" title="notation">f</span></a>.<br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.Frobenius_autD_comm"><span class="id" title="lemma">Frobenius_autD_comm</span></a> <span class="id" title="var">x</span> <span class="id" title="var">y</span> (<span class="id" title="var">cxy</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.comm"><span class="id" title="definition">comm</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a>) : <a class="idref" href="mathcomp.algebra.ssralg.html#0a9ddc310d4a9a62484de48da8431046"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#730bbb3cf1092122fa1a208d3879e5e8"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#0a9ddc310d4a9a62484de48da8431046"><span class="id" title="notation">)^</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#0a9ddc310d4a9a62484de48da8431046"><span class="id" title="notation">f</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#0a9ddc310d4a9a62484de48da8431046"><span class="id" title="notation">^</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#0a9ddc310d4a9a62484de48da8431046"><span class="id" title="notation">f</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#730bbb3cf1092122fa1a208d3879e5e8"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#0a9ddc310d4a9a62484de48da8431046"><span class="id" title="notation">^</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#0a9ddc310d4a9a62484de48da8431046"><span class="id" title="notation">f</span></a>.<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.Frobenius_autMn"><span class="id" title="lemma">Frobenius_autMn</span></a> <span class="id" title="var">x</span> <span class="id" title="var">n</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#258e0db845a269f145e1328806c3365d"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#513eaa3129601ecbcc9e188a80d6155b"><span class="id" title="notation">*+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#258e0db845a269f145e1328806c3365d"><span class="id" title="notation">)^</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#258e0db845a269f145e1328806c3365d"><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.ssralg.html#x"><span class="id" title="variable">x</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#258e0db845a269f145e1328806c3365d"><span class="id" title="notation">^</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#258e0db845a269f145e1328806c3365d"><span class="id" title="notation">f</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#513eaa3129601ecbcc9e188a80d6155b"><span class="id" title="notation">*+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a>.<br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.Frobenius_autMn"><span class="id" title="lemma">Frobenius_autMn</span></a> <span class="id" title="var">x</span> <span class="id" title="var">n</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#0a9ddc310d4a9a62484de48da8431046"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#506f68330939db1f655609b68b37b467"><span class="id" title="notation">*+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#0a9ddc310d4a9a62484de48da8431046"><span class="id" title="notation">)^</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#0a9ddc310d4a9a62484de48da8431046"><span class="id" title="notation">f</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#0a9ddc310d4a9a62484de48da8431046"><span class="id" title="notation">^</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#0a9ddc310d4a9a62484de48da8431046"><span class="id" title="notation">f</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#506f68330939db1f655609b68b37b467"><span class="id" title="notation">*+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a>.<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.Frobenius_aut_nat"><span class="id" title="lemma">Frobenius_aut_nat</span></a> <span class="id" title="var">n</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#258e0db845a269f145e1328806c3365d"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#c191333b9c7c034282647fbffacc9d18"><span class="id" title="notation">%:</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#c191333b9c7c034282647fbffacc9d18"><span class="id" title="notation">R</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#258e0db845a269f145e1328806c3365d"><span class="id" title="notation">)^</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#258e0db845a269f145e1328806c3365d"><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.ssralg.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#c191333b9c7c034282647fbffacc9d18"><span class="id" title="notation">%:</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#c191333b9c7c034282647fbffacc9d18"><span class="id" title="notation">R</span></a>.<br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.Frobenius_aut_nat"><span class="id" title="lemma">Frobenius_aut_nat</span></a> <span class="id" title="var">n</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#0a9ddc310d4a9a62484de48da8431046"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#512a31305e556a90e0ad0550ee623cbc"><span class="id" title="notation">%:</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#512a31305e556a90e0ad0550ee623cbc"><span class="id" title="notation">R</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#0a9ddc310d4a9a62484de48da8431046"><span class="id" title="notation">)^</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#0a9ddc310d4a9a62484de48da8431046"><span class="id" title="notation">f</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#512a31305e556a90e0ad0550ee623cbc"><span class="id" title="notation">%:</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#512a31305e556a90e0ad0550ee623cbc"><span class="id" title="notation">R</span></a>.<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.Frobenius_autM_comm"><span class="id" title="lemma">Frobenius_autM_comm</span></a> <span class="id" title="var">x</span> <span class="id" title="var">y</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.comm"><span class="id" title="definition">comm</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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#258e0db845a269f145e1328806c3365d"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#ed99e7035d9a1f8a2c1515be81ac2e5f"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#258e0db845a269f145e1328806c3365d"><span class="id" title="notation">)^</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#258e0db845a269f145e1328806c3365d"><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.ssralg.html#x"><span class="id" title="variable">x</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#258e0db845a269f145e1328806c3365d"><span class="id" title="notation">^</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#258e0db845a269f145e1328806c3365d"><span class="id" title="notation">f</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#ed99e7035d9a1f8a2c1515be81ac2e5f"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#258e0db845a269f145e1328806c3365d"><span class="id" title="notation">^</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#258e0db845a269f145e1328806c3365d"><span class="id" title="notation">f</span></a>.<br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.Frobenius_autM_comm"><span class="id" title="lemma">Frobenius_autM_comm</span></a> <span class="id" title="var">x</span> <span class="id" title="var">y</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.comm"><span class="id" title="definition">comm</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#0a9ddc310d4a9a62484de48da8431046"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f99a2dc6d143aa8f1021ab57e4a19eee"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#0a9ddc310d4a9a62484de48da8431046"><span class="id" title="notation">)^</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#0a9ddc310d4a9a62484de48da8431046"><span class="id" title="notation">f</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#0a9ddc310d4a9a62484de48da8431046"><span class="id" title="notation">^</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#0a9ddc310d4a9a62484de48da8431046"><span class="id" title="notation">f</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f99a2dc6d143aa8f1021ab57e4a19eee"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#0a9ddc310d4a9a62484de48da8431046"><span class="id" title="notation">^</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#0a9ddc310d4a9a62484de48da8431046"><span class="id" title="notation">f</span></a>.<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.Frobenius_autX"><span class="id" title="lemma">Frobenius_autX</span></a> <span class="id" title="var">x</span> <span class="id" title="var">n</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#258e0db845a269f145e1328806c3365d"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#258e0db845a269f145e1328806c3365d"><span class="id" title="notation">)^</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#258e0db845a269f145e1328806c3365d"><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.ssralg.html#x"><span class="id" title="variable">x</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#258e0db845a269f145e1328806c3365d"><span class="id" title="notation">^</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#258e0db845a269f145e1328806c3365d"><span class="id" title="notation">f</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a>.<br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.Frobenius_autX"><span class="id" title="lemma">Frobenius_autX</span></a> <span class="id" title="var">x</span> <span class="id" title="var">n</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#0a9ddc310d4a9a62484de48da8431046"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#0a9ddc310d4a9a62484de48da8431046"><span class="id" title="notation">)^</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#0a9ddc310d4a9a62484de48da8431046"><span class="id" title="notation">f</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#0a9ddc310d4a9a62484de48da8431046"><span class="id" title="notation">^</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#0a9ddc310d4a9a62484de48da8431046"><span class="id" title="notation">f</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a>.<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.Frobenius_autN"><span class="id" title="lemma">Frobenius_autN</span></a> <span class="id" title="var">x</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#258e0db845a269f145e1328806c3365d"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#eefae7eea8ed2b8fccf150cb653d7a7b"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#258e0db845a269f145e1328806c3365d"><span class="id" title="notation">)^</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#258e0db845a269f145e1328806c3365d"><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.ssralg.html#eefae7eea8ed2b8fccf150cb653d7a7b"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#258e0db845a269f145e1328806c3365d"><span class="id" title="notation">^</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#258e0db845a269f145e1328806c3365d"><span class="id" title="notation">f</span></a>.<br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.Frobenius_autN"><span class="id" title="lemma">Frobenius_autN</span></a> <span class="id" title="var">x</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#0a9ddc310d4a9a62484de48da8431046"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#aa58dfcfb323e1f070c38e31f9efddbe"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#0a9ddc310d4a9a62484de48da8431046"><span class="id" title="notation">)^</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#0a9ddc310d4a9a62484de48da8431046"><span class="id" title="notation">f</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#aa58dfcfb323e1f070c38e31f9efddbe"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#0a9ddc310d4a9a62484de48da8431046"><span class="id" title="notation">^</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#0a9ddc310d4a9a62484de48da8431046"><span class="id" title="notation">f</span></a>.<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.Frobenius_autB_comm"><span class="id" title="lemma">Frobenius_autB_comm</span></a> <span class="id" title="var">x</span> <span class="id" title="var">y</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.comm"><span class="id" title="definition">comm</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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#258e0db845a269f145e1328806c3365d"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#4d4b9697032429ec46472e6332d1356a"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#258e0db845a269f145e1328806c3365d"><span class="id" title="notation">)^</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#258e0db845a269f145e1328806c3365d"><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.ssralg.html#x"><span class="id" title="variable">x</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#258e0db845a269f145e1328806c3365d"><span class="id" title="notation">^</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#258e0db845a269f145e1328806c3365d"><span class="id" title="notation">f</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#4d4b9697032429ec46472e6332d1356a"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#258e0db845a269f145e1328806c3365d"><span class="id" title="notation">^</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#258e0db845a269f145e1328806c3365d"><span class="id" title="notation">f</span></a>.<br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.Frobenius_autB_comm"><span class="id" title="lemma">Frobenius_autB_comm</span></a> <span class="id" title="var">x</span> <span class="id" title="var">y</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.comm"><span class="id" title="definition">comm</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#0a9ddc310d4a9a62484de48da8431046"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#4a5fc7f0d0a33bc3822357a38c953c9e"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#0a9ddc310d4a9a62484de48da8431046"><span class="id" title="notation">)^</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#0a9ddc310d4a9a62484de48da8431046"><span class="id" title="notation">f</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#0a9ddc310d4a9a62484de48da8431046"><span class="id" title="notation">^</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#0a9ddc310d4a9a62484de48da8431046"><span class="id" title="notation">f</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#4a5fc7f0d0a33bc3822357a38c953c9e"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#0a9ddc310d4a9a62484de48da8431046"><span class="id" title="notation">^</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#0a9ddc310d4a9a62484de48da8431046"><span class="id" title="notation">f</span></a>.<br/> <br/> <span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RingTheory.FrobeniusAutomorphism"><span class="id" title="section">FrobeniusAutomorphism</span></a>.<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.exprNn_char"><span class="id" title="lemma">exprNn_char</span></a> <span class="id" title="var">x</span> <span class="id" title="var">n</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#51fab11b73193ca5e8e7a62cac129ebc"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#51fab11b73193ca5e8e7a62cac129ebc"><span class="id" title="notation">char</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RingTheory.R"><span class="id" title="variable">R</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#51fab11b73193ca5e8e7a62cac129ebc"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.prime.html#8663a77d1d910826e10ba42d1e8d2a02"><span class="id" title="notation">.-</span></a><a class="idref" href="mathcomp.ssreflect.prime.html#8663a77d1d910826e10ba42d1e8d2a02"><span class="id" title="notation">nat</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#eefae7eea8ed2b8fccf150cb653d7a7b"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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#eefae7eea8ed2b8fccf150cb653d7a7b"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#eefae7eea8ed2b8fccf150cb653d7a7b"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#eefae7eea8ed2b8fccf150cb653d7a7b"><span class="id" title="notation">)</span></a>.<br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.exprNn_char"><span class="id" title="lemma">exprNn_char</span></a> <span class="id" title="var">x</span> <span class="id" title="var">n</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#7cf08e2f41bbb95903802050d3919698"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#7cf08e2f41bbb95903802050d3919698"><span class="id" title="notation">char</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RingTheory.R"><span class="id" title="variable">R</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#7cf08e2f41bbb95903802050d3919698"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.prime.html#31aa0776b2fdb88da5b5ba70544862a1"><span class="id" title="notation">.-</span></a><a class="idref" href="mathcomp.ssreflect.prime.html#31aa0776b2fdb88da5b5ba70544862a1"><span class="id" title="notation">nat</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#aa58dfcfb323e1f070c38e31f9efddbe"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#aa58dfcfb323e1f070c38e31f9efddbe"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#aa58dfcfb323e1f070c38e31f9efddbe"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#aa58dfcfb323e1f070c38e31f9efddbe"><span class="id" title="notation">)</span></a>.<br/> <br/> <span class="id" title="keyword">Section</span> <a name="GRing.RingTheory.Char2"><span class="id" title="section">Char2</span></a>.<br/> <br/> -<span class="id" title="keyword">Hypothesis</span> <a name="GRing.RingTheory.Char2.charR2"><span class="id" title="variable">charR2</span></a> : 2 <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#51fab11b73193ca5e8e7a62cac129ebc"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#51fab11b73193ca5e8e7a62cac129ebc"><span class="id" title="notation">char</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RingTheory.R"><span class="id" title="variable">R</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#51fab11b73193ca5e8e7a62cac129ebc"><span class="id" title="notation">]</span></a>.<br/> +<span class="id" title="keyword">Hypothesis</span> <a name="GRing.RingTheory.Char2.charR2"><span class="id" title="variable">charR2</span></a> : 2 <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#7cf08e2f41bbb95903802050d3919698"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#7cf08e2f41bbb95903802050d3919698"><span class="id" title="notation">char</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RingTheory.R"><span class="id" title="variable">R</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#7cf08e2f41bbb95903802050d3919698"><span class="id" title="notation">]</span></a>.<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.addrr_char2"><span class="id" title="lemma">addrr_char2</span></a> <span class="id" title="var">x</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#338c5345074fd3586073fd29273c138a"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.addrr_char2"><span class="id" title="lemma">addrr_char2</span></a> <span class="id" title="var">x</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#730bbb3cf1092122fa1a208d3879e5e8"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> 0. <br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.oppr_char2"><span class="id" title="lemma">oppr_char2</span></a> <span class="id" title="var">x</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#eefae7eea8ed2b8fccf150cb653d7a7b"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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#x"><span class="id" title="variable">x</span></a>.<br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.oppr_char2"><span class="id" title="lemma">oppr_char2</span></a> <span class="id" title="var">x</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#aa58dfcfb323e1f070c38e31f9efddbe"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a>.<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.subr_char2"><span class="id" title="lemma">subr_char2</span></a> <span class="id" title="var">x</span> <span class="id" title="var">y</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#4d4b9697032429ec46472e6332d1356a"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#338c5345074fd3586073fd29273c138a"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a>. <br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.subr_char2"><span class="id" title="lemma">subr_char2</span></a> <span class="id" title="var">x</span> <span class="id" title="var">y</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#4a5fc7f0d0a33bc3822357a38c953c9e"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#730bbb3cf1092122fa1a208d3879e5e8"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a>. <br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.addrK_char2"><span class="id" title="lemma">addrK_char2</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#involutive"><span class="id" title="definition">involutive</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#6c3404a70e11a79a0fa82b3d398aa71f"><span class="id" title="notation">+%</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#6c3404a70e11a79a0fa82b3d398aa71f"><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.ssralg.html#x"><span class="id" title="variable">x</span></a>).<br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.addrK_char2"><span class="id" title="lemma">addrK_char2</span></a> <span class="id" title="var">x</span> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#involutive"><span class="id" title="definition">involutive</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#89db507031b6d4a3d916a0f1c8eeaac2"><span class="id" title="notation">+%</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#89db507031b6d4a3d916a0f1c8eeaac2"><span class="id" title="notation">R</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#d89396f990d6b54d736cfe259e498cf4"><span class="id" title="notation">^~</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a>).<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.addKr_char2"><span class="id" title="lemma">addKr_char2</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#involutive"><span class="id" title="definition">involutive</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#6c3404a70e11a79a0fa82b3d398aa71f"><span class="id" title="notation">+%</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#6c3404a70e11a79a0fa82b3d398aa71f"><span class="id" title="notation">R</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#6c3404a70e11a79a0fa82b3d398aa71f"><span class="id" title="notation">x</span></a>).<br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.addKr_char2"><span class="id" title="lemma">addKr_char2</span></a> <span class="id" title="var">x</span> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#involutive"><span class="id" title="definition">involutive</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#89db507031b6d4a3d916a0f1c8eeaac2"><span class="id" title="notation">+%</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#89db507031b6d4a3d916a0f1c8eeaac2"><span class="id" title="notation">R</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#89db507031b6d4a3d916a0f1c8eeaac2"><span class="id" title="notation">x</span></a>).<br/> <br/> <span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RingTheory.Char2"><span class="id" title="section">Char2</span></a>.<br/> <br/> -<span class="id" title="keyword">Canonical</span> <span class="id" title="var">converse_eqType</span> := <a class="idref" href="mathcomp.ssreflect.eqtype.html#cb062fd562aed512787df99359c6e3f2"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.eqtype.html#cb062fd562aed512787df99359c6e3f2"><span class="id" title="notation">eqType</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#cb062fd562aed512787df99359c6e3f2"><span class="id" title="notation">of</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RingTheory.R"><span class="id" title="variable">R</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#a92cdad26f40e318882f385be2783a4c"><span class="id" title="notation">^</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#a92cdad26f40e318882f385be2783a4c"><span class="id" title="notation">c</span></a><a class="idref" href="mathcomp.ssreflect.eqtype.html#cb062fd562aed512787df99359c6e3f2"><span class="id" title="notation">]</span></a>.<br/> -<span class="id" title="keyword">Canonical</span> <span class="id" title="var">converse_choiceType</span> := <a class="idref" href="mathcomp.ssreflect.choice.html#1731a28227324c9e5fc49499029635b3"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.choice.html#1731a28227324c9e5fc49499029635b3"><span class="id" title="notation">choiceType</span></a> <a class="idref" href="mathcomp.ssreflect.choice.html#1731a28227324c9e5fc49499029635b3"><span class="id" title="notation">of</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RingTheory.R"><span class="id" title="variable">R</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#a92cdad26f40e318882f385be2783a4c"><span class="id" title="notation">^</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#a92cdad26f40e318882f385be2783a4c"><span class="id" title="notation">c</span></a><a class="idref" href="mathcomp.ssreflect.choice.html#1731a28227324c9e5fc49499029635b3"><span class="id" title="notation">]</span></a>.<br/> -<span class="id" title="keyword">Canonical</span> <span class="id" title="var">converse_zmodType</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.ssralg.html#GRing.RingTheory.R"><span class="id" title="variable">R</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#a92cdad26f40e318882f385be2783a4c"><span class="id" title="notation">^</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#a92cdad26f40e318882f385be2783a4c"><span class="id" title="notation">c</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#af6385fc2df84aeeec6855073f75cc68"><span class="id" title="notation">]</span></a>.<br/> +<span class="id" title="keyword">Canonical</span> <span class="id" title="var">converse_eqType</span> := <a class="idref" href="mathcomp.ssreflect.eqtype.html#2b9222c46a529018a8ebb5be6355801c"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.eqtype.html#2b9222c46a529018a8ebb5be6355801c"><span class="id" title="notation">eqType</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#2b9222c46a529018a8ebb5be6355801c"><span class="id" title="notation">of</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RingTheory.R"><span class="id" title="variable">R</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#a5048fbb5749bbf342aa41d2111c50c8"><span class="id" title="notation">^</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#a5048fbb5749bbf342aa41d2111c50c8"><span class="id" title="notation">c</span></a><a class="idref" href="mathcomp.ssreflect.eqtype.html#2b9222c46a529018a8ebb5be6355801c"><span class="id" title="notation">]</span></a>.<br/> +<span class="id" title="keyword">Canonical</span> <span class="id" title="var">converse_choiceType</span> := <a class="idref" href="mathcomp.ssreflect.choice.html#6cecb3ca492751e55998eec154506328"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.choice.html#6cecb3ca492751e55998eec154506328"><span class="id" title="notation">choiceType</span></a> <a class="idref" href="mathcomp.ssreflect.choice.html#6cecb3ca492751e55998eec154506328"><span class="id" title="notation">of</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RingTheory.R"><span class="id" title="variable">R</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#a5048fbb5749bbf342aa41d2111c50c8"><span class="id" title="notation">^</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#a5048fbb5749bbf342aa41d2111c50c8"><span class="id" title="notation">c</span></a><a class="idref" href="mathcomp.ssreflect.choice.html#6cecb3ca492751e55998eec154506328"><span class="id" title="notation">]</span></a>.<br/> +<span class="id" title="keyword">Canonical</span> <span class="id" title="var">converse_zmodType</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#97b11d2a158d9db11032c2626798c6ac"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#97b11d2a158d9db11032c2626798c6ac"><span class="id" title="notation">zmodType</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#97b11d2a158d9db11032c2626798c6ac"><span class="id" title="notation">of</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RingTheory.R"><span class="id" title="variable">R</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#a5048fbb5749bbf342aa41d2111c50c8"><span class="id" title="notation">^</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#a5048fbb5749bbf342aa41d2111c50c8"><span class="id" title="notation">c</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#97b11d2a158d9db11032c2626798c6ac"><span class="id" title="notation">]</span></a>.<br/> <br/> <span class="id" title="keyword">Definition</span> <a name="GRing.converse_ringMixin"><span class="id" title="definition">converse_ringMixin</span></a> :=<br/> - <span class="id" title="keyword">let</span> <span class="id" title="var">mul'</span> <span class="id" title="var">x</span> <span class="id" title="var">y</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#ed99e7035d9a1f8a2c1515be81ac2e5f"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <span class="id" title="tactic">in</span><br/> - <span class="id" title="keyword">let</span> <span class="id" title="var">mulrA'</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="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#esym"><span class="id" title="definition">esym</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.mulrA"><span class="id" title="lemma">mulrA</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#z"><span class="id" title="variable">z</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a>) <span class="id" title="tactic">in</span><br/> + <span class="id" title="keyword">let</span> <span class="id" title="var">mul'</span> <span class="id" title="var">x</span> <span class="id" title="var">y</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f99a2dc6d143aa8f1021ab57e4a19eee"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <span class="id" title="tactic">in</span><br/> + <span class="id" title="keyword">let</span> <span class="id" title="var">mulrA'</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="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#esym"><span class="id" title="definition">esym</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.mulrA"><span class="id" title="lemma">mulrA</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#z"><span class="id" title="variable">z</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a>) <span class="id" title="tactic">in</span><br/> <span class="id" title="keyword">let</span> <span class="id" title="var">mulrDl'</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.ssralg.html#GRing.mulrDr"><span class="id" title="lemma">mulrDr</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#z"><span class="id" title="variable">z</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a> <span class="id" title="tactic">in</span><br/> <span class="id" title="keyword">let</span> <span class="id" title="var">mulrDr'</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.ssralg.html#GRing.mulrDl"><span class="id" title="lemma">mulrDl</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#z"><span class="id" title="variable">z</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <span class="id" title="tactic">in</span><br/> @<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Mixin"><span class="id" title="constructor">Ring.Mixin</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.converse_zmodType"><span class="id" title="definition">converse_zmodType</span></a><br/> 1 <a class="idref" href="mathcomp.algebra.ssralg.html#mul'"><span class="id" title="variable">mul'</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#mulrA'"><span class="id" title="variable">mulrA'</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.mulr1"><span class="id" title="lemma">mulr1</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.mul1r"><span class="id" title="lemma">mul1r</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#mulrDl'"><span class="id" title="variable">mulrDl'</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#mulrDr'"><span class="id" title="variable">mulrDr'</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.oner_neq0"><span class="id" title="lemma">oner_neq0</span></a>.<br/> -<span class="id" title="keyword">Canonical</span> <span class="id" title="var">converse_ringType</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RingType"><span class="id" title="abbreviation">RingType</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RingTheory.R"><span class="id" title="variable">R</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#a92cdad26f40e318882f385be2783a4c"><span class="id" title="notation">^</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#a92cdad26f40e318882f385be2783a4c"><span class="id" title="notation">c</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.converse_ringMixin"><span class="id" title="definition">converse_ringMixin</span></a>.<br/> +<span class="id" title="keyword">Canonical</span> <span class="id" title="var">converse_ringType</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RingType"><span class="id" title="abbreviation">RingType</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RingTheory.R"><span class="id" title="variable">R</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#a5048fbb5749bbf342aa41d2111c50c8"><span class="id" title="notation">^</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#a5048fbb5749bbf342aa41d2111c50c8"><span class="id" title="notation">c</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.converse_ringMixin"><span class="id" title="definition">converse_ringMixin</span></a>.<br/> <br/> <span class="id" title="keyword">Section</span> <a name="GRing.RingTheory.ClosedPredicates"><span class="id" title="section">ClosedPredicates</span></a>.<br/> <br/> -<span class="id" title="keyword">Variable</span> <a name="GRing.RingTheory.ClosedPredicates.S"><span class="id" title="variable">S</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#predPredType"><span class="id" title="definition">predPredType</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RingTheory.R"><span class="id" title="variable">R</span></a>.<br/> +<span class="id" title="keyword">Variable</span> <a name="GRing.RingTheory.ClosedPredicates.S"><span class="id" title="variable">S</span></a> : <a class="idref" href="mathcomp.ssreflect.ssrbool.html#64f8873130736b599801d4930af00e74"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.ssreflect.ssrbool.html#64f8873130736b599801d4930af00e74"><span class="id" title="notation">pred</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RingTheory.R"><span class="id" title="variable">R</span></a><a class="idref" href="mathcomp.ssreflect.ssrbool.html#64f8873130736b599801d4930af00e74"><span class="id" title="notation">}</span></a>.<br/> <br/> -<span class="id" title="keyword">Definition</span> <a name="GRing.mulr_2closed"><span class="id" title="definition">mulr_2closed</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.ssrbool.html#2bba53854f326a714d377124cccec593"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RingTheory.ClosedPredicates.S"><span class="id" title="variable">S</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> <span class="id" title="keyword">∀</span> <span class="id" title="var">u</span> <span class="id" title="var">v</span>, <a class="idref" href="mathcomp.algebra.ssralg.html#u"><span class="id" title="variable">u</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#ed99e7035d9a1f8a2c1515be81ac2e5f"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#v"><span class="id" title="variable">v</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#GRing.RingTheory.ClosedPredicates.S"><span class="id" title="variable">S</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/> -<span class="id" title="keyword">Definition</span> <a name="GRing.mulr_closed"><span class="id" title="definition">mulr_closed</span></a> := 1 <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#GRing.RingTheory.ClosedPredicates.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#d82a7d96d3659d805ffe732283716822"><span class="id" title="notation">∧</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.mulr_2closed"><span class="id" title="definition">mulr_2closed</span></a>.<br/> -<span class="id" title="keyword">Definition</span> <a name="GRing.smulr_closed"><span class="id" title="definition">smulr_closed</span></a> := -1 <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#GRing.RingTheory.ClosedPredicates.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#d82a7d96d3659d805ffe732283716822"><span class="id" title="notation">∧</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.mulr_2closed"><span class="id" title="definition">mulr_2closed</span></a>.<br/> -<span class="id" title="keyword">Definition</span> <a name="GRing.semiring_closed"><span class="id" title="definition">semiring_closed</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.addr_closed"><span class="id" title="definition">addr_closed</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RingTheory.ClosedPredicates.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#d82a7d96d3659d805ffe732283716822"><span class="id" title="notation">∧</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.mulr_closed"><span class="id" title="definition">mulr_closed</span></a>.<br/> -<span class="id" title="keyword">Definition</span> <a name="GRing.subring_closed"><span class="id" title="definition">subring_closed</span></a> := <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#962a3cb7af009aedac7986e261646bd1"><span class="id" title="notation">[/\</span></a> 1 <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#GRing.RingTheory.ClosedPredicates.S"><span class="id" title="variable">S</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#962a3cb7af009aedac7986e261646bd1"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.subr_2closed"><span class="id" title="definition">subr_2closed</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RingTheory.ClosedPredicates.S"><span class="id" title="variable">S</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#962a3cb7af009aedac7986e261646bd1"><span class="id" title="notation">&</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.mulr_2closed"><span class="id" title="definition">mulr_2closed</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#962a3cb7af009aedac7986e261646bd1"><span class="id" title="notation">]</span></a>.<br/> +<span class="id" title="keyword">Definition</span> <a name="GRing.mulr_2closed"><span class="id" title="definition">mulr_2closed</span></a> := <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b4f176550f5b849a7fbba2ee164934d3"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b4f176550f5b849a7fbba2ee164934d3"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RingTheory.ClosedPredicates.S"><span class="id" title="variable">S</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b4f176550f5b849a7fbba2ee164934d3"><span class="id" title="notation">&,</span></a> <span class="id" title="keyword">∀</span> <span class="id" title="var">u</span> <span class="id" title="var">v</span>, <a class="idref" href="mathcomp.algebra.ssralg.html#u"><span class="id" title="variable">u</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f99a2dc6d143aa8f1021ab57e4a19eee"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#v"><span class="id" title="variable">v</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RingTheory.ClosedPredicates.S"><span class="id" title="variable">S</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b4f176550f5b849a7fbba2ee164934d3"><span class="id" title="notation">}</span></a>.<br/> +<span class="id" title="keyword">Definition</span> <a name="GRing.mulr_closed"><span class="id" title="definition">mulr_closed</span></a> := 1 <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RingTheory.ClosedPredicates.S"><span class="id" title="variable">S</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#ba2b0e492d2b4675a0acf3ea92aabadd"><span class="id" title="notation">∧</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.mulr_2closed"><span class="id" title="definition">mulr_2closed</span></a>.<br/> +<span class="id" title="keyword">Definition</span> <a name="GRing.smulr_closed"><span class="id" title="definition">smulr_closed</span></a> := -1 <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RingTheory.ClosedPredicates.S"><span class="id" title="variable">S</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#ba2b0e492d2b4675a0acf3ea92aabadd"><span class="id" title="notation">∧</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.mulr_2closed"><span class="id" title="definition">mulr_2closed</span></a>.<br/> +<span class="id" title="keyword">Definition</span> <a name="GRing.semiring_closed"><span class="id" title="definition">semiring_closed</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.addr_closed"><span class="id" title="definition">addr_closed</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RingTheory.ClosedPredicates.S"><span class="id" title="variable">S</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#ba2b0e492d2b4675a0acf3ea92aabadd"><span class="id" title="notation">∧</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.mulr_closed"><span class="id" title="definition">mulr_closed</span></a>.<br/> +<span class="id" title="keyword">Definition</span> <a name="GRing.subring_closed"><span class="id" title="definition">subring_closed</span></a> := <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#d7e433f5d2fe56f5b712860a9ff2a681"><span class="id" title="notation">[/\</span></a> 1 <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RingTheory.ClosedPredicates.S"><span class="id" title="variable">S</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#d7e433f5d2fe56f5b712860a9ff2a681"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.subr_2closed"><span class="id" title="definition">subr_2closed</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RingTheory.ClosedPredicates.S"><span class="id" title="variable">S</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#d7e433f5d2fe56f5b712860a9ff2a681"><span class="id" title="notation">&</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.mulr_2closed"><span class="id" title="definition">mulr_2closed</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#d7e433f5d2fe56f5b712860a9ff2a681"><span class="id" title="notation">]</span></a>.<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.smulr_closedM"><span class="id" title="lemma">smulr_closedM</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.smulr_closed"><span class="id" title="definition">smulr_closed</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.mulr_closed"><span class="id" title="definition">mulr_closed</span></a>.<br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.smulr_closedM"><span class="id" title="lemma">smulr_closedM</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.smulr_closed"><span class="id" title="definition">smulr_closed</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.mulr_closed"><span class="id" title="definition">mulr_closed</span></a>.<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.smulr_closedN"><span class="id" title="lemma">smulr_closedN</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.smulr_closed"><span class="id" title="definition">smulr_closed</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.oppr_closed"><span class="id" title="definition">oppr_closed</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RingTheory.ClosedPredicates.S"><span class="id" title="variable">S</span></a>.<br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.smulr_closedN"><span class="id" title="lemma">smulr_closedN</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.smulr_closed"><span class="id" title="definition">smulr_closed</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.oppr_closed"><span class="id" title="definition">oppr_closed</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RingTheory.ClosedPredicates.S"><span class="id" title="variable">S</span></a>.<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.semiring_closedD"><span class="id" title="lemma">semiring_closedD</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.semiring_closed"><span class="id" title="definition">semiring_closed</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.addr_closed"><span class="id" title="definition">addr_closed</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RingTheory.ClosedPredicates.S"><span class="id" title="variable">S</span></a>. <br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.semiring_closedD"><span class="id" title="lemma">semiring_closedD</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.semiring_closed"><span class="id" title="definition">semiring_closed</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.addr_closed"><span class="id" title="definition">addr_closed</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RingTheory.ClosedPredicates.S"><span class="id" title="variable">S</span></a>. <br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.semiring_closedM"><span class="id" title="lemma">semiring_closedM</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.semiring_closed"><span class="id" title="definition">semiring_closed</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.mulr_closed"><span class="id" title="definition">mulr_closed</span></a>. <br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.semiring_closedM"><span class="id" title="lemma">semiring_closedM</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.semiring_closed"><span class="id" title="definition">semiring_closed</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.mulr_closed"><span class="id" title="definition">mulr_closed</span></a>. <br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.subring_closedB"><span class="id" title="lemma">subring_closedB</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.subring_closed"><span class="id" title="definition">subring_closed</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.zmod_closed"><span class="id" title="definition">zmod_closed</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RingTheory.ClosedPredicates.S"><span class="id" title="variable">S</span></a>.<br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.subring_closedB"><span class="id" title="lemma">subring_closedB</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.subring_closed"><span class="id" title="definition">subring_closed</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.zmod_closed"><span class="id" title="definition">zmod_closed</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RingTheory.ClosedPredicates.S"><span class="id" title="variable">S</span></a>.<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.subring_closedM"><span class="id" title="lemma">subring_closedM</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.subring_closed"><span class="id" title="definition">subring_closed</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.smulr_closed"><span class="id" title="definition">smulr_closed</span></a>.<br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.subring_closedM"><span class="id" title="lemma">subring_closedM</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.subring_closed"><span class="id" title="definition">subring_closed</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.smulr_closed"><span class="id" title="definition">smulr_closed</span></a>.<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.subring_closed_semi"><span class="id" title="lemma">subring_closed_semi</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.subring_closed"><span class="id" title="definition">subring_closed</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.semiring_closed"><span class="id" title="definition">semiring_closed</span></a>.<br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.subring_closed_semi"><span class="id" title="lemma">subring_closed_semi</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.subring_closed"><span class="id" title="definition">subring_closed</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.semiring_closed"><span class="id" title="definition">semiring_closed</span></a>.<br/> <br/> <span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RingTheory.ClosedPredicates"><span class="id" title="section">ClosedPredicates</span></a>.<br/> @@ -1474,28 +1490,28 @@ <span class="id" title="keyword">Let</span> <a name="GRing.RightRegular.Rc"><span class="id" title="variable">Rc</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.converse_ringType"><span class="id" title="definition">converse_ringType</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RightRegular.R"><span class="id" title="variable">R</span></a>.<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.mulIr_eq0"><span class="id" title="lemma">mulIr_eq0</span></a> <span class="id" title="var">x</span> <span class="id" title="var">y</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.rreg"><span class="id" title="definition">rreg</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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="http://coq.inria.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#y"><span class="id" title="variable">y</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#ed99e7035d9a1f8a2c1515be81ac2e5f"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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.ssralg.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="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">)</span></a>.<br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.mulIr_eq0"><span class="id" title="lemma">mulIr_eq0</span></a> <span class="id" title="var">x</span> <span class="id" title="var">y</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.rreg"><span class="id" title="definition">rreg</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f99a2dc6d143aa8f1021ab57e4a19eee"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#df45e8c2e8370fd4f0f7c4fdaf208180"><span class="id" title="notation">==</span></a> 0<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#df45e8c2e8370fd4f0f7c4fdaf208180"><span class="id" title="notation">==</span></a> 0<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">)</span></a>.<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.mulIr0_rreg"><span class="id" title="lemma">mulIr0_rreg</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#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">(</span></a><span class="id" title="keyword">∀</span> <span class="id" title="var">y</span>, <a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#ed99e7035d9a1f8a2c1515be81ac2e5f"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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.ssralg.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> 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> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.rreg"><span class="id" title="definition">rreg</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a>.<br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.mulIr0_rreg"><span class="id" title="lemma">mulIr0_rreg</span></a> <span class="id" title="var">x</span> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">(</span></a><span class="id" title="keyword">∀</span> <span class="id" title="var">y</span>, <a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f99a2dc6d143aa8f1021ab57e4a19eee"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> 0 <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> 0<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.rreg"><span class="id" title="definition">rreg</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a>.<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.rreg_neq0"><span class="id" title="lemma">rreg_neq0</span></a> <span class="id" title="var">x</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.rreg"><span class="id" title="definition">rreg</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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.ssralg.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.<br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.rreg_neq0"><span class="id" title="lemma">rreg_neq0</span></a> <span class="id" title="var">x</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.rreg"><span class="id" title="definition">rreg</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#c385a484ee9d1b4e0615924561a9b75e"><span class="id" title="notation">!=</span></a> 0.<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.rregN"><span class="id" title="lemma">rregN</span></a> <span class="id" title="var">x</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.rreg"><span class="id" title="definition">rreg</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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.ssralg.html#GRing.rreg"><span class="id" title="definition">rreg</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#eefae7eea8ed2b8fccf150cb653d7a7b"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a>).<br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.rregN"><span class="id" title="lemma">rregN</span></a> <span class="id" title="var">x</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.rreg"><span class="id" title="definition">rreg</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.rreg"><span class="id" title="definition">rreg</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#aa58dfcfb323e1f070c38e31f9efddbe"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a>).<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.rreg1"><span class="id" title="lemma">rreg1</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.rreg"><span class="id" title="definition">rreg</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.ssralg.html#GRing.RightRegular.R"><span class="id" title="variable">R</span></a>).<br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.rreg1"><span class="id" title="lemma">rreg1</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.rreg"><span class="id" title="definition">rreg</span></a> (1 <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssreflect.html#aed478b27f23b4f753c27c8ac393febc"><span class="id" title="notation">:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RightRegular.R"><span class="id" title="variable">R</span></a>).<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.rregM"><span class="id" title="lemma">rregM</span></a> <span class="id" title="var">x</span> <span class="id" title="var">y</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.rreg"><span class="id" title="definition">rreg</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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.ssralg.html#GRing.rreg"><span class="id" title="definition">rreg</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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.rreg"><span class="id" title="definition">rreg</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#ed99e7035d9a1f8a2c1515be81ac2e5f"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a>).<br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.rregM"><span class="id" title="lemma">rregM</span></a> <span class="id" title="var">x</span> <span class="id" title="var">y</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.rreg"><span class="id" title="definition">rreg</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.rreg"><span class="id" title="definition">rreg</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.rreg"><span class="id" title="definition">rreg</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f99a2dc6d143aa8f1021ab57e4a19eee"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a>).<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.revrX"><span class="id" title="lemma">revrX</span></a> <span class="id" title="var">x</span> <span class="id" title="var">n</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.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.ssralg.html#GRing.RightRegular.Rc"><span class="id" title="variable">Rc</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.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.ssralg.html#GRing.RightRegular.R"><span class="id" title="variable">R</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a>.<br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.revrX"><span class="id" title="lemma">revrX</span></a> <span class="id" title="var">x</span> <span class="id" title="var">n</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssreflect.html#aed478b27f23b4f753c27c8ac393febc"><span class="id" title="notation">:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RightRegular.Rc"><span class="id" title="variable">Rc</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssreflect.html#aed478b27f23b4f753c27c8ac393febc"><span class="id" title="notation">:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RightRegular.R"><span class="id" title="variable">R</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a>.<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.rregX"><span class="id" title="lemma">rregX</span></a> <span class="id" title="var">x</span> <span class="id" title="var">n</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.rreg"><span class="id" title="definition">rreg</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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.ssralg.html#GRing.rreg"><span class="id" title="definition">rreg</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a>).<br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.rregX"><span class="id" title="lemma">rregX</span></a> <span class="id" title="var">x</span> <span class="id" title="var">n</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.rreg"><span class="id" title="definition">rreg</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.rreg"><span class="id" title="definition">rreg</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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.ssralg.html#GRing.RightRegular"><span class="id" title="section">RightRegular</span></a>.<br/> @@ -1505,11 +1521,11 @@ <br/> <span class="id" title="keyword">Structure</span> <a name="GRing.Lmodule.mixin_of"><span class="id" title="record">mixin_of</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">V</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Zmodule.Exports.zmodType"><span class="id" title="abbreviation">zmodType</span></a>) : <span class="id" title="keyword">Type</span> := <a name="GRing.Lmodule.Mixin"><span class="id" title="constructor">Mixin</span></a> {<br/> - <a name="GRing.Lmodule.scale"><span class="id" title="projection">scale</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.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.ssralg.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#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#V"><span class="id" title="variable">V</span></a>;<br/> - <span class="id" title="var">_</span> : <span class="id" title="keyword">∀</span> <span class="id" title="var">a</span> <span class="id" title="var">b</span> <span class="id" title="var">v</span>, <a class="idref" href="mathcomp.algebra.ssralg.html#scale"><span class="id" title="method">scale</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#a"><span class="id" title="variable">a</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#scale"><span class="id" title="method">scale</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b"><span class="id" title="variable">b</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#v"><span class="id" title="variable">v</span></a>) <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#scale"><span class="id" title="method">scale</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#a"><span class="id" title="variable">a</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#ed99e7035d9a1f8a2c1515be81ac2e5f"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b"><span class="id" title="variable">b</span></a>) <a class="idref" href="mathcomp.algebra.ssralg.html#v"><span class="id" title="variable">v</span></a>;<br/> - <span class="id" title="var">_</span> : <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 <a class="idref" href="mathcomp.algebra.ssralg.html#scale"><span class="id" title="method">scale</span></a>;<br/> - <span class="id" title="var">_</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#right_distributive"><span class="id" title="definition">right_distributive</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#scale"><span class="id" title="method">scale</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#6c3404a70e11a79a0fa82b3d398aa71f"><span class="id" title="notation">+%</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#6c3404a70e11a79a0fa82b3d398aa71f"><span class="id" title="notation">R</span></a>;<br/> - <span class="id" title="var">_</span> : <span class="id" title="keyword">∀</span> <span class="id" title="var">v</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.ssralg.html#scale"><span class="id" title="method">scale</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.ssralg.html#v"><span class="id" title="variable">v</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">a</span> <span class="id" title="var">b</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.ssralg.html#a"><span class="id" title="variable">a</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#338c5345074fd3586073fd29273c138a"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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.ssrfun.html#3014e73af2a90fd800d8681479d76336"><span class="id" title="notation">}</span></a><br/> + <a name="GRing.Lmodule.scale"><span class="id" title="projection">scale</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#R"><span class="id" title="variable">R</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#V"><span class="id" title="variable">V</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#V"><span class="id" title="variable">V</span></a>;<br/> + <span class="id" title="var">_</span> : <span class="id" title="keyword">∀</span> <span class="id" title="var">a</span> <span class="id" title="var">b</span> <span class="id" title="var">v</span>, <a class="idref" href="mathcomp.algebra.ssralg.html#scale"><span class="id" title="method">scale</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#a"><span class="id" title="variable">a</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#scale"><span class="id" title="method">scale</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b"><span class="id" title="variable">b</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#v"><span class="id" title="variable">v</span></a>) <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#scale"><span class="id" title="method">scale</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#a"><span class="id" title="variable">a</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f99a2dc6d143aa8f1021ab57e4a19eee"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b"><span class="id" title="variable">b</span></a>) <a class="idref" href="mathcomp.algebra.ssralg.html#v"><span class="id" title="variable">v</span></a>;<br/> + <span class="id" title="var">_</span> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#left_id"><span class="id" title="definition">left_id</span></a> 1 <a class="idref" href="mathcomp.algebra.ssralg.html#scale"><span class="id" title="method">scale</span></a>;<br/> + <span class="id" title="var">_</span> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#right_distributive"><span class="id" title="definition">right_distributive</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#scale"><span class="id" title="method">scale</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#89db507031b6d4a3d916a0f1c8eeaac2"><span class="id" title="notation">+%</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#89db507031b6d4a3d916a0f1c8eeaac2"><span class="id" title="notation">R</span></a>;<br/> + <span class="id" title="var">_</span> : <span class="id" title="keyword">∀</span> <span class="id" title="var">v</span>, <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#e69c60b553f06d3463460a9f4cee3c01"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#e69c60b553f06d3463460a9f4cee3c01"><span class="id" title="notation">morph</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#scale"><span class="id" title="method">scale</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#d89396f990d6b54d736cfe259e498cf4"><span class="id" title="notation">^~</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#v"><span class="id" title="variable">v</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#e69c60b553f06d3463460a9f4cee3c01"><span class="id" title="notation">:</span></a> <span class="id" title="var">a</span> <span class="id" title="var">b</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#e69c60b553f06d3463460a9f4cee3c01"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#a"><span class="id" title="variable">a</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#730bbb3cf1092122fa1a208d3879e5e8"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b"><span class="id" title="variable">b</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#e69c60b553f06d3463460a9f4cee3c01"><span class="id" title="notation">}</span></a><br/> }.<br/> <br/> @@ -1521,26 +1537,26 @@ <br/> <span class="id" title="keyword">Structure</span> <a name="GRing.Lmodule.class_of"><span class="id" title="record">class_of</span></a> <span class="id" title="var">V</span> := <a name="GRing.Lmodule.Class"><span class="id" title="constructor">Class</span></a> {<br/> <a name="GRing.Lmodule.base"><span class="id" title="projection">base</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Zmodule.class_of"><span class="id" title="record">Zmodule.class_of</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#V"><span class="id" title="variable">V</span></a>;<br/> - <a name="GRing.Lmodule.mixin"><span class="id" title="projection">mixin</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lmodule.mixin_of"><span class="id" title="record">mixin_of</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lmodule.ClassDef.R"><span class="id" title="variable">R</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Zmodule.Pack"><span class="id" title="constructor">Zmodule.Pack</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#base"><span class="id" title="method">base</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#V"><span class="id" title="variable">V</span></a>)<br/> + <a name="GRing.Lmodule.mixin"><span class="id" title="projection">mixin</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lmodule.mixin_of"><span class="id" title="record">mixin_of</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lmodule.ClassDef.R"><span class="id" title="variable">R</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Zmodule.Pack"><span class="id" title="constructor">Zmodule.Pack</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#base"><span class="id" title="method">base</span></a>)<br/> }.<br/> <br/> -<span class="id" title="keyword">Structure</span> <a name="GRing.Lmodule.type"><span class="id" title="record">type</span></a> (<span class="id" title="var">phR</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssreflect.html#phant"><span class="id" title="inductive">phant</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lmodule.ClassDef.R"><span class="id" title="variable">R</span></a>) := <a name="GRing.Lmodule.Pack"><span class="id" title="constructor">Pack</span></a> {<a name="GRing.Lmodule.sort"><span class="id" title="projection">sort</span></a>; <span class="id" title="var">_</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lmodule.class_of"><span class="id" title="record">class_of</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#sort"><span class="id" title="method">sort</span></a>; <span class="id" title="var">_</span> : <span class="id" title="keyword">Type</span>}.<br/> -<span class="id" title="keyword">Variable</span> (<a name="GRing.Lmodule.ClassDef.phR"><span class="id" title="variable">phR</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssreflect.html#phant"><span class="id" title="inductive">phant</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lmodule.ClassDef.R"><span class="id" title="variable">R</span></a>) (<a name="GRing.Lmodule.ClassDef.T"><span class="id" title="variable">T</span></a> : <span class="id" title="keyword">Type</span>) (<a name="GRing.Lmodule.ClassDef.cT"><span class="id" title="variable">cT</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lmodule.type"><span class="id" title="record">type</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#phR"><span class="id" title="variable">phR</span></a>).<br/> -<span class="id" title="keyword">Definition</span> <a name="GRing.Lmodule.class"><span class="id" title="definition">class</span></a> := <span class="id" title="keyword">let</span>: <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lmodule.Pack"><span class="id" title="constructor">Pack</span></a> <span class="id" title="var">_</span> <span class="id" title="var">c</span> <span class="id" title="var">_</span> <span class="id" title="keyword">as</span> <span class="id" title="var">cT'</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lmodule.ClassDef.cT"><span class="id" title="variable">cT</span></a> <span class="id" title="keyword">return</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lmodule.class_of"><span class="id" title="record">class_of</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#cT'"><span class="id" title="variable">cT'</span></a> <span class="id" title="tactic">in</span> <span class="id" title="var">c</span>.<br/> -<span class="id" title="keyword">Definition</span> <a name="GRing.Lmodule.clone"><span class="id" title="definition">clone</span></a> <span class="id" title="var">c</span> <span class="id" title="keyword">of</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#phant_id"><span class="id" title="definition">phant_id</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lmodule.class"><span class="id" title="definition">class</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#c"><span class="id" title="variable">c</span></a> := @<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lmodule.Pack"><span class="id" title="constructor">Pack</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lmodule.ClassDef.phR"><span class="id" title="variable">phR</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lmodule.ClassDef.T"><span class="id" title="variable">T</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#c"><span class="id" title="variable">c</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lmodule.ClassDef.T"><span class="id" title="variable">T</span></a>.<br/> -<span class="id" title="keyword">Let</span> <a name="GRing.Lmodule.ClassDef.xT"><span class="id" title="variable">xT</span></a> := <span class="id" title="keyword">let</span>: <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lmodule.Pack"><span class="id" title="constructor">Pack</span></a> <span class="id" title="var">T</span> <span class="id" title="var">_</span> <span class="id" title="var">_</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lmodule.ClassDef.cT"><span class="id" title="variable">cT</span></a> <span class="id" title="tactic">in</span> <span class="id" title="var">T</span>.<br/> -<span class="id" title="keyword">Notation</span> <a name="GRing.Lmodule.xclass"><span class="id" title="abbreviation">xclass</span></a> := (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lmodule.class"><span class="id" title="definition">class</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.ssralg.html#GRing.Lmodule.class_of"><span class="id" title="record">class_of</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lmodule.ClassDef.xT"><span class="id" title="variable">xT</span></a>).<br/> +<span class="id" title="keyword">Structure</span> <a name="GRing.Lmodule.type"><span class="id" title="record">type</span></a> (<span class="id" title="var">phR</span> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssreflect.html#phant"><span class="id" title="inductive">phant</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lmodule.ClassDef.R"><span class="id" title="variable">R</span></a>) := <a name="GRing.Lmodule.Pack"><span class="id" title="constructor">Pack</span></a> {<a name="GRing.Lmodule.sort"><span class="id" title="projection">sort</span></a>; <span class="id" title="var">_</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lmodule.class_of"><span class="id" title="record">class_of</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#sort"><span class="id" title="method">sort</span></a>}.<br/> +<span class="id" title="keyword">Variable</span> (<a name="GRing.Lmodule.ClassDef.phR"><span class="id" title="variable">phR</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssreflect.html#phant"><span class="id" title="inductive">phant</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lmodule.ClassDef.R"><span class="id" title="variable">R</span></a>) (<a name="GRing.Lmodule.ClassDef.T"><span class="id" title="variable">T</span></a> : <span class="id" title="keyword">Type</span>) (<a name="GRing.Lmodule.ClassDef.cT"><span class="id" title="variable">cT</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lmodule.type"><span class="id" title="record">type</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#phR"><span class="id" title="variable">phR</span></a>).<br/> +<span class="id" title="keyword">Definition</span> <a name="GRing.Lmodule.class"><span class="id" title="definition">class</span></a> := <span class="id" title="keyword">let</span>: <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lmodule.Pack"><span class="id" title="constructor">Pack</span></a> <span class="id" title="var">_</span> <span class="id" title="var">c</span> <span class="id" title="keyword">as</span> <span class="id" title="var">cT'</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lmodule.ClassDef.cT"><span class="id" title="variable">cT</span></a> <span class="id" title="keyword">return</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lmodule.class_of"><span class="id" title="record">class_of</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#cT'"><span class="id" title="variable">cT'</span></a> <span class="id" title="tactic">in</span> <span class="id" title="var">c</span>.<br/> +<span class="id" title="keyword">Definition</span> <a name="GRing.Lmodule.clone"><span class="id" title="definition">clone</span></a> <span class="id" title="var">c</span> <span class="id" title="keyword">of</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#phant_id"><span class="id" title="definition">phant_id</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lmodule.class"><span class="id" title="definition">class</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#c"><span class="id" title="variable">c</span></a> := @<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lmodule.Pack"><span class="id" title="constructor">Pack</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lmodule.ClassDef.phR"><span class="id" title="variable">phR</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lmodule.ClassDef.T"><span class="id" title="variable">T</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#c"><span class="id" title="variable">c</span></a>.<br/> +<span class="id" title="keyword">Let</span> <a name="GRing.Lmodule.ClassDef.xT"><span class="id" title="variable">xT</span></a> := <span class="id" title="keyword">let</span>: <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lmodule.Pack"><span class="id" title="constructor">Pack</span></a> <span class="id" title="var">T</span> <span class="id" title="var">_</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lmodule.ClassDef.cT"><span class="id" title="variable">cT</span></a> <span class="id" title="tactic">in</span> <span class="id" title="var">T</span>.<br/> +<span class="id" title="keyword">Notation</span> <a name="GRing.Lmodule.xclass"><span class="id" title="abbreviation">xclass</span></a> := (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lmodule.class"><span class="id" title="definition">class</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssreflect.html#aed478b27f23b4f753c27c8ac393febc"><span class="id" title="notation">:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lmodule.class_of"><span class="id" title="record">class_of</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lmodule.ClassDef.xT"><span class="id" title="variable">xT</span></a>).<br/> <br/> -<span class="id" title="keyword">Definition</span> <a name="GRing.Lmodule.pack"><span class="id" title="definition">pack</span></a> <span class="id" title="var">b0</span> (<span class="id" title="var">m0</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lmodule.mixin_of"><span class="id" title="record">mixin_of</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lmodule.ClassDef.R"><span class="id" title="variable">R</span></a> (@<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Zmodule.Pack"><span class="id" title="constructor">Zmodule.Pack</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lmodule.ClassDef.T"><span class="id" title="variable">T</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b0"><span class="id" title="variable">b0</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lmodule.ClassDef.T"><span class="id" title="variable">T</span></a>)) :=<br/> - <span class="id" title="keyword">fun</span> <span class="id" title="var">bT</span> <span class="id" title="var">b</span> & <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#phant_id"><span class="id" title="definition">phant_id</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Zmodule.class"><span class="id" title="definition">Zmodule.class</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#bT"><span class="id" title="variable">bT</span></a>) <a class="idref" href="mathcomp.algebra.ssralg.html#b"><span class="id" title="variable">b</span></a> ⇒<br/> - <span class="id" title="keyword">fun</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#phant_id"><span class="id" title="definition">phant_id</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#m0"><span class="id" title="variable">m0</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#m"><span class="id" title="variable">m</span></a> ⇒ <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lmodule.Pack"><span class="id" title="constructor">Pack</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lmodule.ClassDef.phR"><span class="id" title="variable">phR</span></a> (@<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lmodule.Class"><span class="id" title="constructor">Class</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lmodule.ClassDef.T"><span class="id" title="variable">T</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b"><span class="id" title="variable">b</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#m"><span class="id" title="variable">m</span></a>) <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lmodule.ClassDef.T"><span class="id" title="variable">T</span></a>.<br/> +<span class="id" title="keyword">Definition</span> <a name="GRing.Lmodule.pack"><span class="id" title="definition">pack</span></a> <span class="id" title="var">b0</span> (<span class="id" title="var">m0</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lmodule.mixin_of"><span class="id" title="record">mixin_of</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lmodule.ClassDef.R"><span class="id" title="variable">R</span></a> (@<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Zmodule.Pack"><span class="id" title="constructor">Zmodule.Pack</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lmodule.ClassDef.T"><span class="id" title="variable">T</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b0"><span class="id" title="variable">b0</span></a>)) :=<br/> + <span class="id" title="keyword">fun</span> <span class="id" title="var">bT</span> <span class="id" title="var">b</span> & <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#phant_id"><span class="id" title="definition">phant_id</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Zmodule.class"><span class="id" title="definition">Zmodule.class</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#bT"><span class="id" title="variable">bT</span></a>) <a class="idref" href="mathcomp.algebra.ssralg.html#b"><span class="id" title="variable">b</span></a> ⇒<br/> + <span class="id" title="keyword">fun</span> <span class="id" title="var">m</span> & <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#phant_id"><span class="id" title="definition">phant_id</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#m0"><span class="id" title="variable">m0</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#m"><span class="id" title="variable">m</span></a> ⇒ <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lmodule.Pack"><span class="id" title="constructor">Pack</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lmodule.ClassDef.phR"><span class="id" title="variable">phR</span></a> (@<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lmodule.Class"><span class="id" title="constructor">Class</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lmodule.ClassDef.T"><span class="id" title="variable">T</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b"><span class="id" title="variable">b</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#m"><span class="id" title="variable">m</span></a>).<br/> <br/> -<span class="id" title="keyword">Definition</span> <a name="GRing.Lmodule.eqType"><span class="id" title="definition">eqType</span></a> := @<a class="idref" href="mathcomp.ssreflect.eqtype.html#Equality.Pack"><span class="id" title="constructor">Equality.Pack</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lmodule.ClassDef.cT"><span class="id" title="variable">cT</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lmodule.xclass"><span class="id" title="abbreviation">xclass</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lmodule.ClassDef.xT"><span class="id" title="variable">xT</span></a>.<br/> -<span class="id" title="keyword">Definition</span> <a name="GRing.Lmodule.choiceType"><span class="id" title="definition">choiceType</span></a> := @<a class="idref" href="mathcomp.ssreflect.choice.html#Choice.Pack"><span class="id" title="constructor">Choice.Pack</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lmodule.ClassDef.cT"><span class="id" title="variable">cT</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lmodule.xclass"><span class="id" title="abbreviation">xclass</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lmodule.ClassDef.xT"><span class="id" title="variable">xT</span></a>.<br/> -<span class="id" title="keyword">Definition</span> <a name="GRing.Lmodule.zmodType"><span class="id" title="definition">zmodType</span></a> := @<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Zmodule.Pack"><span class="id" title="constructor">Zmodule.Pack</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lmodule.ClassDef.cT"><span class="id" title="variable">cT</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lmodule.xclass"><span class="id" title="abbreviation">xclass</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lmodule.ClassDef.xT"><span class="id" title="variable">xT</span></a>.<br/> +<span class="id" title="keyword">Definition</span> <a name="GRing.Lmodule.eqType"><span class="id" title="definition">eqType</span></a> := @<a class="idref" href="mathcomp.ssreflect.eqtype.html#Equality.Pack"><span class="id" title="constructor">Equality.Pack</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lmodule.ClassDef.cT"><span class="id" title="variable">cT</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lmodule.xclass"><span class="id" title="abbreviation">xclass</span></a>.<br/> +<span class="id" title="keyword">Definition</span> <a name="GRing.Lmodule.choiceType"><span class="id" title="definition">choiceType</span></a> := @<a class="idref" href="mathcomp.ssreflect.choice.html#Choice.Pack"><span class="id" title="constructor">Choice.Pack</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lmodule.ClassDef.cT"><span class="id" title="variable">cT</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lmodule.xclass"><span class="id" title="abbreviation">xclass</span></a>.<br/> +<span class="id" title="keyword">Definition</span> <a name="GRing.Lmodule.zmodType"><span class="id" title="definition">zmodType</span></a> := @<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Zmodule.Pack"><span class="id" title="constructor">Zmodule.Pack</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lmodule.ClassDef.cT"><span class="id" title="variable">cT</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lmodule.xclass"><span class="id" title="abbreviation">xclass</span></a>.<br/> <br/> <span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lmodule.ClassDef"><span class="id" title="section">ClassDef</span></a>.<br/> @@ -1556,12 +1572,12 @@ <span class="id" title="keyword">Canonical</span> <span class="id" title="var">choiceType</span>.<br/> <span class="id" title="keyword">Coercion</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lmodule.zmodType"><span class="id" title="definition">zmodType</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lmodule.zmodType"><span class="id" title="definition">:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lmodule.zmodType"><span class="id" title="definition">type</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lmodule.zmodType"><span class="id" title="definition">>-></span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lmodule.zmodType"><span class="id" title="definition">Zmodule.type</span></a>.<br/> <span class="id" title="keyword">Canonical</span> <span class="id" title="var">zmodType</span>.<br/> -<span class="id" title="keyword">Notation</span> <a name="GRing.Lmodule.Exports.lmodType"><span class="id" title="abbreviation">lmodType</span></a> <span class="id" title="var">R</span> := (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lmodule.type"><span class="id" title="record">type</span></a> (<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssreflect.html#Phant"><span class="id" title="constructor">Phant</span></a> <span class="id" title="var">R</span>)).<br/> -<span class="id" title="keyword">Notation</span> <a name="GRing.Lmodule.Exports.LmodType"><span class="id" title="abbreviation">LmodType</span></a> <span class="id" title="var">R</span> <span class="id" title="var">T</span> <span class="id" title="var">m</span> := (@<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lmodule.pack"><span class="id" title="definition">pack</span></a> <span class="id" title="var">_</span> (<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssreflect.html#Phant"><span class="id" title="constructor">Phant</span></a> <span class="id" title="var">R</span>) <span class="id" title="var">T</span> <span class="id" title="var">_</span> <span class="id" title="var">m</span> <span class="id" title="var">_</span> <span class="id" title="var">_</span> <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> <span class="id" title="var">_</span> <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>).<br/> +<span class="id" title="keyword">Notation</span> <a name="GRing.Lmodule.Exports.lmodType"><span class="id" title="abbreviation">lmodType</span></a> <span class="id" title="var">R</span> := (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lmodule.type"><span class="id" title="record">type</span></a> (<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssreflect.html#Phant"><span class="id" title="constructor">Phant</span></a> <span class="id" title="var">R</span>)).<br/> +<span class="id" title="keyword">Notation</span> <a name="GRing.Lmodule.Exports.LmodType"><span class="id" title="abbreviation">LmodType</span></a> <span class="id" title="var">R</span> <span class="id" title="var">T</span> <span class="id" title="var">m</span> := (@<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lmodule.pack"><span class="id" title="definition">pack</span></a> <span class="id" title="var">_</span> (<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssreflect.html#Phant"><span class="id" title="constructor">Phant</span></a> <span class="id" title="var">R</span>) <span class="id" title="var">T</span> <span class="id" title="var">_</span> <span class="id" title="var">m</span> <span class="id" title="var">_</span> <span class="id" title="var">_</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#id"><span class="id" title="abbreviation">id</span></a> <span class="id" title="var">_</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#id"><span class="id" title="abbreviation">id</span></a>).<br/> <span class="id" title="keyword">Notation</span> <a name="GRing.Lmodule.Exports.LmodMixin"><span class="id" title="abbreviation">LmodMixin</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lmodule.Mixin"><span class="id" title="constructor">Mixin</span></a>.<br/> -<span class="id" title="keyword">Notation</span> <a name="7ae3f0c4bde1f78bffc254ec020999a6"><span class="id" title="notation">"</span></a>[ 'lmodType' R 'of' T 'for' cT ]" := (@<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lmodule.clone"><span class="id" title="definition">clone</span></a> <span class="id" title="var">_</span> (<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssreflect.html#Phant"><span class="id" title="constructor">Phant</span></a> <span class="id" title="var">R</span>) <span class="id" title="var">T</span> <span class="id" title="var">cT</span> <span class="id" title="var">_</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#idfun"><span class="id" title="abbreviation">idfun</span></a>)<br/> +<span class="id" title="keyword">Notation</span> <a name="69479875cda47ffe3dea9a209ad2d298"><span class="id" title="notation">"</span></a>[ 'lmodType' R 'of' T 'for' cT ]" := (@<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lmodule.clone"><span class="id" title="definition">clone</span></a> <span class="id" title="var">_</span> (<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssreflect.html#Phant"><span class="id" title="constructor">Phant</span></a> <span class="id" title="var">R</span>) <span class="id" title="var">T</span> <span class="id" title="var">cT</span> <span class="id" title="var">_</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#idfun"><span class="id" title="abbreviation">idfun</span></a>)<br/> (<span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 0, <span class="id" title="var">format</span> "[ 'lmodType' R 'of' T 'for' cT ]") : <span class="id" title="var">form_scope</span>.<br/> -<span class="id" title="keyword">Notation</span> <a name="f5696ebf026860a6f9c8dd4d23269df7"><span class="id" title="notation">"</span></a>[ 'lmodType' R 'of' T ]" := (@<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lmodule.clone"><span class="id" title="definition">clone</span></a> <span class="id" title="var">_</span> (<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssreflect.html#Phant"><span class="id" title="constructor">Phant</span></a> <span class="id" title="var">R</span>) <span class="id" title="var">T</span> <span class="id" title="var">_</span> <span class="id" title="var">_</span> <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>)<br/> +<span class="id" title="keyword">Notation</span> <a name="f564c8972b813e490c7ba0cd5a233f85"><span class="id" title="notation">"</span></a>[ 'lmodType' R 'of' T ]" := (@<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lmodule.clone"><span class="id" title="definition">clone</span></a> <span class="id" title="var">_</span> (<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssreflect.html#Phant"><span class="id" title="constructor">Phant</span></a> <span class="id" title="var">R</span>) <span class="id" title="var">T</span> <span class="id" title="var">_</span> <span class="id" title="var">_</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#id"><span class="id" title="abbreviation">id</span></a>)<br/> (<span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 0, <span class="id" title="var">format</span> "[ 'lmodType' R 'of' T ]") : <span class="id" title="var">form_scope</span>.<br/> <span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lmodule.Exports"><span class="id" title="module">Exports</span></a>.<br/> @@ -1585,80 +1601,80 @@ <br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.scalerA"><span class="id" title="lemma">scalerA</span></a> <span class="id" title="var">a</span> <span class="id" title="var">b</span> <span class="id" title="var">v</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#a"><span class="id" title="variable">a</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#5aa7bcc9ac922e77482767d325fdbb69"><span class="id" title="notation">*:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#5aa7bcc9ac922e77482767d325fdbb69"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#b"><span class="id" title="variable">b</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#5aa7bcc9ac922e77482767d325fdbb69"><span class="id" title="notation">*:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#v"><span class="id" title="variable">v</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#5aa7bcc9ac922e77482767d325fdbb69"><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#a"><span class="id" title="variable">a</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#ed99e7035d9a1f8a2c1515be81ac2e5f"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b"><span class="id" title="variable">b</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#5aa7bcc9ac922e77482767d325fdbb69"><span class="id" title="notation">*:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#v"><span class="id" title="variable">v</span></a>.<br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.scalerA"><span class="id" title="lemma">scalerA</span></a> <span class="id" title="var">a</span> <span class="id" title="var">b</span> <span class="id" title="var">v</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#a"><span class="id" title="variable">a</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#10f331d2d40399852634935b8aa18b88"><span class="id" title="notation">*:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#10f331d2d40399852634935b8aa18b88"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#b"><span class="id" title="variable">b</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#10f331d2d40399852634935b8aa18b88"><span class="id" title="notation">*:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#v"><span class="id" title="variable">v</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#10f331d2d40399852634935b8aa18b88"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#a"><span class="id" title="variable">a</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f99a2dc6d143aa8f1021ab57e4a19eee"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b"><span class="id" title="variable">b</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#10f331d2d40399852634935b8aa18b88"><span class="id" title="notation">*:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#v"><span class="id" title="variable">v</span></a>.<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.scale1r"><span class="id" title="lemma">scale1r</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> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LmoduleTheory.R"><span class="id" title="variable">R</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LmoduleTheory.V"><span class="id" title="variable">V</span></a> 1 <a class="idref" href="mathcomp.algebra.ssralg.html#7afd8be1b339ff7cc68808fc72d11109"><span class="id" title="notation">*:%</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#7afd8be1b339ff7cc68808fc72d11109"><span class="id" title="notation">R</span></a>.<br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.scale1r"><span class="id" title="lemma">scale1r</span></a> : @<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#left_id"><span class="id" title="definition">left_id</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LmoduleTheory.R"><span class="id" title="variable">R</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LmoduleTheory.V"><span class="id" title="variable">V</span></a> 1 <a class="idref" href="mathcomp.algebra.ssralg.html#30f6d8f9ddb331fb2136ef9c13244e1c"><span class="id" title="notation">*:%</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#30f6d8f9ddb331fb2136ef9c13244e1c"><span class="id" title="notation">R</span></a>.<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.scalerDr"><span class="id" title="lemma">scalerDr</span></a> <span class="id" title="var">a</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.ssralg.html#7afd8be1b339ff7cc68808fc72d11109"><span class="id" title="notation">*:%</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#7afd8be1b339ff7cc68808fc72d11109"><span class="id" title="notation">R</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#7afd8be1b339ff7cc68808fc72d11109"><span class="id" title="notation">a</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">u</span> <span class="id" title="var">v</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.ssralg.html#u"><span class="id" title="variable">u</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#338c5345074fd3586073fd29273c138a"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#v"><span class="id" title="variable">v</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/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.scalerDr"><span class="id" title="lemma">scalerDr</span></a> <span class="id" title="var">a</span> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#e69c60b553f06d3463460a9f4cee3c01"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#e69c60b553f06d3463460a9f4cee3c01"><span class="id" title="notation">morph</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#30f6d8f9ddb331fb2136ef9c13244e1c"><span class="id" title="notation">*:%</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#30f6d8f9ddb331fb2136ef9c13244e1c"><span class="id" title="notation">R</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#30f6d8f9ddb331fb2136ef9c13244e1c"><span class="id" title="notation">a</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#e69c60b553f06d3463460a9f4cee3c01"><span class="id" title="notation">:</span></a> <span class="id" title="var">u</span> <span class="id" title="var">v</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#e69c60b553f06d3463460a9f4cee3c01"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#u"><span class="id" title="variable">u</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#730bbb3cf1092122fa1a208d3879e5e8"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#v"><span class="id" title="variable">v</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#e69c60b553f06d3463460a9f4cee3c01"><span class="id" title="notation">}</span></a>.<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.scalerDl"><span class="id" title="lemma">scalerDl</span></a> <span class="id" title="var">v</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.ssralg.html#7afd8be1b339ff7cc68808fc72d11109"><span class="id" title="notation">*:%</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#7afd8be1b339ff7cc68808fc72d11109"><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.ssralg.html#v"><span class="id" title="variable">v</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">a</span> <span class="id" title="var">b</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.ssralg.html#a"><span class="id" title="variable">a</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#338c5345074fd3586073fd29273c138a"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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.ssrfun.html#3014e73af2a90fd800d8681479d76336"><span class="id" title="notation">}</span></a>.<br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.scalerDl"><span class="id" title="lemma">scalerDl</span></a> <span class="id" title="var">v</span> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#e69c60b553f06d3463460a9f4cee3c01"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#e69c60b553f06d3463460a9f4cee3c01"><span class="id" title="notation">morph</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#30f6d8f9ddb331fb2136ef9c13244e1c"><span class="id" title="notation">*:%</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#30f6d8f9ddb331fb2136ef9c13244e1c"><span class="id" title="notation">R</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#d89396f990d6b54d736cfe259e498cf4"><span class="id" title="notation">^~</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#v"><span class="id" title="variable">v</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#e69c60b553f06d3463460a9f4cee3c01"><span class="id" title="notation">:</span></a> <span class="id" title="var">a</span> <span class="id" title="var">b</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#e69c60b553f06d3463460a9f4cee3c01"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#a"><span class="id" title="variable">a</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#730bbb3cf1092122fa1a208d3879e5e8"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b"><span class="id" title="variable">b</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#e69c60b553f06d3463460a9f4cee3c01"><span class="id" title="notation">}</span></a>.<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.scale0r"><span class="id" title="lemma">scale0r</span></a> <span class="id" title="var">v</span> : 0 <a class="idref" href="mathcomp.algebra.ssralg.html#5aa7bcc9ac922e77482767d325fdbb69"><span class="id" title="notation">*:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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> 0.<br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.scale0r"><span class="id" title="lemma">scale0r</span></a> <span class="id" title="var">v</span> : 0 <a class="idref" href="mathcomp.algebra.ssralg.html#10f331d2d40399852634935b8aa18b88"><span class="id" title="notation">*:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#v"><span class="id" title="variable">v</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> 0.<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.scaler0"><span class="id" title="lemma">scaler0</span></a> <span class="id" title="var">a</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#a"><span class="id" title="variable">a</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#5aa7bcc9ac922e77482767d325fdbb69"><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">=</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">:></span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LmoduleTheory.V"><span class="id" title="variable">V</span></a>.<br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.scaler0"><span class="id" title="lemma">scaler0</span></a> <span class="id" title="var">a</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#a"><span class="id" title="variable">a</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#10f331d2d40399852634935b8aa18b88"><span class="id" title="notation">*:</span></a> 0 <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#b8b2ebc8e1a8b9aa935c0702efb5dccf"><span class="id" title="notation">=</span></a> 0 <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#b8b2ebc8e1a8b9aa935c0702efb5dccf"><span class="id" title="notation">:></span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LmoduleTheory.V"><span class="id" title="variable">V</span></a>.<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.scaleNr"><span class="id" title="lemma">scaleNr</span></a> <span class="id" title="var">a</span> <span class="id" title="var">v</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#eefae7eea8ed2b8fccf150cb653d7a7b"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#a"><span class="id" title="variable">a</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#5aa7bcc9ac922e77482767d325fdbb69"><span class="id" title="notation">*:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#v"><span class="id" title="variable">v</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#eefae7eea8ed2b8fccf150cb653d7a7b"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#eefae7eea8ed2b8fccf150cb653d7a7b"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#a"><span class="id" title="variable">a</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#5aa7bcc9ac922e77482767d325fdbb69"><span class="id" title="notation">*:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#v"><span class="id" title="variable">v</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#eefae7eea8ed2b8fccf150cb653d7a7b"><span class="id" title="notation">)</span></a>.<br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.scaleNr"><span class="id" title="lemma">scaleNr</span></a> <span class="id" title="var">a</span> <span class="id" title="var">v</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#aa58dfcfb323e1f070c38e31f9efddbe"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#a"><span class="id" title="variable">a</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#10f331d2d40399852634935b8aa18b88"><span class="id" title="notation">*:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#v"><span class="id" title="variable">v</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#aa58dfcfb323e1f070c38e31f9efddbe"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#aa58dfcfb323e1f070c38e31f9efddbe"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#a"><span class="id" title="variable">a</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#10f331d2d40399852634935b8aa18b88"><span class="id" title="notation">*:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#v"><span class="id" title="variable">v</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#aa58dfcfb323e1f070c38e31f9efddbe"><span class="id" title="notation">)</span></a>.<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.scaleN1r"><span class="id" title="lemma">scaleN1r</span></a> <span class="id" title="var">v</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#5aa7bcc9ac922e77482767d325fdbb69"><span class="id" title="notation">(</span></a>- 1<a class="idref" href="mathcomp.algebra.ssralg.html#5aa7bcc9ac922e77482767d325fdbb69"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#5aa7bcc9ac922e77482767d325fdbb69"><span class="id" title="notation">*:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#v"><span class="id" title="variable">v</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#eefae7eea8ed2b8fccf150cb653d7a7b"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#v"><span class="id" title="variable">v</span></a>.<br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.scaleN1r"><span class="id" title="lemma">scaleN1r</span></a> <span class="id" title="var">v</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#10f331d2d40399852634935b8aa18b88"><span class="id" title="notation">(</span></a>- 1<a class="idref" href="mathcomp.algebra.ssralg.html#10f331d2d40399852634935b8aa18b88"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#10f331d2d40399852634935b8aa18b88"><span class="id" title="notation">*:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#v"><span class="id" title="variable">v</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#aa58dfcfb323e1f070c38e31f9efddbe"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#v"><span class="id" title="variable">v</span></a>.<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.scalerN"><span class="id" title="lemma">scalerN</span></a> <span class="id" title="var">a</span> <span class="id" title="var">v</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#a"><span class="id" title="variable">a</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#5aa7bcc9ac922e77482767d325fdbb69"><span class="id" title="notation">*:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#5aa7bcc9ac922e77482767d325fdbb69"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#eefae7eea8ed2b8fccf150cb653d7a7b"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#v"><span class="id" title="variable">v</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#5aa7bcc9ac922e77482767d325fdbb69"><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#eefae7eea8ed2b8fccf150cb653d7a7b"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#eefae7eea8ed2b8fccf150cb653d7a7b"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#a"><span class="id" title="variable">a</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#5aa7bcc9ac922e77482767d325fdbb69"><span class="id" title="notation">*:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#v"><span class="id" title="variable">v</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#eefae7eea8ed2b8fccf150cb653d7a7b"><span class="id" title="notation">)</span></a>.<br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.scalerN"><span class="id" title="lemma">scalerN</span></a> <span class="id" title="var">a</span> <span class="id" title="var">v</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#a"><span class="id" title="variable">a</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#10f331d2d40399852634935b8aa18b88"><span class="id" title="notation">*:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#10f331d2d40399852634935b8aa18b88"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#aa58dfcfb323e1f070c38e31f9efddbe"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#v"><span class="id" title="variable">v</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#10f331d2d40399852634935b8aa18b88"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#aa58dfcfb323e1f070c38e31f9efddbe"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#aa58dfcfb323e1f070c38e31f9efddbe"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#a"><span class="id" title="variable">a</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#10f331d2d40399852634935b8aa18b88"><span class="id" title="notation">*:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#v"><span class="id" title="variable">v</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#aa58dfcfb323e1f070c38e31f9efddbe"><span class="id" title="notation">)</span></a>.<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.scalerBl"><span class="id" title="lemma">scalerBl</span></a> <span class="id" title="var">a</span> <span class="id" title="var">b</span> <span class="id" title="var">v</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#5aa7bcc9ac922e77482767d325fdbb69"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#a"><span class="id" title="variable">a</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#4d4b9697032429ec46472e6332d1356a"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b"><span class="id" title="variable">b</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#5aa7bcc9ac922e77482767d325fdbb69"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#5aa7bcc9ac922e77482767d325fdbb69"><span class="id" title="notation">*:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#v"><span class="id" title="variable">v</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#a"><span class="id" title="variable">a</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#5aa7bcc9ac922e77482767d325fdbb69"><span class="id" title="notation">*:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#v"><span class="id" title="variable">v</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#4d4b9697032429ec46472e6332d1356a"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b"><span class="id" title="variable">b</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#5aa7bcc9ac922e77482767d325fdbb69"><span class="id" title="notation">*:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#v"><span class="id" title="variable">v</span></a>.<br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.scalerBl"><span class="id" title="lemma">scalerBl</span></a> <span class="id" title="var">a</span> <span class="id" title="var">b</span> <span class="id" title="var">v</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#10f331d2d40399852634935b8aa18b88"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#a"><span class="id" title="variable">a</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#4a5fc7f0d0a33bc3822357a38c953c9e"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b"><span class="id" title="variable">b</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#10f331d2d40399852634935b8aa18b88"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#10f331d2d40399852634935b8aa18b88"><span class="id" title="notation">*:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#v"><span class="id" title="variable">v</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#a"><span class="id" title="variable">a</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#10f331d2d40399852634935b8aa18b88"><span class="id" title="notation">*:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#v"><span class="id" title="variable">v</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#4a5fc7f0d0a33bc3822357a38c953c9e"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b"><span class="id" title="variable">b</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#10f331d2d40399852634935b8aa18b88"><span class="id" title="notation">*:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#v"><span class="id" title="variable">v</span></a>.<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.scalerBr"><span class="id" title="lemma">scalerBr</span></a> <span class="id" title="var">a</span> <span class="id" title="var">u</span> <span class="id" title="var">v</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#a"><span class="id" title="variable">a</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#5aa7bcc9ac922e77482767d325fdbb69"><span class="id" title="notation">*:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#5aa7bcc9ac922e77482767d325fdbb69"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#u"><span class="id" title="variable">u</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#4d4b9697032429ec46472e6332d1356a"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#v"><span class="id" title="variable">v</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#5aa7bcc9ac922e77482767d325fdbb69"><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#a"><span class="id" title="variable">a</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#5aa7bcc9ac922e77482767d325fdbb69"><span class="id" title="notation">*:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#u"><span class="id" title="variable">u</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#4d4b9697032429ec46472e6332d1356a"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#a"><span class="id" title="variable">a</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#5aa7bcc9ac922e77482767d325fdbb69"><span class="id" title="notation">*:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#v"><span class="id" title="variable">v</span></a>.<br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.scalerBr"><span class="id" title="lemma">scalerBr</span></a> <span class="id" title="var">a</span> <span class="id" title="var">u</span> <span class="id" title="var">v</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#a"><span class="id" title="variable">a</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#10f331d2d40399852634935b8aa18b88"><span class="id" title="notation">*:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#10f331d2d40399852634935b8aa18b88"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#u"><span class="id" title="variable">u</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#4a5fc7f0d0a33bc3822357a38c953c9e"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#v"><span class="id" title="variable">v</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#10f331d2d40399852634935b8aa18b88"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#a"><span class="id" title="variable">a</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#10f331d2d40399852634935b8aa18b88"><span class="id" title="notation">*:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#u"><span class="id" title="variable">u</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#4a5fc7f0d0a33bc3822357a38c953c9e"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#a"><span class="id" title="variable">a</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#10f331d2d40399852634935b8aa18b88"><span class="id" title="notation">*:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#v"><span class="id" title="variable">v</span></a>.<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.scaler_nat"><span class="id" title="lemma">scaler_nat</span></a> <span class="id" title="var">n</span> <span class="id" title="var">v</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#c191333b9c7c034282647fbffacc9d18"><span class="id" title="notation">%:</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#c191333b9c7c034282647fbffacc9d18"><span class="id" title="notation">R</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#5aa7bcc9ac922e77482767d325fdbb69"><span class="id" title="notation">*:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#v"><span class="id" title="variable">v</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#v"><span class="id" title="variable">v</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#513eaa3129601ecbcc9e188a80d6155b"><span class="id" title="notation">*+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a>.<br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.scaler_nat"><span class="id" title="lemma">scaler_nat</span></a> <span class="id" title="var">n</span> <span class="id" title="var">v</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#512a31305e556a90e0ad0550ee623cbc"><span class="id" title="notation">%:</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#512a31305e556a90e0ad0550ee623cbc"><span class="id" title="notation">R</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#10f331d2d40399852634935b8aa18b88"><span class="id" title="notation">*:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#v"><span class="id" title="variable">v</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#v"><span class="id" title="variable">v</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#506f68330939db1f655609b68b37b467"><span class="id" title="notation">*+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a>.<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.scaler_sign"><span class="id" title="lemma">scaler_sign</span></a> (<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>) <span class="id" title="var">v</span>: <a class="idref" href="mathcomp.algebra.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">(</span></a>-1<a class="idref" href="mathcomp.algebra.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b"><span class="id" title="variable">b</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#5aa7bcc9ac922e77482767d325fdbb69"><span class="id" title="notation">*:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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="http://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.ssralg.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.ssralg.html#eefae7eea8ed2b8fccf150cb653d7a7b"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#v"><span class="id" title="variable">v</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.ssralg.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>.<br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.scaler_sign"><span class="id" title="lemma">scaler_sign</span></a> (<span class="id" title="var">b</span> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#bool"><span class="id" title="inductive">bool</span></a>) <span class="id" title="var">v</span>: <a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">(</span></a>-1<a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b"><span class="id" title="variable">b</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#10f331d2d40399852634935b8aa18b88"><span class="id" title="notation">*:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#v"><span class="id" title="variable">v</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">(</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssreflect.html#00a1a5b58aac8f1e3f1abff064a39f9d"><span class="id" title="notation">if</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b"><span class="id" title="variable">b</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssreflect.html#00a1a5b58aac8f1e3f1abff064a39f9d"><span class="id" title="notation">then</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#aa58dfcfb323e1f070c38e31f9efddbe"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#v"><span class="id" title="variable">v</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssreflect.html#00a1a5b58aac8f1e3f1abff064a39f9d"><span class="id" title="notation">else</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#v"><span class="id" title="variable">v</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">)</span></a>.<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.signrZK"><span class="id" title="lemma">signrZK</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#involutive"><span class="id" title="definition">involutive</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LmoduleTheory.V"><span class="id" title="variable">V</span></a> ( <a class="idref" href="mathcomp.algebra.ssralg.html#7afd8be1b339ff7cc68808fc72d11109"><span class="id" title="notation">*:%</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#7afd8be1b339ff7cc68808fc72d11109"><span class="id" title="notation">R</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#7afd8be1b339ff7cc68808fc72d11109"><span class="id" title="notation">((-1)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#7afd8be1b339ff7cc68808fc72d11109"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#7afd8be1b339ff7cc68808fc72d11109"><span class="id" title="notation">n</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#7afd8be1b339ff7cc68808fc72d11109"><span class="id" title="notation">)</span></a>).<br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.signrZK"><span class="id" title="lemma">signrZK</span></a> <span class="id" title="var">n</span> : @<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#involutive"><span class="id" title="definition">involutive</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LmoduleTheory.V"><span class="id" title="variable">V</span></a> ( <a class="idref" href="mathcomp.algebra.ssralg.html#30f6d8f9ddb331fb2136ef9c13244e1c"><span class="id" title="notation">*:%</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#30f6d8f9ddb331fb2136ef9c13244e1c"><span class="id" title="notation">R</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#30f6d8f9ddb331fb2136ef9c13244e1c"><span class="id" title="notation">((-1)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#30f6d8f9ddb331fb2136ef9c13244e1c"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#30f6d8f9ddb331fb2136ef9c13244e1c"><span class="id" title="notation">n</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#30f6d8f9ddb331fb2136ef9c13244e1c"><span class="id" title="notation">)</span></a>).<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.scalerMnl"><span class="id" title="lemma">scalerMnl</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.ssralg.html#a"><span class="id" title="variable">a</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#5aa7bcc9ac922e77482767d325fdbb69"><span class="id" title="notation">*:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#v"><span class="id" title="variable">v</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#513eaa3129601ecbcc9e188a80d6155b"><span class="id" title="notation">*+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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#5aa7bcc9ac922e77482767d325fdbb69"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#a"><span class="id" title="variable">a</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#513eaa3129601ecbcc9e188a80d6155b"><span class="id" title="notation">*+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#5aa7bcc9ac922e77482767d325fdbb69"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#5aa7bcc9ac922e77482767d325fdbb69"><span class="id" title="notation">*:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#v"><span class="id" title="variable">v</span></a>.<br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.scalerMnl"><span class="id" title="lemma">scalerMnl</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.ssralg.html#a"><span class="id" title="variable">a</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#10f331d2d40399852634935b8aa18b88"><span class="id" title="notation">*:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#v"><span class="id" title="variable">v</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#506f68330939db1f655609b68b37b467"><span class="id" title="notation">*+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#10f331d2d40399852634935b8aa18b88"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#a"><span class="id" title="variable">a</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#506f68330939db1f655609b68b37b467"><span class="id" title="notation">*+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#10f331d2d40399852634935b8aa18b88"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#10f331d2d40399852634935b8aa18b88"><span class="id" title="notation">*:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#v"><span class="id" title="variable">v</span></a>.<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.scalerMnr"><span class="id" title="lemma">scalerMnr</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.ssralg.html#a"><span class="id" title="variable">a</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#5aa7bcc9ac922e77482767d325fdbb69"><span class="id" title="notation">*:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#v"><span class="id" title="variable">v</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#513eaa3129601ecbcc9e188a80d6155b"><span class="id" title="notation">*+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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#a"><span class="id" title="variable">a</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#5aa7bcc9ac922e77482767d325fdbb69"><span class="id" title="notation">*:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#5aa7bcc9ac922e77482767d325fdbb69"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#v"><span class="id" title="variable">v</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#513eaa3129601ecbcc9e188a80d6155b"><span class="id" title="notation">*+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#5aa7bcc9ac922e77482767d325fdbb69"><span class="id" title="notation">)</span></a>.<br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.scalerMnr"><span class="id" title="lemma">scalerMnr</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.ssralg.html#a"><span class="id" title="variable">a</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#10f331d2d40399852634935b8aa18b88"><span class="id" title="notation">*:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#v"><span class="id" title="variable">v</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#506f68330939db1f655609b68b37b467"><span class="id" title="notation">*+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#a"><span class="id" title="variable">a</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#10f331d2d40399852634935b8aa18b88"><span class="id" title="notation">*:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#10f331d2d40399852634935b8aa18b88"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#v"><span class="id" title="variable">v</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#506f68330939db1f655609b68b37b467"><span class="id" title="notation">*+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#10f331d2d40399852634935b8aa18b88"><span class="id" title="notation">)</span></a>.<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.scaler_suml"><span class="id" title="lemma">scaler_suml</span></a> <span class="id" title="var">v</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.ssralg.html#I"><span class="id" title="variable">I</span></a>) <span class="id" title="var">F</span> :<br/> - <a class="idref" href="mathcomp.algebra.ssralg.html#5aa7bcc9ac922e77482767d325fdbb69"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#664ae738a3286983847c80e5ee4c8c6b"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#664ae738a3286983847c80e5ee4c8c6b"><span class="id" title="notation">sum_</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#664ae738a3286983847c80e5ee4c8c6b"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.algebra.ssralg.html#664ae738a3286983847c80e5ee4c8c6b"><span class="id" title="notation"><-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#r"><span class="id" title="variable">r</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#664ae738a3286983847c80e5ee4c8c6b"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#664ae738a3286983847c80e5ee4c8c6b"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#5aa7bcc9ac922e77482767d325fdbb69"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#5aa7bcc9ac922e77482767d325fdbb69"><span class="id" title="notation">*:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#v"><span class="id" title="variable">v</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#664ae738a3286983847c80e5ee4c8c6b"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#664ae738a3286983847c80e5ee4c8c6b"><span class="id" title="notation">sum_</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#664ae738a3286983847c80e5ee4c8c6b"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.algebra.ssralg.html#664ae738a3286983847c80e5ee4c8c6b"><span class="id" title="notation"><-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#r"><span class="id" title="variable">r</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#664ae738a3286983847c80e5ee4c8c6b"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#664ae738a3286983847c80e5ee4c8c6b"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#5aa7bcc9ac922e77482767d325fdbb69"><span class="id" title="notation">*:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#v"><span class="id" title="variable">v</span></a>.<br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.scaler_suml"><span class="id" title="lemma">scaler_suml</span></a> <span class="id" title="var">v</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/V8.9.0/stdlib//Coq.ssr.ssrbool.html#pred"><span class="id" title="definition">pred</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#I"><span class="id" title="variable">I</span></a>) <span class="id" title="var">F</span> :<br/> + <a class="idref" href="mathcomp.algebra.ssralg.html#10f331d2d40399852634935b8aa18b88"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#dcb91d0b08ece8369cc6084787184d13"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#dcb91d0b08ece8369cc6084787184d13"><span class="id" title="notation">sum_</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#dcb91d0b08ece8369cc6084787184d13"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.algebra.ssralg.html#dcb91d0b08ece8369cc6084787184d13"><span class="id" title="notation"><-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#r"><span class="id" title="variable">r</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#dcb91d0b08ece8369cc6084787184d13"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#dcb91d0b08ece8369cc6084787184d13"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#10f331d2d40399852634935b8aa18b88"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#10f331d2d40399852634935b8aa18b88"><span class="id" title="notation">*:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#v"><span class="id" title="variable">v</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#dcb91d0b08ece8369cc6084787184d13"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#dcb91d0b08ece8369cc6084787184d13"><span class="id" title="notation">sum_</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#dcb91d0b08ece8369cc6084787184d13"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.algebra.ssralg.html#dcb91d0b08ece8369cc6084787184d13"><span class="id" title="notation"><-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#r"><span class="id" title="variable">r</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#dcb91d0b08ece8369cc6084787184d13"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#dcb91d0b08ece8369cc6084787184d13"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#10f331d2d40399852634935b8aa18b88"><span class="id" title="notation">*:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#v"><span class="id" title="variable">v</span></a>.<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.scaler_sumr"><span class="id" title="lemma">scaler_sumr</span></a> <span class="id" title="var">a</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.ssralg.html#I"><span class="id" title="variable">I</span></a>) (<span class="id" title="var">F</span> : <a class="idref" href="mathcomp.algebra.ssralg.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.ssralg.html#GRing.LmoduleTheory.V"><span class="id" title="variable">V</span></a>) :<br/> - <a class="idref" href="mathcomp.algebra.ssralg.html#a"><span class="id" title="variable">a</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#5aa7bcc9ac922e77482767d325fdbb69"><span class="id" title="notation">*:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#5aa7bcc9ac922e77482767d325fdbb69"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#664ae738a3286983847c80e5ee4c8c6b"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#664ae738a3286983847c80e5ee4c8c6b"><span class="id" title="notation">sum_</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#664ae738a3286983847c80e5ee4c8c6b"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.algebra.ssralg.html#664ae738a3286983847c80e5ee4c8c6b"><span class="id" title="notation"><-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#r"><span class="id" title="variable">r</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#664ae738a3286983847c80e5ee4c8c6b"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#664ae738a3286983847c80e5ee4c8c6b"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#5aa7bcc9ac922e77482767d325fdbb69"><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#664ae738a3286983847c80e5ee4c8c6b"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#664ae738a3286983847c80e5ee4c8c6b"><span class="id" title="notation">sum_</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#664ae738a3286983847c80e5ee4c8c6b"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.algebra.ssralg.html#664ae738a3286983847c80e5ee4c8c6b"><span class="id" title="notation"><-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#r"><span class="id" title="variable">r</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#664ae738a3286983847c80e5ee4c8c6b"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#664ae738a3286983847c80e5ee4c8c6b"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#a"><span class="id" title="variable">a</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#5aa7bcc9ac922e77482767d325fdbb69"><span class="id" title="notation">*:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</span></a>.<br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.scaler_sumr"><span class="id" title="lemma">scaler_sumr</span></a> <span class="id" title="var">a</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/V8.9.0/stdlib//Coq.ssr.ssrbool.html#pred"><span class="id" title="definition">pred</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#I"><span class="id" title="variable">I</span></a>) (<span class="id" title="var">F</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#I"><span class="id" title="variable">I</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LmoduleTheory.V"><span class="id" title="variable">V</span></a>) :<br/> + <a class="idref" href="mathcomp.algebra.ssralg.html#a"><span class="id" title="variable">a</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#10f331d2d40399852634935b8aa18b88"><span class="id" title="notation">*:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#10f331d2d40399852634935b8aa18b88"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#dcb91d0b08ece8369cc6084787184d13"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#dcb91d0b08ece8369cc6084787184d13"><span class="id" title="notation">sum_</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#dcb91d0b08ece8369cc6084787184d13"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.algebra.ssralg.html#dcb91d0b08ece8369cc6084787184d13"><span class="id" title="notation"><-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#r"><span class="id" title="variable">r</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#dcb91d0b08ece8369cc6084787184d13"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#dcb91d0b08ece8369cc6084787184d13"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#10f331d2d40399852634935b8aa18b88"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#dcb91d0b08ece8369cc6084787184d13"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#dcb91d0b08ece8369cc6084787184d13"><span class="id" title="notation">sum_</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#dcb91d0b08ece8369cc6084787184d13"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.algebra.ssralg.html#dcb91d0b08ece8369cc6084787184d13"><span class="id" title="notation"><-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#r"><span class="id" title="variable">r</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#dcb91d0b08ece8369cc6084787184d13"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#dcb91d0b08ece8369cc6084787184d13"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#a"><span class="id" title="variable">a</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#10f331d2d40399852634935b8aa18b88"><span class="id" title="notation">*:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</span></a>.<br/> <br/> <span class="id" title="keyword">Section</span> <a name="GRing.LmoduleTheory.ClosedPredicates"><span class="id" title="section">ClosedPredicates</span></a>.<br/> <br/> -<span class="id" title="keyword">Variable</span> <a name="GRing.LmoduleTheory.ClosedPredicates.S"><span class="id" title="variable">S</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#predPredType"><span class="id" title="definition">predPredType</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LmoduleTheory.V"><span class="id" title="variable">V</span></a>.<br/> +<span class="id" title="keyword">Variable</span> <a name="GRing.LmoduleTheory.ClosedPredicates.S"><span class="id" title="variable">S</span></a> : <a class="idref" href="mathcomp.ssreflect.ssrbool.html#64f8873130736b599801d4930af00e74"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.ssreflect.ssrbool.html#64f8873130736b599801d4930af00e74"><span class="id" title="notation">pred</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LmoduleTheory.V"><span class="id" title="variable">V</span></a><a class="idref" href="mathcomp.ssreflect.ssrbool.html#64f8873130736b599801d4930af00e74"><span class="id" title="notation">}</span></a>.<br/> <br/> -<span class="id" title="keyword">Definition</span> <a name="GRing.scaler_closed"><span class="id" title="definition">scaler_closed</span></a> := <span class="id" title="keyword">∀</span> <span class="id" title="var">a</span>, <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.LmoduleTheory.ClosedPredicates.S"><span class="id" title="variable">S</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">v</span>, <a class="idref" href="mathcomp.algebra.ssralg.html#a"><span class="id" title="variable">a</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#5aa7bcc9ac922e77482767d325fdbb69"><span class="id" title="notation">*:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#v"><span class="id" title="variable">v</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#GRing.LmoduleTheory.ClosedPredicates.S"><span class="id" title="variable">S</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/> -<span class="id" title="keyword">Definition</span> <a name="GRing.linear_closed"><span class="id" title="definition">linear_closed</span></a> := <span class="id" title="keyword">∀</span> <span class="id" title="var">a</span>, <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.ssralg.html#GRing.LmoduleTheory.ClosedPredicates.S"><span class="id" title="variable">S</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> <span class="id" title="keyword">∀</span> <span class="id" title="var">u</span> <span class="id" title="var">v</span>, <a class="idref" href="mathcomp.algebra.ssralg.html#a"><span class="id" title="variable">a</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#5aa7bcc9ac922e77482767d325fdbb69"><span class="id" title="notation">*:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#u"><span class="id" title="variable">u</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#338c5345074fd3586073fd29273c138a"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#v"><span class="id" title="variable">v</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#GRing.LmoduleTheory.ClosedPredicates.S"><span class="id" title="variable">S</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/> -<span class="id" title="keyword">Definition</span> <a name="GRing.submod_closed"><span class="id" title="definition">submod_closed</span></a> := 0 <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#GRing.LmoduleTheory.ClosedPredicates.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#d82a7d96d3659d805ffe732283716822"><span class="id" title="notation">∧</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.linear_closed"><span class="id" title="definition">linear_closed</span></a>.<br/> +<span class="id" title="keyword">Definition</span> <a name="GRing.scaler_closed"><span class="id" title="definition">scaler_closed</span></a> := <span class="id" title="keyword">∀</span> <span class="id" title="var">a</span>, <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LmoduleTheory.ClosedPredicates.S"><span class="id" title="variable">S</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><span class="id" title="notation">,</span></a> <span class="id" title="keyword">∀</span> <span class="id" title="var">v</span>, <a class="idref" href="mathcomp.algebra.ssralg.html#a"><span class="id" title="variable">a</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#10f331d2d40399852634935b8aa18b88"><span class="id" title="notation">*:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#v"><span class="id" title="variable">v</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LmoduleTheory.ClosedPredicates.S"><span class="id" title="variable">S</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><span class="id" title="notation">}</span></a>.<br/> +<span class="id" title="keyword">Definition</span> <a name="GRing.linear_closed"><span class="id" title="definition">linear_closed</span></a> := <span class="id" title="keyword">∀</span> <span class="id" title="var">a</span>, <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b4f176550f5b849a7fbba2ee164934d3"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b4f176550f5b849a7fbba2ee164934d3"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LmoduleTheory.ClosedPredicates.S"><span class="id" title="variable">S</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b4f176550f5b849a7fbba2ee164934d3"><span class="id" title="notation">&,</span></a> <span class="id" title="keyword">∀</span> <span class="id" title="var">u</span> <span class="id" title="var">v</span>, <a class="idref" href="mathcomp.algebra.ssralg.html#a"><span class="id" title="variable">a</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#10f331d2d40399852634935b8aa18b88"><span class="id" title="notation">*:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#u"><span class="id" title="variable">u</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#730bbb3cf1092122fa1a208d3879e5e8"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#v"><span class="id" title="variable">v</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LmoduleTheory.ClosedPredicates.S"><span class="id" title="variable">S</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b4f176550f5b849a7fbba2ee164934d3"><span class="id" title="notation">}</span></a>.<br/> +<span class="id" title="keyword">Definition</span> <a name="GRing.submod_closed"><span class="id" title="definition">submod_closed</span></a> := 0 <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LmoduleTheory.ClosedPredicates.S"><span class="id" title="variable">S</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#ba2b0e492d2b4675a0acf3ea92aabadd"><span class="id" title="notation">∧</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.linear_closed"><span class="id" title="definition">linear_closed</span></a>.<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.linear_closedB"><span class="id" title="lemma">linear_closedB</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.linear_closed"><span class="id" title="definition">linear_closed</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.subr_2closed"><span class="id" title="definition">subr_2closed</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LmoduleTheory.ClosedPredicates.S"><span class="id" title="variable">S</span></a>.<br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.linear_closedB"><span class="id" title="lemma">linear_closedB</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.linear_closed"><span class="id" title="definition">linear_closed</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.subr_2closed"><span class="id" title="definition">subr_2closed</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LmoduleTheory.ClosedPredicates.S"><span class="id" title="variable">S</span></a>.<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.submod_closedB"><span class="id" title="lemma">submod_closedB</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.submod_closed"><span class="id" title="definition">submod_closed</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.zmod_closed"><span class="id" title="definition">zmod_closed</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LmoduleTheory.ClosedPredicates.S"><span class="id" title="variable">S</span></a>.<br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.submod_closedB"><span class="id" title="lemma">submod_closedB</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.submod_closed"><span class="id" title="definition">submod_closed</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.zmod_closed"><span class="id" title="definition">zmod_closed</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LmoduleTheory.ClosedPredicates.S"><span class="id" title="variable">S</span></a>.<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.submod_closedZ"><span class="id" title="lemma">submod_closedZ</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.submod_closed"><span class="id" title="definition">submod_closed</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.scaler_closed"><span class="id" title="definition">scaler_closed</span></a>.<br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.submod_closedZ"><span class="id" title="lemma">submod_closedZ</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.submod_closed"><span class="id" title="definition">submod_closed</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.scaler_closed"><span class="id" title="definition">scaler_closed</span></a>.<br/> <br/> <span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LmoduleTheory.ClosedPredicates"><span class="id" title="section">ClosedPredicates</span></a>.<br/> @@ -1670,8 +1686,8 @@ <span class="id" title="keyword">Module</span> <a name="GRing.Lalgebra"><span class="id" title="module">Lalgebra</span></a>.<br/> <br/> -<span class="id" title="keyword">Definition</span> <a name="GRing.Lalgebra.axiom"><span class="id" title="definition">axiom</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">V</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.ssralg.html#R"><span class="id" title="variable">R</span></a>) (<span class="id" title="var">mul</span> : <a class="idref" href="mathcomp.algebra.ssralg.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#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#V"><span class="id" title="variable">V</span></a>) :=<br/> - <span class="id" title="keyword">∀</span> <span class="id" title="var">a</span> <span class="id" title="var">u</span> <span class="id" title="var">v</span>, <a class="idref" href="mathcomp.algebra.ssralg.html#a"><span class="id" title="variable">a</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#5aa7bcc9ac922e77482767d325fdbb69"><span class="id" title="notation">*:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#mul"><span class="id" title="variable">mul</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#u"><span class="id" title="variable">u</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#v"><span class="id" title="variable">v</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#mul"><span class="id" title="variable">mul</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#a"><span class="id" title="variable">a</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#5aa7bcc9ac922e77482767d325fdbb69"><span class="id" title="notation">*:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#u"><span class="id" title="variable">u</span></a>) <a class="idref" href="mathcomp.algebra.ssralg.html#v"><span class="id" title="variable">v</span></a>.<br/> +<span class="id" title="keyword">Definition</span> <a name="GRing.Lalgebra.axiom"><span class="id" title="definition">axiom</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">V</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.ssralg.html#R"><span class="id" title="variable">R</span></a>) (<span class="id" title="var">mul</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#V"><span class="id" title="variable">V</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#V"><span class="id" title="variable">V</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#V"><span class="id" title="variable">V</span></a>) :=<br/> + <span class="id" title="keyword">∀</span> <span class="id" title="var">a</span> <span class="id" title="var">u</span> <span class="id" title="var">v</span>, <a class="idref" href="mathcomp.algebra.ssralg.html#a"><span class="id" title="variable">a</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#10f331d2d40399852634935b8aa18b88"><span class="id" title="notation">*:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#mul"><span class="id" title="variable">mul</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#u"><span class="id" title="variable">u</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#v"><span class="id" title="variable">v</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#mul"><span class="id" title="variable">mul</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#a"><span class="id" title="variable">a</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#10f331d2d40399852634935b8aa18b88"><span class="id" title="notation">*:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#u"><span class="id" title="variable">u</span></a>) <a class="idref" href="mathcomp.algebra.ssralg.html#v"><span class="id" title="variable">v</span></a>.<br/> <br/> <span class="id" title="keyword">Section</span> <a name="GRing.Lalgebra.ClassDef"><span class="id" title="section">ClassDef</span></a>.<br/> @@ -1682,33 +1698,33 @@ <br/> <span class="id" title="keyword">Record</span> <a name="GRing.Lalgebra.class_of"><span class="id" title="record">class_of</span></a> (<span class="id" title="var">T</span> : <span class="id" title="keyword">Type</span>) : <span class="id" title="keyword">Type</span> := <a name="GRing.Lalgebra.Class"><span class="id" title="constructor">Class</span></a> {<br/> <a name="GRing.Lalgebra.base"><span class="id" title="projection">base</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Ring.class_of"><span class="id" title="record">Ring.class_of</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#T"><span class="id" title="variable">T</span></a>;<br/> - <a name="GRing.Lalgebra.mixin"><span class="id" title="projection">mixin</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lmodule.mixin_of"><span class="id" title="record">Lmodule.mixin_of</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lalgebra.ClassDef.R"><span class="id" title="variable">R</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Zmodule.Pack"><span class="id" title="constructor">Zmodule.Pack</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#base"><span class="id" title="method">base</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#T"><span class="id" title="variable">T</span></a>);<br/> - <a name="GRing.Lalgebra.ext"><span class="id" title="projection">ext</span></a> : @<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lalgebra.axiom"><span class="id" title="definition">axiom</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lalgebra.ClassDef.R"><span class="id" title="variable">R</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lmodule.Pack"><span class="id" title="constructor">Lmodule.Pack</span></a> <span class="id" title="var">_</span> (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lmodule.Class"><span class="id" title="constructor">Lmodule.Class</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#mixin"><span class="id" title="method">mixin</span></a>) <a class="idref" href="mathcomp.algebra.ssralg.html#T"><span class="id" title="variable">T</span></a>) (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Ring.mul"><span class="id" title="projection">Ring.mul</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#base"><span class="id" title="method">base</span></a>)<br/> + <a name="GRing.Lalgebra.mixin"><span class="id" title="projection">mixin</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lmodule.mixin_of"><span class="id" title="record">Lmodule.mixin_of</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lalgebra.ClassDef.R"><span class="id" title="variable">R</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Zmodule.Pack"><span class="id" title="constructor">Zmodule.Pack</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#base"><span class="id" title="method">base</span></a>);<br/> + <a name="GRing.Lalgebra.ext"><span class="id" title="projection">ext</span></a> : @<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lalgebra.axiom"><span class="id" title="definition">axiom</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lalgebra.ClassDef.R"><span class="id" title="variable">R</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lmodule.Pack"><span class="id" title="constructor">Lmodule.Pack</span></a> <span class="id" title="var">_</span> (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lmodule.Class"><span class="id" title="constructor">Lmodule.Class</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#mixin"><span class="id" title="method">mixin</span></a>)) (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Ring.mul"><span class="id" title="projection">Ring.mul</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#base"><span class="id" title="method">base</span></a>)<br/> }.<br/> <span class="id" title="keyword">Definition</span> <a name="GRing.Lalgebra.base2"><span class="id" title="definition">base2</span></a> <span class="id" title="var">R</span> <span class="id" title="var">m</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lmodule.Class"><span class="id" title="constructor">Lmodule.Class</span></a> (@<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lalgebra.mixin"><span class="id" title="projection">mixin</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#R"><span class="id" title="variable">R</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#m"><span class="id" title="variable">m</span></a>).<br/> <br/> -<span class="id" title="keyword">Structure</span> <a name="GRing.Lalgebra.type"><span class="id" title="record">type</span></a> (<span class="id" title="var">phR</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssreflect.html#phant"><span class="id" title="inductive">phant</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lalgebra.ClassDef.R"><span class="id" title="variable">R</span></a>) := <a name="GRing.Lalgebra.Pack"><span class="id" title="constructor">Pack</span></a> {<a name="GRing.Lalgebra.sort"><span class="id" title="projection">sort</span></a>; <span class="id" title="var">_</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lalgebra.class_of"><span class="id" title="record">class_of</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#sort"><span class="id" title="method">sort</span></a>; <span class="id" title="var">_</span> : <span class="id" title="keyword">Type</span>}.<br/> -<span class="id" title="keyword">Variable</span> (<a name="GRing.Lalgebra.ClassDef.phR"><span class="id" title="variable">phR</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssreflect.html#phant"><span class="id" title="inductive">phant</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lalgebra.ClassDef.R"><span class="id" title="variable">R</span></a>) (<a name="GRing.Lalgebra.ClassDef.T"><span class="id" title="variable">T</span></a> : <span class="id" title="keyword">Type</span>) (<a name="GRing.Lalgebra.ClassDef.cT"><span class="id" title="variable">cT</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lalgebra.type"><span class="id" title="record">type</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#phR"><span class="id" title="variable">phR</span></a>).<br/> -<span class="id" title="keyword">Definition</span> <a name="GRing.Lalgebra.class"><span class="id" title="definition">class</span></a> := <span class="id" title="keyword">let</span>: <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lalgebra.Pack"><span class="id" title="constructor">Pack</span></a> <span class="id" title="var">_</span> <span class="id" title="var">c</span> <span class="id" title="var">_</span> <span class="id" title="keyword">as</span> <span class="id" title="var">cT'</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lalgebra.ClassDef.cT"><span class="id" title="variable">cT</span></a> <span class="id" title="keyword">return</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lalgebra.class_of"><span class="id" title="record">class_of</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#cT'"><span class="id" title="variable">cT'</span></a> <span class="id" title="tactic">in</span> <span class="id" title="var">c</span>.<br/> -<span class="id" title="keyword">Definition</span> <a name="GRing.Lalgebra.clone"><span class="id" title="definition">clone</span></a> <span class="id" title="var">c</span> <span class="id" title="keyword">of</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#phant_id"><span class="id" title="definition">phant_id</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lalgebra.class"><span class="id" title="definition">class</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#c"><span class="id" title="variable">c</span></a> := @<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lalgebra.Pack"><span class="id" title="constructor">Pack</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lalgebra.ClassDef.phR"><span class="id" title="variable">phR</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lalgebra.ClassDef.T"><span class="id" title="variable">T</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#c"><span class="id" title="variable">c</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lalgebra.ClassDef.T"><span class="id" title="variable">T</span></a>.<br/> -<span class="id" title="keyword">Let</span> <a name="GRing.Lalgebra.ClassDef.xT"><span class="id" title="variable">xT</span></a> := <span class="id" title="keyword">let</span>: <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lalgebra.Pack"><span class="id" title="constructor">Pack</span></a> <span class="id" title="var">T</span> <span class="id" title="var">_</span> <span class="id" title="var">_</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lalgebra.ClassDef.cT"><span class="id" title="variable">cT</span></a> <span class="id" title="tactic">in</span> <span class="id" title="var">T</span>.<br/> -<span class="id" title="keyword">Notation</span> <a name="GRing.Lalgebra.xclass"><span class="id" title="abbreviation">xclass</span></a> := (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lalgebra.class"><span class="id" title="definition">class</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.ssralg.html#GRing.Lalgebra.class_of"><span class="id" title="record">class_of</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lalgebra.ClassDef.xT"><span class="id" title="variable">xT</span></a>).<br/> +<span class="id" title="keyword">Structure</span> <a name="GRing.Lalgebra.type"><span class="id" title="record">type</span></a> (<span class="id" title="var">phR</span> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssreflect.html#phant"><span class="id" title="inductive">phant</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lalgebra.ClassDef.R"><span class="id" title="variable">R</span></a>) := <a name="GRing.Lalgebra.Pack"><span class="id" title="constructor">Pack</span></a> {<a name="GRing.Lalgebra.sort"><span class="id" title="projection">sort</span></a>; <span class="id" title="var">_</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lalgebra.class_of"><span class="id" title="record">class_of</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#sort"><span class="id" title="method">sort</span></a>}.<br/> +<span class="id" title="keyword">Variable</span> (<a name="GRing.Lalgebra.ClassDef.phR"><span class="id" title="variable">phR</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssreflect.html#phant"><span class="id" title="inductive">phant</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lalgebra.ClassDef.R"><span class="id" title="variable">R</span></a>) (<a name="GRing.Lalgebra.ClassDef.T"><span class="id" title="variable">T</span></a> : <span class="id" title="keyword">Type</span>) (<a name="GRing.Lalgebra.ClassDef.cT"><span class="id" title="variable">cT</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lalgebra.type"><span class="id" title="record">type</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#phR"><span class="id" title="variable">phR</span></a>).<br/> +<span class="id" title="keyword">Definition</span> <a name="GRing.Lalgebra.class"><span class="id" title="definition">class</span></a> := <span class="id" title="keyword">let</span>: <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lalgebra.Pack"><span class="id" title="constructor">Pack</span></a> <span class="id" title="var">_</span> <span class="id" title="var">c</span> <span class="id" title="keyword">as</span> <span class="id" title="var">cT'</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lalgebra.ClassDef.cT"><span class="id" title="variable">cT</span></a> <span class="id" title="keyword">return</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lalgebra.class_of"><span class="id" title="record">class_of</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#cT'"><span class="id" title="variable">cT'</span></a> <span class="id" title="tactic">in</span> <span class="id" title="var">c</span>.<br/> +<span class="id" title="keyword">Definition</span> <a name="GRing.Lalgebra.clone"><span class="id" title="definition">clone</span></a> <span class="id" title="var">c</span> <span class="id" title="keyword">of</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#phant_id"><span class="id" title="definition">phant_id</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lalgebra.class"><span class="id" title="definition">class</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#c"><span class="id" title="variable">c</span></a> := @<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lalgebra.Pack"><span class="id" title="constructor">Pack</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lalgebra.ClassDef.phR"><span class="id" title="variable">phR</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lalgebra.ClassDef.T"><span class="id" title="variable">T</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#c"><span class="id" title="variable">c</span></a>.<br/> +<span class="id" title="keyword">Let</span> <a name="GRing.Lalgebra.ClassDef.xT"><span class="id" title="variable">xT</span></a> := <span class="id" title="keyword">let</span>: <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lalgebra.Pack"><span class="id" title="constructor">Pack</span></a> <span class="id" title="var">T</span> <span class="id" title="var">_</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lalgebra.ClassDef.cT"><span class="id" title="variable">cT</span></a> <span class="id" title="tactic">in</span> <span class="id" title="var">T</span>.<br/> +<span class="id" title="keyword">Notation</span> <a name="GRing.Lalgebra.xclass"><span class="id" title="abbreviation">xclass</span></a> := (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lalgebra.class"><span class="id" title="definition">class</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssreflect.html#aed478b27f23b4f753c27c8ac393febc"><span class="id" title="notation">:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lalgebra.class_of"><span class="id" title="record">class_of</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lalgebra.ClassDef.xT"><span class="id" title="variable">xT</span></a>).<br/> <br/> -<span class="id" title="keyword">Definition</span> <a name="GRing.Lalgebra.pack"><span class="id" title="definition">pack</span></a> <span class="id" title="var">T</span> <span class="id" title="var">b0</span> <span class="id" title="var">mul0</span> (<span class="id" title="var">axT</span> : @<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lalgebra.axiom"><span class="id" title="definition">axiom</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lalgebra.ClassDef.R"><span class="id" title="variable">R</span></a> (@<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lmodule.Pack"><span class="id" title="constructor">Lmodule.Pack</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lalgebra.ClassDef.R"><span class="id" title="variable">R</span></a> <span class="id" title="var">_</span> <a class="idref" href="mathcomp.algebra.ssralg.html#T"><span class="id" title="variable">T</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b0"><span class="id" title="variable">b0</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#T"><span class="id" title="variable">T</span></a>) <a class="idref" href="mathcomp.algebra.ssralg.html#mul0"><span class="id" title="variable">mul0</span></a>) :=<br/> - <span class="id" title="keyword">fun</span> <span class="id" title="var">bT</span> <span class="id" title="var">b</span> & <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#phant_id"><span class="id" title="definition">phant_id</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Ring.class"><span class="id" title="definition">Ring.class</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#bT"><span class="id" title="variable">bT</span></a>) (<a class="idref" href="mathcomp.algebra.ssralg.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#4509b22bf26e3d6d771897e22bd8bc8f"><span class="id" title="notation">:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Ring.class_of"><span class="id" title="record">Ring.class_of</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#T"><span class="id" title="variable">T</span></a>) ⇒<br/> - <span class="id" title="keyword">fun</span> <span class="id" title="var">mT</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#phant_id"><span class="id" title="definition">phant_id</span></a> (@<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lmodule.class"><span class="id" title="definition">Lmodule.class</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lalgebra.ClassDef.R"><span class="id" title="variable">R</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lalgebra.ClassDef.phR"><span class="id" title="variable">phR</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#mT"><span class="id" title="variable">mT</span></a>) (@<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lmodule.Class"><span class="id" title="constructor">Lmodule.Class</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lalgebra.ClassDef.R"><span class="id" title="variable">R</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#T"><span class="id" title="variable">T</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b"><span class="id" title="variable">b</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#m"><span class="id" title="variable">m</span></a>) ⇒<br/> - <span class="id" title="keyword">fun</span> <span class="id" title="var">ax</span> & <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#phant_id"><span class="id" title="definition">phant_id</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#axT"><span class="id" title="variable">axT</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#ax"><span class="id" title="variable">ax</span></a> ⇒<br/> - <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lalgebra.Pack"><span class="id" title="constructor">Pack</span></a> (<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssreflect.html#Phant"><span class="id" title="constructor">Phant</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lalgebra.ClassDef.R"><span class="id" title="variable">R</span></a>) (@<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lalgebra.Class"><span class="id" title="constructor">Class</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#T"><span class="id" title="variable">T</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b"><span class="id" title="variable">b</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#ax"><span class="id" title="variable">ax</span></a>) <a class="idref" href="mathcomp.algebra.ssralg.html#T"><span class="id" title="variable">T</span></a>.<br/> +<span class="id" title="keyword">Definition</span> <a name="GRing.Lalgebra.pack"><span class="id" title="definition">pack</span></a> <span class="id" title="var">T</span> <span class="id" title="var">b0</span> <span class="id" title="var">mul0</span> (<span class="id" title="var">axT</span> : @<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lalgebra.axiom"><span class="id" title="definition">axiom</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lalgebra.ClassDef.R"><span class="id" title="variable">R</span></a> (@<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lmodule.Pack"><span class="id" title="constructor">Lmodule.Pack</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lalgebra.ClassDef.R"><span class="id" title="variable">R</span></a> <span class="id" title="var">_</span> <a class="idref" href="mathcomp.algebra.ssralg.html#T"><span class="id" title="variable">T</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b0"><span class="id" title="variable">b0</span></a>) <a class="idref" href="mathcomp.algebra.ssralg.html#mul0"><span class="id" title="variable">mul0</span></a>) :=<br/> + <span class="id" title="keyword">fun</span> <span class="id" title="var">bT</span> <span class="id" title="var">b</span> & <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#phant_id"><span class="id" title="definition">phant_id</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Ring.class"><span class="id" title="definition">Ring.class</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#bT"><span class="id" title="variable">bT</span></a>) (<a class="idref" href="mathcomp.algebra.ssralg.html#b"><span class="id" title="variable">b</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssreflect.html#aed478b27f23b4f753c27c8ac393febc"><span class="id" title="notation">:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Ring.class_of"><span class="id" title="record">Ring.class_of</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#T"><span class="id" title="variable">T</span></a>) ⇒<br/> + <span class="id" title="keyword">fun</span> <span class="id" title="var">mT</span> <span class="id" title="var">m</span> & <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#phant_id"><span class="id" title="definition">phant_id</span></a> (@<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lmodule.class"><span class="id" title="definition">Lmodule.class</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lalgebra.ClassDef.R"><span class="id" title="variable">R</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lalgebra.ClassDef.phR"><span class="id" title="variable">phR</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#mT"><span class="id" title="variable">mT</span></a>) (@<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lmodule.Class"><span class="id" title="constructor">Lmodule.Class</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lalgebra.ClassDef.R"><span class="id" title="variable">R</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#T"><span class="id" title="variable">T</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b"><span class="id" title="variable">b</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#m"><span class="id" title="variable">m</span></a>) ⇒<br/> + <span class="id" title="keyword">fun</span> <span class="id" title="var">ax</span> & <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#phant_id"><span class="id" title="definition">phant_id</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#axT"><span class="id" title="variable">axT</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#ax"><span class="id" title="variable">ax</span></a> ⇒<br/> + <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lalgebra.Pack"><span class="id" title="constructor">Pack</span></a> (<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssreflect.html#Phant"><span class="id" title="constructor">Phant</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lalgebra.ClassDef.R"><span class="id" title="variable">R</span></a>) (@<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lalgebra.Class"><span class="id" title="constructor">Class</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#T"><span class="id" title="variable">T</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b"><span class="id" title="variable">b</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#ax"><span class="id" title="variable">ax</span></a>).<br/> <br/> -<span class="id" title="keyword">Definition</span> <a name="GRing.Lalgebra.eqType"><span class="id" title="definition">eqType</span></a> := @<a class="idref" href="mathcomp.ssreflect.eqtype.html#Equality.Pack"><span class="id" title="constructor">Equality.Pack</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lalgebra.ClassDef.cT"><span class="id" title="variable">cT</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lalgebra.xclass"><span class="id" title="abbreviation">xclass</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lalgebra.ClassDef.xT"><span class="id" title="variable">xT</span></a>.<br/> -<span class="id" title="keyword">Definition</span> <a name="GRing.Lalgebra.choiceType"><span class="id" title="definition">choiceType</span></a> := @<a class="idref" href="mathcomp.ssreflect.choice.html#Choice.Pack"><span class="id" title="constructor">Choice.Pack</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lalgebra.ClassDef.cT"><span class="id" title="variable">cT</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lalgebra.xclass"><span class="id" title="abbreviation">xclass</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lalgebra.ClassDef.xT"><span class="id" title="variable">xT</span></a>.<br/> -<span class="id" title="keyword">Definition</span> <a name="GRing.Lalgebra.zmodType"><span class="id" title="definition">zmodType</span></a> := @<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Zmodule.Pack"><span class="id" title="constructor">Zmodule.Pack</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lalgebra.ClassDef.cT"><span class="id" title="variable">cT</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lalgebra.xclass"><span class="id" title="abbreviation">xclass</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lalgebra.ClassDef.xT"><span class="id" title="variable">xT</span></a>.<br/> -<span class="id" title="keyword">Definition</span> <a name="GRing.Lalgebra.ringType"><span class="id" title="definition">ringType</span></a> := @<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Ring.Pack"><span class="id" title="constructor">Ring.Pack</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lalgebra.ClassDef.cT"><span class="id" title="variable">cT</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lalgebra.xclass"><span class="id" title="abbreviation">xclass</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lalgebra.ClassDef.xT"><span class="id" title="variable">xT</span></a>.<br/> -<span class="id" title="keyword">Definition</span> <a name="GRing.Lalgebra.lmodType"><span class="id" title="definition">lmodType</span></a> := @<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lmodule.Pack"><span class="id" title="constructor">Lmodule.Pack</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lalgebra.ClassDef.R"><span class="id" title="variable">R</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lalgebra.ClassDef.phR"><span class="id" title="variable">phR</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lalgebra.ClassDef.cT"><span class="id" title="variable">cT</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lalgebra.xclass"><span class="id" title="abbreviation">xclass</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lalgebra.ClassDef.xT"><span class="id" title="variable">xT</span></a>.<br/> -<span class="id" title="keyword">Definition</span> <a name="GRing.Lalgebra.lmod_ringType"><span class="id" title="definition">lmod_ringType</span></a> := @<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lmodule.Pack"><span class="id" title="constructor">Lmodule.Pack</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lalgebra.ClassDef.R"><span class="id" title="variable">R</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lalgebra.ClassDef.phR"><span class="id" title="variable">phR</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lalgebra.ringType"><span class="id" title="definition">ringType</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lalgebra.xclass"><span class="id" title="abbreviation">xclass</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lalgebra.ClassDef.xT"><span class="id" title="variable">xT</span></a>.<br/> +<span class="id" title="keyword">Definition</span> <a name="GRing.Lalgebra.eqType"><span class="id" title="definition">eqType</span></a> := @<a class="idref" href="mathcomp.ssreflect.eqtype.html#Equality.Pack"><span class="id" title="constructor">Equality.Pack</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lalgebra.ClassDef.cT"><span class="id" title="variable">cT</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lalgebra.xclass"><span class="id" title="abbreviation">xclass</span></a>.<br/> +<span class="id" title="keyword">Definition</span> <a name="GRing.Lalgebra.choiceType"><span class="id" title="definition">choiceType</span></a> := @<a class="idref" href="mathcomp.ssreflect.choice.html#Choice.Pack"><span class="id" title="constructor">Choice.Pack</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lalgebra.ClassDef.cT"><span class="id" title="variable">cT</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lalgebra.xclass"><span class="id" title="abbreviation">xclass</span></a>.<br/> +<span class="id" title="keyword">Definition</span> <a name="GRing.Lalgebra.zmodType"><span class="id" title="definition">zmodType</span></a> := @<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Zmodule.Pack"><span class="id" title="constructor">Zmodule.Pack</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lalgebra.ClassDef.cT"><span class="id" title="variable">cT</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lalgebra.xclass"><span class="id" title="abbreviation">xclass</span></a>.<br/> +<span class="id" title="keyword">Definition</span> <a name="GRing.Lalgebra.ringType"><span class="id" title="definition">ringType</span></a> := @<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Ring.Pack"><span class="id" title="constructor">Ring.Pack</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lalgebra.ClassDef.cT"><span class="id" title="variable">cT</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lalgebra.xclass"><span class="id" title="abbreviation">xclass</span></a>.<br/> +<span class="id" title="keyword">Definition</span> <a name="GRing.Lalgebra.lmodType"><span class="id" title="definition">lmodType</span></a> := @<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lmodule.Pack"><span class="id" title="constructor">Lmodule.Pack</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lalgebra.ClassDef.R"><span class="id" title="variable">R</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lalgebra.ClassDef.phR"><span class="id" title="variable">phR</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lalgebra.ClassDef.cT"><span class="id" title="variable">cT</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lalgebra.xclass"><span class="id" title="abbreviation">xclass</span></a>.<br/> +<span class="id" title="keyword">Definition</span> <a name="GRing.Lalgebra.lmod_ringType"><span class="id" title="definition">lmod_ringType</span></a> := @<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lmodule.Pack"><span class="id" title="constructor">Lmodule.Pack</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lalgebra.ClassDef.R"><span class="id" title="variable">R</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lalgebra.ClassDef.phR"><span class="id" title="variable">phR</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lalgebra.ringType"><span class="id" title="definition">ringType</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lalgebra.xclass"><span class="id" title="abbreviation">xclass</span></a>.<br/> <br/> <span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lalgebra.ClassDef"><span class="id" title="section">ClassDef</span></a>.<br/> @@ -1729,12 +1745,12 @@ <span class="id" title="keyword">Coercion</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lalgebra.lmodType"><span class="id" title="definition">lmodType</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lalgebra.lmodType"><span class="id" title="definition">:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lalgebra.lmodType"><span class="id" title="definition">type</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lalgebra.lmodType"><span class="id" title="definition">>-></span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lalgebra.lmodType"><span class="id" title="definition">Lmodule.type</span></a>.<br/> <span class="id" title="keyword">Canonical</span> <span class="id" title="var">lmodType</span>.<br/> <span class="id" title="keyword">Canonical</span> <span class="id" title="var">lmod_ringType</span>.<br/> -<span class="id" title="keyword">Notation</span> <a name="GRing.Lalgebra.Exports.lalgType"><span class="id" title="abbreviation">lalgType</span></a> <span class="id" title="var">R</span> := (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lalgebra.type"><span class="id" title="record">type</span></a> (<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssreflect.html#Phant"><span class="id" title="constructor">Phant</span></a> <span class="id" title="var">R</span>)).<br/> -<span class="id" title="keyword">Notation</span> <a name="GRing.Lalgebra.Exports.LalgType"><span class="id" title="abbreviation">LalgType</span></a> <span class="id" title="var">R</span> <span class="id" title="var">T</span> <span class="id" title="var">a</span> := (@<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lalgebra.pack"><span class="id" title="definition">pack</span></a> <span class="id" title="var">_</span> (<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssreflect.html#Phant"><span class="id" title="constructor">Phant</span></a> <span class="id" title="var">R</span>) <span class="id" title="var">T</span> <span class="id" title="var">_</span> <span class="id" title="var">_</span> <span class="id" title="var">a</span> <span class="id" title="var">_</span> <span class="id" title="var">_</span> <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> <span class="id" title="var">_</span> <span class="id" title="var">_</span> <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> <span class="id" title="var">_</span> <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>).<br/> -<span class="id" title="keyword">Notation</span> <a name="d808753be7e4a961b68bffadddfcdf30"><span class="id" title="notation">"</span></a>[ 'lalgType' R 'of' T 'for' cT ]" := (@<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lalgebra.clone"><span class="id" title="definition">clone</span></a> <span class="id" title="var">_</span> (<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssreflect.html#Phant"><span class="id" title="constructor">Phant</span></a> <span class="id" title="var">R</span>) <span class="id" title="var">T</span> <span class="id" title="var">cT</span> <span class="id" title="var">_</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#idfun"><span class="id" title="abbreviation">idfun</span></a>)<br/> +<span class="id" title="keyword">Notation</span> <a name="GRing.Lalgebra.Exports.lalgType"><span class="id" title="abbreviation">lalgType</span></a> <span class="id" title="var">R</span> := (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lalgebra.type"><span class="id" title="record">type</span></a> (<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssreflect.html#Phant"><span class="id" title="constructor">Phant</span></a> <span class="id" title="var">R</span>)).<br/> +<span class="id" title="keyword">Notation</span> <a name="GRing.Lalgebra.Exports.LalgType"><span class="id" title="abbreviation">LalgType</span></a> <span class="id" title="var">R</span> <span class="id" title="var">T</span> <span class="id" title="var">a</span> := (@<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lalgebra.pack"><span class="id" title="definition">pack</span></a> <span class="id" title="var">_</span> (<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssreflect.html#Phant"><span class="id" title="constructor">Phant</span></a> <span class="id" title="var">R</span>) <span class="id" title="var">T</span> <span class="id" title="var">_</span> <span class="id" title="var">_</span> <span class="id" title="var">a</span> <span class="id" title="var">_</span> <span class="id" title="var">_</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#id"><span class="id" title="abbreviation">id</span></a> <span class="id" title="var">_</span> <span class="id" title="var">_</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#id"><span class="id" title="abbreviation">id</span></a> <span class="id" title="var">_</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#id"><span class="id" title="abbreviation">id</span></a>).<br/> +<span class="id" title="keyword">Notation</span> <a name="ac25e41f1dd8deef399bcb0123249366"><span class="id" title="notation">"</span></a>[ 'lalgType' R 'of' T 'for' cT ]" := (@<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lalgebra.clone"><span class="id" title="definition">clone</span></a> <span class="id" title="var">_</span> (<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssreflect.html#Phant"><span class="id" title="constructor">Phant</span></a> <span class="id" title="var">R</span>) <span class="id" title="var">T</span> <span class="id" title="var">cT</span> <span class="id" title="var">_</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#idfun"><span class="id" title="abbreviation">idfun</span></a>)<br/> (<span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 0, <span class="id" title="var">format</span> "[ 'lalgType' R 'of' T 'for' cT ]")<br/> : <span class="id" title="var">form_scope</span>.<br/> -<span class="id" title="keyword">Notation</span> <a name="e01b377a4a68dd74ced1f2b445ae1568"><span class="id" title="notation">"</span></a>[ 'lalgType' R 'of' T ]" := (@<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lalgebra.clone"><span class="id" title="definition">clone</span></a> <span class="id" title="var">_</span> (<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssreflect.html#Phant"><span class="id" title="constructor">Phant</span></a> <span class="id" title="var">R</span>) <span class="id" title="var">T</span> <span class="id" title="var">_</span> <span class="id" title="var">_</span> <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>)<br/> +<span class="id" title="keyword">Notation</span> <a name="c3932ab7d4b1953f142288e718bebbc4"><span class="id" title="notation">"</span></a>[ 'lalgType' R 'of' T ]" := (@<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lalgebra.clone"><span class="id" title="definition">clone</span></a> <span class="id" title="var">_</span> (<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssreflect.html#Phant"><span class="id" title="constructor">Phant</span></a> <span class="id" title="var">R</span>) <span class="id" title="var">T</span> <span class="id" title="var">_</span> <span class="id" title="var">_</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#id"><span class="id" title="abbreviation">id</span></a>)<br/> (<span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 0, <span class="id" title="var">format</span> "[ 'lalgType' R 'of' T ]") : <span class="id" title="var">form_scope</span>.<br/> <span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lalgebra.Exports"><span class="id" title="module">Exports</span></a>.<br/> @@ -1767,16 +1783,16 @@ <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.ssralg.html#GRing.LalgebraTheory.A"><span class="id" title="variable">A</span></a>.<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.scalerAl"><span class="id" title="lemma">scalerAl</span></a> <span class="id" title="var">k</span> (<span class="id" title="var">x</span> <span class="id" title="var">y</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LalgebraTheory.A"><span class="id" title="variable">A</span></a>) : <a class="idref" href="mathcomp.algebra.ssralg.html#k"><span class="id" title="variable">k</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#5aa7bcc9ac922e77482767d325fdbb69"><span class="id" title="notation">*:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#5aa7bcc9ac922e77482767d325fdbb69"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#ed99e7035d9a1f8a2c1515be81ac2e5f"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#5aa7bcc9ac922e77482767d325fdbb69"><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#k"><span class="id" title="variable">k</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#5aa7bcc9ac922e77482767d325fdbb69"><span class="id" title="notation">*:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#ed99e7035d9a1f8a2c1515be81ac2e5f"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a>.<br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.scalerAl"><span class="id" title="lemma">scalerAl</span></a> <span class="id" title="var">k</span> (<span class="id" title="var">x</span> <span class="id" title="var">y</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LalgebraTheory.A"><span class="id" title="variable">A</span></a>) : <a class="idref" href="mathcomp.algebra.ssralg.html#k"><span class="id" title="variable">k</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#10f331d2d40399852634935b8aa18b88"><span class="id" title="notation">*:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#10f331d2d40399852634935b8aa18b88"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f99a2dc6d143aa8f1021ab57e4a19eee"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#10f331d2d40399852634935b8aa18b88"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#k"><span class="id" title="variable">k</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#10f331d2d40399852634935b8aa18b88"><span class="id" title="notation">*:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f99a2dc6d143aa8f1021ab57e4a19eee"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a>.<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.mulr_algl"><span class="id" title="lemma">mulr_algl</span></a> <span class="id" title="var">a</span> <span class="id" title="var">x</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#a"><span class="id" title="variable">a</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#a9486b60fd4d51d8247008b3f8b21d21"><span class="id" title="notation">%:</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#a9486b60fd4d51d8247008b3f8b21d21"><span class="id" title="notation">A</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#ed99e7035d9a1f8a2c1515be81ac2e5f"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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#a"><span class="id" title="variable">a</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#5aa7bcc9ac922e77482767d325fdbb69"><span class="id" title="notation">*:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a>.<br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.mulr_algl"><span class="id" title="lemma">mulr_algl</span></a> <span class="id" title="var">a</span> <span class="id" title="var">x</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#a"><span class="id" title="variable">a</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#b328a5aed2733481ae9bfe9f2b7cc645"><span class="id" title="notation">%:</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#b328a5aed2733481ae9bfe9f2b7cc645"><span class="id" title="notation">A</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f99a2dc6d143aa8f1021ab57e4a19eee"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#a"><span class="id" title="variable">a</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#10f331d2d40399852634935b8aa18b88"><span class="id" title="notation">*:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a>.<br/> <br/> -<span class="id" title="keyword">Canonical</span> <span class="id" title="var">regular_eqType</span> := <a class="idref" href="mathcomp.ssreflect.eqtype.html#cb062fd562aed512787df99359c6e3f2"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.eqtype.html#cb062fd562aed512787df99359c6e3f2"><span class="id" title="notation">eqType</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#cb062fd562aed512787df99359c6e3f2"><span class="id" title="notation">of</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LalgebraTheory.R"><span class="id" title="variable">R</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#44fd865ce10e1d30970d09bdd85a0c8e"><span class="id" title="notation">^</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#44fd865ce10e1d30970d09bdd85a0c8e"><span class="id" title="notation">o</span></a><a class="idref" href="mathcomp.ssreflect.eqtype.html#cb062fd562aed512787df99359c6e3f2"><span class="id" title="notation">]</span></a>.<br/> -<span class="id" title="keyword">Canonical</span> <span class="id" title="var">regular_choiceType</span> := <a class="idref" href="mathcomp.ssreflect.choice.html#1731a28227324c9e5fc49499029635b3"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.choice.html#1731a28227324c9e5fc49499029635b3"><span class="id" title="notation">choiceType</span></a> <a class="idref" href="mathcomp.ssreflect.choice.html#1731a28227324c9e5fc49499029635b3"><span class="id" title="notation">of</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LalgebraTheory.R"><span class="id" title="variable">R</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#44fd865ce10e1d30970d09bdd85a0c8e"><span class="id" title="notation">^</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#44fd865ce10e1d30970d09bdd85a0c8e"><span class="id" title="notation">o</span></a><a class="idref" href="mathcomp.ssreflect.choice.html#1731a28227324c9e5fc49499029635b3"><span class="id" title="notation">]</span></a>.<br/> -<span class="id" title="keyword">Canonical</span> <span class="id" title="var">regular_zmodType</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.ssralg.html#GRing.LalgebraTheory.R"><span class="id" title="variable">R</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#44fd865ce10e1d30970d09bdd85a0c8e"><span class="id" title="notation">^</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#44fd865ce10e1d30970d09bdd85a0c8e"><span class="id" title="notation">o</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#af6385fc2df84aeeec6855073f75cc68"><span class="id" title="notation">]</span></a>.<br/> -<span class="id" title="keyword">Canonical</span> <span class="id" title="var">regular_ringType</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#dee4f3431027813095272c568fc6b5ce"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#dee4f3431027813095272c568fc6b5ce"><span class="id" title="notation">ringType</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#dee4f3431027813095272c568fc6b5ce"><span class="id" title="notation">of</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LalgebraTheory.R"><span class="id" title="variable">R</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#44fd865ce10e1d30970d09bdd85a0c8e"><span class="id" title="notation">^</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#44fd865ce10e1d30970d09bdd85a0c8e"><span class="id" title="notation">o</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#dee4f3431027813095272c568fc6b5ce"><span class="id" title="notation">]</span></a>.<br/> +<span class="id" title="keyword">Canonical</span> <span class="id" title="var">regular_eqType</span> := <a class="idref" href="mathcomp.ssreflect.eqtype.html#2b9222c46a529018a8ebb5be6355801c"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.eqtype.html#2b9222c46a529018a8ebb5be6355801c"><span class="id" title="notation">eqType</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#2b9222c46a529018a8ebb5be6355801c"><span class="id" title="notation">of</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LalgebraTheory.R"><span class="id" title="variable">R</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#44117511dc5f0eff9d2bcbcfcdd33874"><span class="id" title="notation">^</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#44117511dc5f0eff9d2bcbcfcdd33874"><span class="id" title="notation">o</span></a><a class="idref" href="mathcomp.ssreflect.eqtype.html#2b9222c46a529018a8ebb5be6355801c"><span class="id" title="notation">]</span></a>.<br/> +<span class="id" title="keyword">Canonical</span> <span class="id" title="var">regular_choiceType</span> := <a class="idref" href="mathcomp.ssreflect.choice.html#6cecb3ca492751e55998eec154506328"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.choice.html#6cecb3ca492751e55998eec154506328"><span class="id" title="notation">choiceType</span></a> <a class="idref" href="mathcomp.ssreflect.choice.html#6cecb3ca492751e55998eec154506328"><span class="id" title="notation">of</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LalgebraTheory.R"><span class="id" title="variable">R</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#44117511dc5f0eff9d2bcbcfcdd33874"><span class="id" title="notation">^</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#44117511dc5f0eff9d2bcbcfcdd33874"><span class="id" title="notation">o</span></a><a class="idref" href="mathcomp.ssreflect.choice.html#6cecb3ca492751e55998eec154506328"><span class="id" title="notation">]</span></a>.<br/> +<span class="id" title="keyword">Canonical</span> <span class="id" title="var">regular_zmodType</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#97b11d2a158d9db11032c2626798c6ac"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#97b11d2a158d9db11032c2626798c6ac"><span class="id" title="notation">zmodType</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#97b11d2a158d9db11032c2626798c6ac"><span class="id" title="notation">of</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LalgebraTheory.R"><span class="id" title="variable">R</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#44117511dc5f0eff9d2bcbcfcdd33874"><span class="id" title="notation">^</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#44117511dc5f0eff9d2bcbcfcdd33874"><span class="id" title="notation">o</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#97b11d2a158d9db11032c2626798c6ac"><span class="id" title="notation">]</span></a>.<br/> +<span class="id" title="keyword">Canonical</span> <span class="id" title="var">regular_ringType</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#964cf6dee45a836ccf0bcd3d85de1071"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#964cf6dee45a836ccf0bcd3d85de1071"><span class="id" title="notation">ringType</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#964cf6dee45a836ccf0bcd3d85de1071"><span class="id" title="notation">of</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LalgebraTheory.R"><span class="id" title="variable">R</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#44117511dc5f0eff9d2bcbcfcdd33874"><span class="id" title="notation">^</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#44117511dc5f0eff9d2bcbcfcdd33874"><span class="id" title="notation">o</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#964cf6dee45a836ccf0bcd3d85de1071"><span class="id" title="notation">]</span></a>.<br/> <br/> <span class="id" title="keyword">Definition</span> <a name="GRing.regular_lmodMixin"><span class="id" title="definition">regular_lmodMixin</span></a> :=<br/> @@ -1784,23 +1800,23 @@ <a class="idref" href="mathcomp.algebra.ssralg.html#mkMixin"><span class="id" title="variable">mkMixin</span></a> (@<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.mulrA"><span class="id" title="lemma">mulrA</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LalgebraTheory.R"><span class="id" title="variable">R</span></a>) (@<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.mul1r"><span class="id" title="lemma">mul1r</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LalgebraTheory.R"><span class="id" title="variable">R</span></a>) (@<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.mulrDr"><span class="id" title="lemma">mulrDr</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LalgebraTheory.R"><span class="id" title="variable">R</span></a>) (<span class="id" title="keyword">fun</span> <span class="id" title="var">v</span> <span class="id" title="var">a</span> <span class="id" title="var">b</span> ⇒ <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.mulrDl"><span class="id" title="lemma">mulrDl</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#a"><span class="id" title="variable">a</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b"><span class="id" title="variable">b</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#v"><span class="id" title="variable">v</span></a>).<br/> <br/> -<span class="id" title="keyword">Canonical</span> <span class="id" title="var">regular_lmodType</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LmodType"><span class="id" title="abbreviation">LmodType</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LalgebraTheory.R"><span class="id" title="variable">R</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LalgebraTheory.R"><span class="id" title="variable">R</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#44fd865ce10e1d30970d09bdd85a0c8e"><span class="id" title="notation">^</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#44fd865ce10e1d30970d09bdd85a0c8e"><span class="id" title="notation">o</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.regular_lmodMixin"><span class="id" title="definition">regular_lmodMixin</span></a>.<br/> -<span class="id" title="keyword">Canonical</span> <span class="id" title="var">regular_lalgType</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LalgType"><span class="id" title="abbreviation">LalgType</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LalgebraTheory.R"><span class="id" title="variable">R</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LalgebraTheory.R"><span class="id" title="variable">R</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#44fd865ce10e1d30970d09bdd85a0c8e"><span class="id" title="notation">^</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#44fd865ce10e1d30970d09bdd85a0c8e"><span class="id" title="notation">o</span></a> (@<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.mulrA"><span class="id" title="lemma">mulrA</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.regular_ringType"><span class="id" title="definition">regular_ringType</span></a>).<br/> +<span class="id" title="keyword">Canonical</span> <span class="id" title="var">regular_lmodType</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LmodType"><span class="id" title="abbreviation">LmodType</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LalgebraTheory.R"><span class="id" title="variable">R</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LalgebraTheory.R"><span class="id" title="variable">R</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#44117511dc5f0eff9d2bcbcfcdd33874"><span class="id" title="notation">^</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#44117511dc5f0eff9d2bcbcfcdd33874"><span class="id" title="notation">o</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.regular_lmodMixin"><span class="id" title="definition">regular_lmodMixin</span></a>.<br/> +<span class="id" title="keyword">Canonical</span> <span class="id" title="var">regular_lalgType</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LalgType"><span class="id" title="abbreviation">LalgType</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LalgebraTheory.R"><span class="id" title="variable">R</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LalgebraTheory.R"><span class="id" title="variable">R</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#44117511dc5f0eff9d2bcbcfcdd33874"><span class="id" title="notation">^</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#44117511dc5f0eff9d2bcbcfcdd33874"><span class="id" title="notation">o</span></a> (@<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.mulrA"><span class="id" title="lemma">mulrA</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.regular_ringType"><span class="id" title="definition">regular_ringType</span></a>).<br/> <br/> <span class="id" title="keyword">Section</span> <a name="GRing.LalgebraTheory.ClosedPredicates"><span class="id" title="section">ClosedPredicates</span></a>.<br/> <br/> -<span class="id" title="keyword">Variable</span> <a name="GRing.LalgebraTheory.ClosedPredicates.S"><span class="id" title="variable">S</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#predPredType"><span class="id" title="definition">predPredType</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LalgebraTheory.A"><span class="id" title="variable">A</span></a>.<br/> +<span class="id" title="keyword">Variable</span> <a name="GRing.LalgebraTheory.ClosedPredicates.S"><span class="id" title="variable">S</span></a> : <a class="idref" href="mathcomp.ssreflect.ssrbool.html#64f8873130736b599801d4930af00e74"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.ssreflect.ssrbool.html#64f8873130736b599801d4930af00e74"><span class="id" title="notation">pred</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LalgebraTheory.A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.ssreflect.ssrbool.html#64f8873130736b599801d4930af00e74"><span class="id" title="notation">}</span></a>.<br/> <br/> -<span class="id" title="keyword">Definition</span> <a name="GRing.subalg_closed"><span class="id" title="definition">subalg_closed</span></a> := <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#962a3cb7af009aedac7986e261646bd1"><span class="id" title="notation">[/\</span></a> 1 <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#GRing.LalgebraTheory.ClosedPredicates.S"><span class="id" title="variable">S</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#962a3cb7af009aedac7986e261646bd1"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.linear_closed"><span class="id" title="definition">linear_closed</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LalgebraTheory.ClosedPredicates.S"><span class="id" title="variable">S</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#962a3cb7af009aedac7986e261646bd1"><span class="id" title="notation">&</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.mulr_2closed"><span class="id" title="definition">mulr_2closed</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LalgebraTheory.ClosedPredicates.S"><span class="id" title="variable">S</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#962a3cb7af009aedac7986e261646bd1"><span class="id" title="notation">]</span></a>.<br/> +<span class="id" title="keyword">Definition</span> <a name="GRing.subalg_closed"><span class="id" title="definition">subalg_closed</span></a> := <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#d7e433f5d2fe56f5b712860a9ff2a681"><span class="id" title="notation">[/\</span></a> 1 <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LalgebraTheory.ClosedPredicates.S"><span class="id" title="variable">S</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#d7e433f5d2fe56f5b712860a9ff2a681"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.linear_closed"><span class="id" title="definition">linear_closed</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LalgebraTheory.ClosedPredicates.S"><span class="id" title="variable">S</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#d7e433f5d2fe56f5b712860a9ff2a681"><span class="id" title="notation">&</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.mulr_2closed"><span class="id" title="definition">mulr_2closed</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LalgebraTheory.ClosedPredicates.S"><span class="id" title="variable">S</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#d7e433f5d2fe56f5b712860a9ff2a681"><span class="id" title="notation">]</span></a>.<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.subalg_closedZ"><span class="id" title="lemma">subalg_closedZ</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.subalg_closed"><span class="id" title="definition">subalg_closed</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.submod_closed"><span class="id" title="definition">submod_closed</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LalgebraTheory.ClosedPredicates.S"><span class="id" title="variable">S</span></a>.<br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.subalg_closedZ"><span class="id" title="lemma">subalg_closedZ</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.subalg_closed"><span class="id" title="definition">subalg_closed</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.submod_closed"><span class="id" title="definition">submod_closed</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LalgebraTheory.ClosedPredicates.S"><span class="id" title="variable">S</span></a>.<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.subalg_closedBM"><span class="id" title="lemma">subalg_closedBM</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.subalg_closed"><span class="id" title="definition">subalg_closed</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.subring_closed"><span class="id" title="definition">subring_closed</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LalgebraTheory.ClosedPredicates.S"><span class="id" title="variable">S</span></a>.<br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.subalg_closedBM"><span class="id" title="lemma">subalg_closedBM</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.subalg_closed"><span class="id" title="definition">subalg_closed</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.subring_closed"><span class="id" title="definition">subring_closed</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LalgebraTheory.ClosedPredicates.S"><span class="id" title="variable">S</span></a>.<br/> <br/> <span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LalgebraTheory.ClosedPredicates"><span class="id" title="section">ClosedPredicates</span></a>.<br/> @@ -1826,15 +1842,15 @@ <span class="id" title="keyword">Variables</span> <a name="GRing.Additive.ClassDef.U"><span class="id" title="variable">U</span></a> <a name="GRing.Additive.ClassDef.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>.<br/> <br/> -<span class="id" title="keyword">Definition</span> <a name="GRing.Additive.axiom"><span class="id" title="definition">axiom</span></a> (<span class="id" title="var">f</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Additive.ClassDef.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.ssralg.html#GRing.Additive.ClassDef.V"><span class="id" title="variable">V</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.ssralg.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#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.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#4d4b9697032429ec46472e6332d1356a"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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/> +<span class="id" title="keyword">Definition</span> <a name="GRing.Additive.axiom"><span class="id" title="definition">axiom</span></a> (<span class="id" title="var">f</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Additive.ClassDef.U"><span class="id" title="variable">U</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Additive.ClassDef.V"><span class="id" title="variable">V</span></a>) := <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#e69c60b553f06d3463460a9f4cee3c01"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#e69c60b553f06d3463460a9f4cee3c01"><span class="id" title="notation">morph</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#e69c60b553f06d3463460a9f4cee3c01"><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/V8.9.0/stdlib//Coq.ssr.ssrfun.html#e69c60b553f06d3463460a9f4cee3c01"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#4a5fc7f0d0a33bc3822357a38c953c9e"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#e69c60b553f06d3463460a9f4cee3c01"><span class="id" title="notation">}</span></a>.<br/> <br/> -<span class="id" title="keyword">Structure</span> <a name="GRing.Additive.map"><span class="id" title="record">map</span></a> (<span class="id" title="var">phUV</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssreflect.html#phant"><span class="id" title="inductive">phant</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Additive.ClassDef.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.ssralg.html#GRing.Additive.ClassDef.V"><span class="id" title="variable">V</span></a>)) := <a name="GRing.Additive.Pack"><span class="id" title="constructor">Pack</span></a> {<a name="GRing.Additive.apply"><span class="id" title="projection">apply</span></a>; <span class="id" title="var">_</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Additive.axiom"><span class="id" title="definition">axiom</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#apply"><span class="id" title="method">apply</span></a>}.<br/> +<span class="id" title="keyword">Structure</span> <a name="GRing.Additive.map"><span class="id" title="record">map</span></a> (<span class="id" title="var">phUV</span> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssreflect.html#phant"><span class="id" title="inductive">phant</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Additive.ClassDef.U"><span class="id" title="variable">U</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Additive.ClassDef.V"><span class="id" title="variable">V</span></a>)) := <a name="GRing.Additive.Pack"><span class="id" title="constructor">Pack</span></a> {<a name="GRing.Additive.apply"><span class="id" title="projection">apply</span></a>; <span class="id" title="var">_</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Additive.axiom"><span class="id" title="definition">axiom</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#apply"><span class="id" title="method">apply</span></a>}.<br/> <br/> -<span class="id" title="keyword">Variables</span> (<a name="GRing.Additive.ClassDef.phUV"><span class="id" title="variable">phUV</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssreflect.html#phant"><span class="id" title="inductive">phant</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Additive.ClassDef.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.ssralg.html#GRing.Additive.ClassDef.V"><span class="id" title="variable">V</span></a>)) (<a name="GRing.Additive.ClassDef.f"><span class="id" title="variable">f</span></a> <a name="GRing.Additive.ClassDef.g"><span class="id" title="variable">g</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Additive.ClassDef.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.ssralg.html#GRing.Additive.ClassDef.V"><span class="id" title="variable">V</span></a>) (<a name="GRing.Additive.ClassDef.cF"><span class="id" title="variable">cF</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Additive.map"><span class="id" title="record">map</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#phUV"><span class="id" title="variable">phUV</span></a>).<br/> +<span class="id" title="keyword">Variables</span> (<a name="GRing.Additive.ClassDef.phUV"><span class="id" title="variable">phUV</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssreflect.html#phant"><span class="id" title="inductive">phant</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Additive.ClassDef.U"><span class="id" title="variable">U</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Additive.ClassDef.V"><span class="id" title="variable">V</span></a>)) (<a name="GRing.Additive.ClassDef.f"><span class="id" title="variable">f</span></a> <a name="GRing.Additive.ClassDef.g"><span class="id" title="variable">g</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Additive.ClassDef.U"><span class="id" title="variable">U</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Additive.ClassDef.V"><span class="id" title="variable">V</span></a>) (<a name="GRing.Additive.ClassDef.cF"><span class="id" title="variable">cF</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Additive.map"><span class="id" title="record">map</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#phUV"><span class="id" title="variable">phUV</span></a>).<br/> <span class="id" title="keyword">Definition</span> <a name="GRing.Additive.class"><span class="id" title="definition">class</span></a> := <span class="id" title="keyword">let</span>: <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Additive.Pack"><span class="id" title="constructor">Pack</span></a> <span class="id" title="var">_</span> <span class="id" title="var">c</span> <span class="id" title="keyword">as</span> <span class="id" title="var">cF'</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Additive.ClassDef.cF"><span class="id" title="variable">cF</span></a> <span class="id" title="keyword">return</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Additive.axiom"><span class="id" title="definition">axiom</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#cF'"><span class="id" title="variable">cF'</span></a> <span class="id" title="tactic">in</span> <span class="id" title="var">c</span>.<br/> -<span class="id" title="keyword">Definition</span> <a name="GRing.Additive.clone"><span class="id" title="definition">clone</span></a> <span class="id" title="var">fA</span> <span class="id" title="keyword">of</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#phant_id"><span class="id" title="definition">phant_id</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Additive.ClassDef.g"><span class="id" title="variable">g</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Additive.apply"><span class="id" title="projection">apply</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Additive.ClassDef.cF"><span class="id" title="variable">cF</span></a>) & <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#phant_id"><span class="id" title="definition">phant_id</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#fA"><span class="id" title="variable">fA</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Additive.class"><span class="id" title="definition">class</span></a> :=<br/> +<span class="id" title="keyword">Definition</span> <a name="GRing.Additive.clone"><span class="id" title="definition">clone</span></a> <span class="id" title="var">fA</span> <span class="id" title="keyword">of</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#phant_id"><span class="id" title="definition">phant_id</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Additive.ClassDef.g"><span class="id" title="variable">g</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Additive.apply"><span class="id" title="projection">apply</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Additive.ClassDef.cF"><span class="id" title="variable">cF</span></a>) & <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#phant_id"><span class="id" title="definition">phant_id</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#fA"><span class="id" title="variable">fA</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Additive.class"><span class="id" title="definition">class</span></a> :=<br/> @<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Additive.Pack"><span class="id" title="constructor">Pack</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Additive.ClassDef.phUV"><span class="id" title="variable">phUV</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Additive.ClassDef.f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#fA"><span class="id" title="variable">fA</span></a>.<br/> <br/> @@ -1844,12 +1860,12 @@ <span class="id" title="keyword">Module</span> <a name="GRing.Additive.Exports"><span class="id" title="module">Exports</span></a>.<br/> <span class="id" title="keyword">Notation</span> <a name="GRing.Additive.Exports.additive"><span class="id" title="abbreviation">additive</span></a> <span class="id" title="var">f</span> := (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Additive.axiom"><span class="id" title="definition">axiom</span></a> <span class="id" title="var">f</span>).<br/> <span class="id" title="keyword">Coercion</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Additive.apply"><span class="id" title="projection">apply</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Additive.apply"><span class="id" title="projection">:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Additive.apply"><span class="id" title="projection">map</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Additive.apply"><span class="id" title="projection">>-></span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Additive.apply"><span class="id" title="projection">Funclass</span></a>.<br/> -<span class="id" title="keyword">Notation</span> <a name="GRing.Additive.Exports.Additive"><span class="id" title="abbreviation">Additive</span></a> <span class="id" title="var">fA</span> := (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Additive.Pack"><span class="id" title="constructor">Pack</span></a> (<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssreflect.html#Phant"><span class="id" title="constructor">Phant</span></a> <span class="id" title="var">_</span>) <span class="id" title="var">fA</span>).<br/> -<span class="id" title="keyword">Notation</span> <a name="6566b94c06c342b0768c3d2d73badf6e"><span class="id" title="notation">"</span></a>{ 'additive' fUV }" := (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Additive.map"><span class="id" title="record">map</span></a> (<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssreflect.html#Phant"><span class="id" title="constructor">Phant</span></a> <span class="id" title="var">fUV</span>))<br/> +<span class="id" title="keyword">Notation</span> <a name="GRing.Additive.Exports.Additive"><span class="id" title="abbreviation">Additive</span></a> <span class="id" title="var">fA</span> := (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Additive.Pack"><span class="id" title="constructor">Pack</span></a> (<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssreflect.html#Phant"><span class="id" title="constructor">Phant</span></a> <span class="id" title="var">_</span>) <span class="id" title="var">fA</span>).<br/> +<span class="id" title="keyword">Notation</span> <a name="b15d1bebaaff5b5ed693647b6d36f348"><span class="id" title="notation">"</span></a>{ 'additive' fUV }" := (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Additive.map"><span class="id" title="record">map</span></a> (<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssreflect.html#Phant"><span class="id" title="constructor">Phant</span></a> <span class="id" title="var">fUV</span>))<br/> (<span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 0, <span class="id" title="var">format</span> "{ 'additive' fUV }") : <span class="id" title="var">ring_scope</span>.<br/> -<span class="id" title="keyword">Notation</span> <a name="e25de7b1e68b5f1ea5f04a4e9520c4da"><span class="id" title="notation">"</span></a>[ 'additive' 'of' f 'as' g ]" := (@<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Additive.clone"><span class="id" title="definition">clone</span></a> <span class="id" title="var">_</span> <span class="id" title="var">_</span> <span class="id" title="var">_</span> <span class="id" title="var">f</span> <span class="id" title="var">g</span> <span class="id" title="var">_</span> <span class="id" title="var">_</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#idfun"><span class="id" title="abbreviation">idfun</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>)<br/> +<span class="id" title="keyword">Notation</span> <a name="9242c465b1ba475eb872a4f54d4904f7"><span class="id" title="notation">"</span></a>[ 'additive' 'of' f 'as' g ]" := (@<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Additive.clone"><span class="id" title="definition">clone</span></a> <span class="id" title="var">_</span> <span class="id" title="var">_</span> <span class="id" title="var">_</span> <span class="id" title="var">f</span> <span class="id" title="var">g</span> <span class="id" title="var">_</span> <span class="id" title="var">_</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#idfun"><span class="id" title="abbreviation">idfun</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#id"><span class="id" title="abbreviation">id</span></a>)<br/> (<span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 0, <span class="id" title="var">format</span> "[ 'additive' 'of' f 'as' g ]") : <span class="id" title="var">form_scope</span>.<br/> -<span class="id" title="keyword">Notation</span> <a name="f4cde972a26515a86aeac58343f1e022"><span class="id" title="notation">"</span></a>[ 'additive' 'of' f ]" := (@<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Additive.clone"><span class="id" title="definition">clone</span></a> <span class="id" title="var">_</span> <span class="id" title="var">_</span> <span class="id" title="var">_</span> <span class="id" title="var">f</span> <span class="id" title="var">f</span> <span class="id" title="var">_</span> <span class="id" title="var">_</span> <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.ssrfun.html#id"><span class="id" title="abbreviation">id</span></a>)<br/> +<span class="id" title="keyword">Notation</span> <a name="1f39c3338430de1e4f0dd19d42cfade9"><span class="id" title="notation">"</span></a>[ 'additive' 'of' f ]" := (@<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Additive.clone"><span class="id" title="definition">clone</span></a> <span class="id" title="var">_</span> <span class="id" title="var">_</span> <span class="id" title="var">_</span> <span class="id" title="var">f</span> <span class="id" title="var">f</span> <span class="id" title="var">_</span> <span class="id" title="var">_</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#id"><span class="id" title="abbreviation">id</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#id"><span class="id" title="abbreviation">id</span></a>)<br/> (<span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 0, <span class="id" title="var">format</span> "[ 'additive' 'of' f ]") : <span class="id" title="var">form_scope</span>.<br/> <span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Additive.Exports"><span class="id" title="module">Exports</span></a>.<br/> @@ -1866,9 +1882,9 @@ <div class="code"> <span class="id" title="keyword">Section</span> <a name="GRing.LiftedZmod"><span class="id" title="section">LiftedZmod</span></a>.<br/> <span class="id" title="keyword">Variables</span> (<a name="GRing.LiftedZmod.U"><span class="id" title="variable">U</span></a> : <span class="id" title="keyword">Type</span>) (<a name="GRing.LiftedZmod.V"><span class="id" title="variable">V</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.zmodType"><span class="id" title="abbreviation">zmodType</span></a>).<br/> -<span class="id" title="keyword">Definition</span> <a name="GRing.null_fun_head"><span class="id" title="definition">null_fun_head</span></a> (<span class="id" title="var">phV</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssreflect.html#phant"><span class="id" title="inductive">phant</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LiftedZmod.V"><span class="id" title="variable">V</span></a>) <span class="id" title="keyword">of</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LiftedZmod.U"><span class="id" title="variable">U</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LiftedZmod.V"><span class="id" title="variable">V</span></a> := <span class="id" title="keyword">let</span>: <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssreflect.html#Phant"><span class="id" title="constructor">Phant</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#phV"><span class="id" title="variable">phV</span></a> <span class="id" title="tactic">in</span> 0.<br/> -<span class="id" title="keyword">Definition</span> <a name="GRing.add_fun_head"><span class="id" title="definition">add_fun_head</span></a> <span class="id" title="var">t</span> (<span class="id" title="var">f</span> <span class="id" title="var">g</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LiftedZmod.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.ssralg.html#GRing.LiftedZmod.V"><span class="id" title="variable">V</span></a>) <span class="id" title="var">x</span> := <span class="id" title="keyword">let</span>: <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#tt"><span class="id" title="constructor">tt</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#t"><span class="id" title="variable">t</span></a> <span class="id" title="tactic">in</span> <a class="idref" href="mathcomp.algebra.ssralg.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#338c5345074fd3586073fd29273c138a"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#g"><span class="id" title="variable">g</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a>.<br/> -<span class="id" title="keyword">Definition</span> <a name="GRing.sub_fun_head"><span class="id" title="definition">sub_fun_head</span></a> <span class="id" title="var">t</span> (<span class="id" title="var">f</span> <span class="id" title="var">g</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LiftedZmod.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.ssralg.html#GRing.LiftedZmod.V"><span class="id" title="variable">V</span></a>) <span class="id" title="var">x</span> := <span class="id" title="keyword">let</span>: <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#tt"><span class="id" title="constructor">tt</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#t"><span class="id" title="variable">t</span></a> <span class="id" title="tactic">in</span> <a class="idref" href="mathcomp.algebra.ssralg.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#4d4b9697032429ec46472e6332d1356a"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#g"><span class="id" title="variable">g</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a>.<br/> +<span class="id" title="keyword">Definition</span> <a name="GRing.null_fun_head"><span class="id" title="definition">null_fun_head</span></a> (<span class="id" title="var">phV</span> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssreflect.html#phant"><span class="id" title="inductive">phant</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LiftedZmod.V"><span class="id" title="variable">V</span></a>) <span class="id" title="keyword">of</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LiftedZmod.U"><span class="id" title="variable">U</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LiftedZmod.V"><span class="id" title="variable">V</span></a> := <span class="id" title="keyword">let</span>: <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssreflect.html#Phant"><span class="id" title="constructor">Phant</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#phV"><span class="id" title="variable">phV</span></a> <span class="id" title="tactic">in</span> 0.<br/> +<span class="id" title="keyword">Definition</span> <a name="GRing.add_fun_head"><span class="id" title="definition">add_fun_head</span></a> <span class="id" title="var">t</span> (<span class="id" title="var">f</span> <span class="id" title="var">g</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LiftedZmod.U"><span class="id" title="variable">U</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LiftedZmod.V"><span class="id" title="variable">V</span></a>) <span class="id" title="var">x</span> := <span class="id" title="keyword">let</span>: <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#tt"><span class="id" title="constructor">tt</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#t"><span class="id" title="variable">t</span></a> <span class="id" title="tactic">in</span> <a class="idref" href="mathcomp.algebra.ssralg.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#730bbb3cf1092122fa1a208d3879e5e8"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#g"><span class="id" title="variable">g</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a>.<br/> +<span class="id" title="keyword">Definition</span> <a name="GRing.sub_fun_head"><span class="id" title="definition">sub_fun_head</span></a> <span class="id" title="var">t</span> (<span class="id" title="var">f</span> <span class="id" title="var">g</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LiftedZmod.U"><span class="id" title="variable">U</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LiftedZmod.V"><span class="id" title="variable">V</span></a>) <span class="id" title="var">x</span> := <span class="id" title="keyword">let</span>: <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#tt"><span class="id" title="constructor">tt</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#t"><span class="id" title="variable">t</span></a> <span class="id" title="tactic">in</span> <a class="idref" href="mathcomp.algebra.ssralg.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#4a5fc7f0d0a33bc3822357a38c953c9e"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#g"><span class="id" title="variable">g</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a>.<br/> <span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LiftedZmod"><span class="id" title="section">LiftedZmod</span></a>.<br/> <br/> @@ -1880,9 +1896,9 @@ <div class="code"> <span class="id" title="keyword">Section</span> <a name="GRing.LiftedRing"><span class="id" title="section">LiftedRing</span></a>.<br/> <span class="id" title="keyword">Variables</span> (<a name="GRing.LiftedRing.R"><span class="id" title="variable">R</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ringType"><span class="id" title="abbreviation">ringType</span></a>) (<a name="GRing.LiftedRing.T"><span class="id" title="variable">T</span></a> : <span class="id" title="keyword">Type</span>).<br/> -<span class="id" title="keyword">Implicit</span> <span class="id" title="keyword">Type</span> <span class="id" title="var">f</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LiftedRing.T"><span class="id" title="variable">T</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.LiftedRing.R"><span class="id" title="variable">R</span></a>.<br/> -<span class="id" title="keyword">Definition</span> <a name="GRing.mull_fun_head"><span class="id" title="definition">mull_fun_head</span></a> <span class="id" title="var">t</span> <span class="id" title="var">a</span> <span class="id" title="var">f</span> <span class="id" title="var">x</span> := <span class="id" title="keyword">let</span>: <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#tt"><span class="id" title="constructor">tt</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#t"><span class="id" title="variable">t</span></a> <span class="id" title="tactic">in</span> <a class="idref" href="mathcomp.algebra.ssralg.html#a"><span class="id" title="variable">a</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#ed99e7035d9a1f8a2c1515be81ac2e5f"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a>.<br/> -<span class="id" title="keyword">Definition</span> <a name="GRing.mulr_fun_head"><span class="id" title="definition">mulr_fun_head</span></a> <span class="id" title="var">t</span> <span class="id" title="var">a</span> <span class="id" title="var">f</span> <span class="id" title="var">x</span> := <span class="id" title="keyword">let</span>: <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#tt"><span class="id" title="constructor">tt</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#t"><span class="id" title="variable">t</span></a> <span class="id" title="tactic">in</span> <a class="idref" href="mathcomp.algebra.ssralg.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#ed99e7035d9a1f8a2c1515be81ac2e5f"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#a"><span class="id" title="variable">a</span></a>.<br/> +<span class="id" title="keyword">Implicit</span> <span class="id" title="keyword">Type</span> <span class="id" title="var">f</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LiftedRing.T"><span class="id" title="variable">T</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LiftedRing.R"><span class="id" title="variable">R</span></a>.<br/> +<span class="id" title="keyword">Definition</span> <a name="GRing.mull_fun_head"><span class="id" title="definition">mull_fun_head</span></a> <span class="id" title="var">t</span> <span class="id" title="var">a</span> <span class="id" title="var">f</span> <span class="id" title="var">x</span> := <span class="id" title="keyword">let</span>: <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#tt"><span class="id" title="constructor">tt</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#t"><span class="id" title="variable">t</span></a> <span class="id" title="tactic">in</span> <a class="idref" href="mathcomp.algebra.ssralg.html#a"><span class="id" title="variable">a</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f99a2dc6d143aa8f1021ab57e4a19eee"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a>.<br/> +<span class="id" title="keyword">Definition</span> <a name="GRing.mulr_fun_head"><span class="id" title="definition">mulr_fun_head</span></a> <span class="id" title="var">t</span> <span class="id" title="var">a</span> <span class="id" title="var">f</span> <span class="id" title="var">x</span> := <span class="id" title="keyword">let</span>: <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#tt"><span class="id" title="constructor">tt</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#t"><span class="id" title="variable">t</span></a> <span class="id" title="tactic">in</span> <a class="idref" href="mathcomp.algebra.ssralg.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f99a2dc6d143aa8f1021ab57e4a19eee"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#a"><span class="id" title="variable">a</span></a>.<br/> <span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LiftedRing"><span class="id" title="section">LiftedRing</span></a>.<br/> <br/> @@ -1894,12 +1910,12 @@ <div class="code"> <span class="id" title="keyword">Section</span> <a name="GRing.LiftedScale"><span class="id" title="section">LiftedScale</span></a>.<br/> <span class="id" title="keyword">Variables</span> (<a name="GRing.LiftedScale.R"><span class="id" title="variable">R</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ringType"><span class="id" title="abbreviation">ringType</span></a>) (<a name="GRing.LiftedScale.U"><span class="id" title="variable">U</span></a> : <span class="id" title="keyword">Type</span>) (<a name="GRing.LiftedScale.V"><span class="id" title="variable">V</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.lmodType"><span class="id" title="abbreviation">lmodType</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#R"><span class="id" title="variable">R</span></a>) (<a name="GRing.LiftedScale.A"><span class="id" title="variable">A</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.lalgType"><span class="id" title="abbreviation">lalgType</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#R"><span class="id" title="variable">R</span></a>).<br/> -<span class="id" title="keyword">Definition</span> <a name="GRing.scale_fun_head"><span class="id" title="definition">scale_fun_head</span></a> <span class="id" title="var">t</span> <span class="id" title="var">a</span> (<span class="id" title="var">f</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LiftedScale.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.ssralg.html#GRing.LiftedScale.V"><span class="id" title="variable">V</span></a>) <span class="id" title="var">x</span> := <span class="id" title="keyword">let</span>: <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#tt"><span class="id" title="constructor">tt</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#t"><span class="id" title="variable">t</span></a> <span class="id" title="tactic">in</span> <a class="idref" href="mathcomp.algebra.ssralg.html#a"><span class="id" title="variable">a</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#5aa7bcc9ac922e77482767d325fdbb69"><span class="id" title="notation">*:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a>.<br/> -<span class="id" title="keyword">Definition</span> <a name="GRing.in_alg_head"><span class="id" title="definition">in_alg_head</span></a> (<span class="id" title="var">phA</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssreflect.html#phant"><span class="id" title="inductive">phant</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LiftedScale.A"><span class="id" title="variable">A</span></a>) <span class="id" title="var">k</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LiftedScale.A"><span class="id" title="variable">A</span></a> := <span class="id" title="keyword">let</span>: <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssreflect.html#Phant"><span class="id" title="constructor">Phant</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#phA"><span class="id" title="variable">phA</span></a> <span class="id" title="tactic">in</span> <a class="idref" href="mathcomp.algebra.ssralg.html#k"><span class="id" title="variable">k</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#a9486b60fd4d51d8247008b3f8b21d21"><span class="id" title="notation">%:</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#a9486b60fd4d51d8247008b3f8b21d21"><span class="id" title="notation">A</span></a>.<br/> +<span class="id" title="keyword">Definition</span> <a name="GRing.scale_fun_head"><span class="id" title="definition">scale_fun_head</span></a> <span class="id" title="var">t</span> <span class="id" title="var">a</span> (<span class="id" title="var">f</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LiftedScale.U"><span class="id" title="variable">U</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LiftedScale.V"><span class="id" title="variable">V</span></a>) <span class="id" title="var">x</span> := <span class="id" title="keyword">let</span>: <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#tt"><span class="id" title="constructor">tt</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#t"><span class="id" title="variable">t</span></a> <span class="id" title="tactic">in</span> <a class="idref" href="mathcomp.algebra.ssralg.html#a"><span class="id" title="variable">a</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#10f331d2d40399852634935b8aa18b88"><span class="id" title="notation">*:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a>.<br/> +<span class="id" title="keyword">Definition</span> <a name="GRing.in_alg_head"><span class="id" title="definition">in_alg_head</span></a> (<span class="id" title="var">phA</span> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssreflect.html#phant"><span class="id" title="inductive">phant</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LiftedScale.A"><span class="id" title="variable">A</span></a>) <span class="id" title="var">k</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LiftedScale.A"><span class="id" title="variable">A</span></a> := <span class="id" title="keyword">let</span>: <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssreflect.html#Phant"><span class="id" title="constructor">Phant</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#phA"><span class="id" title="variable">phA</span></a> <span class="id" title="tactic">in</span> <a class="idref" href="mathcomp.algebra.ssralg.html#k"><span class="id" title="variable">k</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#b328a5aed2733481ae9bfe9f2b7cc645"><span class="id" title="notation">%:</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#b328a5aed2733481ae9bfe9f2b7cc645"><span class="id" title="notation">A</span></a>.<br/> <span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LiftedScale"><span class="id" title="section">LiftedScale</span></a>.<br/> <br/> -<span class="id" title="keyword">Notation</span> <a name="GRing.null_fun"><span class="id" title="abbreviation">null_fun</span></a> <span class="id" title="var">V</span> := (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.null_fun_head"><span class="id" title="definition">null_fun_head</span></a> (<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssreflect.html#Phant"><span class="id" title="constructor">Phant</span></a> <span class="id" title="var">V</span>)) (<span class="id" title="var">only</span> <span class="id" title="var">parsing</span>).<br/> +<span class="id" title="keyword">Notation</span> <a name="GRing.null_fun"><span class="id" title="abbreviation">null_fun</span></a> <span class="id" title="var">V</span> := (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.null_fun_head"><span class="id" title="definition">null_fun_head</span></a> (<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssreflect.html#Phant"><span class="id" title="constructor">Phant</span></a> <span class="id" title="var">V</span>)) (<span class="id" title="var">only</span> <span class="id" title="var">parsing</span>).<br/> </div> <div class="doc"> @@ -1917,42 +1933,42 @@ <span class="id" title="keyword">Section</span> <a name="GRing.AdditiveTheory.Properties"><span class="id" title="section">Properties</span></a>.<br/> <br/> -<span class="id" title="keyword">Variables</span> (<a name="GRing.AdditiveTheory.Properties.U"><span class="id" title="variable">U</span></a> <a name="GRing.AdditiveTheory.Properties.V"><span class="id" title="variable">V</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.zmodType"><span class="id" title="abbreviation">zmodType</span></a>) (<a name="GRing.AdditiveTheory.Properties.k"><span class="id" title="variable">k</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#unit"><span class="id" title="inductive">unit</span></a>) (<a name="GRing.AdditiveTheory.Properties.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.ssralg.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.ssralg.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/> +<span class="id" title="keyword">Variables</span> (<a name="GRing.AdditiveTheory.Properties.U"><span class="id" title="variable">U</span></a> <a name="GRing.AdditiveTheory.Properties.V"><span class="id" title="variable">V</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.zmodType"><span class="id" title="abbreviation">zmodType</span></a>) (<a name="GRing.AdditiveTheory.Properties.k"><span class="id" title="variable">k</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#unit"><span class="id" title="inductive">unit</span></a>) (<a name="GRing.AdditiveTheory.Properties.f"><span class="id" title="variable">f</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#b15d1bebaaff5b5ed693647b6d36f348"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#b15d1bebaaff5b5ed693647b6d36f348"><span class="id" title="notation">additive</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#V"><span class="id" title="variable">V</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#b15d1bebaaff5b5ed693647b6d36f348"><span class="id" title="notation">}</span></a>).<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.raddfB"><span class="id" title="lemma">raddfB</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.ssralg.html#GRing.AdditiveTheory.Properties.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#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.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#4d4b9697032429ec46472e6332d1356a"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.raddfB"><span class="id" title="lemma">raddfB</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#e69c60b553f06d3463460a9f4cee3c01"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#e69c60b553f06d3463460a9f4cee3c01"><span class="id" title="notation">morph</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.AdditiveTheory.Properties.f"><span class="id" title="variable">f</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#e69c60b553f06d3463460a9f4cee3c01"><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/V8.9.0/stdlib//Coq.ssr.ssrfun.html#e69c60b553f06d3463460a9f4cee3c01"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#4a5fc7f0d0a33bc3822357a38c953c9e"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#e69c60b553f06d3463460a9f4cee3c01"><span class="id" title="notation">}</span></a>. <br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.raddf0"><span class="id" title="lemma">raddf0</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.AdditiveTheory.Properties.f"><span class="id" title="variable">f</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/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.raddf0"><span class="id" title="lemma">raddf0</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.AdditiveTheory.Properties.f"><span class="id" title="variable">f</span></a> 0 <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> 0.<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.raddf_eq0"><span class="id" title="lemma">raddf_eq0</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#injective"><span class="id" title="definition">injective</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.AdditiveTheory.Properties.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="http://coq.inria.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#GRing.AdditiveTheory.Properties.f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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.ssralg.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/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.raddf_eq0"><span class="id" title="lemma">raddf_eq0</span></a> <span class="id" title="var">x</span> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#injective"><span class="id" title="definition">injective</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.AdditiveTheory.Properties.f"><span class="id" title="variable">f</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#GRing.AdditiveTheory.Properties.f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#df45e8c2e8370fd4f0f7c4fdaf208180"><span class="id" title="notation">==</span></a> 0<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#df45e8c2e8370fd4f0f7c4fdaf208180"><span class="id" title="notation">==</span></a> 0<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">)</span></a>.<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.raddfN"><span class="id" title="lemma">raddfN</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.ssralg.html#GRing.AdditiveTheory.Properties.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.ssralg.html#eefae7eea8ed2b8fccf150cb653d7a7b"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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#c3c88e2b30b681cd767a54649faf5973"><span class="id" title="notation">}</span></a>.<br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.raddfN"><span class="id" title="lemma">raddfN</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#3d6621e6eef40dcc7dc9a612222d0b4e"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#3d6621e6eef40dcc7dc9a612222d0b4e"><span class="id" title="notation">morph</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.AdditiveTheory.Properties.f"><span class="id" title="variable">f</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#3d6621e6eef40dcc7dc9a612222d0b4e"><span class="id" title="notation">:</span></a> <span class="id" title="var">x</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#3d6621e6eef40dcc7dc9a612222d0b4e"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#aa58dfcfb323e1f070c38e31f9efddbe"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#3d6621e6eef40dcc7dc9a612222d0b4e"><span class="id" title="notation">}</span></a>.<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.raddfD"><span class="id" title="lemma">raddfD</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.ssralg.html#GRing.AdditiveTheory.Properties.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#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.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#338c5345074fd3586073fd29273c138a"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.raddfD"><span class="id" title="lemma">raddfD</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#e69c60b553f06d3463460a9f4cee3c01"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#e69c60b553f06d3463460a9f4cee3c01"><span class="id" title="notation">morph</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.AdditiveTheory.Properties.f"><span class="id" title="variable">f</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#e69c60b553f06d3463460a9f4cee3c01"><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/V8.9.0/stdlib//Coq.ssr.ssrfun.html#e69c60b553f06d3463460a9f4cee3c01"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#730bbb3cf1092122fa1a208d3879e5e8"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#e69c60b553f06d3463460a9f4cee3c01"><span class="id" title="notation">}</span></a>.<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.raddfMn"><span class="id" title="lemma">raddfMn</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.ssralg.html#GRing.AdditiveTheory.Properties.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.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#513eaa3129601ecbcc9e188a80d6155b"><span class="id" title="notation">*+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.raddfMn"><span class="id" title="lemma">raddfMn</span></a> <span class="id" title="var">n</span> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#3d6621e6eef40dcc7dc9a612222d0b4e"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#3d6621e6eef40dcc7dc9a612222d0b4e"><span class="id" title="notation">morph</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.AdditiveTheory.Properties.f"><span class="id" title="variable">f</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#3d6621e6eef40dcc7dc9a612222d0b4e"><span class="id" title="notation">:</span></a> <span class="id" title="var">x</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#3d6621e6eef40dcc7dc9a612222d0b4e"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#506f68330939db1f655609b68b37b467"><span class="id" title="notation">*+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#3d6621e6eef40dcc7dc9a612222d0b4e"><span class="id" title="notation">}</span></a>.<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.raddfMNn"><span class="id" title="lemma">raddfMNn</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.ssralg.html#GRing.AdditiveTheory.Properties.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.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#be9a273af87c6a30d88bd8379c802cbe"><span class="id" title="notation">*-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.raddfMNn"><span class="id" title="lemma">raddfMNn</span></a> <span class="id" title="var">n</span> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#3d6621e6eef40dcc7dc9a612222d0b4e"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#3d6621e6eef40dcc7dc9a612222d0b4e"><span class="id" title="notation">morph</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.AdditiveTheory.Properties.f"><span class="id" title="variable">f</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#3d6621e6eef40dcc7dc9a612222d0b4e"><span class="id" title="notation">:</span></a> <span class="id" title="var">x</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#3d6621e6eef40dcc7dc9a612222d0b4e"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#0c0f4a48fca1c1f27e9d71f54b6b8bd3"><span class="id" title="notation">*-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#3d6621e6eef40dcc7dc9a612222d0b4e"><span class="id" title="notation">}</span></a>.<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.raddf_sum"><span class="id" title="lemma">raddf_sum</span></a> <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.ssralg.html#I"><span class="id" title="variable">I</span></a>) <span class="id" title="var">E</span> :<br/> - <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.AdditiveTheory.Properties.f"><span class="id" title="variable">f</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#664ae738a3286983847c80e5ee4c8c6b"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#664ae738a3286983847c80e5ee4c8c6b"><span class="id" title="notation">sum_</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#664ae738a3286983847c80e5ee4c8c6b"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.algebra.ssralg.html#664ae738a3286983847c80e5ee4c8c6b"><span class="id" title="notation"><-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#r"><span class="id" title="variable">r</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#664ae738a3286983847c80e5ee4c8c6b"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#664ae738a3286983847c80e5ee4c8c6b"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#E"><span class="id" title="variable">E</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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#664ae738a3286983847c80e5ee4c8c6b"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#664ae738a3286983847c80e5ee4c8c6b"><span class="id" title="notation">sum_</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#664ae738a3286983847c80e5ee4c8c6b"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.algebra.ssralg.html#664ae738a3286983847c80e5ee4c8c6b"><span class="id" title="notation"><-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#r"><span class="id" title="variable">r</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#664ae738a3286983847c80e5ee4c8c6b"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#664ae738a3286983847c80e5ee4c8c6b"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.AdditiveTheory.Properties.f"><span class="id" title="variable">f</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#E"><span class="id" title="variable">E</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</span></a>).<br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.raddf_sum"><span class="id" title="lemma">raddf_sum</span></a> <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/V8.9.0/stdlib//Coq.ssr.ssrbool.html#pred"><span class="id" title="definition">pred</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#I"><span class="id" title="variable">I</span></a>) <span class="id" title="var">E</span> :<br/> + <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.AdditiveTheory.Properties.f"><span class="id" title="variable">f</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#dcb91d0b08ece8369cc6084787184d13"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#dcb91d0b08ece8369cc6084787184d13"><span class="id" title="notation">sum_</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#dcb91d0b08ece8369cc6084787184d13"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.algebra.ssralg.html#dcb91d0b08ece8369cc6084787184d13"><span class="id" title="notation"><-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#r"><span class="id" title="variable">r</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#dcb91d0b08ece8369cc6084787184d13"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#dcb91d0b08ece8369cc6084787184d13"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#E"><span class="id" title="variable">E</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</span></a>) <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#dcb91d0b08ece8369cc6084787184d13"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#dcb91d0b08ece8369cc6084787184d13"><span class="id" title="notation">sum_</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#dcb91d0b08ece8369cc6084787184d13"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.algebra.ssralg.html#dcb91d0b08ece8369cc6084787184d13"><span class="id" title="notation"><-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#r"><span class="id" title="variable">r</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#dcb91d0b08ece8369cc6084787184d13"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#dcb91d0b08ece8369cc6084787184d13"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.AdditiveTheory.Properties.f"><span class="id" title="variable">f</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#E"><span class="id" title="variable">E</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</span></a>).<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.can2_additive"><span class="id" title="lemma">can2_additive</span></a> <span class="id" title="var">f'</span> : <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.ssralg.html#GRing.AdditiveTheory.Properties.f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#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="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.ssralg.html#f'"><span class="id" title="variable">f'</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.AdditiveTheory.Properties.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.ssralg.html#GRing.additive"><span class="id" title="abbreviation">additive</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f'"><span class="id" title="variable">f'</span></a>.<br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.can2_additive"><span class="id" title="lemma">can2_additive</span></a> <span class="id" title="var">f'</span> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#cancel"><span class="id" title="definition">cancel</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.AdditiveTheory.Properties.f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f'"><span class="id" title="variable">f'</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#cancel"><span class="id" title="definition">cancel</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f'"><span class="id" title="variable">f'</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.AdditiveTheory.Properties.f"><span class="id" title="variable">f</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.additive"><span class="id" title="abbreviation">additive</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f'"><span class="id" title="variable">f'</span></a>.<br/> <br/> <span class="id" title="keyword">Lemma</span> <a name="GRing.bij_additive"><span class="id" title="lemma">bij_additive</span></a> :<br/> - <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#bijective"><span class="id" title="inductive">bijective</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.AdditiveTheory.Properties.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="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#fe60c20831f772c0c3c288abf68cc42a"><span class="id" title="notation">exists2</span></a> <span class="id" title="var">f'</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#fe60c20831f772c0c3c288abf68cc42a"><span class="id" title="notation">:</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.ssralg.html#GRing.AdditiveTheory.Properties.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#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.AdditiveTheory.Properties.U"><span class="id" title="variable">U</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#6566b94c06c342b0768c3d2d73badf6e"><span class="id" title="notation">}</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#fe60c20831f772c0c3c288abf68cc42a"><span class="id" title="notation">,</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.ssralg.html#GRing.AdditiveTheory.Properties.f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#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#fe60c20831f772c0c3c288abf68cc42a"><span class="id" title="notation">&</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.ssralg.html#f'"><span class="id" title="variable">f'</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.AdditiveTheory.Properties.f"><span class="id" title="variable">f</span></a>.<br/> + <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#bijective"><span class="id" title="inductive">bijective</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.AdditiveTheory.Properties.f"><span class="id" title="variable">f</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#59ba2b47d2814e66f8210a649ae6e6bc"><span class="id" title="notation">exists2</span></a> <span class="id" title="var">f'</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#59ba2b47d2814e66f8210a649ae6e6bc"><span class="id" title="notation">:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b15d1bebaaff5b5ed693647b6d36f348"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#b15d1bebaaff5b5ed693647b6d36f348"><span class="id" title="notation">additive</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.AdditiveTheory.Properties.V"><span class="id" title="variable">V</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.AdditiveTheory.Properties.U"><span class="id" title="variable">U</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#b15d1bebaaff5b5ed693647b6d36f348"><span class="id" title="notation">}</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#59ba2b47d2814e66f8210a649ae6e6bc"><span class="id" title="notation">,</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#cancel"><span class="id" title="definition">cancel</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.AdditiveTheory.Properties.f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f'"><span class="id" title="variable">f'</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#59ba2b47d2814e66f8210a649ae6e6bc"><span class="id" title="notation">&</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#cancel"><span class="id" title="definition">cancel</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f'"><span class="id" title="variable">f'</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.AdditiveTheory.Properties.f"><span class="id" title="variable">f</span></a>.<br/> <br/> -<span class="id" title="keyword">Fact</span> <a name="GRing.locked_is_additive"><span class="id" title="lemma">locked_is_additive</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.additive"><span class="id" title="abbreviation">additive</span></a> (<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssreflect.html#locked_with"><span class="id" title="definition">locked_with</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.AdditiveTheory.Properties.k"><span class="id" title="variable">k</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.AdditiveTheory.Properties.f"><span class="id" title="variable">f</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.ssralg.html#GRing.AdditiveTheory.Properties.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.ssralg.html#GRing.AdditiveTheory.Properties.V"><span class="id" title="variable">V</span></a>)).<br/> +<span class="id" title="keyword">Fact</span> <a name="GRing.locked_is_additive"><span class="id" title="lemma">locked_is_additive</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.additive"><span class="id" title="abbreviation">additive</span></a> (<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssreflect.html#locked_with"><span class="id" title="definition">locked_with</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.AdditiveTheory.Properties.k"><span class="id" title="variable">k</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.AdditiveTheory.Properties.f"><span class="id" title="variable">f</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssreflect.html#aed478b27f23b4f753c27c8ac393febc"><span class="id" title="notation">:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.AdditiveTheory.Properties.U"><span class="id" title="variable">U</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.AdditiveTheory.Properties.V"><span class="id" title="variable">V</span></a>)).<br/> <span class="id" title="keyword">Canonical</span> <span class="id" title="var">locked_additive</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Additive"><span class="id" title="abbreviation">Additive</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.locked_is_additive"><span class="id" title="lemma">locked_is_additive</span></a>.<br/> <br/> @@ -1962,22 +1978,22 @@ <span class="id" title="keyword">Section</span> <a name="GRing.AdditiveTheory.RingProperties"><span class="id" title="section">RingProperties</span></a>.<br/> <br/> -<span class="id" title="keyword">Variables</span> (<a name="GRing.AdditiveTheory.RingProperties.R"><span class="id" title="variable">R</span></a> <a name="GRing.AdditiveTheory.RingProperties.S"><span class="id" title="variable">S</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ringType"><span class="id" title="abbreviation">ringType</span></a>) (<a name="GRing.AdditiveTheory.RingProperties.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.ssralg.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.ssralg.html#S"><span class="id" title="variable">S</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#6566b94c06c342b0768c3d2d73badf6e"><span class="id" title="notation">}</span></a>).<br/> +<span class="id" title="keyword">Variables</span> (<a name="GRing.AdditiveTheory.RingProperties.R"><span class="id" title="variable">R</span></a> <a name="GRing.AdditiveTheory.RingProperties.S"><span class="id" title="variable">S</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ringType"><span class="id" title="abbreviation">ringType</span></a>) (<a name="GRing.AdditiveTheory.RingProperties.f"><span class="id" title="variable">f</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#b15d1bebaaff5b5ed693647b6d36f348"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#b15d1bebaaff5b5ed693647b6d36f348"><span class="id" title="notation">additive</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#R"><span class="id" title="variable">R</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#S"><span class="id" title="variable">S</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#b15d1bebaaff5b5ed693647b6d36f348"><span class="id" title="notation">}</span></a>).<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.raddfMnat"><span class="id" title="lemma">raddfMnat</span></a> <span class="id" title="var">n</span> <span class="id" title="var">x</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.AdditiveTheory.RingProperties.f"><span class="id" title="variable">f</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#c191333b9c7c034282647fbffacc9d18"><span class="id" title="notation">%:</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#c191333b9c7c034282647fbffacc9d18"><span class="id" title="notation">R</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#ed99e7035d9a1f8a2c1515be81ac2e5f"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#c191333b9c7c034282647fbffacc9d18"><span class="id" title="notation">%:</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#c191333b9c7c034282647fbffacc9d18"><span class="id" title="notation">R</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#ed99e7035d9a1f8a2c1515be81ac2e5f"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.AdditiveTheory.RingProperties.f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a>.<br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.raddfMnat"><span class="id" title="lemma">raddfMnat</span></a> <span class="id" title="var">n</span> <span class="id" title="var">x</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.AdditiveTheory.RingProperties.f"><span class="id" title="variable">f</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#512a31305e556a90e0ad0550ee623cbc"><span class="id" title="notation">%:</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#512a31305e556a90e0ad0550ee623cbc"><span class="id" title="notation">R</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f99a2dc6d143aa8f1021ab57e4a19eee"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a>) <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#512a31305e556a90e0ad0550ee623cbc"><span class="id" title="notation">%:</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#512a31305e556a90e0ad0550ee623cbc"><span class="id" title="notation">R</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f99a2dc6d143aa8f1021ab57e4a19eee"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.AdditiveTheory.RingProperties.f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a>.<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.raddfMsign"><span class="id" title="lemma">raddfMsign</span></a> <span class="id" title="var">n</span> <span class="id" title="var">x</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.AdditiveTheory.RingProperties.f"><span class="id" title="variable">f</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">(</span></a>-1<a class="idref" href="mathcomp.algebra.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#ed99e7035d9a1f8a2c1515be81ac2e5f"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">(</span></a>-1<a class="idref" href="mathcomp.algebra.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#ed99e7035d9a1f8a2c1515be81ac2e5f"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.AdditiveTheory.RingProperties.f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a>.<br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.raddfMsign"><span class="id" title="lemma">raddfMsign</span></a> <span class="id" title="var">n</span> <span class="id" title="var">x</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.AdditiveTheory.RingProperties.f"><span class="id" title="variable">f</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">(</span></a>-1<a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f99a2dc6d143aa8f1021ab57e4a19eee"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a>) <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">(</span></a>-1<a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f99a2dc6d143aa8f1021ab57e4a19eee"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.AdditiveTheory.RingProperties.f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a>.<br/> <br/> -<span class="id" title="keyword">Variables</span> (<a name="GRing.AdditiveTheory.RingProperties.U"><span class="id" title="variable">U</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.lmodType"><span class="id" title="abbreviation">lmodType</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.AdditiveTheory.RingProperties.R"><span class="id" title="variable">R</span></a>) (<a name="GRing.AdditiveTheory.RingProperties.V"><span class="id" title="variable">V</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.lmodType"><span class="id" title="abbreviation">lmodType</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.AdditiveTheory.RingProperties.S"><span class="id" title="variable">S</span></a>) (<a name="GRing.AdditiveTheory.RingProperties.h"><span class="id" title="variable">h</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.ssralg.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.ssralg.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/> +<span class="id" title="keyword">Variables</span> (<a name="GRing.AdditiveTheory.RingProperties.U"><span class="id" title="variable">U</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.lmodType"><span class="id" title="abbreviation">lmodType</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.AdditiveTheory.RingProperties.R"><span class="id" title="variable">R</span></a>) (<a name="GRing.AdditiveTheory.RingProperties.V"><span class="id" title="variable">V</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.lmodType"><span class="id" title="abbreviation">lmodType</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.AdditiveTheory.RingProperties.S"><span class="id" title="variable">S</span></a>) (<a name="GRing.AdditiveTheory.RingProperties.h"><span class="id" title="variable">h</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#b15d1bebaaff5b5ed693647b6d36f348"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#b15d1bebaaff5b5ed693647b6d36f348"><span class="id" title="notation">additive</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#V"><span class="id" title="variable">V</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#b15d1bebaaff5b5ed693647b6d36f348"><span class="id" title="notation">}</span></a>).<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.raddfZnat"><span class="id" title="lemma">raddfZnat</span></a> <span class="id" title="var">n</span> <span class="id" title="var">u</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.AdditiveTheory.RingProperties.h"><span class="id" title="variable">h</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#c191333b9c7c034282647fbffacc9d18"><span class="id" title="notation">%:</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#c191333b9c7c034282647fbffacc9d18"><span class="id" title="notation">R</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#5aa7bcc9ac922e77482767d325fdbb69"><span class="id" title="notation">*:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#c191333b9c7c034282647fbffacc9d18"><span class="id" title="notation">%:</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#c191333b9c7c034282647fbffacc9d18"><span class="id" title="notation">R</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#5aa7bcc9ac922e77482767d325fdbb69"><span class="id" title="notation">*:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.AdditiveTheory.RingProperties.h"><span class="id" title="variable">h</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#u"><span class="id" title="variable">u</span></a>.<br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.raddfZnat"><span class="id" title="lemma">raddfZnat</span></a> <span class="id" title="var">n</span> <span class="id" title="var">u</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.AdditiveTheory.RingProperties.h"><span class="id" title="variable">h</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#512a31305e556a90e0ad0550ee623cbc"><span class="id" title="notation">%:</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#512a31305e556a90e0ad0550ee623cbc"><span class="id" title="notation">R</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#10f331d2d40399852634935b8aa18b88"><span class="id" title="notation">*:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#u"><span class="id" title="variable">u</span></a>) <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#512a31305e556a90e0ad0550ee623cbc"><span class="id" title="notation">%:</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#512a31305e556a90e0ad0550ee623cbc"><span class="id" title="notation">R</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#10f331d2d40399852634935b8aa18b88"><span class="id" title="notation">*:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.AdditiveTheory.RingProperties.h"><span class="id" title="variable">h</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#u"><span class="id" title="variable">u</span></a>.<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.raddfZsign"><span class="id" title="lemma">raddfZsign</span></a> <span class="id" title="var">n</span> <span class="id" title="var">u</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.AdditiveTheory.RingProperties.h"><span class="id" title="variable">h</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">(</span></a>-1<a class="idref" href="mathcomp.algebra.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#5aa7bcc9ac922e77482767d325fdbb69"><span class="id" title="notation">*:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">(</span></a>-1<a class="idref" href="mathcomp.algebra.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#5aa7bcc9ac922e77482767d325fdbb69"><span class="id" title="notation">*:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.AdditiveTheory.RingProperties.h"><span class="id" title="variable">h</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#u"><span class="id" title="variable">u</span></a>.<br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.raddfZsign"><span class="id" title="lemma">raddfZsign</span></a> <span class="id" title="var">n</span> <span class="id" title="var">u</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.AdditiveTheory.RingProperties.h"><span class="id" title="variable">h</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">(</span></a>-1<a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#10f331d2d40399852634935b8aa18b88"><span class="id" title="notation">*:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#u"><span class="id" title="variable">u</span></a>) <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">(</span></a>-1<a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#10f331d2d40399852634935b8aa18b88"><span class="id" title="notation">*:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.AdditiveTheory.RingProperties.h"><span class="id" title="variable">h</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#u"><span class="id" title="variable">u</span></a>.<br/> <br/> <span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.AdditiveTheory.RingProperties"><span class="id" title="section">RingProperties</span></a>.<br/> @@ -1986,30 +2002,30 @@ <span class="id" title="keyword">Section</span> <a name="GRing.AdditiveTheory.AddFun"><span class="id" title="section">AddFun</span></a>.<br/> <br/> -<span class="id" title="keyword">Variables</span> (<a name="GRing.AdditiveTheory.AddFun.U"><span class="id" title="variable">U</span></a> <a name="GRing.AdditiveTheory.AddFun.V"><span class="id" title="variable">V</span></a> <a name="GRing.AdditiveTheory.AddFun.W"><span class="id" title="variable">W</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.zmodType"><span class="id" title="abbreviation">zmodType</span></a>) (<a name="GRing.AdditiveTheory.AddFun.f"><span class="id" title="variable">f</span></a> <a name="GRing.AdditiveTheory.AddFun.g"><span class="id" title="variable">g</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.ssralg.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#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#W"><span class="id" title="variable">W</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#6566b94c06c342b0768c3d2d73badf6e"><span class="id" title="notation">}</span></a>) (<a name="GRing.AdditiveTheory.AddFun.h"><span class="id" title="variable">h</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.ssralg.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.ssralg.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/> +<span class="id" title="keyword">Variables</span> (<a name="GRing.AdditiveTheory.AddFun.U"><span class="id" title="variable">U</span></a> <a name="GRing.AdditiveTheory.AddFun.V"><span class="id" title="variable">V</span></a> <a name="GRing.AdditiveTheory.AddFun.W"><span class="id" title="variable">W</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.zmodType"><span class="id" title="abbreviation">zmodType</span></a>) (<a name="GRing.AdditiveTheory.AddFun.f"><span class="id" title="variable">f</span></a> <a name="GRing.AdditiveTheory.AddFun.g"><span class="id" title="variable">g</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#b15d1bebaaff5b5ed693647b6d36f348"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#b15d1bebaaff5b5ed693647b6d36f348"><span class="id" title="notation">additive</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#V"><span class="id" title="variable">V</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#W"><span class="id" title="variable">W</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#b15d1bebaaff5b5ed693647b6d36f348"><span class="id" title="notation">}</span></a>) (<a name="GRing.AdditiveTheory.AddFun.h"><span class="id" title="variable">h</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#b15d1bebaaff5b5ed693647b6d36f348"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#b15d1bebaaff5b5ed693647b6d36f348"><span class="id" title="notation">additive</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#V"><span class="id" title="variable">V</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#b15d1bebaaff5b5ed693647b6d36f348"><span class="id" title="notation">}</span></a>).<br/> <br/> -<span class="id" title="keyword">Fact</span> <a name="GRing.idfun_is_additive"><span class="id" title="lemma">idfun_is_additive</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.additive"><span class="id" title="abbreviation">additive</span></a> (<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#cc5a9586eb997be35b65ea12b2a985a9"><span class="id" title="notation">@</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#cc5a9586eb997be35b65ea12b2a985a9"><span class="id" title="notation">idfun</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.AdditiveTheory.AddFun.U"><span class="id" title="variable">U</span></a>).<br/> +<span class="id" title="keyword">Fact</span> <a name="GRing.idfun_is_additive"><span class="id" title="lemma">idfun_is_additive</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.additive"><span class="id" title="abbreviation">additive</span></a> (<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#41130ccc9d15f6b312cf971c8cd92b0f"><span class="id" title="notation">@</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#41130ccc9d15f6b312cf971c8cd92b0f"><span class="id" title="notation">idfun</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.AdditiveTheory.AddFun.U"><span class="id" title="variable">U</span></a>).<br/> <span class="id" title="keyword">Canonical</span> <span class="id" title="var">idfun_additive</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Additive"><span class="id" title="abbreviation">Additive</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.idfun_is_additive"><span class="id" title="lemma">idfun_is_additive</span></a>.<br/> <br/> -<span class="id" title="keyword">Fact</span> <a name="GRing.comp_is_additive"><span class="id" title="lemma">comp_is_additive</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.additive"><span class="id" title="abbreviation">additive</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.AdditiveTheory.AddFun.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#1b4394c5c1740ef3dc9e4224084970bb"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#1b4394c5c1740ef3dc9e4224084970bb"><span class="id" title="notation">o</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.AdditiveTheory.AddFun.h"><span class="id" title="variable">h</span></a>).<br/> +<span class="id" title="keyword">Fact</span> <a name="GRing.comp_is_additive"><span class="id" title="lemma">comp_is_additive</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.additive"><span class="id" title="abbreviation">additive</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.AdditiveTheory.AddFun.f"><span class="id" title="variable">f</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#8b4742e3f67816503ce4ab2f3b81c27e"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#8b4742e3f67816503ce4ab2f3b81c27e"><span class="id" title="notation">o</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.AdditiveTheory.AddFun.h"><span class="id" title="variable">h</span></a>).<br/> <span class="id" title="keyword">Canonical</span> <span class="id" title="var">comp_additive</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Additive"><span class="id" title="abbreviation">Additive</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.comp_is_additive"><span class="id" title="lemma">comp_is_additive</span></a>.<br/> <br/> -<span class="id" title="keyword">Fact</span> <a name="GRing.opp_is_additive"><span class="id" title="lemma">opp_is_additive</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.additive"><span class="id" title="abbreviation">additive</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#221881b99d58ceaaa33c4172192f697e"><span class="id" title="notation">-%</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#221881b99d58ceaaa33c4172192f697e"><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.ssralg.html#GRing.AdditiveTheory.AddFun.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.ssralg.html#GRing.AdditiveTheory.AddFun.U"><span class="id" title="variable">U</span></a>).<br/> +<span class="id" title="keyword">Fact</span> <a name="GRing.opp_is_additive"><span class="id" title="lemma">opp_is_additive</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.additive"><span class="id" title="abbreviation">additive</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#f6c07ffdcee3462925d63c623b06b027"><span class="id" title="notation">-%</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#f6c07ffdcee3462925d63c623b06b027"><span class="id" title="notation">R</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssreflect.html#aed478b27f23b4f753c27c8ac393febc"><span class="id" title="notation">:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.AdditiveTheory.AddFun.U"><span class="id" title="variable">U</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.AdditiveTheory.AddFun.U"><span class="id" title="variable">U</span></a>).<br/> <span class="id" title="keyword">Canonical</span> <span class="id" title="var">opp_additive</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Additive"><span class="id" title="abbreviation">Additive</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.opp_is_additive"><span class="id" title="lemma">opp_is_additive</span></a>.<br/> <br/> -<span class="id" title="keyword">Fact</span> <a name="GRing.null_fun_is_additive"><span class="id" title="lemma">null_fun_is_additive</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.additive"><span class="id" title="abbreviation">additive</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#1b9a40373c4c41de4d5793af234729fd"><span class="id" title="notation">\0</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.ssralg.html#GRing.AdditiveTheory.AddFun.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.ssralg.html#GRing.AdditiveTheory.AddFun.V"><span class="id" title="variable">V</span></a>).<br/> +<span class="id" title="keyword">Fact</span> <a name="GRing.null_fun_is_additive"><span class="id" title="lemma">null_fun_is_additive</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.additive"><span class="id" title="abbreviation">additive</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#2fadffc111e97bfa2ac21311dff6237b"><span class="id" title="notation">\0</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssreflect.html#aed478b27f23b4f753c27c8ac393febc"><span class="id" title="notation">:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.AdditiveTheory.AddFun.U"><span class="id" title="variable">U</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.AdditiveTheory.AddFun.V"><span class="id" title="variable">V</span></a>).<br/> <span class="id" title="keyword">Canonical</span> <span class="id" title="var">null_fun_additive</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Additive"><span class="id" title="abbreviation">Additive</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.null_fun_is_additive"><span class="id" title="lemma">null_fun_is_additive</span></a>.<br/> <br/> -<span class="id" title="keyword">Fact</span> <a name="GRing.add_fun_is_additive"><span class="id" title="lemma">add_fun_is_additive</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.additive"><span class="id" title="abbreviation">additive</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.AdditiveTheory.AddFun.f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f2f8c9cbf6197be0e03c235df75623a4"><span class="id" title="notation">\+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.AdditiveTheory.AddFun.g"><span class="id" title="variable">g</span></a>).<br/> +<span class="id" title="keyword">Fact</span> <a name="GRing.add_fun_is_additive"><span class="id" title="lemma">add_fun_is_additive</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.additive"><span class="id" title="abbreviation">additive</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.AdditiveTheory.AddFun.f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#e2061ffc5a4c809cf18bbafb8211e59f"><span class="id" title="notation">\+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.AdditiveTheory.AddFun.g"><span class="id" title="variable">g</span></a>).<br/> <span class="id" title="keyword">Canonical</span> <span class="id" title="var">add_fun_additive</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Additive"><span class="id" title="abbreviation">Additive</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.add_fun_is_additive"><span class="id" title="lemma">add_fun_is_additive</span></a>.<br/> <br/> -<span class="id" title="keyword">Fact</span> <a name="GRing.sub_fun_is_additive"><span class="id" title="lemma">sub_fun_is_additive</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.additive"><span class="id" title="abbreviation">additive</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.AdditiveTheory.AddFun.f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#8af655ace12546ccf393660f3321db1e"><span class="id" title="notation">\-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.AdditiveTheory.AddFun.g"><span class="id" title="variable">g</span></a>).<br/> +<span class="id" title="keyword">Fact</span> <a name="GRing.sub_fun_is_additive"><span class="id" title="lemma">sub_fun_is_additive</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.additive"><span class="id" title="abbreviation">additive</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.AdditiveTheory.AddFun.f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#8934e834fc8aae356ef1d8f2b3bd03ed"><span class="id" title="notation">\-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.AdditiveTheory.AddFun.g"><span class="id" title="variable">g</span></a>).<br/> <span class="id" title="keyword">Canonical</span> <span class="id" title="var">sub_fun_additive</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Additive"><span class="id" title="abbreviation">Additive</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.sub_fun_is_additive"><span class="id" title="lemma">sub_fun_is_additive</span></a>.<br/> <br/> @@ -2020,14 +2036,14 @@ <br/> <span class="id" title="keyword">Variables</span> (<a name="GRing.AdditiveTheory.MulFun.R"><span class="id" title="variable">R</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ringType"><span class="id" title="abbreviation">ringType</span></a>) (<a name="GRing.AdditiveTheory.MulFun.U"><span class="id" title="variable">U</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.zmodType"><span class="id" title="abbreviation">zmodType</span></a>).<br/> -<span class="id" title="keyword">Variables</span> (<a name="GRing.AdditiveTheory.MulFun.a"><span class="id" title="variable">a</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.AdditiveTheory.MulFun.R"><span class="id" title="variable">R</span></a>) (<a name="GRing.AdditiveTheory.MulFun.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.ssralg.html#GRing.AdditiveTheory.MulFun.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.ssralg.html#GRing.AdditiveTheory.MulFun.R"><span class="id" title="variable">R</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#6566b94c06c342b0768c3d2d73badf6e"><span class="id" title="notation">}</span></a>).<br/> +<span class="id" title="keyword">Variables</span> (<a name="GRing.AdditiveTheory.MulFun.a"><span class="id" title="variable">a</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.AdditiveTheory.MulFun.R"><span class="id" title="variable">R</span></a>) (<a name="GRing.AdditiveTheory.MulFun.f"><span class="id" title="variable">f</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#b15d1bebaaff5b5ed693647b6d36f348"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#b15d1bebaaff5b5ed693647b6d36f348"><span class="id" title="notation">additive</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.AdditiveTheory.MulFun.U"><span class="id" title="variable">U</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.AdditiveTheory.MulFun.R"><span class="id" title="variable">R</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#b15d1bebaaff5b5ed693647b6d36f348"><span class="id" title="notation">}</span></a>).<br/> <br/> -<span class="id" title="keyword">Fact</span> <a name="GRing.mull_fun_is_additive"><span class="id" title="lemma">mull_fun_is_additive</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.additive"><span class="id" title="abbreviation">additive</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.AdditiveTheory.MulFun.a"><span class="id" title="variable">a</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#82b32d32eab6e1eab8147f667d41c846"><span class="id" title="notation">\*</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#82b32d32eab6e1eab8147f667d41c846"><span class="id" title="notation">o</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.AdditiveTheory.MulFun.f"><span class="id" title="variable">f</span></a>).<br/> +<span class="id" title="keyword">Fact</span> <a name="GRing.mull_fun_is_additive"><span class="id" title="lemma">mull_fun_is_additive</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.additive"><span class="id" title="abbreviation">additive</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.AdditiveTheory.MulFun.a"><span class="id" title="variable">a</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#bc3112e15c615abd16fe817a85e6c0fd"><span class="id" title="notation">\*</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#bc3112e15c615abd16fe817a85e6c0fd"><span class="id" title="notation">o</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.AdditiveTheory.MulFun.f"><span class="id" title="variable">f</span></a>).<br/> <span class="id" title="keyword">Canonical</span> <span class="id" title="var">mull_fun_additive</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Additive"><span class="id" title="abbreviation">Additive</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.mull_fun_is_additive"><span class="id" title="lemma">mull_fun_is_additive</span></a>.<br/> <br/> -<span class="id" title="keyword">Fact</span> <a name="GRing.mulr_fun_is_additive"><span class="id" title="lemma">mulr_fun_is_additive</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.additive"><span class="id" title="abbreviation">additive</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.AdditiveTheory.MulFun.a"><span class="id" title="variable">a</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#2b0f3ec783c950f59954eab0f90dbfa8"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#2b0f3ec783c950f59954eab0f90dbfa8"><span class="id" title="notation">o</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#2b0f3ec783c950f59954eab0f90dbfa8"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.AdditiveTheory.MulFun.f"><span class="id" title="variable">f</span></a>).<br/> +<span class="id" title="keyword">Fact</span> <a name="GRing.mulr_fun_is_additive"><span class="id" title="lemma">mulr_fun_is_additive</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.additive"><span class="id" title="abbreviation">additive</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.AdditiveTheory.MulFun.a"><span class="id" title="variable">a</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#fc74b441e09df14f29dadaaae6a85505"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#fc74b441e09df14f29dadaaae6a85505"><span class="id" title="notation">o</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#fc74b441e09df14f29dadaaae6a85505"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.AdditiveTheory.MulFun.f"><span class="id" title="variable">f</span></a>).<br/> <span class="id" title="keyword">Canonical</span> <span class="id" title="var">mulr_fun_additive</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Additive"><span class="id" title="abbreviation">Additive</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.mulr_fun_is_additive"><span class="id" title="lemma">mulr_fun_is_additive</span></a>.<br/> <br/> @@ -2038,11 +2054,11 @@ <br/> <span class="id" title="keyword">Variables</span> (<a name="GRing.AdditiveTheory.ScaleFun.R"><span class="id" title="variable">R</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ringType"><span class="id" title="abbreviation">ringType</span></a>) (<a name="GRing.AdditiveTheory.ScaleFun.U"><span class="id" title="variable">U</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.zmodType"><span class="id" title="abbreviation">zmodType</span></a>) (<a name="GRing.AdditiveTheory.ScaleFun.V"><span class="id" title="variable">V</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.lmodType"><span class="id" title="abbreviation">lmodType</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#R"><span class="id" title="variable">R</span></a>).<br/> -<span class="id" title="keyword">Variables</span> (<a name="GRing.AdditiveTheory.ScaleFun.a"><span class="id" title="variable">a</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.AdditiveTheory.ScaleFun.R"><span class="id" title="variable">R</span></a>) (<a name="GRing.AdditiveTheory.ScaleFun.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.ssralg.html#GRing.AdditiveTheory.ScaleFun.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.ssralg.html#GRing.AdditiveTheory.ScaleFun.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/> +<span class="id" title="keyword">Variables</span> (<a name="GRing.AdditiveTheory.ScaleFun.a"><span class="id" title="variable">a</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.AdditiveTheory.ScaleFun.R"><span class="id" title="variable">R</span></a>) (<a name="GRing.AdditiveTheory.ScaleFun.f"><span class="id" title="variable">f</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#b15d1bebaaff5b5ed693647b6d36f348"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#b15d1bebaaff5b5ed693647b6d36f348"><span class="id" title="notation">additive</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.AdditiveTheory.ScaleFun.U"><span class="id" title="variable">U</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.AdditiveTheory.ScaleFun.V"><span class="id" title="variable">V</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#b15d1bebaaff5b5ed693647b6d36f348"><span class="id" title="notation">}</span></a>).<br/> <br/> <span class="id" title="keyword">Canonical</span> <span class="id" title="var">scale_additive</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Additive"><span class="id" title="abbreviation">Additive</span></a> (@<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.scalerBr"><span class="id" title="lemma">scalerBr</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.AdditiveTheory.ScaleFun.R"><span class="id" title="variable">R</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.AdditiveTheory.ScaleFun.V"><span class="id" title="variable">V</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.AdditiveTheory.ScaleFun.a"><span class="id" title="variable">a</span></a>).<br/> -<span class="id" title="keyword">Canonical</span> <span class="id" title="var">scale_fun_additive</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#e25de7b1e68b5f1ea5f04a4e9520c4da"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#e25de7b1e68b5f1ea5f04a4e9520c4da"><span class="id" title="notation">additive</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#e25de7b1e68b5f1ea5f04a4e9520c4da"><span class="id" title="notation">of</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.AdditiveTheory.ScaleFun.a"><span class="id" title="variable">a</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#9df698f0b10c644da28c4afd9af58cf4"><span class="id" title="notation">\*:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.AdditiveTheory.ScaleFun.f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#e25de7b1e68b5f1ea5f04a4e9520c4da"><span class="id" title="notation">as</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.AdditiveTheory.ScaleFun.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#c42c5cb909c30537f9f6acfcf01cf7e1"><span class="id" title="notation">\;</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#9d4bc68f8a37455428efb931e05d31ce"><span class="id" title="notation">*:%</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#9d4bc68f8a37455428efb931e05d31ce"><span class="id" title="notation">R</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#9d4bc68f8a37455428efb931e05d31ce"><span class="id" title="notation">a</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#e25de7b1e68b5f1ea5f04a4e9520c4da"><span class="id" title="notation">]</span></a>.<br/> +<span class="id" title="keyword">Canonical</span> <span class="id" title="var">scale_fun_additive</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#9242c465b1ba475eb872a4f54d4904f7"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#9242c465b1ba475eb872a4f54d4904f7"><span class="id" title="notation">additive</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#9242c465b1ba475eb872a4f54d4904f7"><span class="id" title="notation">of</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.AdditiveTheory.ScaleFun.a"><span class="id" title="variable">a</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#4f2c8844bdca193370eeb7e4ed6c690a"><span class="id" title="notation">\*:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.AdditiveTheory.ScaleFun.f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#9242c465b1ba475eb872a4f54d4904f7"><span class="id" title="notation">as</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.AdditiveTheory.ScaleFun.f"><span class="id" title="variable">f</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#11ebad41b70994075d9152ef8d0a15b3"><span class="id" title="notation">\;</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#38480d07e3193b4bc897687500c6bc9c"><span class="id" title="notation">*:%</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#38480d07e3193b4bc897687500c6bc9c"><span class="id" title="notation">R</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#38480d07e3193b4bc897687500c6bc9c"><span class="id" title="notation">a</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#9242c465b1ba475eb872a4f54d4904f7"><span class="id" title="notation">]</span></a>.<br/> <br/> <span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.AdditiveTheory.ScaleFun"><span class="id" title="section">ScaleFun</span></a>.<br/> @@ -2060,26 +2076,26 @@ <span class="id" title="keyword">Variables</span> <a name="GRing.RMorphism.ClassDef.R"><span class="id" title="variable">R</span></a> <a name="GRing.RMorphism.ClassDef.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>.<br/> <br/> -<span class="id" title="keyword">Definition</span> <a name="GRing.RMorphism.mixin_of"><span class="id" title="definition">mixin_of</span></a> (<span class="id" title="var">f</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RMorphism.ClassDef.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.ssralg.html#GRing.RMorphism.ClassDef.S"><span class="id" title="variable">S</span></a>) :=<br/> - <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.ssralg.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#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.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#ed99e7035d9a1f8a2c1515be81ac2e5f"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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>%<span class="id" title="var">R</span> <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><a class="idref" href="mathcomp.algebra.ssralg.html#f"><span class="id" title="variable">f</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> 1<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.ssr.ssreflect.html#0fffdc558ce71ab561d36c8a8094dbe5"><span class="id" title="notation">:</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssreflect.html#0fffdc558ce71ab561d36c8a8094dbe5"><span class="id" title="notation">Prop</span></a>.<br/> +<span class="id" title="keyword">Definition</span> <a name="GRing.RMorphism.mixin_of"><span class="id" title="definition">mixin_of</span></a> (<span class="id" title="var">f</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RMorphism.ClassDef.R"><span class="id" title="variable">R</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RMorphism.ClassDef.S"><span class="id" title="variable">S</span></a>) :=<br/> + <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#e69c60b553f06d3463460a9f4cee3c01"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#e69c60b553f06d3463460a9f4cee3c01"><span class="id" title="notation">morph</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#e69c60b553f06d3463460a9f4cee3c01"><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/V8.9.0/stdlib//Coq.ssr.ssrfun.html#e69c60b553f06d3463460a9f4cee3c01"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f99a2dc6d143aa8f1021ab57e4a19eee"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#e69c60b553f06d3463460a9f4cee3c01"><span class="id" title="notation">}</span></a>%<span class="id" title="var">R</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#11c698c8685bb8ab1cf725545c085ac4"><span class="id" title="notation">×</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#11c698c8685bb8ab1cf725545c085ac4"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#f"><span class="id" title="variable">f</span></a> 1 <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> 1<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#11c698c8685bb8ab1cf725545c085ac4"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssreflect.html#17ff6c89d595412214a9dd9e39474c36"><span class="id" title="notation">:</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssreflect.html#17ff6c89d595412214a9dd9e39474c36"><span class="id" title="notation">Prop</span></a>.<br/> <br/> <span class="id" title="keyword">Record</span> <a name="GRing.RMorphism.class_of"><span class="id" title="record">class_of</span></a> <span class="id" title="var">f</span> : <span class="id" title="keyword">Prop</span> := <a name="GRing.RMorphism.Class"><span class="id" title="constructor">Class</span></a> {<a name="GRing.RMorphism.base"><span class="id" title="projection">base</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.additive"><span class="id" title="abbreviation">additive</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f"><span class="id" title="variable">f</span></a>; <a name="GRing.RMorphism.mixin"><span class="id" title="projection">mixin</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RMorphism.mixin_of"><span class="id" title="definition">mixin_of</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f"><span class="id" title="variable">f</span></a>}.<br/> <br/> -<span class="id" title="keyword">Structure</span> <a name="GRing.RMorphism.map"><span class="id" title="record">map</span></a> (<span class="id" title="var">phRS</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssreflect.html#phant"><span class="id" title="inductive">phant</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RMorphism.ClassDef.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.ssralg.html#GRing.RMorphism.ClassDef.S"><span class="id" title="variable">S</span></a>)) := <a name="GRing.RMorphism.Pack"><span class="id" title="constructor">Pack</span></a> {<a name="GRing.RMorphism.apply"><span class="id" title="projection">apply</span></a>; <span class="id" title="var">_</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RMorphism.class_of"><span class="id" title="record">class_of</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#apply"><span class="id" title="method">apply</span></a>}.<br/> -<span class="id" title="keyword">Variables</span> (<a name="GRing.RMorphism.ClassDef.phRS"><span class="id" title="variable">phRS</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssreflect.html#phant"><span class="id" title="inductive">phant</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RMorphism.ClassDef.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.ssralg.html#GRing.RMorphism.ClassDef.S"><span class="id" title="variable">S</span></a>)) (<a name="GRing.RMorphism.ClassDef.f"><span class="id" title="variable">f</span></a> <a name="GRing.RMorphism.ClassDef.g"><span class="id" title="variable">g</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RMorphism.ClassDef.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.ssralg.html#GRing.RMorphism.ClassDef.S"><span class="id" title="variable">S</span></a>) (<a name="GRing.RMorphism.ClassDef.cF"><span class="id" title="variable">cF</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RMorphism.map"><span class="id" title="record">map</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#phRS"><span class="id" title="variable">phRS</span></a>).<br/> +<span class="id" title="keyword">Structure</span> <a name="GRing.RMorphism.map"><span class="id" title="record">map</span></a> (<span class="id" title="var">phRS</span> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssreflect.html#phant"><span class="id" title="inductive">phant</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RMorphism.ClassDef.R"><span class="id" title="variable">R</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RMorphism.ClassDef.S"><span class="id" title="variable">S</span></a>)) := <a name="GRing.RMorphism.Pack"><span class="id" title="constructor">Pack</span></a> {<a name="GRing.RMorphism.apply"><span class="id" title="projection">apply</span></a>; <span class="id" title="var">_</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RMorphism.class_of"><span class="id" title="record">class_of</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#apply"><span class="id" title="method">apply</span></a>}.<br/> +<span class="id" title="keyword">Variables</span> (<a name="GRing.RMorphism.ClassDef.phRS"><span class="id" title="variable">phRS</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssreflect.html#phant"><span class="id" title="inductive">phant</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RMorphism.ClassDef.R"><span class="id" title="variable">R</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RMorphism.ClassDef.S"><span class="id" title="variable">S</span></a>)) (<a name="GRing.RMorphism.ClassDef.f"><span class="id" title="variable">f</span></a> <a name="GRing.RMorphism.ClassDef.g"><span class="id" title="variable">g</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RMorphism.ClassDef.R"><span class="id" title="variable">R</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RMorphism.ClassDef.S"><span class="id" title="variable">S</span></a>) (<a name="GRing.RMorphism.ClassDef.cF"><span class="id" title="variable">cF</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RMorphism.map"><span class="id" title="record">map</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#phRS"><span class="id" title="variable">phRS</span></a>).<br/> <br/> <span class="id" title="keyword">Definition</span> <a name="GRing.RMorphism.class"><span class="id" title="definition">class</span></a> := <span class="id" title="keyword">let</span>: <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RMorphism.Pack"><span class="id" title="constructor">Pack</span></a> <span class="id" title="var">_</span> <span class="id" title="var">c</span> <span class="id" title="keyword">as</span> <span class="id" title="var">cF'</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RMorphism.ClassDef.cF"><span class="id" title="variable">cF</span></a> <span class="id" title="keyword">return</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RMorphism.class_of"><span class="id" title="record">class_of</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#cF'"><span class="id" title="variable">cF'</span></a> <span class="id" title="tactic">in</span> <span class="id" title="var">c</span>.<br/> <br/> -<span class="id" title="keyword">Definition</span> <a name="GRing.RMorphism.clone"><span class="id" title="definition">clone</span></a> <span class="id" title="var">fM</span> <span class="id" title="keyword">of</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#phant_id"><span class="id" title="definition">phant_id</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RMorphism.ClassDef.g"><span class="id" title="variable">g</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RMorphism.apply"><span class="id" title="projection">apply</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RMorphism.ClassDef.cF"><span class="id" title="variable">cF</span></a>) & <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#phant_id"><span class="id" title="definition">phant_id</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#fM"><span class="id" title="variable">fM</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RMorphism.class"><span class="id" title="definition">class</span></a> :=<br/> +<span class="id" title="keyword">Definition</span> <a name="GRing.RMorphism.clone"><span class="id" title="definition">clone</span></a> <span class="id" title="var">fM</span> <span class="id" title="keyword">of</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#phant_id"><span class="id" title="definition">phant_id</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RMorphism.ClassDef.g"><span class="id" title="variable">g</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RMorphism.apply"><span class="id" title="projection">apply</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RMorphism.ClassDef.cF"><span class="id" title="variable">cF</span></a>) & <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#phant_id"><span class="id" title="definition">phant_id</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#fM"><span class="id" title="variable">fM</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RMorphism.class"><span class="id" title="definition">class</span></a> :=<br/> @<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RMorphism.Pack"><span class="id" title="constructor">Pack</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RMorphism.ClassDef.phRS"><span class="id" title="variable">phRS</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RMorphism.ClassDef.f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#fM"><span class="id" title="variable">fM</span></a>.<br/> <br/> <span class="id" title="keyword">Definition</span> <a name="GRing.RMorphism.pack"><span class="id" title="definition">pack</span></a> (<span class="id" title="var">fM</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RMorphism.mixin_of"><span class="id" title="definition">mixin_of</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RMorphism.ClassDef.f"><span class="id" title="variable">f</span></a>) :=<br/> - <span class="id" title="keyword">fun</span> (<span class="id" title="var">bF</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Additive.map"><span class="id" title="record">Additive.map</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RMorphism.ClassDef.phRS"><span class="id" title="variable">phRS</span></a>) <span class="id" title="var">fA</span> & <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#phant_id"><span class="id" title="definition">phant_id</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Additive.class"><span class="id" title="definition">Additive.class</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#bF"><span class="id" title="variable">bF</span></a>) <a class="idref" href="mathcomp.algebra.ssralg.html#fA"><span class="id" title="variable">fA</span></a> ⇒<br/> + <span class="id" title="keyword">fun</span> (<span class="id" title="var">bF</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Additive.map"><span class="id" title="record">Additive.map</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RMorphism.ClassDef.phRS"><span class="id" title="variable">phRS</span></a>) <span class="id" title="var">fA</span> & <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#phant_id"><span class="id" title="definition">phant_id</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Additive.class"><span class="id" title="definition">Additive.class</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#bF"><span class="id" title="variable">bF</span></a>) <a class="idref" href="mathcomp.algebra.ssralg.html#fA"><span class="id" title="variable">fA</span></a> ⇒<br/> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RMorphism.Pack"><span class="id" title="constructor">Pack</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RMorphism.ClassDef.phRS"><span class="id" title="variable">phRS</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RMorphism.Class"><span class="id" title="constructor">Class</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#fA"><span class="id" title="variable">fA</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#fM"><span class="id" title="variable">fM</span></a>).<br/> <br/> @@ -2095,13 +2111,13 @@ <span class="id" title="keyword">Coercion</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RMorphism.base"><span class="id" title="projection">base</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RMorphism.base"><span class="id" title="projection">:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RMorphism.base"><span class="id" title="projection">rmorphism</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RMorphism.base"><span class="id" title="projection">>-></span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RMorphism.base"><span class="id" title="projection">Additive.axiom</span></a>.<br/> <span class="id" title="keyword">Coercion</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RMorphism.mixin"><span class="id" title="projection">mixin</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RMorphism.mixin"><span class="id" title="projection">:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RMorphism.mixin"><span class="id" title="projection">rmorphism</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RMorphism.mixin"><span class="id" title="projection">>-></span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RMorphism.mixin"><span class="id" title="projection">multiplicative</span></a>.<br/> <span class="id" title="keyword">Coercion</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RMorphism.apply"><span class="id" title="projection">apply</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RMorphism.apply"><span class="id" title="projection">:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RMorphism.apply"><span class="id" title="projection">map</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RMorphism.apply"><span class="id" title="projection">>-></span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RMorphism.apply"><span class="id" title="projection">Funclass</span></a>.<br/> -<span class="id" title="keyword">Notation</span> <a name="GRing.RMorphism.Exports.RMorphism"><span class="id" title="abbreviation">RMorphism</span></a> <span class="id" title="var">fM</span> := (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RMorphism.Pack"><span class="id" title="constructor">Pack</span></a> (<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssreflect.html#Phant"><span class="id" title="constructor">Phant</span></a> <span class="id" title="var">_</span>) <span class="id" title="var">fM</span>).<br/> -<span class="id" title="keyword">Notation</span> <a name="GRing.RMorphism.Exports.AddRMorphism"><span class="id" title="abbreviation">AddRMorphism</span></a> <span class="id" title="var">fM</span> := (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RMorphism.pack"><span class="id" title="definition">pack</span></a> <span class="id" title="var">fM</span> <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>).<br/> -<span class="id" title="keyword">Notation</span> <a name="0c709ebe43ddbd7719f75250a7b916d9"><span class="id" title="notation">"</span></a>{ 'rmorphism' fRS }" := (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RMorphism.map"><span class="id" title="record">map</span></a> (<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssreflect.html#Phant"><span class="id" title="constructor">Phant</span></a> <span class="id" title="var">fRS</span>))<br/> +<span class="id" title="keyword">Notation</span> <a name="GRing.RMorphism.Exports.RMorphism"><span class="id" title="abbreviation">RMorphism</span></a> <span class="id" title="var">fM</span> := (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RMorphism.Pack"><span class="id" title="constructor">Pack</span></a> (<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssreflect.html#Phant"><span class="id" title="constructor">Phant</span></a> <span class="id" title="var">_</span>) <span class="id" title="var">fM</span>).<br/> +<span class="id" title="keyword">Notation</span> <a name="GRing.RMorphism.Exports.AddRMorphism"><span class="id" title="abbreviation">AddRMorphism</span></a> <span class="id" title="var">fM</span> := (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RMorphism.pack"><span class="id" title="definition">pack</span></a> <span class="id" title="var">fM</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#id"><span class="id" title="abbreviation">id</span></a>).<br/> +<span class="id" title="keyword">Notation</span> <a name="d531732ed602c7af62b88c7cfce824e5"><span class="id" title="notation">"</span></a>{ 'rmorphism' fRS }" := (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RMorphism.map"><span class="id" title="record">map</span></a> (<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssreflect.html#Phant"><span class="id" title="constructor">Phant</span></a> <span class="id" title="var">fRS</span>))<br/> (<span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 0, <span class="id" title="var">format</span> "{ 'rmorphism' fRS }") : <span class="id" title="var">ring_scope</span>.<br/> -<span class="id" title="keyword">Notation</span> <a name="665e1724a466fd5a4c6ba181bb2c140c"><span class="id" title="notation">"</span></a>[ 'rmorphism' 'of' f 'as' g ]" := (@<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RMorphism.clone"><span class="id" title="definition">clone</span></a> <span class="id" title="var">_</span> <span class="id" title="var">_</span> <span class="id" title="var">_</span> <span class="id" title="var">f</span> <span class="id" title="var">g</span> <span class="id" title="var">_</span> <span class="id" title="var">_</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#idfun"><span class="id" title="abbreviation">idfun</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>)<br/> +<span class="id" title="keyword">Notation</span> <a name="5038fd6baf0faad94b37e6421e96b65c"><span class="id" title="notation">"</span></a>[ 'rmorphism' 'of' f 'as' g ]" := (@<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RMorphism.clone"><span class="id" title="definition">clone</span></a> <span class="id" title="var">_</span> <span class="id" title="var">_</span> <span class="id" title="var">_</span> <span class="id" title="var">f</span> <span class="id" title="var">g</span> <span class="id" title="var">_</span> <span class="id" title="var">_</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#idfun"><span class="id" title="abbreviation">idfun</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#id"><span class="id" title="abbreviation">id</span></a>)<br/> (<span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 0, <span class="id" title="var">format</span> "[ 'rmorphism' 'of' f 'as' g ]") : <span class="id" title="var">form_scope</span>.<br/> -<span class="id" title="keyword">Notation</span> <a name="778d861598c34ba1d4bea8b9adaae863"><span class="id" title="notation">"</span></a>[ 'rmorphism' 'of' f ]" := (@<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RMorphism.clone"><span class="id" title="definition">clone</span></a> <span class="id" title="var">_</span> <span class="id" title="var">_</span> <span class="id" title="var">_</span> <span class="id" title="var">f</span> <span class="id" title="var">f</span> <span class="id" title="var">_</span> <span class="id" title="var">_</span> <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.ssrfun.html#id"><span class="id" title="abbreviation">id</span></a>)<br/> +<span class="id" title="keyword">Notation</span> <a name="f59994a9f1c6ff43f3de0a3cea89bb6b"><span class="id" title="notation">"</span></a>[ 'rmorphism' 'of' f ]" := (@<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RMorphism.clone"><span class="id" title="definition">clone</span></a> <span class="id" title="var">_</span> <span class="id" title="var">_</span> <span class="id" title="var">_</span> <span class="id" title="var">f</span> <span class="id" title="var">f</span> <span class="id" title="var">_</span> <span class="id" title="var">_</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#id"><span class="id" title="abbreviation">id</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#id"><span class="id" title="abbreviation">id</span></a>)<br/> (<span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 0, <span class="id" title="var">format</span> "[ 'rmorphism' 'of' f ]") : <span class="id" title="var">form_scope</span>.<br/> <span class="id" title="keyword">Coercion</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RMorphism.additive"><span class="id" title="definition">additive</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RMorphism.additive"><span class="id" title="definition">:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RMorphism.additive"><span class="id" title="definition">map</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RMorphism.additive"><span class="id" title="definition">>-></span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RMorphism.additive"><span class="id" title="definition">Additive.map</span></a>.<br/> <span class="id" title="keyword">Canonical</span> <span class="id" title="var">additive</span>.<br/> @@ -2118,57 +2134,57 @@ <span class="id" title="keyword">Section</span> <a name="GRing.RmorphismTheory.Properties"><span class="id" title="section">Properties</span></a>.<br/> <br/> -<span class="id" title="keyword">Variables</span> (<a name="GRing.RmorphismTheory.Properties.R"><span class="id" title="variable">R</span></a> <a name="GRing.RmorphismTheory.Properties.S"><span class="id" title="variable">S</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ringType"><span class="id" title="abbreviation">ringType</span></a>) (<a name="GRing.RmorphismTheory.Properties.k"><span class="id" title="variable">k</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#unit"><span class="id" title="inductive">unit</span></a>) (<a name="GRing.RmorphismTheory.Properties.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.ssralg.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.ssralg.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/> +<span class="id" title="keyword">Variables</span> (<a name="GRing.RmorphismTheory.Properties.R"><span class="id" title="variable">R</span></a> <a name="GRing.RmorphismTheory.Properties.S"><span class="id" title="variable">S</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ringType"><span class="id" title="abbreviation">ringType</span></a>) (<a name="GRing.RmorphismTheory.Properties.k"><span class="id" title="variable">k</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#unit"><span class="id" title="inductive">unit</span></a>) (<a name="GRing.RmorphismTheory.Properties.f"><span class="id" title="variable">f</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#d531732ed602c7af62b88c7cfce824e5"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#d531732ed602c7af62b88c7cfce824e5"><span class="id" title="notation">rmorphism</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#R"><span class="id" title="variable">R</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#S"><span class="id" title="variable">S</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#d531732ed602c7af62b88c7cfce824e5"><span class="id" title="notation">}</span></a>).<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.rmorph0"><span class="id" title="lemma">rmorph0</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RmorphismTheory.Properties.f"><span class="id" title="variable">f</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/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.rmorphN"><span class="id" title="lemma">rmorphN</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.ssralg.html#GRing.RmorphismTheory.Properties.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.ssralg.html#eefae7eea8ed2b8fccf150cb653d7a7b"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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#c3c88e2b30b681cd767a54649faf5973"><span class="id" title="notation">}</span></a>. <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.rmorphD"><span class="id" title="lemma">rmorphD</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.ssralg.html#GRing.RmorphismTheory.Properties.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#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.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#338c5345074fd3586073fd29273c138a"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.rmorphB"><span class="id" title="lemma">rmorphB</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.ssralg.html#GRing.RmorphismTheory.Properties.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#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.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#4d4b9697032429ec46472e6332d1356a"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.rmorphMn"><span class="id" title="lemma">rmorphMn</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.ssralg.html#GRing.RmorphismTheory.Properties.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.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#513eaa3129601ecbcc9e188a80d6155b"><span class="id" title="notation">*+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.rmorphMNn"><span class="id" title="lemma">rmorphMNn</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.ssralg.html#GRing.RmorphismTheory.Properties.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.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#be9a273af87c6a30d88bd8379c802cbe"><span class="id" title="notation">*-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.rmorph_sum"><span class="id" title="lemma">rmorph_sum</span></a> <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.ssralg.html#I"><span class="id" title="variable">I</span></a>) <span class="id" title="var">E</span> :<br/> - <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RmorphismTheory.Properties.f"><span class="id" title="variable">f</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#664ae738a3286983847c80e5ee4c8c6b"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#664ae738a3286983847c80e5ee4c8c6b"><span class="id" title="notation">sum_</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#664ae738a3286983847c80e5ee4c8c6b"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.algebra.ssralg.html#664ae738a3286983847c80e5ee4c8c6b"><span class="id" title="notation"><-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#r"><span class="id" title="variable">r</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#664ae738a3286983847c80e5ee4c8c6b"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#664ae738a3286983847c80e5ee4c8c6b"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#E"><span class="id" title="variable">E</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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#664ae738a3286983847c80e5ee4c8c6b"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#664ae738a3286983847c80e5ee4c8c6b"><span class="id" title="notation">sum_</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#664ae738a3286983847c80e5ee4c8c6b"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.algebra.ssralg.html#664ae738a3286983847c80e5ee4c8c6b"><span class="id" title="notation"><-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#r"><span class="id" title="variable">r</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#664ae738a3286983847c80e5ee4c8c6b"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#664ae738a3286983847c80e5ee4c8c6b"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RmorphismTheory.Properties.f"><span class="id" title="variable">f</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#E"><span class="id" title="variable">E</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</span></a>).<br/> - <span class="id" title="keyword">Lemma</span> <a name="GRing.rmorphMsign"><span class="id" title="lemma">rmorphMsign</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.ssralg.html#GRing.RmorphismTheory.Properties.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.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">(</span></a>- 1<a class="idref" href="mathcomp.algebra.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#ed99e7035d9a1f8a2c1515be81ac2e5f"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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#c3c88e2b30b681cd767a54649faf5973"><span class="id" title="notation">}</span></a>.<br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.rmorph0"><span class="id" title="lemma">rmorph0</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RmorphismTheory.Properties.f"><span class="id" title="variable">f</span></a> 0 <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> 0. <br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.rmorphN"><span class="id" title="lemma">rmorphN</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#3d6621e6eef40dcc7dc9a612222d0b4e"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#3d6621e6eef40dcc7dc9a612222d0b4e"><span class="id" title="notation">morph</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RmorphismTheory.Properties.f"><span class="id" title="variable">f</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#3d6621e6eef40dcc7dc9a612222d0b4e"><span class="id" title="notation">:</span></a> <span class="id" title="var">x</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#3d6621e6eef40dcc7dc9a612222d0b4e"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#aa58dfcfb323e1f070c38e31f9efddbe"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#3d6621e6eef40dcc7dc9a612222d0b4e"><span class="id" title="notation">}</span></a>. <br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.rmorphD"><span class="id" title="lemma">rmorphD</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#e69c60b553f06d3463460a9f4cee3c01"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#e69c60b553f06d3463460a9f4cee3c01"><span class="id" title="notation">morph</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RmorphismTheory.Properties.f"><span class="id" title="variable">f</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#e69c60b553f06d3463460a9f4cee3c01"><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/V8.9.0/stdlib//Coq.ssr.ssrfun.html#e69c60b553f06d3463460a9f4cee3c01"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#730bbb3cf1092122fa1a208d3879e5e8"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#e69c60b553f06d3463460a9f4cee3c01"><span class="id" title="notation">}</span></a>. <br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.rmorphB"><span class="id" title="lemma">rmorphB</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#e69c60b553f06d3463460a9f4cee3c01"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#e69c60b553f06d3463460a9f4cee3c01"><span class="id" title="notation">morph</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RmorphismTheory.Properties.f"><span class="id" title="variable">f</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#e69c60b553f06d3463460a9f4cee3c01"><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/V8.9.0/stdlib//Coq.ssr.ssrfun.html#e69c60b553f06d3463460a9f4cee3c01"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#4a5fc7f0d0a33bc3822357a38c953c9e"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#e69c60b553f06d3463460a9f4cee3c01"><span class="id" title="notation">}</span></a>. <br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.rmorphMn"><span class="id" title="lemma">rmorphMn</span></a> <span class="id" title="var">n</span> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#3d6621e6eef40dcc7dc9a612222d0b4e"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#3d6621e6eef40dcc7dc9a612222d0b4e"><span class="id" title="notation">morph</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RmorphismTheory.Properties.f"><span class="id" title="variable">f</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#3d6621e6eef40dcc7dc9a612222d0b4e"><span class="id" title="notation">:</span></a> <span class="id" title="var">x</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#3d6621e6eef40dcc7dc9a612222d0b4e"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#506f68330939db1f655609b68b37b467"><span class="id" title="notation">*+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#3d6621e6eef40dcc7dc9a612222d0b4e"><span class="id" title="notation">}</span></a>. <br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.rmorphMNn"><span class="id" title="lemma">rmorphMNn</span></a> <span class="id" title="var">n</span> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#3d6621e6eef40dcc7dc9a612222d0b4e"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#3d6621e6eef40dcc7dc9a612222d0b4e"><span class="id" title="notation">morph</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RmorphismTheory.Properties.f"><span class="id" title="variable">f</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#3d6621e6eef40dcc7dc9a612222d0b4e"><span class="id" title="notation">:</span></a> <span class="id" title="var">x</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#3d6621e6eef40dcc7dc9a612222d0b4e"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#0c0f4a48fca1c1f27e9d71f54b6b8bd3"><span class="id" title="notation">*-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#3d6621e6eef40dcc7dc9a612222d0b4e"><span class="id" title="notation">}</span></a>. <br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.rmorph_sum"><span class="id" title="lemma">rmorph_sum</span></a> <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/V8.9.0/stdlib//Coq.ssr.ssrbool.html#pred"><span class="id" title="definition">pred</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#I"><span class="id" title="variable">I</span></a>) <span class="id" title="var">E</span> :<br/> + <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RmorphismTheory.Properties.f"><span class="id" title="variable">f</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#dcb91d0b08ece8369cc6084787184d13"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#dcb91d0b08ece8369cc6084787184d13"><span class="id" title="notation">sum_</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#dcb91d0b08ece8369cc6084787184d13"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.algebra.ssralg.html#dcb91d0b08ece8369cc6084787184d13"><span class="id" title="notation"><-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#r"><span class="id" title="variable">r</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#dcb91d0b08ece8369cc6084787184d13"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#dcb91d0b08ece8369cc6084787184d13"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#E"><span class="id" title="variable">E</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</span></a>) <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#dcb91d0b08ece8369cc6084787184d13"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#dcb91d0b08ece8369cc6084787184d13"><span class="id" title="notation">sum_</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#dcb91d0b08ece8369cc6084787184d13"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.algebra.ssralg.html#dcb91d0b08ece8369cc6084787184d13"><span class="id" title="notation"><-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#r"><span class="id" title="variable">r</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#dcb91d0b08ece8369cc6084787184d13"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#dcb91d0b08ece8369cc6084787184d13"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RmorphismTheory.Properties.f"><span class="id" title="variable">f</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#E"><span class="id" title="variable">E</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</span></a>).<br/> + <span class="id" title="keyword">Lemma</span> <a name="GRing.rmorphMsign"><span class="id" title="lemma">rmorphMsign</span></a> <span class="id" title="var">n</span> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#3d6621e6eef40dcc7dc9a612222d0b4e"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#3d6621e6eef40dcc7dc9a612222d0b4e"><span class="id" title="notation">morph</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RmorphismTheory.Properties.f"><span class="id" title="variable">f</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#3d6621e6eef40dcc7dc9a612222d0b4e"><span class="id" title="notation">:</span></a> <span class="id" title="var">x</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#3d6621e6eef40dcc7dc9a612222d0b4e"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">(</span></a>- 1<a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f99a2dc6d143aa8f1021ab57e4a19eee"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#3d6621e6eef40dcc7dc9a612222d0b4e"><span class="id" title="notation">}</span></a>.<br/> <br/> <span class="id" title="keyword">Lemma</span> <a name="GRing.rmorphismP"><span class="id" title="lemma">rmorphismP</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.rmorphism"><span class="id" title="abbreviation">rmorphism</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RmorphismTheory.Properties.f"><span class="id" title="variable">f</span></a>. <br/> <span class="id" title="keyword">Lemma</span> <a name="GRing.rmorphismMP"><span class="id" title="lemma">rmorphismMP</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.multiplicative"><span class="id" title="abbreviation">multiplicative</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RmorphismTheory.Properties.f"><span class="id" title="variable">f</span></a>. <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.rmorph1"><span class="id" title="lemma">rmorph1</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RmorphismTheory.Properties.f"><span class="id" title="variable">f</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> 1. <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.rmorphM"><span class="id" title="lemma">rmorphM</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.ssralg.html#GRing.RmorphismTheory.Properties.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#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.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#ed99e7035d9a1f8a2c1515be81ac2e5f"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.rmorph1"><span class="id" title="lemma">rmorph1</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RmorphismTheory.Properties.f"><span class="id" title="variable">f</span></a> 1 <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> 1. <br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.rmorphM"><span class="id" title="lemma">rmorphM</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#e69c60b553f06d3463460a9f4cee3c01"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#e69c60b553f06d3463460a9f4cee3c01"><span class="id" title="notation">morph</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RmorphismTheory.Properties.f"><span class="id" title="variable">f</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#e69c60b553f06d3463460a9f4cee3c01"><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/V8.9.0/stdlib//Coq.ssr.ssrfun.html#e69c60b553f06d3463460a9f4cee3c01"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f99a2dc6d143aa8f1021ab57e4a19eee"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#e69c60b553f06d3463460a9f4cee3c01"><span class="id" title="notation">}</span></a>. <br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.rmorph_prod"><span class="id" title="lemma">rmorph_prod</span></a> <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.ssralg.html#I"><span class="id" title="variable">I</span></a>) <span class="id" title="var">E</span> :<br/> - <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RmorphismTheory.Properties.f"><span class="id" title="variable">f</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#3f1a950be6bcb72c9434150471b42417"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#3f1a950be6bcb72c9434150471b42417"><span class="id" title="notation">prod_</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#3f1a950be6bcb72c9434150471b42417"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.algebra.ssralg.html#3f1a950be6bcb72c9434150471b42417"><span class="id" title="notation"><-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#r"><span class="id" title="variable">r</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#3f1a950be6bcb72c9434150471b42417"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#3f1a950be6bcb72c9434150471b42417"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#E"><span class="id" title="variable">E</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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#3f1a950be6bcb72c9434150471b42417"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#3f1a950be6bcb72c9434150471b42417"><span class="id" title="notation">prod_</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#3f1a950be6bcb72c9434150471b42417"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.algebra.ssralg.html#3f1a950be6bcb72c9434150471b42417"><span class="id" title="notation"><-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#r"><span class="id" title="variable">r</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#3f1a950be6bcb72c9434150471b42417"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#3f1a950be6bcb72c9434150471b42417"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RmorphismTheory.Properties.f"><span class="id" title="variable">f</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#E"><span class="id" title="variable">E</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</span></a>).<br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.rmorph_prod"><span class="id" title="lemma">rmorph_prod</span></a> <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/V8.9.0/stdlib//Coq.ssr.ssrbool.html#pred"><span class="id" title="definition">pred</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#I"><span class="id" title="variable">I</span></a>) <span class="id" title="var">E</span> :<br/> + <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RmorphismTheory.Properties.f"><span class="id" title="variable">f</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#5e0b538209a51fa2bd900767b9312dd8"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#5e0b538209a51fa2bd900767b9312dd8"><span class="id" title="notation">prod_</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#5e0b538209a51fa2bd900767b9312dd8"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.algebra.ssralg.html#5e0b538209a51fa2bd900767b9312dd8"><span class="id" title="notation"><-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#r"><span class="id" title="variable">r</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#5e0b538209a51fa2bd900767b9312dd8"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#5e0b538209a51fa2bd900767b9312dd8"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#E"><span class="id" title="variable">E</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</span></a>) <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#5e0b538209a51fa2bd900767b9312dd8"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#5e0b538209a51fa2bd900767b9312dd8"><span class="id" title="notation">prod_</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#5e0b538209a51fa2bd900767b9312dd8"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.algebra.ssralg.html#5e0b538209a51fa2bd900767b9312dd8"><span class="id" title="notation"><-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#r"><span class="id" title="variable">r</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#5e0b538209a51fa2bd900767b9312dd8"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#5e0b538209a51fa2bd900767b9312dd8"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RmorphismTheory.Properties.f"><span class="id" title="variable">f</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#E"><span class="id" title="variable">E</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</span></a>).<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.rmorphX"><span class="id" title="lemma">rmorphX</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.ssralg.html#GRing.RmorphismTheory.Properties.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.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.rmorphX"><span class="id" title="lemma">rmorphX</span></a> <span class="id" title="var">n</span> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#3d6621e6eef40dcc7dc9a612222d0b4e"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#3d6621e6eef40dcc7dc9a612222d0b4e"><span class="id" title="notation">morph</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RmorphismTheory.Properties.f"><span class="id" title="variable">f</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#3d6621e6eef40dcc7dc9a612222d0b4e"><span class="id" title="notation">:</span></a> <span class="id" title="var">x</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#3d6621e6eef40dcc7dc9a612222d0b4e"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#3d6621e6eef40dcc7dc9a612222d0b4e"><span class="id" title="notation">}</span></a>.<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.rmorph_nat"><span class="id" title="lemma">rmorph_nat</span></a> <span class="id" title="var">n</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RmorphismTheory.Properties.f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#c191333b9c7c034282647fbffacc9d18"><span class="id" title="notation">%:</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#c191333b9c7c034282647fbffacc9d18"><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.ssralg.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#c191333b9c7c034282647fbffacc9d18"><span class="id" title="notation">%:</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#c191333b9c7c034282647fbffacc9d18"><span class="id" title="notation">R</span></a>. <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.rmorphN1"><span class="id" title="lemma">rmorphN1</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RmorphismTheory.Properties.f"><span class="id" title="variable">f</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>- 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/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.rmorph_nat"><span class="id" title="lemma">rmorph_nat</span></a> <span class="id" title="var">n</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RmorphismTheory.Properties.f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#512a31305e556a90e0ad0550ee623cbc"><span class="id" title="notation">%:</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#512a31305e556a90e0ad0550ee623cbc"><span class="id" title="notation">R</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#512a31305e556a90e0ad0550ee623cbc"><span class="id" title="notation">%:</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#512a31305e556a90e0ad0550ee623cbc"><span class="id" title="notation">R</span></a>. <br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.rmorphN1"><span class="id" title="lemma">rmorphN1</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RmorphismTheory.Properties.f"><span class="id" title="variable">f</span></a> (- 1) <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">(</span></a>- 1<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">)</span></a>. <br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.rmorph_sign"><span class="id" title="lemma">rmorph_sign</span></a> <span class="id" title="var">n</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RmorphismTheory.Properties.f"><span class="id" title="variable">f</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">(</span></a>- 1<a class="idref" href="mathcomp.algebra.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">(</span></a>- 1<a class="idref" href="mathcomp.algebra.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a>.<br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.rmorph_sign"><span class="id" title="lemma">rmorph_sign</span></a> <span class="id" title="var">n</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RmorphismTheory.Properties.f"><span class="id" title="variable">f</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">(</span></a>- 1<a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a>) <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">(</span></a>- 1<a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a>.<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.rmorph_char"><span class="id" title="lemma">rmorph_char</span></a> <span class="id" title="var">p</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#p"><span class="id" title="variable">p</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#51fab11b73193ca5e8e7a62cac129ebc"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#51fab11b73193ca5e8e7a62cac129ebc"><span class="id" title="notation">char</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RmorphismTheory.Properties.R"><span class="id" title="variable">R</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#51fab11b73193ca5e8e7a62cac129ebc"><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.ssralg.html#p"><span class="id" title="variable">p</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#51fab11b73193ca5e8e7a62cac129ebc"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#51fab11b73193ca5e8e7a62cac129ebc"><span class="id" title="notation">char</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RmorphismTheory.Properties.S"><span class="id" title="variable">S</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#51fab11b73193ca5e8e7a62cac129ebc"><span class="id" title="notation">]</span></a>.<br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.rmorph_char"><span class="id" title="lemma">rmorph_char</span></a> <span class="id" title="var">p</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#p"><span class="id" title="variable">p</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#7cf08e2f41bbb95903802050d3919698"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#7cf08e2f41bbb95903802050d3919698"><span class="id" title="notation">char</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RmorphismTheory.Properties.R"><span class="id" title="variable">R</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#7cf08e2f41bbb95903802050d3919698"><span class="id" title="notation">]</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#p"><span class="id" title="variable">p</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#7cf08e2f41bbb95903802050d3919698"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#7cf08e2f41bbb95903802050d3919698"><span class="id" title="notation">char</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RmorphismTheory.Properties.S"><span class="id" title="variable">S</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#7cf08e2f41bbb95903802050d3919698"><span class="id" title="notation">]</span></a>.<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.rmorph_eq_nat"><span class="id" title="lemma">rmorph_eq_nat</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.ssr.ssrfun.html#injective"><span class="id" title="definition">injective</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RmorphismTheory.Properties.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="http://coq.inria.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#GRing.RmorphismTheory.Properties.f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#c191333b9c7c034282647fbffacc9d18"><span class="id" title="notation">%:</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#c191333b9c7c034282647fbffacc9d18"><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="http://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.ssralg.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#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#c191333b9c7c034282647fbffacc9d18"><span class="id" title="notation">%:</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#c191333b9c7c034282647fbffacc9d18"><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>.<br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.rmorph_eq_nat"><span class="id" title="lemma">rmorph_eq_nat</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/V8.9.0/stdlib//Coq.ssr.ssrfun.html#injective"><span class="id" title="definition">injective</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RmorphismTheory.Properties.f"><span class="id" title="variable">f</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RmorphismTheory.Properties.f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#df45e8c2e8370fd4f0f7c4fdaf208180"><span class="id" title="notation">==</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#512a31305e556a90e0ad0550ee623cbc"><span class="id" title="notation">%:</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#512a31305e556a90e0ad0550ee623cbc"><span class="id" title="notation">R</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#df45e8c2e8370fd4f0f7c4fdaf208180"><span class="id" title="notation">==</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#512a31305e556a90e0ad0550ee623cbc"><span class="id" title="notation">%:</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#512a31305e556a90e0ad0550ee623cbc"><span class="id" title="notation">R</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">)</span></a>.<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.rmorph_eq1"><span class="id" title="lemma">rmorph_eq1</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#injective"><span class="id" title="definition">injective</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RmorphismTheory.Properties.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="http://coq.inria.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#GRing.RmorphismTheory.Properties.f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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.ssralg.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>.<br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.rmorph_eq1"><span class="id" title="lemma">rmorph_eq1</span></a> <span class="id" title="var">x</span> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#injective"><span class="id" title="definition">injective</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RmorphismTheory.Properties.f"><span class="id" title="variable">f</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RmorphismTheory.Properties.f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#df45e8c2e8370fd4f0f7c4fdaf208180"><span class="id" title="notation">==</span></a> 1<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#df45e8c2e8370fd4f0f7c4fdaf208180"><span class="id" title="notation">==</span></a> 1<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">)</span></a>.<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.can2_rmorphism"><span class="id" title="lemma">can2_rmorphism</span></a> <span class="id" title="var">f'</span> : <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.ssralg.html#GRing.RmorphismTheory.Properties.f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#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="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.ssralg.html#f'"><span class="id" title="variable">f'</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RmorphismTheory.Properties.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.ssralg.html#GRing.rmorphism"><span class="id" title="abbreviation">rmorphism</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f'"><span class="id" title="variable">f'</span></a>.<br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.can2_rmorphism"><span class="id" title="lemma">can2_rmorphism</span></a> <span class="id" title="var">f'</span> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#cancel"><span class="id" title="definition">cancel</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RmorphismTheory.Properties.f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f'"><span class="id" title="variable">f'</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#cancel"><span class="id" title="definition">cancel</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f'"><span class="id" title="variable">f'</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RmorphismTheory.Properties.f"><span class="id" title="variable">f</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.rmorphism"><span class="id" title="abbreviation">rmorphism</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f'"><span class="id" title="variable">f'</span></a>.<br/> <br/> <span class="id" title="keyword">Lemma</span> <a name="GRing.bij_rmorphism"><span class="id" title="lemma">bij_rmorphism</span></a> :<br/> - <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#bijective"><span class="id" title="inductive">bijective</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RmorphismTheory.Properties.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="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#fe60c20831f772c0c3c288abf68cc42a"><span class="id" title="notation">exists2</span></a> <span class="id" title="var">f'</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#fe60c20831f772c0c3c288abf68cc42a"><span class="id" title="notation">:</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.ssralg.html#GRing.RmorphismTheory.Properties.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#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RmorphismTheory.Properties.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="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#fe60c20831f772c0c3c288abf68cc42a"><span class="id" title="notation">,</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.ssralg.html#GRing.RmorphismTheory.Properties.f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#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#fe60c20831f772c0c3c288abf68cc42a"><span class="id" title="notation">&</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.ssralg.html#f'"><span class="id" title="variable">f'</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RmorphismTheory.Properties.f"><span class="id" title="variable">f</span></a>.<br/> + <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#bijective"><span class="id" title="inductive">bijective</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RmorphismTheory.Properties.f"><span class="id" title="variable">f</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#59ba2b47d2814e66f8210a649ae6e6bc"><span class="id" title="notation">exists2</span></a> <span class="id" title="var">f'</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#59ba2b47d2814e66f8210a649ae6e6bc"><span class="id" title="notation">:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#d531732ed602c7af62b88c7cfce824e5"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#d531732ed602c7af62b88c7cfce824e5"><span class="id" title="notation">rmorphism</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RmorphismTheory.Properties.S"><span class="id" title="variable">S</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RmorphismTheory.Properties.R"><span class="id" title="variable">R</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#d531732ed602c7af62b88c7cfce824e5"><span class="id" title="notation">}</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#59ba2b47d2814e66f8210a649ae6e6bc"><span class="id" title="notation">,</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#cancel"><span class="id" title="definition">cancel</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RmorphismTheory.Properties.f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f'"><span class="id" title="variable">f'</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#59ba2b47d2814e66f8210a649ae6e6bc"><span class="id" title="notation">&</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#cancel"><span class="id" title="definition">cancel</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f'"><span class="id" title="variable">f'</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RmorphismTheory.Properties.f"><span class="id" title="variable">f</span></a>.<br/> <br/> -<span class="id" title="keyword">Fact</span> <a name="GRing.locked_is_multiplicative"><span class="id" title="lemma">locked_is_multiplicative</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.multiplicative"><span class="id" title="abbreviation">multiplicative</span></a> (<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssreflect.html#locked_with"><span class="id" title="definition">locked_with</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RmorphismTheory.Properties.k"><span class="id" title="variable">k</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RmorphismTheory.Properties.f"><span class="id" title="variable">f</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.ssralg.html#GRing.RmorphismTheory.Properties.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.ssralg.html#GRing.RmorphismTheory.Properties.S"><span class="id" title="variable">S</span></a>)).<br/> +<span class="id" title="keyword">Fact</span> <a name="GRing.locked_is_multiplicative"><span class="id" title="lemma">locked_is_multiplicative</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.multiplicative"><span class="id" title="abbreviation">multiplicative</span></a> (<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssreflect.html#locked_with"><span class="id" title="definition">locked_with</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RmorphismTheory.Properties.k"><span class="id" title="variable">k</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RmorphismTheory.Properties.f"><span class="id" title="variable">f</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssreflect.html#aed478b27f23b4f753c27c8ac393febc"><span class="id" title="notation">:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RmorphismTheory.Properties.R"><span class="id" title="variable">R</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RmorphismTheory.Properties.S"><span class="id" title="variable">S</span></a>)).<br/> <span class="id" title="keyword">Canonical</span> <span class="id" title="var">locked_rmorphism</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.AddRMorphism"><span class="id" title="abbreviation">AddRMorphism</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.locked_is_multiplicative"><span class="id" title="lemma">locked_is_multiplicative</span></a>.<br/> <br/> @@ -2178,14 +2194,14 @@ <span class="id" title="keyword">Section</span> <a name="GRing.RmorphismTheory.Projections"><span class="id" title="section">Projections</span></a>.<br/> <br/> -<span class="id" title="keyword">Variables</span> (<a name="GRing.RmorphismTheory.Projections.R"><span class="id" title="variable">R</span></a> <a name="GRing.RmorphismTheory.Projections.S"><span class="id" title="variable">S</span></a> <a name="GRing.RmorphismTheory.Projections.T"><span class="id" title="variable">T</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ringType"><span class="id" title="abbreviation">ringType</span></a>) (<a name="GRing.RmorphismTheory.Projections.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.ssralg.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#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#T"><span class="id" title="variable">T</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#0c709ebe43ddbd7719f75250a7b916d9"><span class="id" title="notation">}</span></a>) (<a name="GRing.RmorphismTheory.Projections.g"><span class="id" title="variable">g</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.ssralg.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.ssralg.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/> +<span class="id" title="keyword">Variables</span> (<a name="GRing.RmorphismTheory.Projections.R"><span class="id" title="variable">R</span></a> <a name="GRing.RmorphismTheory.Projections.S"><span class="id" title="variable">S</span></a> <a name="GRing.RmorphismTheory.Projections.T"><span class="id" title="variable">T</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ringType"><span class="id" title="abbreviation">ringType</span></a>) (<a name="GRing.RmorphismTheory.Projections.f"><span class="id" title="variable">f</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#d531732ed602c7af62b88c7cfce824e5"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#d531732ed602c7af62b88c7cfce824e5"><span class="id" title="notation">rmorphism</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#S"><span class="id" title="variable">S</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#T"><span class="id" title="variable">T</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#d531732ed602c7af62b88c7cfce824e5"><span class="id" title="notation">}</span></a>) (<a name="GRing.RmorphismTheory.Projections.g"><span class="id" title="variable">g</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#d531732ed602c7af62b88c7cfce824e5"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#d531732ed602c7af62b88c7cfce824e5"><span class="id" title="notation">rmorphism</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#R"><span class="id" title="variable">R</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#S"><span class="id" title="variable">S</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#d531732ed602c7af62b88c7cfce824e5"><span class="id" title="notation">}</span></a>).<br/> <br/> -<span class="id" title="keyword">Fact</span> <a name="GRing.idfun_is_multiplicative"><span class="id" title="lemma">idfun_is_multiplicative</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.multiplicative"><span class="id" title="abbreviation">multiplicative</span></a> (<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#cc5a9586eb997be35b65ea12b2a985a9"><span class="id" title="notation">@</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#cc5a9586eb997be35b65ea12b2a985a9"><span class="id" title="notation">idfun</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RmorphismTheory.Projections.R"><span class="id" title="variable">R</span></a>).<br/> +<span class="id" title="keyword">Fact</span> <a name="GRing.idfun_is_multiplicative"><span class="id" title="lemma">idfun_is_multiplicative</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.multiplicative"><span class="id" title="abbreviation">multiplicative</span></a> (<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#41130ccc9d15f6b312cf971c8cd92b0f"><span class="id" title="notation">@</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#41130ccc9d15f6b312cf971c8cd92b0f"><span class="id" title="notation">idfun</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RmorphismTheory.Projections.R"><span class="id" title="variable">R</span></a>).<br/> <span class="id" title="keyword">Canonical</span> <span class="id" title="var">idfun_rmorphism</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.AddRMorphism"><span class="id" title="abbreviation">AddRMorphism</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.idfun_is_multiplicative"><span class="id" title="lemma">idfun_is_multiplicative</span></a>.<br/> <br/> -<span class="id" title="keyword">Fact</span> <a name="GRing.comp_is_multiplicative"><span class="id" title="lemma">comp_is_multiplicative</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.multiplicative"><span class="id" title="abbreviation">multiplicative</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RmorphismTheory.Projections.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#1b4394c5c1740ef3dc9e4224084970bb"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#1b4394c5c1740ef3dc9e4224084970bb"><span class="id" title="notation">o</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RmorphismTheory.Projections.g"><span class="id" title="variable">g</span></a>).<br/> +<span class="id" title="keyword">Fact</span> <a name="GRing.comp_is_multiplicative"><span class="id" title="lemma">comp_is_multiplicative</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.multiplicative"><span class="id" title="abbreviation">multiplicative</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RmorphismTheory.Projections.f"><span class="id" title="variable">f</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#8b4742e3f67816503ce4ab2f3b81c27e"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#8b4742e3f67816503ce4ab2f3b81c27e"><span class="id" title="notation">o</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RmorphismTheory.Projections.g"><span class="id" title="variable">g</span></a>).<br/> <span class="id" title="keyword">Canonical</span> <span class="id" title="var">comp_rmorphism</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.AddRMorphism"><span class="id" title="abbreviation">AddRMorphism</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.comp_is_multiplicative"><span class="id" title="lemma">comp_is_multiplicative</span></a>.<br/> <br/> @@ -2203,7 +2219,7 @@ <span class="id" title="keyword">Canonical</span> <span class="id" title="var">in_alg_rmorphism</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RMorphism"><span class="id" title="abbreviation">RMorphism</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.in_alg_is_rmorphism"><span class="id" title="lemma">in_alg_is_rmorphism</span></a>.<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.in_algE"><span class="id" title="lemma">in_algE</span></a> <span class="id" title="var">a</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.in_alg_loc"><span class="id" title="abbreviation">in_alg_loc</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RmorphismTheory.InAlgebra.A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#a"><span class="id" title="variable">a</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#a"><span class="id" title="variable">a</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#a9486b60fd4d51d8247008b3f8b21d21"><span class="id" title="notation">%:</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#a9486b60fd4d51d8247008b3f8b21d21"><span class="id" title="notation">A</span></a>. <br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.in_algE"><span class="id" title="lemma">in_algE</span></a> <span class="id" title="var">a</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.in_alg_loc"><span class="id" title="abbreviation">in_alg_loc</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RmorphismTheory.InAlgebra.A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#a"><span class="id" title="variable">a</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#a"><span class="id" title="variable">a</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#b328a5aed2733481ae9bfe9f2b7cc645"><span class="id" title="notation">%:</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#b328a5aed2733481ae9bfe9f2b7cc645"><span class="id" title="notation">A</span></a>. <br/> <br/> <span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RmorphismTheory.InAlgebra"><span class="id" title="section">InAlgebra</span></a>.<br/> @@ -2218,31 +2234,31 @@ <span class="id" title="keyword">Section</span> <a name="GRing.Scale.ScaleLaw"><span class="id" title="section">ScaleLaw</span></a>.<br/> <br/> -<span class="id" title="keyword">Structure</span> <a name="GRing.Scale.law"><span class="id" title="record">law</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">V</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Zmodule.Exports.zmodType"><span class="id" title="abbreviation">zmodType</span></a>) (<span class="id" title="var">s</span> : <a class="idref" href="mathcomp.algebra.ssralg.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.ssralg.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#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#V"><span class="id" title="variable">V</span></a>) := <a name="GRing.Scale.Law"><span class="id" title="constructor">Law</span></a> {<br/> - <a name="GRing.Scale.op"><span class="id" title="projection">op</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.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.ssralg.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#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#V"><span class="id" title="variable">V</span></a>;<br/> - <span class="id" title="var">_</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#op"><span class="id" title="method">op</span></a> <a class="idref" href="http://coq.inria.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#s"><span class="id" title="variable">s</span></a>;<br/> - <span class="id" title="var">_</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#op"><span class="id" title="method">op</span></a> (-1) <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="mathcomp.algebra.ssralg.html#221881b99d58ceaaa33c4172192f697e"><span class="id" title="notation">-%</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#221881b99d58ceaaa33c4172192f697e"><span class="id" title="notation">R</span></a>;<br/> +<span class="id" title="keyword">Structure</span> <a name="GRing.Scale.law"><span class="id" title="record">law</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">V</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Zmodule.Exports.zmodType"><span class="id" title="abbreviation">zmodType</span></a>) (<span class="id" title="var">s</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#R"><span class="id" title="variable">R</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#V"><span class="id" title="variable">V</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#V"><span class="id" title="variable">V</span></a>) := <a name="GRing.Scale.Law"><span class="id" title="constructor">Law</span></a> {<br/> + <a name="GRing.Scale.op"><span class="id" title="projection">op</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#R"><span class="id" title="variable">R</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#V"><span class="id" title="variable">V</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#V"><span class="id" title="variable">V</span></a>;<br/> + <span class="id" title="var">_</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#op"><span class="id" title="method">op</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#s"><span class="id" title="variable">s</span></a>;<br/> + <span class="id" title="var">_</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#op"><span class="id" title="method">op</span></a> (-1) <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#876aa133fb3472bffd492f74ff496035"><span class="id" title="notation">=1</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f6c07ffdcee3462925d63c623b06b027"><span class="id" title="notation">-%</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#f6c07ffdcee3462925d63c623b06b027"><span class="id" title="notation">R</span></a>;<br/> <span class="id" title="var">_</span> : <span class="id" title="keyword">∀</span> <span class="id" title="var">a</span>, <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.additive"><span class="id" title="abbreviation">additive</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#op"><span class="id" title="method">op</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#a"><span class="id" title="variable">a</span></a>)<br/> }.<br/> <br/> -<span class="id" title="keyword">Definition</span> <a name="GRing.Scale.mul_law"><span class="id" title="definition">mul_law</span></a> <span class="id" title="var">R</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Scale.Law"><span class="id" title="constructor">Law</span></a> (<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#erefl"><span class="id" title="abbreviation">erefl</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#6498e6e308d8a143464cf2d2ba603d36"><span class="id" title="notation">*%</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#6498e6e308d8a143464cf2d2ba603d36"><span class="id" title="notation">R</span></a>) (@<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.mulN1r"><span class="id" title="lemma">mulN1r</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#R"><span class="id" title="variable">R</span></a>) (@<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.mulrBr"><span class="id" title="lemma">mulrBr</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#R"><span class="id" title="variable">R</span></a>).<br/> -<span class="id" title="keyword">Definition</span> <a name="GRing.Scale.scale_law"><span class="id" title="definition">scale_law</span></a> <span class="id" title="var">R</span> <span class="id" title="var">U</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Scale.Law"><span class="id" title="constructor">Law</span></a> (<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#erefl"><span class="id" title="abbreviation">erefl</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#9d4bc68f8a37455428efb931e05d31ce"><span class="id" title="notation">*:%</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#9d4bc68f8a37455428efb931e05d31ce"><span class="id" title="notation">R</span></a>) (@<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.scaleN1r"><span class="id" title="lemma">scaleN1r</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#R"><span class="id" title="variable">R</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#U"><span class="id" title="variable">U</span></a>) (@<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.scalerBr"><span class="id" title="lemma">scalerBr</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#R"><span class="id" title="variable">R</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#U"><span class="id" title="variable">U</span></a>).<br/> +<span class="id" title="keyword">Definition</span> <a name="GRing.Scale.mul_law"><span class="id" title="definition">mul_law</span></a> <span class="id" title="var">R</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Scale.Law"><span class="id" title="constructor">Law</span></a> (<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#erefl"><span class="id" title="abbreviation">erefl</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#bae191a5c954d16cccd67244cf8a6ceb"><span class="id" title="notation">*%</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#bae191a5c954d16cccd67244cf8a6ceb"><span class="id" title="notation">R</span></a>) (@<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.mulN1r"><span class="id" title="lemma">mulN1r</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#R"><span class="id" title="variable">R</span></a>) (@<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.mulrBr"><span class="id" title="lemma">mulrBr</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#R"><span class="id" title="variable">R</span></a>).<br/> +<span class="id" title="keyword">Definition</span> <a name="GRing.Scale.scale_law"><span class="id" title="definition">scale_law</span></a> <span class="id" title="var">R</span> <span class="id" title="var">U</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Scale.Law"><span class="id" title="constructor">Law</span></a> (<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#erefl"><span class="id" title="abbreviation">erefl</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#38480d07e3193b4bc897687500c6bc9c"><span class="id" title="notation">*:%</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#38480d07e3193b4bc897687500c6bc9c"><span class="id" title="notation">R</span></a>) (@<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.scaleN1r"><span class="id" title="lemma">scaleN1r</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#R"><span class="id" title="variable">R</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#U"><span class="id" title="variable">U</span></a>) (@<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.scalerBr"><span class="id" title="lemma">scalerBr</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#R"><span class="id" title="variable">R</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#U"><span class="id" title="variable">U</span></a>).<br/> <br/> -<span class="id" title="keyword">Variables</span> (<a name="GRing.Scale.ScaleLaw.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>) (<a name="GRing.Scale.ScaleLaw.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="GRing.Scale.ScaleLaw.s"><span class="id" title="variable">s</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.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.ssralg.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#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#V"><span class="id" title="variable">V</span></a>) (<a name="GRing.Scale.ScaleLaw.s_law"><span class="id" title="variable">s_law</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Scale.law"><span class="id" title="record">law</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#s"><span class="id" title="variable">s</span></a>).<br/> +<span class="id" title="keyword">Variables</span> (<a name="GRing.Scale.ScaleLaw.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>) (<a name="GRing.Scale.ScaleLaw.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="GRing.Scale.ScaleLaw.s"><span class="id" title="variable">s</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#R"><span class="id" title="variable">R</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#V"><span class="id" title="variable">V</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#V"><span class="id" title="variable">V</span></a>) (<a name="GRing.Scale.ScaleLaw.s_law"><span class="id" title="variable">s_law</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Scale.law"><span class="id" title="record">law</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#s"><span class="id" title="variable">s</span></a>).<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.Scale.opE"><span class="id" title="lemma">opE</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Scale.s_op"><span class="id" title="abbreviation">s_op</span></a> <a class="idref" href="http://coq.inria.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#GRing.Scale.ScaleLaw.s"><span class="id" title="variable">s</span></a>. <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.Scale.N1op"><span class="id" title="lemma">N1op</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Scale.s_op"><span class="id" title="abbreviation">s_op</span></a> (-1) <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="mathcomp.algebra.ssralg.html#221881b99d58ceaaa33c4172192f697e"><span class="id" title="notation">-%</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#221881b99d58ceaaa33c4172192f697e"><span class="id" title="notation">R</span></a>. <br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.Scale.opE"><span class="id" title="lemma">opE</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Scale.s_op"><span class="id" title="abbreviation">s_op</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Scale.ScaleLaw.s"><span class="id" title="variable">s</span></a>. <br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.Scale.N1op"><span class="id" title="lemma">N1op</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Scale.s_op"><span class="id" title="abbreviation">s_op</span></a> (-1) <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#876aa133fb3472bffd492f74ff496035"><span class="id" title="notation">=1</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f6c07ffdcee3462925d63c623b06b027"><span class="id" title="notation">-%</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#f6c07ffdcee3462925d63c623b06b027"><span class="id" title="notation">R</span></a>. <br/> <span class="id" title="keyword">Fact</span> <a name="GRing.Scale.opB"><span class="id" title="lemma">opB</span></a> <span class="id" title="var">a</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.additive"><span class="id" title="abbreviation">additive</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Scale.s_op"><span class="id" title="abbreviation">s_op</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#a"><span class="id" title="variable">a</span></a>). <br/> <span class="id" title="keyword">Definition</span> <a name="GRing.Scale.op_additive"><span class="id" title="definition">op_additive</span></a> <span class="id" title="var">a</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Additive"><span class="id" title="abbreviation">Additive</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Scale.opB"><span class="id" title="lemma">opB</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#a"><span class="id" title="variable">a</span></a>).<br/> <br/> -<span class="id" title="keyword">Variables</span> (<a name="GRing.Scale.ScaleLaw.aR"><span class="id" title="variable">aR</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Ring.Exports.ringType"><span class="id" title="abbreviation">ringType</span></a>) (<a name="GRing.Scale.ScaleLaw.nu"><span class="id" title="variable">nu</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.ssralg.html#aR"><span class="id" title="variable">aR</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.Scale.ScaleLaw.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>).<br/> -<span class="id" title="keyword">Fact</span> <a name="GRing.Scale.comp_opE"><span class="id" title="lemma">comp_opE</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Scale.ScaleLaw.nu"><span class="id" title="variable">nu</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#c42c5cb909c30537f9f6acfcf01cf7e1"><span class="id" title="notation">\;</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Scale.s_op"><span class="id" title="abbreviation">s_op</span></a> <a class="idref" href="http://coq.inria.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#GRing.Scale.ScaleLaw.nu"><span class="id" title="variable">nu</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#c42c5cb909c30537f9f6acfcf01cf7e1"><span class="id" title="notation">\;</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Scale.ScaleLaw.s"><span class="id" title="variable">s</span></a>. <br/> -<span class="id" title="keyword">Fact</span> <a name="GRing.Scale.compN1op"><span class="id" title="lemma">compN1op</span></a> : (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Scale.ScaleLaw.nu"><span class="id" title="variable">nu</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#c42c5cb909c30537f9f6acfcf01cf7e1"><span class="id" title="notation">\;</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Scale.s_op"><span class="id" title="abbreviation">s_op</span></a>) (-1) <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="mathcomp.algebra.ssralg.html#221881b99d58ceaaa33c4172192f697e"><span class="id" title="notation">-%</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#221881b99d58ceaaa33c4172192f697e"><span class="id" title="notation">R</span></a>.<br/> - <span class="id" title="keyword">Definition</span> <a name="GRing.Scale.comp_law"><span class="id" title="definition">comp_law</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Scale.law"><span class="id" title="record">law</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Scale.ScaleLaw.nu"><span class="id" title="variable">nu</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#c42c5cb909c30537f9f6acfcf01cf7e1"><span class="id" title="notation">\;</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Scale.ScaleLaw.s"><span class="id" title="variable">s</span></a>) := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Scale.Law"><span class="id" title="constructor">Law</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Scale.comp_opE"><span class="id" title="lemma">comp_opE</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Scale.compN1op"><span class="id" title="lemma">compN1op</span></a> (<span class="id" title="keyword">fun</span> <span class="id" title="var">a</span> ⇒ <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Scale.opB"><span class="id" title="lemma">opB</span></a> <span class="id" title="var">_</span>).<br/> +<span class="id" title="keyword">Variables</span> (<a name="GRing.Scale.ScaleLaw.aR"><span class="id" title="variable">aR</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Ring.Exports.ringType"><span class="id" title="abbreviation">ringType</span></a>) (<a name="GRing.Scale.ScaleLaw.nu"><span class="id" title="variable">nu</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#d531732ed602c7af62b88c7cfce824e5"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#d531732ed602c7af62b88c7cfce824e5"><span class="id" title="notation">rmorphism</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#aR"><span class="id" title="variable">aR</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Scale.ScaleLaw.R"><span class="id" title="variable">R</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#d531732ed602c7af62b88c7cfce824e5"><span class="id" title="notation">}</span></a>).<br/> +<span class="id" title="keyword">Fact</span> <a name="GRing.Scale.comp_opE"><span class="id" title="lemma">comp_opE</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Scale.ScaleLaw.nu"><span class="id" title="variable">nu</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#11ebad41b70994075d9152ef8d0a15b3"><span class="id" title="notation">\;</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Scale.s_op"><span class="id" title="abbreviation">s_op</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Scale.ScaleLaw.nu"><span class="id" title="variable">nu</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#11ebad41b70994075d9152ef8d0a15b3"><span class="id" title="notation">\;</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Scale.ScaleLaw.s"><span class="id" title="variable">s</span></a>. <br/> +<span class="id" title="keyword">Fact</span> <a name="GRing.Scale.compN1op"><span class="id" title="lemma">compN1op</span></a> : (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Scale.ScaleLaw.nu"><span class="id" title="variable">nu</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#11ebad41b70994075d9152ef8d0a15b3"><span class="id" title="notation">\;</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Scale.s_op"><span class="id" title="abbreviation">s_op</span></a>) (-1) <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#876aa133fb3472bffd492f74ff496035"><span class="id" title="notation">=1</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f6c07ffdcee3462925d63c623b06b027"><span class="id" title="notation">-%</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#f6c07ffdcee3462925d63c623b06b027"><span class="id" title="notation">R</span></a>.<br/> + <span class="id" title="keyword">Definition</span> <a name="GRing.Scale.comp_law"><span class="id" title="definition">comp_law</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Scale.law"><span class="id" title="record">law</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Scale.ScaleLaw.nu"><span class="id" title="variable">nu</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#11ebad41b70994075d9152ef8d0a15b3"><span class="id" title="notation">\;</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Scale.ScaleLaw.s"><span class="id" title="variable">s</span></a>) := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Scale.Law"><span class="id" title="constructor">Law</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Scale.comp_opE"><span class="id" title="lemma">comp_opE</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Scale.compN1op"><span class="id" title="lemma">compN1op</span></a> (<span class="id" title="keyword">fun</span> <span class="id" title="var">a</span> ⇒ <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Scale.opB"><span class="id" title="lemma">opB</span></a> <span class="id" title="var">_</span>).<br/> <br/> <span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Scale.ScaleLaw"><span class="id" title="section">ScaleLaw</span></a>.<br/> @@ -2257,33 +2273,33 @@ <span class="id" title="keyword">Section</span> <a name="GRing.Linear.ClassDef"><span class="id" title="section">ClassDef</span></a>.<br/> <br/> -<span class="id" title="keyword">Variables</span> (<a name="GRing.Linear.ClassDef.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>) (<a name="GRing.Linear.ClassDef.U"><span class="id" title="variable">U</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.ssralg.html#R"><span class="id" title="variable">R</span></a>) (<a name="GRing.Linear.ClassDef.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="GRing.Linear.ClassDef.s"><span class="id" title="variable">s</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.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.ssralg.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#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#V"><span class="id" title="variable">V</span></a>).<br/> -<span class="id" title="keyword">Implicit</span> <span class="id" title="keyword">Type</span> <span class="id" title="var">phUV</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssreflect.html#phant"><span class="id" title="inductive">phant</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Linear.ClassDef.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.ssralg.html#GRing.Linear.ClassDef.V"><span class="id" title="variable">V</span></a>).<br/> +<span class="id" title="keyword">Variables</span> (<a name="GRing.Linear.ClassDef.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>) (<a name="GRing.Linear.ClassDef.U"><span class="id" title="variable">U</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.ssralg.html#R"><span class="id" title="variable">R</span></a>) (<a name="GRing.Linear.ClassDef.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="GRing.Linear.ClassDef.s"><span class="id" title="variable">s</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#R"><span class="id" title="variable">R</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#V"><span class="id" title="variable">V</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#V"><span class="id" title="variable">V</span></a>).<br/> +<span class="id" title="keyword">Implicit</span> <span class="id" title="keyword">Type</span> <span class="id" title="var">phUV</span> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssreflect.html#phant"><span class="id" title="inductive">phant</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Linear.ClassDef.U"><span class="id" title="variable">U</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Linear.ClassDef.V"><span class="id" title="variable">V</span></a>).<br/> <br/> -<span class="id" title="keyword">Definition</span> <a name="GRing.Linear.axiom"><span class="id" title="definition">axiom</span></a> (<span class="id" title="var">f</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Linear.ClassDef.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.ssralg.html#GRing.Linear.ClassDef.V"><span class="id" title="variable">V</span></a>) (<span class="id" title="var">s_law</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Scale.law"><span class="id" title="record">Scale.law</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Linear.ClassDef.s"><span class="id" title="variable">s</span></a>) <span class="id" title="keyword">of</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Linear.ClassDef.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#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#s_law"><span class="id" title="variable">s_law</span></a> :=<br/> - <span class="id" title="keyword">∀</span> <span class="id" title="var">a</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="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.ssralg.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#a0fd72584f326d7220475d01d3fceccd"><span class="id" title="notation">:</span></a> <span class="id" title="var">u</span> <span class="id" title="var">v</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.ssralg.html#a"><span class="id" title="variable">a</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#5aa7bcc9ac922e77482767d325fdbb69"><span class="id" title="notation">*:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#u"><span class="id" title="variable">u</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#338c5345074fd3586073fd29273c138a"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#v"><span class="id" title="variable">v</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="mathcomp.algebra.ssralg.html#GRing.Linear.ClassDef.s"><span class="id" title="variable">s</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#a"><span class="id" title="variable">a</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#u"><span class="id" title="variable">u</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#338c5345074fd3586073fd29273c138a"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#v"><span class="id" title="variable">v</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/> -<span class="id" title="keyword">Definition</span> <a name="GRing.Linear.mixin_of"><span class="id" title="definition">mixin_of</span></a> (<span class="id" title="var">f</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Linear.ClassDef.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.ssralg.html#GRing.Linear.ClassDef.V"><span class="id" title="variable">V</span></a>) :=<br/> - <span class="id" title="keyword">∀</span> <span class="id" title="var">a</span>, <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#59b5bb4add86e1e9ecbe874e74b2216e"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#59b5bb4add86e1e9ecbe874e74b2216e"><span class="id" title="notation">morph</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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#59b5bb4add86e1e9ecbe874e74b2216e"><span class="id" title="notation">:</span></a> <span class="id" title="var">v</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#59b5bb4add86e1e9ecbe874e74b2216e"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#a"><span class="id" title="variable">a</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#5aa7bcc9ac922e77482767d325fdbb69"><span class="id" title="notation">*:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#v"><span class="id" title="variable">v</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#59b5bb4add86e1e9ecbe874e74b2216e"><span class="id" title="notation">>-></span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Linear.ClassDef.s"><span class="id" title="variable">s</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#a"><span class="id" title="variable">a</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#v"><span class="id" title="variable">v</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#59b5bb4add86e1e9ecbe874e74b2216e"><span class="id" title="notation">}</span></a>.<br/> +<span class="id" title="keyword">Definition</span> <a name="GRing.Linear.axiom"><span class="id" title="definition">axiom</span></a> (<span class="id" title="var">f</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Linear.ClassDef.U"><span class="id" title="variable">U</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Linear.ClassDef.V"><span class="id" title="variable">V</span></a>) (<span class="id" title="var">s_law</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Scale.law"><span class="id" title="record">Scale.law</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Linear.ClassDef.s"><span class="id" title="variable">s</span></a>) <span class="id" title="keyword">of</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Linear.ClassDef.s"><span class="id" title="variable">s</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#s_law"><span class="id" title="variable">s_law</span></a> :=<br/> + <span class="id" title="keyword">∀</span> <span class="id" title="var">a</span>, <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#40d800f6f36c47cb5f4f2f42555867a8"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#40d800f6f36c47cb5f4f2f42555867a8"><span class="id" title="notation">morph</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#40d800f6f36c47cb5f4f2f42555867a8"><span class="id" title="notation">:</span></a> <span class="id" title="var">u</span> <span class="id" title="var">v</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#40d800f6f36c47cb5f4f2f42555867a8"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#a"><span class="id" title="variable">a</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#10f331d2d40399852634935b8aa18b88"><span class="id" title="notation">*:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#u"><span class="id" title="variable">u</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#730bbb3cf1092122fa1a208d3879e5e8"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#v"><span class="id" title="variable">v</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#40d800f6f36c47cb5f4f2f42555867a8"><span class="id" title="notation">>-></span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Linear.ClassDef.s"><span class="id" title="variable">s</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#a"><span class="id" title="variable">a</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#u"><span class="id" title="variable">u</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#730bbb3cf1092122fa1a208d3879e5e8"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#v"><span class="id" title="variable">v</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#40d800f6f36c47cb5f4f2f42555867a8"><span class="id" title="notation">}</span></a>.<br/> +<span class="id" title="keyword">Definition</span> <a name="GRing.Linear.mixin_of"><span class="id" title="definition">mixin_of</span></a> (<span class="id" title="var">f</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Linear.ClassDef.U"><span class="id" title="variable">U</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Linear.ClassDef.V"><span class="id" title="variable">V</span></a>) :=<br/> + <span class="id" title="keyword">∀</span> <span class="id" title="var">a</span>, <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#8bf6fdbe8b0c22b67e58fa5cd9937190"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#8bf6fdbe8b0c22b67e58fa5cd9937190"><span class="id" title="notation">morph</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#8bf6fdbe8b0c22b67e58fa5cd9937190"><span class="id" title="notation">:</span></a> <span class="id" title="var">v</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#8bf6fdbe8b0c22b67e58fa5cd9937190"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#a"><span class="id" title="variable">a</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#10f331d2d40399852634935b8aa18b88"><span class="id" title="notation">*:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#v"><span class="id" title="variable">v</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#8bf6fdbe8b0c22b67e58fa5cd9937190"><span class="id" title="notation">>-></span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Linear.ClassDef.s"><span class="id" title="variable">s</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#a"><span class="id" title="variable">a</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#v"><span class="id" title="variable">v</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#8bf6fdbe8b0c22b67e58fa5cd9937190"><span class="id" title="notation">}</span></a>.<br/> <br/> <span class="id" title="keyword">Record</span> <a name="GRing.Linear.class_of"><span class="id" title="record">class_of</span></a> <span class="id" title="var">f</span> : <span class="id" title="keyword">Prop</span> := <a name="GRing.Linear.Class"><span class="id" title="constructor">Class</span></a> {<a name="GRing.Linear.base"><span class="id" title="projection">base</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.additive"><span class="id" title="abbreviation">additive</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f"><span class="id" title="variable">f</span></a>; <a name="GRing.Linear.mixin"><span class="id" title="projection">mixin</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Linear.mixin_of"><span class="id" title="definition">mixin_of</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f"><span class="id" title="variable">f</span></a>}.<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.Linear.class_of_axiom"><span class="id" title="lemma">class_of_axiom</span></a> <span class="id" title="var">f</span> <span class="id" title="var">s_law</span> <span class="id" title="var">Ds</span> : @<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Linear.axiom"><span class="id" title="definition">axiom</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#s_law"><span class="id" title="variable">s_law</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#Ds"><span class="id" title="variable">Ds</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.Linear.class_of"><span class="id" title="record">class_of</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f"><span class="id" title="variable">f</span></a>.<br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.Linear.class_of_axiom"><span class="id" title="lemma">class_of_axiom</span></a> <span class="id" title="var">f</span> <span class="id" title="var">s_law</span> <span class="id" title="var">Ds</span> : @<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Linear.axiom"><span class="id" title="definition">axiom</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#s_law"><span class="id" title="variable">s_law</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#Ds"><span class="id" title="variable">Ds</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Linear.class_of"><span class="id" title="record">class_of</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f"><span class="id" title="variable">f</span></a>.<br/> <br/> -<span class="id" title="keyword">Structure</span> <a name="GRing.Linear.map"><span class="id" title="record">map</span></a> (<span class="id" title="var">phUV</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssreflect.html#phant"><span class="id" title="inductive">phant</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Linear.ClassDef.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.ssralg.html#GRing.Linear.ClassDef.V"><span class="id" title="variable">V</span></a>)) := <a name="GRing.Linear.Pack"><span class="id" title="constructor">Pack</span></a> {<a name="GRing.Linear.apply"><span class="id" title="projection">apply</span></a>; <span class="id" title="var">_</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Linear.class_of"><span class="id" title="record">class_of</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#apply"><span class="id" title="method">apply</span></a>}.<br/> +<span class="id" title="keyword">Structure</span> <a name="GRing.Linear.map"><span class="id" title="record">map</span></a> (<span class="id" title="var">phUV</span> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssreflect.html#phant"><span class="id" title="inductive">phant</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Linear.ClassDef.U"><span class="id" title="variable">U</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Linear.ClassDef.V"><span class="id" title="variable">V</span></a>)) := <a name="GRing.Linear.Pack"><span class="id" title="constructor">Pack</span></a> {<a name="GRing.Linear.apply"><span class="id" title="projection">apply</span></a>; <span class="id" title="var">_</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Linear.class_of"><span class="id" title="record">class_of</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#apply"><span class="id" title="method">apply</span></a>}.<br/> <br/> -<span class="id" title="keyword">Variables</span> (<a name="GRing.Linear.ClassDef.phUV"><span class="id" title="variable">phUV</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssreflect.html#phant"><span class="id" title="inductive">phant</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Linear.ClassDef.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.ssralg.html#GRing.Linear.ClassDef.V"><span class="id" title="variable">V</span></a>)) (<a name="GRing.Linear.ClassDef.f"><span class="id" title="variable">f</span></a> <a name="GRing.Linear.ClassDef.g"><span class="id" title="variable">g</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Linear.ClassDef.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.ssralg.html#GRing.Linear.ClassDef.V"><span class="id" title="variable">V</span></a>) (<a name="GRing.Linear.ClassDef.cF"><span class="id" title="variable">cF</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Linear.map"><span class="id" title="record">map</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#phUV"><span class="id" title="variable">phUV</span></a>).<br/> +<span class="id" title="keyword">Variables</span> (<a name="GRing.Linear.ClassDef.phUV"><span class="id" title="variable">phUV</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssreflect.html#phant"><span class="id" title="inductive">phant</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Linear.ClassDef.U"><span class="id" title="variable">U</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Linear.ClassDef.V"><span class="id" title="variable">V</span></a>)) (<a name="GRing.Linear.ClassDef.f"><span class="id" title="variable">f</span></a> <a name="GRing.Linear.ClassDef.g"><span class="id" title="variable">g</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Linear.ClassDef.U"><span class="id" title="variable">U</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Linear.ClassDef.V"><span class="id" title="variable">V</span></a>) (<a name="GRing.Linear.ClassDef.cF"><span class="id" title="variable">cF</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Linear.map"><span class="id" title="record">map</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#phUV"><span class="id" title="variable">phUV</span></a>).<br/> <span class="id" title="keyword">Definition</span> <a name="GRing.Linear.class"><span class="id" title="definition">class</span></a> := <span class="id" title="keyword">let</span>: <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Linear.Pack"><span class="id" title="constructor">Pack</span></a> <span class="id" title="var">_</span> <span class="id" title="var">c</span> <span class="id" title="keyword">as</span> <span class="id" title="var">cF'</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Linear.ClassDef.cF"><span class="id" title="variable">cF</span></a> <span class="id" title="keyword">return</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Linear.class_of"><span class="id" title="record">class_of</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#cF'"><span class="id" title="variable">cF'</span></a> <span class="id" title="tactic">in</span> <span class="id" title="var">c</span>.<br/> -<span class="id" title="keyword">Definition</span> <a name="GRing.Linear.clone"><span class="id" title="definition">clone</span></a> <span class="id" title="var">fL</span> <span class="id" title="keyword">of</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#phant_id"><span class="id" title="definition">phant_id</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Linear.ClassDef.g"><span class="id" title="variable">g</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Linear.apply"><span class="id" title="projection">apply</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Linear.ClassDef.cF"><span class="id" title="variable">cF</span></a>) & <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#phant_id"><span class="id" title="definition">phant_id</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#fL"><span class="id" title="variable">fL</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Linear.class"><span class="id" title="definition">class</span></a> :=<br/> +<span class="id" title="keyword">Definition</span> <a name="GRing.Linear.clone"><span class="id" title="definition">clone</span></a> <span class="id" title="var">fL</span> <span class="id" title="keyword">of</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#phant_id"><span class="id" title="definition">phant_id</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Linear.ClassDef.g"><span class="id" title="variable">g</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Linear.apply"><span class="id" title="projection">apply</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Linear.ClassDef.cF"><span class="id" title="variable">cF</span></a>) & <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#phant_id"><span class="id" title="definition">phant_id</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#fL"><span class="id" title="variable">fL</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Linear.class"><span class="id" title="definition">class</span></a> :=<br/> @<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Linear.Pack"><span class="id" title="constructor">Pack</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Linear.ClassDef.phUV"><span class="id" title="variable">phUV</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Linear.ClassDef.f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#fL"><span class="id" title="variable">fL</span></a>.<br/> <br/> <span class="id" title="keyword">Definition</span> <a name="GRing.Linear.pack"><span class="id" title="definition">pack</span></a> (<span class="id" title="var">fZ</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Linear.mixin_of"><span class="id" title="definition">mixin_of</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Linear.ClassDef.f"><span class="id" title="variable">f</span></a>) :=<br/> - <span class="id" title="keyword">fun</span> (<span class="id" title="var">bF</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Additive.map"><span class="id" title="record">Additive.map</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Linear.ClassDef.phUV"><span class="id" title="variable">phUV</span></a>) <span class="id" title="var">fA</span> & <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#phant_id"><span class="id" title="definition">phant_id</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Additive.class"><span class="id" title="definition">Additive.class</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#bF"><span class="id" title="variable">bF</span></a>) <a class="idref" href="mathcomp.algebra.ssralg.html#fA"><span class="id" title="variable">fA</span></a> ⇒<br/> + <span class="id" title="keyword">fun</span> (<span class="id" title="var">bF</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Additive.map"><span class="id" title="record">Additive.map</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Linear.ClassDef.phUV"><span class="id" title="variable">phUV</span></a>) <span class="id" title="var">fA</span> & <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#phant_id"><span class="id" title="definition">phant_id</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Additive.class"><span class="id" title="definition">Additive.class</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#bF"><span class="id" title="variable">bF</span></a>) <a class="idref" href="mathcomp.algebra.ssralg.html#fA"><span class="id" title="variable">fA</span></a> ⇒<br/> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Linear.Pack"><span class="id" title="constructor">Pack</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Linear.ClassDef.phUV"><span class="id" title="variable">phUV</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Linear.Class"><span class="id" title="constructor">Class</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#fA"><span class="id" title="variable">fA</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#fZ"><span class="id" title="variable">fZ</span></a>).<br/> <br/> @@ -2296,11 +2312,11 @@ Support for right-to-left rewriting with the generic linearZ rule. </div> <div class="code"> -<span class="id" title="keyword">Notation</span> <a name="GRing.Linear.mapUV"><span class="id" title="abbreviation">mapUV</span></a> := (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Linear.map"><span class="id" title="record">map</span></a> (<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssreflect.html#Phant"><span class="id" title="constructor">Phant</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Linear.ClassDef.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.ssralg.html#GRing.Linear.ClassDef.V"><span class="id" title="variable">V</span></a>))).<br/> +<span class="id" title="keyword">Notation</span> <a name="GRing.Linear.mapUV"><span class="id" title="abbreviation">mapUV</span></a> := (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Linear.map"><span class="id" title="record">map</span></a> (<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssreflect.html#Phant"><span class="id" title="constructor">Phant</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Linear.ClassDef.U"><span class="id" title="variable">U</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Linear.ClassDef.V"><span class="id" title="variable">V</span></a>))).<br/> <span class="id" title="keyword">Definition</span> <a name="GRing.Linear.map_class"><span class="id" title="definition">map_class</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Linear.mapUV"><span class="id" title="abbreviation">mapUV</span></a>.<br/> <span class="id" title="keyword">Definition</span> <a name="GRing.Linear.map_at"><span class="id" title="definition">map_at</span></a> (<span class="id" title="var">a</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Linear.ClassDef.R"><span class="id" title="variable">R</span></a>) := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Linear.mapUV"><span class="id" title="abbreviation">mapUV</span></a>.<br/> -<span class="id" title="keyword">Structure</span> <a name="GRing.Linear.map_for"><span class="id" title="record">map_for</span></a> <span class="id" title="var">a</span> <span class="id" title="var">s_a</span> := <a name="GRing.Linear.MapFor"><span class="id" title="constructor">MapFor</span></a> {<a name="GRing.Linear.map_for_map"><span class="id" title="projection">map_for_map</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Linear.mapUV"><span class="id" title="abbreviation">mapUV</span></a>; <span class="id" title="var">_</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Linear.ClassDef.s"><span class="id" title="variable">s</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#a"><span class="id" title="variable">a</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#s_a"><span class="id" title="variable">s_a</span></a>}.<br/> -<span class="id" title="keyword">Definition</span> <a name="GRing.Linear.unify_map_at"><span class="id" title="definition">unify_map_at</span></a> <span class="id" title="var">a</span> (<span class="id" title="var">f</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Linear.map_at"><span class="id" title="definition">map_at</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#a"><span class="id" title="variable">a</span></a>) := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Linear.MapFor"><span class="id" title="constructor">MapFor</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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#erefl"><span class="id" title="abbreviation">erefl</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Linear.ClassDef.s"><span class="id" title="variable">s</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#a"><span class="id" title="variable">a</span></a>)).<br/> +<span class="id" title="keyword">Structure</span> <a name="GRing.Linear.map_for"><span class="id" title="record">map_for</span></a> <span class="id" title="var">a</span> <span class="id" title="var">s_a</span> := <a name="GRing.Linear.MapFor"><span class="id" title="constructor">MapFor</span></a> {<a name="GRing.Linear.map_for_map"><span class="id" title="projection">map_for_map</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Linear.mapUV"><span class="id" title="abbreviation">mapUV</span></a>; <span class="id" title="var">_</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Linear.ClassDef.s"><span class="id" title="variable">s</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#a"><span class="id" title="variable">a</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#s_a"><span class="id" title="variable">s_a</span></a>}.<br/> +<span class="id" title="keyword">Definition</span> <a name="GRing.Linear.unify_map_at"><span class="id" title="definition">unify_map_at</span></a> <span class="id" title="var">a</span> (<span class="id" title="var">f</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Linear.map_at"><span class="id" title="definition">map_at</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#a"><span class="id" title="variable">a</span></a>) := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Linear.MapFor"><span class="id" title="constructor">MapFor</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f"><span class="id" title="variable">f</span></a> (<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#erefl"><span class="id" title="abbreviation">erefl</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Linear.ClassDef.s"><span class="id" title="variable">s</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#a"><span class="id" title="variable">a</span></a>)).<br/> <span class="id" title="keyword">Structure</span> <a name="GRing.Linear.wrapped"><span class="id" title="record">wrapped</span></a> := <a name="GRing.Linear.Wrap"><span class="id" title="constructor">Wrap</span></a> {<a name="GRing.Linear.unwrap"><span class="id" title="projection">unwrap</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Linear.mapUV"><span class="id" title="abbreviation">mapUV</span></a>}.<br/> <span class="id" title="keyword">Definition</span> <a name="GRing.Linear.wrap"><span class="id" title="definition">wrap</span></a> (<span class="id" title="var">f</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Linear.map_class"><span class="id" title="definition">map_class</span></a>) := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Linear.Wrap"><span class="id" title="constructor">Wrap</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f"><span class="id" title="variable">f</span></a>.<br/> @@ -2314,34 +2330,34 @@ <span class="id" title="keyword">Canonical</span> <span class="id" title="var">Scale.comp_law</span>.<br/> <span class="id" title="keyword">Canonical</span> <span class="id" title="var">Scale.op_additive</span>.<br/> <span class="id" title="keyword">Delimit</span> <span class="id" title="keyword">Scope</span> <span class="id" title="var">linear_ring_scope</span> <span class="id" title="keyword">with</span> <span class="id" title="var">linR</span>.<br/> -<span class="id" title="keyword">Notation</span> <a name="1b425587d932db8b7cd45125c59bfd60"><span class="id" title="notation">"</span></a>a *: u" := (@<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Scale.op"><span class="id" title="projection">Scale.op</span></a> <span class="id" title="var">_</span> <span class="id" title="var">_</span> <a class="idref" href="mathcomp.algebra.ssralg.html#9d4bc68f8a37455428efb931e05d31ce"><span class="id" title="notation">*:%</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#9d4bc68f8a37455428efb931e05d31ce"><span class="id" title="notation">R</span></a> <span class="id" title="var">_</span> <span class="id" title="var">a</span> <span class="id" title="var">u</span>) : <span class="id" title="var">linear_ring_scope</span>.<br/> -<span class="id" title="keyword">Notation</span> <a name="b9df725616bc22e5319be68be2737326"><span class="id" title="notation">"</span></a>a * u" := (@<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Scale.op"><span class="id" title="projection">Scale.op</span></a> <span class="id" title="var">_</span> <span class="id" title="var">_</span> <a class="idref" href="mathcomp.algebra.ssralg.html#6498e6e308d8a143464cf2d2ba603d36"><span class="id" title="notation">*%</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#6498e6e308d8a143464cf2d2ba603d36"><span class="id" title="notation">R</span></a> <span class="id" title="var">_</span> <span class="id" title="var">a</span> <span class="id" title="var">u</span>) : <span class="id" title="var">linear_ring_scope</span>.<br/> -<span class="id" title="keyword">Notation</span> <a name="636fc7175acc7bc0025288ebd6946502"><span class="id" title="notation">"</span></a>a *:^ nu u" := (@<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Scale.op"><span class="id" title="projection">Scale.op</span></a> <span class="id" title="var">_</span> <span class="id" title="var">_</span> (<span class="id" title="var">nu</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#c42c5cb909c30537f9f6acfcf01cf7e1"><span class="id" title="notation">\;</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#9d4bc68f8a37455428efb931e05d31ce"><span class="id" title="notation">*:%</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#9d4bc68f8a37455428efb931e05d31ce"><span class="id" title="notation">R</span></a>) <span class="id" title="var">_</span> <span class="id" title="var">a</span> <span class="id" title="var">u</span>)<br/> +<span class="id" title="keyword">Notation</span> <a name="18d5a37ddb86b27d9a3e716fcbda4ee7"><span class="id" title="notation">"</span></a>a *: u" := (@<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Scale.op"><span class="id" title="projection">Scale.op</span></a> <span class="id" title="var">_</span> <span class="id" title="var">_</span> <a class="idref" href="mathcomp.algebra.ssralg.html#38480d07e3193b4bc897687500c6bc9c"><span class="id" title="notation">*:%</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#38480d07e3193b4bc897687500c6bc9c"><span class="id" title="notation">R</span></a> <span class="id" title="var">_</span> <span class="id" title="var">a</span> <span class="id" title="var">u</span>) : <span class="id" title="var">linear_ring_scope</span>.<br/> +<span class="id" title="keyword">Notation</span> <a name="751e095f871b75182d9f960cbc38311e"><span class="id" title="notation">"</span></a>a * u" := (@<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Scale.op"><span class="id" title="projection">Scale.op</span></a> <span class="id" title="var">_</span> <span class="id" title="var">_</span> <a class="idref" href="mathcomp.algebra.ssralg.html#bae191a5c954d16cccd67244cf8a6ceb"><span class="id" title="notation">*%</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#bae191a5c954d16cccd67244cf8a6ceb"><span class="id" title="notation">R</span></a> <span class="id" title="var">_</span> <span class="id" title="var">a</span> <span class="id" title="var">u</span>) : <span class="id" title="var">linear_ring_scope</span>.<br/> +<span class="id" title="keyword">Notation</span> <a name="34bba9fc83736a2ae54eedc9403c7ffa"><span class="id" title="notation">"</span></a>a *:^ nu u" := (@<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Scale.op"><span class="id" title="projection">Scale.op</span></a> <span class="id" title="var">_</span> <span class="id" title="var">_</span> (<span class="id" title="var">nu</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#11ebad41b70994075d9152ef8d0a15b3"><span class="id" title="notation">\;</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#38480d07e3193b4bc897687500c6bc9c"><span class="id" title="notation">*:%</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#38480d07e3193b4bc897687500c6bc9c"><span class="id" title="notation">R</span></a>) <span class="id" title="var">_</span> <span class="id" title="var">a</span> <span class="id" title="var">u</span>)<br/> (<span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 40, <span class="id" title="var">nu</span> <span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 1, <span class="id" title="var">format</span> "a *:^ nu u") : <span class="id" title="var">linear_ring_scope</span>.<br/> -<span class="id" title="keyword">Notation</span> <a name="56dc3588c918939e4ac45c0cdf7e2bdc"><span class="id" title="notation">"</span></a>a *^ nu u" := (@<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Scale.op"><span class="id" title="projection">Scale.op</span></a> <span class="id" title="var">_</span> <span class="id" title="var">_</span> (<span class="id" title="var">nu</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#c42c5cb909c30537f9f6acfcf01cf7e1"><span class="id" title="notation">\;</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#6498e6e308d8a143464cf2d2ba603d36"><span class="id" title="notation">*%</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#6498e6e308d8a143464cf2d2ba603d36"><span class="id" title="notation">R</span></a>) <span class="id" title="var">_</span> <span class="id" title="var">a</span> <span class="id" title="var">u</span>)<br/> +<span class="id" title="keyword">Notation</span> <a name="09fcb2ff53297f611c9440c05c397a76"><span class="id" title="notation">"</span></a>a *^ nu u" := (@<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Scale.op"><span class="id" title="projection">Scale.op</span></a> <span class="id" title="var">_</span> <span class="id" title="var">_</span> (<span class="id" title="var">nu</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#11ebad41b70994075d9152ef8d0a15b3"><span class="id" title="notation">\;</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#bae191a5c954d16cccd67244cf8a6ceb"><span class="id" title="notation">*%</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#bae191a5c954d16cccd67244cf8a6ceb"><span class="id" title="notation">R</span></a>) <span class="id" title="var">_</span> <span class="id" title="var">a</span> <span class="id" title="var">u</span>)<br/> (<span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 40, <span class="id" title="var">nu</span> <span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 1, <span class="id" title="var">format</span> "a *^ nu u") : <span class="id" title="var">linear_ring_scope</span>.<br/> <span class="id" title="keyword">Notation</span> <a name="GRing.Linear.Exports.scalable_for"><span class="id" title="abbreviation">scalable_for</span></a> <span class="id" title="var">s</span> <span class="id" title="var">f</span> := (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Linear.mixin_of"><span class="id" title="definition">mixin_of</span></a> <span class="id" title="var">s</span> <span class="id" title="var">f</span>).<br/> -<span class="id" title="keyword">Notation</span> <a name="GRing.Linear.Exports.scalable"><span class="id" title="abbreviation">scalable</span></a> <span class="id" title="var">f</span> := (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Linear.Exports.scalable_for"><span class="id" title="abbreviation">scalable_for</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#9d4bc68f8a37455428efb931e05d31ce"><span class="id" title="notation">*:%</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#9d4bc68f8a37455428efb931e05d31ce"><span class="id" title="notation">R</span></a> <span class="id" title="var">f</span>).<br/> -<span class="id" title="keyword">Notation</span> <a name="GRing.Linear.Exports.linear_for"><span class="id" title="abbreviation">linear_for</span></a> <span class="id" title="var">s</span> <span class="id" title="var">f</span> := (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Linear.axiom"><span class="id" title="definition">axiom</span></a> <span class="id" title="var">f</span> (<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#erefl"><span class="id" title="abbreviation">erefl</span></a> <span class="id" title="var">s</span>)).<br/> -<span class="id" title="keyword">Notation</span> <a name="GRing.Linear.Exports.linear"><span class="id" title="abbreviation">linear</span></a> <span class="id" title="var">f</span> := (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Linear.Exports.linear_for"><span class="id" title="abbreviation">linear_for</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#9d4bc68f8a37455428efb931e05d31ce"><span class="id" title="notation">*:%</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#9d4bc68f8a37455428efb931e05d31ce"><span class="id" title="notation">R</span></a> <span class="id" title="var">f</span>).<br/> -<span class="id" title="keyword">Notation</span> <a name="GRing.Linear.Exports.scalar"><span class="id" title="abbreviation">scalar</span></a> <span class="id" title="var">f</span> := (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Linear.Exports.linear_for"><span class="id" title="abbreviation">linear_for</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#6498e6e308d8a143464cf2d2ba603d36"><span class="id" title="notation">*%</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#6498e6e308d8a143464cf2d2ba603d36"><span class="id" title="notation">R</span></a> <span class="id" title="var">f</span>).<br/> +<span class="id" title="keyword">Notation</span> <a name="GRing.Linear.Exports.scalable"><span class="id" title="abbreviation">scalable</span></a> <span class="id" title="var">f</span> := (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Linear.Exports.scalable_for"><span class="id" title="abbreviation">scalable_for</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#38480d07e3193b4bc897687500c6bc9c"><span class="id" title="notation">*:%</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#38480d07e3193b4bc897687500c6bc9c"><span class="id" title="notation">R</span></a> <span class="id" title="var">f</span>).<br/> +<span class="id" title="keyword">Notation</span> <a name="GRing.Linear.Exports.linear_for"><span class="id" title="abbreviation">linear_for</span></a> <span class="id" title="var">s</span> <span class="id" title="var">f</span> := (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Linear.axiom"><span class="id" title="definition">axiom</span></a> <span class="id" title="var">f</span> (<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#erefl"><span class="id" title="abbreviation">erefl</span></a> <span class="id" title="var">s</span>)).<br/> +<span class="id" title="keyword">Notation</span> <a name="GRing.Linear.Exports.linear"><span class="id" title="abbreviation">linear</span></a> <span class="id" title="var">f</span> := (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Linear.Exports.linear_for"><span class="id" title="abbreviation">linear_for</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#38480d07e3193b4bc897687500c6bc9c"><span class="id" title="notation">*:%</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#38480d07e3193b4bc897687500c6bc9c"><span class="id" title="notation">R</span></a> <span class="id" title="var">f</span>).<br/> +<span class="id" title="keyword">Notation</span> <a name="GRing.Linear.Exports.scalar"><span class="id" title="abbreviation">scalar</span></a> <span class="id" title="var">f</span> := (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Linear.Exports.linear_for"><span class="id" title="abbreviation">linear_for</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#bae191a5c954d16cccd67244cf8a6ceb"><span class="id" title="notation">*%</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#bae191a5c954d16cccd67244cf8a6ceb"><span class="id" title="notation">R</span></a> <span class="id" title="var">f</span>).<br/> <span class="id" title="keyword">Notation</span> <a name="GRing.Linear.Exports.lmorphism_for"><span class="id" title="abbreviation">lmorphism_for</span></a> <span class="id" title="var">s</span> <span class="id" title="var">f</span> := (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Linear.class_of"><span class="id" title="record">class_of</span></a> <span class="id" title="var">s</span> <span class="id" title="var">f</span>).<br/> -<span class="id" title="keyword">Notation</span> <a name="GRing.Linear.Exports.lmorphism"><span class="id" title="abbreviation">lmorphism</span></a> <span class="id" title="var">f</span> := (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Linear.Exports.lmorphism_for"><span class="id" title="abbreviation">lmorphism_for</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#9d4bc68f8a37455428efb931e05d31ce"><span class="id" title="notation">*:%</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#9d4bc68f8a37455428efb931e05d31ce"><span class="id" title="notation">R</span></a> <span class="id" title="var">f</span>).<br/> +<span class="id" title="keyword">Notation</span> <a name="GRing.Linear.Exports.lmorphism"><span class="id" title="abbreviation">lmorphism</span></a> <span class="id" title="var">f</span> := (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Linear.Exports.lmorphism_for"><span class="id" title="abbreviation">lmorphism_for</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#38480d07e3193b4bc897687500c6bc9c"><span class="id" title="notation">*:%</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#38480d07e3193b4bc897687500c6bc9c"><span class="id" title="notation">R</span></a> <span class="id" title="var">f</span>).<br/> <span class="id" title="keyword">Coercion</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Linear.class_of_axiom"><span class="id" title="lemma">class_of_axiom</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Linear.class_of_axiom"><span class="id" title="lemma">:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Linear.class_of_axiom"><span class="id" title="lemma">axiom</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Linear.class_of_axiom"><span class="id" title="lemma">>-></span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Linear.class_of_axiom"><span class="id" title="lemma">lmorphism_for</span></a>.<br/> <span class="id" title="keyword">Coercion</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Linear.base"><span class="id" title="projection">base</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Linear.base"><span class="id" title="projection">:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Linear.base"><span class="id" title="projection">lmorphism_for</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Linear.base"><span class="id" title="projection">>-></span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Linear.base"><span class="id" title="projection">Additive.axiom</span></a>.<br/> <span class="id" title="keyword">Coercion</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Linear.mixin"><span class="id" title="projection">mixin</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Linear.mixin"><span class="id" title="projection">:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Linear.mixin"><span class="id" title="projection">lmorphism_for</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Linear.mixin"><span class="id" title="projection">>-></span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Linear.mixin"><span class="id" title="projection">scalable</span></a>.<br/> <span class="id" title="keyword">Coercion</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Linear.apply"><span class="id" title="projection">apply</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Linear.apply"><span class="id" title="projection">:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Linear.apply"><span class="id" title="projection">map</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Linear.apply"><span class="id" title="projection">>-></span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Linear.apply"><span class="id" title="projection">Funclass</span></a>.<br/> -<span class="id" title="keyword">Notation</span> <a name="GRing.Linear.Exports.Linear"><span class="id" title="abbreviation">Linear</span></a> <span class="id" title="var">fL</span> := (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Linear.Pack"><span class="id" title="constructor">Pack</span></a> (<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssreflect.html#Phant"><span class="id" title="constructor">Phant</span></a> <span class="id" title="var">_</span>) <span class="id" title="var">fL</span>).<br/> -<span class="id" title="keyword">Notation</span> <a name="GRing.Linear.Exports.AddLinear"><span class="id" title="abbreviation">AddLinear</span></a> <span class="id" title="var">fZ</span> := (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Linear.pack"><span class="id" title="definition">pack</span></a> <span class="id" title="var">fZ</span> <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>).<br/> -<span class="id" title="keyword">Notation</span> <a name="592bf656f19e2760c7b7fecf8aa4932d"><span class="id" title="notation">"</span></a>{ 'linear' fUV | s }" := (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Linear.map"><span class="id" title="record">map</span></a> <span class="id" title="var">s</span> (<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssreflect.html#Phant"><span class="id" title="constructor">Phant</span></a> <span class="id" title="var">fUV</span>))<br/> +<span class="id" title="keyword">Notation</span> <a name="GRing.Linear.Exports.Linear"><span class="id" title="abbreviation">Linear</span></a> <span class="id" title="var">fL</span> := (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Linear.Pack"><span class="id" title="constructor">Pack</span></a> (<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssreflect.html#Phant"><span class="id" title="constructor">Phant</span></a> <span class="id" title="var">_</span>) <span class="id" title="var">fL</span>).<br/> +<span class="id" title="keyword">Notation</span> <a name="GRing.Linear.Exports.AddLinear"><span class="id" title="abbreviation">AddLinear</span></a> <span class="id" title="var">fZ</span> := (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Linear.pack"><span class="id" title="definition">pack</span></a> <span class="id" title="var">fZ</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#id"><span class="id" title="abbreviation">id</span></a>).<br/> +<span class="id" title="keyword">Notation</span> <a name="aabc8eba9c2cbefac5d796739c9a54bd"><span class="id" title="notation">"</span></a>{ 'linear' fUV | s }" := (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Linear.map"><span class="id" title="record">map</span></a> <span class="id" title="var">s</span> (<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssreflect.html#Phant"><span class="id" title="constructor">Phant</span></a> <span class="id" title="var">fUV</span>))<br/> (<span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 0, <span class="id" title="var">format</span> "{ 'linear' fUV | s }") : <span class="id" title="var">ring_scope</span>.<br/> -<span class="id" title="keyword">Notation</span> <a name="697e59dccfd7ad4519680ddb16ef82da"><span class="id" title="notation">"</span></a>{ 'linear' fUV }" := <a class="idref" href="mathcomp.algebra.ssralg.html#592bf656f19e2760c7b7fecf8aa4932d"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#592bf656f19e2760c7b7fecf8aa4932d"><span class="id" title="notation">linear</span></a> <span class="id" title="var">fUV</span> <a class="idref" href="mathcomp.algebra.ssralg.html#592bf656f19e2760c7b7fecf8aa4932d"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#9d4bc68f8a37455428efb931e05d31ce"><span class="id" title="notation">*:%</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#9d4bc68f8a37455428efb931e05d31ce"><span class="id" title="notation">R</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#592bf656f19e2760c7b7fecf8aa4932d"><span class="id" title="notation">}</span></a><br/> +<span class="id" title="keyword">Notation</span> <a name="b9a9030f88e15d1a3aacd4e8ec9a2391"><span class="id" title="notation">"</span></a>{ 'linear' fUV }" := <a class="idref" href="mathcomp.algebra.ssralg.html#aabc8eba9c2cbefac5d796739c9a54bd"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#aabc8eba9c2cbefac5d796739c9a54bd"><span class="id" title="notation">linear</span></a> <span class="id" title="var">fUV</span> <a class="idref" href="mathcomp.algebra.ssralg.html#aabc8eba9c2cbefac5d796739c9a54bd"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#38480d07e3193b4bc897687500c6bc9c"><span class="id" title="notation">*:%</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#38480d07e3193b4bc897687500c6bc9c"><span class="id" title="notation">R</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#aabc8eba9c2cbefac5d796739c9a54bd"><span class="id" title="notation">}</span></a><br/> (<span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 0, <span class="id" title="var">format</span> "{ 'linear' fUV }") : <span class="id" title="var">ring_scope</span>.<br/> -<span class="id" title="keyword">Notation</span> <a name="3caf1c46544edfa98868625c22bf2d5e"><span class="id" title="notation">"</span></a>{ 'scalar' U }" := <a class="idref" href="mathcomp.algebra.ssralg.html#592bf656f19e2760c7b7fecf8aa4932d"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#592bf656f19e2760c7b7fecf8aa4932d"><span class="id" title="notation">linear</span></a> <span class="id" title="var">U</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> <span class="id" title="var">_</span> <a class="idref" href="mathcomp.algebra.ssralg.html#592bf656f19e2760c7b7fecf8aa4932d"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#6498e6e308d8a143464cf2d2ba603d36"><span class="id" title="notation">*%</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#6498e6e308d8a143464cf2d2ba603d36"><span class="id" title="notation">R</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#592bf656f19e2760c7b7fecf8aa4932d"><span class="id" title="notation">}</span></a><br/> +<span class="id" title="keyword">Notation</span> <a name="46175849544ed868533ead6f2ac4a179"><span class="id" title="notation">"</span></a>{ 'scalar' U }" := <a class="idref" href="mathcomp.algebra.ssralg.html#aabc8eba9c2cbefac5d796739c9a54bd"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#aabc8eba9c2cbefac5d796739c9a54bd"><span class="id" title="notation">linear</span></a> <span class="id" title="var">U</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <span class="id" title="var">_</span> <a class="idref" href="mathcomp.algebra.ssralg.html#aabc8eba9c2cbefac5d796739c9a54bd"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#bae191a5c954d16cccd67244cf8a6ceb"><span class="id" title="notation">*%</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#bae191a5c954d16cccd67244cf8a6ceb"><span class="id" title="notation">R</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#aabc8eba9c2cbefac5d796739c9a54bd"><span class="id" title="notation">}</span></a><br/> (<span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 0, <span class="id" title="var">format</span> "{ 'scalar' U }") : <span class="id" title="var">ring_scope</span>.<br/> -<span class="id" title="keyword">Notation</span> <a name="774108f4d8a6842d8de559e977fc7a05"><span class="id" title="notation">"</span></a>[ 'linear' 'of' f 'as' g ]" := (@<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Linear.clone"><span class="id" title="definition">clone</span></a> <span class="id" title="var">_</span> <span class="id" title="var">_</span> <span class="id" title="var">_</span> <span class="id" title="var">_</span> <span class="id" title="var">_</span> <span class="id" title="var">f</span> <span class="id" title="var">g</span> <span class="id" title="var">_</span> <span class="id" title="var">_</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#idfun"><span class="id" title="abbreviation">idfun</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>)<br/> +<span class="id" title="keyword">Notation</span> <a name="207c4f83c4cbc5a63a51367b095e08b4"><span class="id" title="notation">"</span></a>[ 'linear' 'of' f 'as' g ]" := (@<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Linear.clone"><span class="id" title="definition">clone</span></a> <span class="id" title="var">_</span> <span class="id" title="var">_</span> <span class="id" title="var">_</span> <span class="id" title="var">_</span> <span class="id" title="var">_</span> <span class="id" title="var">f</span> <span class="id" title="var">g</span> <span class="id" title="var">_</span> <span class="id" title="var">_</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#idfun"><span class="id" title="abbreviation">idfun</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#id"><span class="id" title="abbreviation">id</span></a>)<br/> (<span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 0, <span class="id" title="var">format</span> "[ 'linear' 'of' f 'as' g ]") : <span class="id" title="var">form_scope</span>.<br/> -<span class="id" title="keyword">Notation</span> <a name="6a5a02fb109bf09435e2c36ba981b2b6"><span class="id" title="notation">"</span></a>[ 'linear' 'of' f ]" := (@<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Linear.clone"><span class="id" title="definition">clone</span></a> <span class="id" title="var">_</span> <span class="id" title="var">_</span> <span class="id" title="var">_</span> <span class="id" title="var">_</span> <span class="id" title="var">_</span> <span class="id" title="var">f</span> <span class="id" title="var">f</span> <span class="id" title="var">_</span> <span class="id" title="var">_</span> <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.ssrfun.html#id"><span class="id" title="abbreviation">id</span></a>)<br/> +<span class="id" title="keyword">Notation</span> <a name="6190fe21ffbd3dab252b4f744e9e9c11"><span class="id" title="notation">"</span></a>[ 'linear' 'of' f ]" := (@<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Linear.clone"><span class="id" title="definition">clone</span></a> <span class="id" title="var">_</span> <span class="id" title="var">_</span> <span class="id" title="var">_</span> <span class="id" title="var">_</span> <span class="id" title="var">_</span> <span class="id" title="var">f</span> <span class="id" title="var">f</span> <span class="id" title="var">_</span> <span class="id" title="var">_</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#id"><span class="id" title="abbreviation">id</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#id"><span class="id" title="abbreviation">id</span></a>)<br/> (<span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 0, <span class="id" title="var">format</span> "[ 'linear' 'of' f ]") : <span class="id" title="var">form_scope</span>.<br/> <span class="id" title="keyword">Coercion</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Linear.additive"><span class="id" title="definition">additive</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Linear.additive"><span class="id" title="definition">:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Linear.additive"><span class="id" title="definition">map</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Linear.additive"><span class="id" title="definition">>-></span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Linear.additive"><span class="id" title="definition">Additive.map</span></a>.<br/> <span class="id" title="keyword">Canonical</span> <span class="id" title="var">additive</span>.<br/> @@ -2373,25 +2389,25 @@ <span class="id" title="keyword">Section</span> <a name="GRing.LinearTheory.GenericProperties"><span class="id" title="section">GenericProperties</span></a>.<br/> <br/> -<span class="id" title="keyword">Variables</span> (<a name="GRing.LinearTheory.GenericProperties.U"><span class="id" title="variable">U</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.lmodType"><span class="id" title="abbreviation">lmodType</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LinearTheory.R"><span class="id" title="variable">R</span></a>) (<a name="GRing.LinearTheory.GenericProperties.V"><span class="id" title="variable">V</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.zmodType"><span class="id" title="abbreviation">zmodType</span></a>) (<a name="GRing.LinearTheory.GenericProperties.s"><span class="id" title="variable">s</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LinearTheory.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.ssralg.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#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#V"><span class="id" title="variable">V</span></a>) (<a name="GRing.LinearTheory.GenericProperties.k"><span class="id" title="variable">k</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#unit"><span class="id" title="inductive">unit</span></a>).<br/> -<span class="id" title="keyword">Variable</span> <a name="GRing.LinearTheory.GenericProperties.f"><span class="id" title="variable">f</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#592bf656f19e2760c7b7fecf8aa4932d"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#592bf656f19e2760c7b7fecf8aa4932d"><span class="id" title="notation">linear</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LinearTheory.GenericProperties.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.ssralg.html#GRing.LinearTheory.GenericProperties.V"><span class="id" title="variable">V</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#592bf656f19e2760c7b7fecf8aa4932d"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LinearTheory.GenericProperties.s"><span class="id" title="variable">s</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#592bf656f19e2760c7b7fecf8aa4932d"><span class="id" title="notation">}</span></a>.<br/> +<span class="id" title="keyword">Variables</span> (<a name="GRing.LinearTheory.GenericProperties.U"><span class="id" title="variable">U</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.lmodType"><span class="id" title="abbreviation">lmodType</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LinearTheory.R"><span class="id" title="variable">R</span></a>) (<a name="GRing.LinearTheory.GenericProperties.V"><span class="id" title="variable">V</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.zmodType"><span class="id" title="abbreviation">zmodType</span></a>) (<a name="GRing.LinearTheory.GenericProperties.s"><span class="id" title="variable">s</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LinearTheory.R"><span class="id" title="variable">R</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#V"><span class="id" title="variable">V</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#V"><span class="id" title="variable">V</span></a>) (<a name="GRing.LinearTheory.GenericProperties.k"><span class="id" title="variable">k</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#unit"><span class="id" title="inductive">unit</span></a>).<br/> +<span class="id" title="keyword">Variable</span> <a name="GRing.LinearTheory.GenericProperties.f"><span class="id" title="variable">f</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#aabc8eba9c2cbefac5d796739c9a54bd"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#aabc8eba9c2cbefac5d796739c9a54bd"><span class="id" title="notation">linear</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LinearTheory.GenericProperties.U"><span class="id" title="variable">U</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LinearTheory.GenericProperties.V"><span class="id" title="variable">V</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#aabc8eba9c2cbefac5d796739c9a54bd"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LinearTheory.GenericProperties.s"><span class="id" title="variable">s</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#aabc8eba9c2cbefac5d796739c9a54bd"><span class="id" title="notation">}</span></a>.<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.linear0"><span class="id" title="lemma">linear0</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LinearTheory.GenericProperties.f"><span class="id" title="variable">f</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/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.linearN"><span class="id" title="lemma">linearN</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.ssralg.html#GRing.LinearTheory.GenericProperties.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.ssralg.html#eefae7eea8ed2b8fccf150cb653d7a7b"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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#c3c88e2b30b681cd767a54649faf5973"><span class="id" title="notation">}</span></a>. <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.linearD"><span class="id" title="lemma">linearD</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.ssralg.html#GRing.LinearTheory.GenericProperties.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#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.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#338c5345074fd3586073fd29273c138a"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.linearB"><span class="id" title="lemma">linearB</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.ssralg.html#GRing.LinearTheory.GenericProperties.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#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.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#4d4b9697032429ec46472e6332d1356a"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.linearMn"><span class="id" title="lemma">linearMn</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.ssralg.html#GRing.LinearTheory.GenericProperties.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.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#513eaa3129601ecbcc9e188a80d6155b"><span class="id" title="notation">*+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.linearMNn"><span class="id" title="lemma">linearMNn</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.ssralg.html#GRing.LinearTheory.GenericProperties.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.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#be9a273af87c6a30d88bd8379c802cbe"><span class="id" title="notation">*-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.linear_sum"><span class="id" title="lemma">linear_sum</span></a> <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.ssralg.html#I"><span class="id" title="variable">I</span></a>) <span class="id" title="var">E</span> :<br/> - <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LinearTheory.GenericProperties.f"><span class="id" title="variable">f</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#664ae738a3286983847c80e5ee4c8c6b"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#664ae738a3286983847c80e5ee4c8c6b"><span class="id" title="notation">sum_</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#664ae738a3286983847c80e5ee4c8c6b"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.algebra.ssralg.html#664ae738a3286983847c80e5ee4c8c6b"><span class="id" title="notation"><-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#r"><span class="id" title="variable">r</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#664ae738a3286983847c80e5ee4c8c6b"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#664ae738a3286983847c80e5ee4c8c6b"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#E"><span class="id" title="variable">E</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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#664ae738a3286983847c80e5ee4c8c6b"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#664ae738a3286983847c80e5ee4c8c6b"><span class="id" title="notation">sum_</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#664ae738a3286983847c80e5ee4c8c6b"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.algebra.ssralg.html#664ae738a3286983847c80e5ee4c8c6b"><span class="id" title="notation"><-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#r"><span class="id" title="variable">r</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#664ae738a3286983847c80e5ee4c8c6b"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#664ae738a3286983847c80e5ee4c8c6b"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LinearTheory.GenericProperties.f"><span class="id" title="variable">f</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#E"><span class="id" title="variable">E</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</span></a>).<br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.linear0"><span class="id" title="lemma">linear0</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LinearTheory.GenericProperties.f"><span class="id" title="variable">f</span></a> 0 <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> 0. <br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.linearN"><span class="id" title="lemma">linearN</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#3d6621e6eef40dcc7dc9a612222d0b4e"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#3d6621e6eef40dcc7dc9a612222d0b4e"><span class="id" title="notation">morph</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LinearTheory.GenericProperties.f"><span class="id" title="variable">f</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#3d6621e6eef40dcc7dc9a612222d0b4e"><span class="id" title="notation">:</span></a> <span class="id" title="var">x</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#3d6621e6eef40dcc7dc9a612222d0b4e"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#aa58dfcfb323e1f070c38e31f9efddbe"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#3d6621e6eef40dcc7dc9a612222d0b4e"><span class="id" title="notation">}</span></a>. <br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.linearD"><span class="id" title="lemma">linearD</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#e69c60b553f06d3463460a9f4cee3c01"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#e69c60b553f06d3463460a9f4cee3c01"><span class="id" title="notation">morph</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LinearTheory.GenericProperties.f"><span class="id" title="variable">f</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#e69c60b553f06d3463460a9f4cee3c01"><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/V8.9.0/stdlib//Coq.ssr.ssrfun.html#e69c60b553f06d3463460a9f4cee3c01"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#730bbb3cf1092122fa1a208d3879e5e8"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#e69c60b553f06d3463460a9f4cee3c01"><span class="id" title="notation">}</span></a>. <br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.linearB"><span class="id" title="lemma">linearB</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#e69c60b553f06d3463460a9f4cee3c01"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#e69c60b553f06d3463460a9f4cee3c01"><span class="id" title="notation">morph</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LinearTheory.GenericProperties.f"><span class="id" title="variable">f</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#e69c60b553f06d3463460a9f4cee3c01"><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/V8.9.0/stdlib//Coq.ssr.ssrfun.html#e69c60b553f06d3463460a9f4cee3c01"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#4a5fc7f0d0a33bc3822357a38c953c9e"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#e69c60b553f06d3463460a9f4cee3c01"><span class="id" title="notation">}</span></a>. <br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.linearMn"><span class="id" title="lemma">linearMn</span></a> <span class="id" title="var">n</span> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#3d6621e6eef40dcc7dc9a612222d0b4e"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#3d6621e6eef40dcc7dc9a612222d0b4e"><span class="id" title="notation">morph</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LinearTheory.GenericProperties.f"><span class="id" title="variable">f</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#3d6621e6eef40dcc7dc9a612222d0b4e"><span class="id" title="notation">:</span></a> <span class="id" title="var">x</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#3d6621e6eef40dcc7dc9a612222d0b4e"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#506f68330939db1f655609b68b37b467"><span class="id" title="notation">*+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#3d6621e6eef40dcc7dc9a612222d0b4e"><span class="id" title="notation">}</span></a>. <br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.linearMNn"><span class="id" title="lemma">linearMNn</span></a> <span class="id" title="var">n</span> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#3d6621e6eef40dcc7dc9a612222d0b4e"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#3d6621e6eef40dcc7dc9a612222d0b4e"><span class="id" title="notation">morph</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LinearTheory.GenericProperties.f"><span class="id" title="variable">f</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#3d6621e6eef40dcc7dc9a612222d0b4e"><span class="id" title="notation">:</span></a> <span class="id" title="var">x</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#3d6621e6eef40dcc7dc9a612222d0b4e"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#0c0f4a48fca1c1f27e9d71f54b6b8bd3"><span class="id" title="notation">*-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#3d6621e6eef40dcc7dc9a612222d0b4e"><span class="id" title="notation">}</span></a>. <br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.linear_sum"><span class="id" title="lemma">linear_sum</span></a> <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/V8.9.0/stdlib//Coq.ssr.ssrbool.html#pred"><span class="id" title="definition">pred</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#I"><span class="id" title="variable">I</span></a>) <span class="id" title="var">E</span> :<br/> + <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LinearTheory.GenericProperties.f"><span class="id" title="variable">f</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#dcb91d0b08ece8369cc6084787184d13"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#dcb91d0b08ece8369cc6084787184d13"><span class="id" title="notation">sum_</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#dcb91d0b08ece8369cc6084787184d13"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.algebra.ssralg.html#dcb91d0b08ece8369cc6084787184d13"><span class="id" title="notation"><-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#r"><span class="id" title="variable">r</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#dcb91d0b08ece8369cc6084787184d13"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#dcb91d0b08ece8369cc6084787184d13"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#E"><span class="id" title="variable">E</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</span></a>) <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#dcb91d0b08ece8369cc6084787184d13"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#dcb91d0b08ece8369cc6084787184d13"><span class="id" title="notation">sum_</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#dcb91d0b08ece8369cc6084787184d13"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.algebra.ssralg.html#dcb91d0b08ece8369cc6084787184d13"><span class="id" title="notation"><-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#r"><span class="id" title="variable">r</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#dcb91d0b08ece8369cc6084787184d13"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#dcb91d0b08ece8369cc6084787184d13"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LinearTheory.GenericProperties.f"><span class="id" title="variable">f</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#E"><span class="id" title="variable">E</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</span></a>).<br/> <br/> <span class="id" title="keyword">Lemma</span> <a name="GRing.linearZ_LR"><span class="id" title="lemma">linearZ_LR</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.scalable_for"><span class="id" title="abbreviation">scalable_for</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LinearTheory.GenericProperties.s"><span class="id" title="variable">s</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LinearTheory.GenericProperties.f"><span class="id" title="variable">f</span></a>. <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.linearP"><span class="id" title="lemma">linearP</span></a> <span class="id" title="var">a</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="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.ssralg.html#GRing.LinearTheory.GenericProperties.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#a0fd72584f326d7220475d01d3fceccd"><span class="id" title="notation">:</span></a> <span class="id" title="var">u</span> <span class="id" title="var">v</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.ssralg.html#a"><span class="id" title="variable">a</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#5aa7bcc9ac922e77482767d325fdbb69"><span class="id" title="notation">*:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#u"><span class="id" title="variable">u</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#338c5345074fd3586073fd29273c138a"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#v"><span class="id" title="variable">v</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="mathcomp.algebra.ssralg.html#GRing.LinearTheory.GenericProperties.s"><span class="id" title="variable">s</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#a"><span class="id" title="variable">a</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#u"><span class="id" title="variable">u</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#338c5345074fd3586073fd29273c138a"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#v"><span class="id" title="variable">v</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/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.linearP"><span class="id" title="lemma">linearP</span></a> <span class="id" title="var">a</span> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#40d800f6f36c47cb5f4f2f42555867a8"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#40d800f6f36c47cb5f4f2f42555867a8"><span class="id" title="notation">morph</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LinearTheory.GenericProperties.f"><span class="id" title="variable">f</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#40d800f6f36c47cb5f4f2f42555867a8"><span class="id" title="notation">:</span></a> <span class="id" title="var">u</span> <span class="id" title="var">v</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#40d800f6f36c47cb5f4f2f42555867a8"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#a"><span class="id" title="variable">a</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#10f331d2d40399852634935b8aa18b88"><span class="id" title="notation">*:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#u"><span class="id" title="variable">u</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#730bbb3cf1092122fa1a208d3879e5e8"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#v"><span class="id" title="variable">v</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#40d800f6f36c47cb5f4f2f42555867a8"><span class="id" title="notation">>-></span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LinearTheory.GenericProperties.s"><span class="id" title="variable">s</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#a"><span class="id" title="variable">a</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#u"><span class="id" title="variable">u</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#730bbb3cf1092122fa1a208d3879e5e8"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#v"><span class="id" title="variable">v</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#40d800f6f36c47cb5f4f2f42555867a8"><span class="id" title="notation">}</span></a>.<br/> <br/> -<span class="id" title="keyword">Fact</span> <a name="GRing.locked_is_scalable"><span class="id" title="lemma">locked_is_scalable</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.scalable_for"><span class="id" title="abbreviation">scalable_for</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LinearTheory.GenericProperties.s"><span class="id" title="variable">s</span></a> (<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssreflect.html#locked_with"><span class="id" title="definition">locked_with</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LinearTheory.GenericProperties.k"><span class="id" title="variable">k</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LinearTheory.GenericProperties.f"><span class="id" title="variable">f</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.ssralg.html#GRing.LinearTheory.GenericProperties.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.ssralg.html#GRing.LinearTheory.GenericProperties.V"><span class="id" title="variable">V</span></a>)).<br/> +<span class="id" title="keyword">Fact</span> <a name="GRing.locked_is_scalable"><span class="id" title="lemma">locked_is_scalable</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.scalable_for"><span class="id" title="abbreviation">scalable_for</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LinearTheory.GenericProperties.s"><span class="id" title="variable">s</span></a> (<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssreflect.html#locked_with"><span class="id" title="definition">locked_with</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LinearTheory.GenericProperties.k"><span class="id" title="variable">k</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LinearTheory.GenericProperties.f"><span class="id" title="variable">f</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssreflect.html#aed478b27f23b4f753c27c8ac393febc"><span class="id" title="notation">:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LinearTheory.GenericProperties.U"><span class="id" title="variable">U</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LinearTheory.GenericProperties.V"><span class="id" title="variable">V</span></a>)).<br/> <span class="id" title="keyword">Canonical</span> <span class="id" title="var">locked_linear</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.AddLinear"><span class="id" title="abbreviation">AddLinear</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.locked_is_scalable"><span class="id" title="lemma">locked_is_scalable</span></a>.<br/> <br/> @@ -2401,7 +2417,7 @@ <span class="id" title="keyword">Section</span> <a name="GRing.LinearTheory.BidirectionalLinearZ"><span class="id" title="section">BidirectionalLinearZ</span></a>.<br/> <br/> -<span class="id" title="keyword">Variables</span> (<a name="GRing.LinearTheory.BidirectionalLinearZ.U"><span class="id" title="variable">U</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.lmodType"><span class="id" title="abbreviation">lmodType</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LinearTheory.R"><span class="id" title="variable">R</span></a>) (<a name="GRing.LinearTheory.BidirectionalLinearZ.V"><span class="id" title="variable">V</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.zmodType"><span class="id" title="abbreviation">zmodType</span></a>) (<a name="GRing.LinearTheory.BidirectionalLinearZ.s"><span class="id" title="variable">s</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LinearTheory.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.ssralg.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#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#V"><span class="id" title="variable">V</span></a>).<br/> +<span class="id" title="keyword">Variables</span> (<a name="GRing.LinearTheory.BidirectionalLinearZ.U"><span class="id" title="variable">U</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.lmodType"><span class="id" title="abbreviation">lmodType</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LinearTheory.R"><span class="id" title="variable">R</span></a>) (<a name="GRing.LinearTheory.BidirectionalLinearZ.V"><span class="id" title="variable">V</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.zmodType"><span class="id" title="abbreviation">zmodType</span></a>) (<a name="GRing.LinearTheory.BidirectionalLinearZ.s"><span class="id" title="variable">s</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LinearTheory.R"><span class="id" title="variable">R</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#V"><span class="id" title="variable">V</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#V"><span class="id" title="variable">V</span></a>).<br/> <br/> </div> @@ -2436,11 +2452,11 @@ <div class="code"> <br/> -<span class="id" title="keyword">Variables</span> (<a name="GRing.LinearTheory.BidirectionalLinearZ.S"><span class="id" title="variable">S</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ringType"><span class="id" title="abbreviation">ringType</span></a>) (<a name="GRing.LinearTheory.BidirectionalLinearZ.h"><span class="id" title="variable">h</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.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#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LinearTheory.BidirectionalLinearZ.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#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LinearTheory.BidirectionalLinearZ.V"><span class="id" title="variable">V</span></a>) (<a name="GRing.LinearTheory.BidirectionalLinearZ.h_law"><span class="id" title="variable">h_law</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.law"><span class="id" title="record">Scale.law</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#h"><span class="id" title="variable">h</span></a>).<br/> +<span class="id" title="keyword">Variables</span> (<a name="GRing.LinearTheory.BidirectionalLinearZ.S"><span class="id" title="variable">S</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ringType"><span class="id" title="abbreviation">ringType</span></a>) (<a name="GRing.LinearTheory.BidirectionalLinearZ.h"><span class="id" title="variable">h</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#S"><span class="id" title="variable">S</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LinearTheory.BidirectionalLinearZ.V"><span class="id" title="variable">V</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LinearTheory.BidirectionalLinearZ.V"><span class="id" title="variable">V</span></a>) (<a name="GRing.LinearTheory.BidirectionalLinearZ.h_law"><span class="id" title="variable">h_law</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.law"><span class="id" title="record">Scale.law</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#h"><span class="id" title="variable">h</span></a>).<br/> <br/> <span class="id" title="keyword">Lemma</span> <a name="GRing.linearZ"><span class="id" title="lemma">linearZ</span></a> <span class="id" title="var">c</span> <span class="id" title="var">a</span> (<span class="id" title="var">h_c</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.op"><span class="id" title="projection">Scale.op</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LinearTheory.BidirectionalLinearZ.h_law"><span class="id" title="variable">h_law</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#c"><span class="id" title="variable">c</span></a>) (<span class="id" title="var">f</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.map_for"><span class="id" title="record">Linear.map_for</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LinearTheory.BidirectionalLinearZ.U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LinearTheory.BidirectionalLinearZ.s"><span class="id" title="variable">s</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#a"><span class="id" title="variable">a</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#h_c"><span class="id" title="variable">h_c</span></a>) <span class="id" title="var">u</span> :<br/> - <a class="idref" href="mathcomp.algebra.ssralg.html#f"><span class="id" title="variable">f</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#a"><span class="id" title="variable">a</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#5aa7bcc9ac922e77482767d325fdbb69"><span class="id" title="notation">*:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#h_c"><span class="id" title="variable">h_c</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.wrap"><span class="id" title="definition">Linear.wrap</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#u"><span class="id" title="variable">u</span></a>).<br/> + <a class="idref" href="mathcomp.algebra.ssralg.html#f"><span class="id" title="variable">f</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#a"><span class="id" title="variable">a</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#10f331d2d40399852634935b8aa18b88"><span class="id" title="notation">*:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#u"><span class="id" title="variable">u</span></a>) <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#h_c"><span class="id" title="variable">h_c</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.wrap"><span class="id" title="definition">Linear.wrap</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#u"><span class="id" title="variable">u</span></a>).<br/> <br/> <span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LinearTheory.BidirectionalLinearZ"><span class="id" title="section">BidirectionalLinearZ</span></a>.<br/> @@ -2449,18 +2465,18 @@ <span class="id" title="keyword">Section</span> <a name="GRing.LinearTheory.LmodProperties"><span class="id" title="section">LmodProperties</span></a>.<br/> <br/> -<span class="id" title="keyword">Variables</span> (<a name="GRing.LinearTheory.LmodProperties.U"><span class="id" title="variable">U</span></a> <a name="GRing.LinearTheory.LmodProperties.V"><span class="id" title="variable">V</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.lmodType"><span class="id" title="abbreviation">lmodType</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LinearTheory.R"><span class="id" title="variable">R</span></a>) (<a name="GRing.LinearTheory.LmodProperties.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.ssralg.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.ssralg.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/> +<span class="id" title="keyword">Variables</span> (<a name="GRing.LinearTheory.LmodProperties.U"><span class="id" title="variable">U</span></a> <a name="GRing.LinearTheory.LmodProperties.V"><span class="id" title="variable">V</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.lmodType"><span class="id" title="abbreviation">lmodType</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LinearTheory.R"><span class="id" title="variable">R</span></a>) (<a name="GRing.LinearTheory.LmodProperties.f"><span class="id" title="variable">f</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#b9a9030f88e15d1a3aacd4e8ec9a2391"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#b9a9030f88e15d1a3aacd4e8ec9a2391"><span class="id" title="notation">linear</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#V"><span class="id" title="variable">V</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#b9a9030f88e15d1a3aacd4e8ec9a2391"><span class="id" title="notation">}</span></a>).<br/> <br/> <span class="id" title="keyword">Lemma</span> <a name="GRing.linearZZ"><span class="id" title="lemma">linearZZ</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.scalable"><span class="id" title="abbreviation">scalable</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LinearTheory.LmodProperties.f"><span class="id" title="variable">f</span></a>. <br/> <span class="id" title="keyword">Lemma</span> <a name="GRing.linearPZ"><span class="id" title="lemma">linearPZ</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.linear"><span class="id" title="abbreviation">linear</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LinearTheory.LmodProperties.f"><span class="id" title="variable">f</span></a>. <br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.can2_linear"><span class="id" title="lemma">can2_linear</span></a> <span class="id" title="var">f'</span> : <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.ssralg.html#GRing.LinearTheory.LmodProperties.f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#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="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.ssralg.html#f'"><span class="id" title="variable">f'</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LinearTheory.LmodProperties.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.ssralg.html#GRing.linear"><span class="id" title="abbreviation">linear</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f'"><span class="id" title="variable">f'</span></a>.<br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.can2_linear"><span class="id" title="lemma">can2_linear</span></a> <span class="id" title="var">f'</span> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#cancel"><span class="id" title="definition">cancel</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LinearTheory.LmodProperties.f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f'"><span class="id" title="variable">f'</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#cancel"><span class="id" title="definition">cancel</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f'"><span class="id" title="variable">f'</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LinearTheory.LmodProperties.f"><span class="id" title="variable">f</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.linear"><span class="id" title="abbreviation">linear</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f'"><span class="id" title="variable">f'</span></a>.<br/> <br/> <span class="id" title="keyword">Lemma</span> <a name="GRing.bij_linear"><span class="id" title="lemma">bij_linear</span></a> :<br/> - <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#bijective"><span class="id" title="inductive">bijective</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LinearTheory.LmodProperties.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="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#fe60c20831f772c0c3c288abf68cc42a"><span class="id" title="notation">exists2</span></a> <span class="id" title="var">f'</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#fe60c20831f772c0c3c288abf68cc42a"><span class="id" title="notation">:</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.ssralg.html#GRing.LinearTheory.LmodProperties.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#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LinearTheory.LmodProperties.U"><span class="id" title="variable">U</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#697e59dccfd7ad4519680ddb16ef82da"><span class="id" title="notation">}</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#fe60c20831f772c0c3c288abf68cc42a"><span class="id" title="notation">,</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.ssralg.html#GRing.LinearTheory.LmodProperties.f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#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#fe60c20831f772c0c3c288abf68cc42a"><span class="id" title="notation">&</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.ssralg.html#f'"><span class="id" title="variable">f'</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LinearTheory.LmodProperties.f"><span class="id" title="variable">f</span></a>.<br/> + <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#bijective"><span class="id" title="inductive">bijective</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LinearTheory.LmodProperties.f"><span class="id" title="variable">f</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#59ba2b47d2814e66f8210a649ae6e6bc"><span class="id" title="notation">exists2</span></a> <span class="id" title="var">f'</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#59ba2b47d2814e66f8210a649ae6e6bc"><span class="id" title="notation">:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b9a9030f88e15d1a3aacd4e8ec9a2391"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#b9a9030f88e15d1a3aacd4e8ec9a2391"><span class="id" title="notation">linear</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LinearTheory.LmodProperties.V"><span class="id" title="variable">V</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LinearTheory.LmodProperties.U"><span class="id" title="variable">U</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#b9a9030f88e15d1a3aacd4e8ec9a2391"><span class="id" title="notation">}</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#59ba2b47d2814e66f8210a649ae6e6bc"><span class="id" title="notation">,</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#cancel"><span class="id" title="definition">cancel</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LinearTheory.LmodProperties.f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f'"><span class="id" title="variable">f'</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#59ba2b47d2814e66f8210a649ae6e6bc"><span class="id" title="notation">&</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#cancel"><span class="id" title="definition">cancel</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f'"><span class="id" title="variable">f'</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LinearTheory.LmodProperties.f"><span class="id" title="variable">f</span></a>.<br/> <br/> <span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LinearTheory.LmodProperties"><span class="id" title="section">LmodProperties</span></a>.<br/> @@ -2469,10 +2485,10 @@ <span class="id" title="keyword">Section</span> <a name="GRing.LinearTheory.ScalarProperties"><span class="id" title="section">ScalarProperties</span></a>.<br/> <br/> -<span class="id" title="keyword">Variable</span> (<a name="GRing.LinearTheory.ScalarProperties.U"><span class="id" title="variable">U</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.lmodType"><span class="id" title="abbreviation">lmodType</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LinearTheory.R"><span class="id" title="variable">R</span></a>) (<a name="GRing.LinearTheory.ScalarProperties.f"><span class="id" title="variable">f</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#3caf1c46544edfa98868625c22bf2d5e"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#3caf1c46544edfa98868625c22bf2d5e"><span class="id" title="notation">scalar</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#U"><span class="id" title="variable">U</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#3caf1c46544edfa98868625c22bf2d5e"><span class="id" title="notation">}</span></a>).<br/> +<span class="id" title="keyword">Variable</span> (<a name="GRing.LinearTheory.ScalarProperties.U"><span class="id" title="variable">U</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.lmodType"><span class="id" title="abbreviation">lmodType</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LinearTheory.R"><span class="id" title="variable">R</span></a>) (<a name="GRing.LinearTheory.ScalarProperties.f"><span class="id" title="variable">f</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#46175849544ed868533ead6f2ac4a179"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#46175849544ed868533ead6f2ac4a179"><span class="id" title="notation">scalar</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#U"><span class="id" title="variable">U</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#46175849544ed868533ead6f2ac4a179"><span class="id" title="notation">}</span></a>).<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.scalarZ"><span class="id" title="lemma">scalarZ</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.scalable_for"><span class="id" title="abbreviation">scalable_for</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#6498e6e308d8a143464cf2d2ba603d36"><span class="id" title="notation">*%</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#6498e6e308d8a143464cf2d2ba603d36"><span class="id" title="notation">R</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LinearTheory.ScalarProperties.f"><span class="id" title="variable">f</span></a>. <br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.scalarZ"><span class="id" title="lemma">scalarZ</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.scalable_for"><span class="id" title="abbreviation">scalable_for</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#bae191a5c954d16cccd67244cf8a6ceb"><span class="id" title="notation">*%</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#bae191a5c954d16cccd67244cf8a6ceb"><span class="id" title="notation">R</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LinearTheory.ScalarProperties.f"><span class="id" title="variable">f</span></a>. <br/> <span class="id" title="keyword">Lemma</span> <a name="GRing.scalarP"><span class="id" title="lemma">scalarP</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.scalar"><span class="id" title="abbreviation">scalar</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LinearTheory.ScalarProperties.f"><span class="id" title="variable">f</span></a>. <br/> <br/> @@ -2482,35 +2498,35 @@ <span class="id" title="keyword">Section</span> <a name="GRing.LinearTheory.LinearLmod"><span class="id" title="section">LinearLmod</span></a>.<br/> <br/> -<span class="id" title="keyword">Variables</span> (<a name="GRing.LinearTheory.LinearLmod.W"><span class="id" title="variable">W</span></a> <a name="GRing.LinearTheory.LinearLmod.U"><span class="id" title="variable">U</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.lmodType"><span class="id" title="abbreviation">lmodType</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LinearTheory.R"><span class="id" title="variable">R</span></a>) (<a name="GRing.LinearTheory.LinearLmod.V"><span class="id" title="variable">V</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.zmodType"><span class="id" title="abbreviation">zmodType</span></a>) (<a name="GRing.LinearTheory.LinearLmod.s"><span class="id" title="variable">s</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LinearTheory.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.ssralg.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#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#V"><span class="id" title="variable">V</span></a>).<br/> -<span class="id" title="keyword">Variables</span> (<a name="GRing.LinearTheory.LinearLmod.f"><span class="id" title="variable">f</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#592bf656f19e2760c7b7fecf8aa4932d"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#592bf656f19e2760c7b7fecf8aa4932d"><span class="id" title="notation">linear</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LinearTheory.LinearLmod.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.ssralg.html#GRing.LinearTheory.LinearLmod.V"><span class="id" title="variable">V</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#592bf656f19e2760c7b7fecf8aa4932d"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LinearTheory.LinearLmod.s"><span class="id" title="variable">s</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#592bf656f19e2760c7b7fecf8aa4932d"><span class="id" title="notation">}</span></a>) (<a name="GRing.LinearTheory.LinearLmod.h"><span class="id" title="variable">h</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.ssralg.html#GRing.LinearTheory.LinearLmod.W"><span class="id" title="variable">W</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.LinearTheory.LinearLmod.U"><span class="id" title="variable">U</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#697e59dccfd7ad4519680ddb16ef82da"><span class="id" title="notation">}</span></a>).<br/> +<span class="id" title="keyword">Variables</span> (<a name="GRing.LinearTheory.LinearLmod.W"><span class="id" title="variable">W</span></a> <a name="GRing.LinearTheory.LinearLmod.U"><span class="id" title="variable">U</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.lmodType"><span class="id" title="abbreviation">lmodType</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LinearTheory.R"><span class="id" title="variable">R</span></a>) (<a name="GRing.LinearTheory.LinearLmod.V"><span class="id" title="variable">V</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.zmodType"><span class="id" title="abbreviation">zmodType</span></a>) (<a name="GRing.LinearTheory.LinearLmod.s"><span class="id" title="variable">s</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LinearTheory.R"><span class="id" title="variable">R</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#V"><span class="id" title="variable">V</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#V"><span class="id" title="variable">V</span></a>).<br/> +<span class="id" title="keyword">Variables</span> (<a name="GRing.LinearTheory.LinearLmod.f"><span class="id" title="variable">f</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#aabc8eba9c2cbefac5d796739c9a54bd"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#aabc8eba9c2cbefac5d796739c9a54bd"><span class="id" title="notation">linear</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LinearTheory.LinearLmod.U"><span class="id" title="variable">U</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LinearTheory.LinearLmod.V"><span class="id" title="variable">V</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#aabc8eba9c2cbefac5d796739c9a54bd"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LinearTheory.LinearLmod.s"><span class="id" title="variable">s</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#aabc8eba9c2cbefac5d796739c9a54bd"><span class="id" title="notation">}</span></a>) (<a name="GRing.LinearTheory.LinearLmod.h"><span class="id" title="variable">h</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#b9a9030f88e15d1a3aacd4e8ec9a2391"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#b9a9030f88e15d1a3aacd4e8ec9a2391"><span class="id" title="notation">linear</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LinearTheory.LinearLmod.W"><span class="id" title="variable">W</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LinearTheory.LinearLmod.U"><span class="id" title="variable">U</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#b9a9030f88e15d1a3aacd4e8ec9a2391"><span class="id" title="notation">}</span></a>).<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.idfun_is_scalable"><span class="id" title="lemma">idfun_is_scalable</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.scalable"><span class="id" title="abbreviation">scalable</span></a> (<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#cc5a9586eb997be35b65ea12b2a985a9"><span class="id" title="notation">@</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#cc5a9586eb997be35b65ea12b2a985a9"><span class="id" title="notation">idfun</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LinearTheory.LinearLmod.U"><span class="id" title="variable">U</span></a>). <br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.idfun_is_scalable"><span class="id" title="lemma">idfun_is_scalable</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.scalable"><span class="id" title="abbreviation">scalable</span></a> (<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#41130ccc9d15f6b312cf971c8cd92b0f"><span class="id" title="notation">@</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#41130ccc9d15f6b312cf971c8cd92b0f"><span class="id" title="notation">idfun</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LinearTheory.LinearLmod.U"><span class="id" title="variable">U</span></a>). <br/> <span class="id" title="keyword">Canonical</span> <span class="id" title="var">idfun_linear</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.AddLinear"><span class="id" title="abbreviation">AddLinear</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.idfun_is_scalable"><span class="id" title="lemma">idfun_is_scalable</span></a>.<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.opp_is_scalable"><span class="id" title="lemma">opp_is_scalable</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.scalable"><span class="id" title="abbreviation">scalable</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#221881b99d58ceaaa33c4172192f697e"><span class="id" title="notation">-%</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#221881b99d58ceaaa33c4172192f697e"><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.ssralg.html#GRing.LinearTheory.LinearLmod.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.ssralg.html#GRing.LinearTheory.LinearLmod.U"><span class="id" title="variable">U</span></a>).<br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.opp_is_scalable"><span class="id" title="lemma">opp_is_scalable</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.scalable"><span class="id" title="abbreviation">scalable</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#f6c07ffdcee3462925d63c623b06b027"><span class="id" title="notation">-%</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#f6c07ffdcee3462925d63c623b06b027"><span class="id" title="notation">R</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssreflect.html#aed478b27f23b4f753c27c8ac393febc"><span class="id" title="notation">:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LinearTheory.LinearLmod.U"><span class="id" title="variable">U</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LinearTheory.LinearLmod.U"><span class="id" title="variable">U</span></a>).<br/> <span class="id" title="keyword">Canonical</span> <span class="id" title="var">opp_linear</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.AddLinear"><span class="id" title="abbreviation">AddLinear</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.opp_is_scalable"><span class="id" title="lemma">opp_is_scalable</span></a>.<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.comp_is_scalable"><span class="id" title="lemma">comp_is_scalable</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.scalable_for"><span class="id" title="abbreviation">scalable_for</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LinearTheory.LinearLmod.s"><span class="id" title="variable">s</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LinearTheory.LinearLmod.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#1b4394c5c1740ef3dc9e4224084970bb"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#1b4394c5c1740ef3dc9e4224084970bb"><span class="id" title="notation">o</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LinearTheory.LinearLmod.h"><span class="id" title="variable">h</span></a>).<br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.comp_is_scalable"><span class="id" title="lemma">comp_is_scalable</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.scalable_for"><span class="id" title="abbreviation">scalable_for</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LinearTheory.LinearLmod.s"><span class="id" title="variable">s</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LinearTheory.LinearLmod.f"><span class="id" title="variable">f</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#8b4742e3f67816503ce4ab2f3b81c27e"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#8b4742e3f67816503ce4ab2f3b81c27e"><span class="id" title="notation">o</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LinearTheory.LinearLmod.h"><span class="id" title="variable">h</span></a>).<br/> <span class="id" title="keyword">Canonical</span> <span class="id" title="var">comp_linear</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.AddLinear"><span class="id" title="abbreviation">AddLinear</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.comp_is_scalable"><span class="id" title="lemma">comp_is_scalable</span></a>.<br/> <br/> -<span class="id" title="keyword">Variables</span> (<a name="GRing.LinearTheory.LinearLmod.s_law"><span class="id" title="variable">s_law</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.law"><span class="id" title="record">Scale.law</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LinearTheory.LinearLmod.s"><span class="id" title="variable">s</span></a>) (<a name="GRing.LinearTheory.LinearLmod.g"><span class="id" title="variable">g</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#592bf656f19e2760c7b7fecf8aa4932d"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#592bf656f19e2760c7b7fecf8aa4932d"><span class="id" title="notation">linear</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LinearTheory.LinearLmod.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.ssralg.html#GRing.LinearTheory.LinearLmod.V"><span class="id" title="variable">V</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#592bf656f19e2760c7b7fecf8aa4932d"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.op"><span class="id" title="projection">Scale.op</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#s_law"><span class="id" title="variable">s_law</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#592bf656f19e2760c7b7fecf8aa4932d"><span class="id" title="notation">}</span></a>).<br/> -<span class="id" title="keyword">Let</span> <a name="GRing.LinearTheory.LinearLmod.Ds"><span class="id" title="variable">Ds</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LinearTheory.LinearLmod.s"><span class="id" title="variable">s</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="mathcomp.algebra.ssralg.html#GRing.op"><span class="id" title="projection">Scale.op</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LinearTheory.LinearLmod.s_law"><span class="id" title="variable">s_law</span></a>. <br/> +<span class="id" title="keyword">Variables</span> (<a name="GRing.LinearTheory.LinearLmod.s_law"><span class="id" title="variable">s_law</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.law"><span class="id" title="record">Scale.law</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LinearTheory.LinearLmod.s"><span class="id" title="variable">s</span></a>) (<a name="GRing.LinearTheory.LinearLmod.g"><span class="id" title="variable">g</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#aabc8eba9c2cbefac5d796739c9a54bd"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#aabc8eba9c2cbefac5d796739c9a54bd"><span class="id" title="notation">linear</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LinearTheory.LinearLmod.U"><span class="id" title="variable">U</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LinearTheory.LinearLmod.V"><span class="id" title="variable">V</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#aabc8eba9c2cbefac5d796739c9a54bd"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.op"><span class="id" title="projection">Scale.op</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#s_law"><span class="id" title="variable">s_law</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#aabc8eba9c2cbefac5d796739c9a54bd"><span class="id" title="notation">}</span></a>).<br/> +<span class="id" title="keyword">Let</span> <a name="GRing.LinearTheory.LinearLmod.Ds"><span class="id" title="variable">Ds</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LinearTheory.LinearLmod.s"><span class="id" title="variable">s</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#876aa133fb3472bffd492f74ff496035"><span class="id" title="notation">=1</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.op"><span class="id" title="projection">Scale.op</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LinearTheory.LinearLmod.s_law"><span class="id" title="variable">s_law</span></a>. <br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.null_fun_is_scalable"><span class="id" title="lemma">null_fun_is_scalable</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.scalable_for"><span class="id" title="abbreviation">scalable_for</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.op"><span class="id" title="projection">Scale.op</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LinearTheory.LinearLmod.s_law"><span class="id" title="variable">s_law</span></a>) (<a class="idref" href="mathcomp.algebra.ssralg.html#1b9a40373c4c41de4d5793af234729fd"><span class="id" title="notation">\0</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.ssralg.html#GRing.LinearTheory.LinearLmod.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.ssralg.html#GRing.LinearTheory.LinearLmod.V"><span class="id" title="variable">V</span></a>).<br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.null_fun_is_scalable"><span class="id" title="lemma">null_fun_is_scalable</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.scalable_for"><span class="id" title="abbreviation">scalable_for</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.op"><span class="id" title="projection">Scale.op</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LinearTheory.LinearLmod.s_law"><span class="id" title="variable">s_law</span></a>) (<a class="idref" href="mathcomp.algebra.ssralg.html#2fadffc111e97bfa2ac21311dff6237b"><span class="id" title="notation">\0</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssreflect.html#aed478b27f23b4f753c27c8ac393febc"><span class="id" title="notation">:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LinearTheory.LinearLmod.U"><span class="id" title="variable">U</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LinearTheory.LinearLmod.V"><span class="id" title="variable">V</span></a>).<br/> <span class="id" title="keyword">Canonical</span> <span class="id" title="var">null_fun_linear</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.AddLinear"><span class="id" title="abbreviation">AddLinear</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.null_fun_is_scalable"><span class="id" title="lemma">null_fun_is_scalable</span></a>.<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.add_fun_is_scalable"><span class="id" title="lemma">add_fun_is_scalable</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.scalable_for"><span class="id" title="abbreviation">scalable_for</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LinearTheory.LinearLmod.s"><span class="id" title="variable">s</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LinearTheory.LinearLmod.f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f2f8c9cbf6197be0e03c235df75623a4"><span class="id" title="notation">\+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LinearTheory.LinearLmod.g"><span class="id" title="variable">g</span></a>).<br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.add_fun_is_scalable"><span class="id" title="lemma">add_fun_is_scalable</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.scalable_for"><span class="id" title="abbreviation">scalable_for</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LinearTheory.LinearLmod.s"><span class="id" title="variable">s</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LinearTheory.LinearLmod.f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#e2061ffc5a4c809cf18bbafb8211e59f"><span class="id" title="notation">\+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LinearTheory.LinearLmod.g"><span class="id" title="variable">g</span></a>).<br/> <span class="id" title="keyword">Canonical</span> <span class="id" title="var">add_fun_linear</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.AddLinear"><span class="id" title="abbreviation">AddLinear</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.add_fun_is_scalable"><span class="id" title="lemma">add_fun_is_scalable</span></a>.<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.sub_fun_is_scalable"><span class="id" title="lemma">sub_fun_is_scalable</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.scalable_for"><span class="id" title="abbreviation">scalable_for</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LinearTheory.LinearLmod.s"><span class="id" title="variable">s</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LinearTheory.LinearLmod.f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#8af655ace12546ccf393660f3321db1e"><span class="id" title="notation">\-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LinearTheory.LinearLmod.g"><span class="id" title="variable">g</span></a>).<br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.sub_fun_is_scalable"><span class="id" title="lemma">sub_fun_is_scalable</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.scalable_for"><span class="id" title="abbreviation">scalable_for</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LinearTheory.LinearLmod.s"><span class="id" title="variable">s</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LinearTheory.LinearLmod.f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#8934e834fc8aae356ef1d8f2b3bd03ed"><span class="id" title="notation">\-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LinearTheory.LinearLmod.g"><span class="id" title="variable">g</span></a>).<br/> <span class="id" title="keyword">Canonical</span> <span class="id" title="var">sub_fun_linear</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.AddLinear"><span class="id" title="abbreviation">AddLinear</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.sub_fun_is_scalable"><span class="id" title="lemma">sub_fun_is_scalable</span></a>.<br/> <br/> @@ -2523,10 +2539,10 @@ <span class="id" title="keyword">Variables</span> (<a name="GRing.LinearTheory.LinearLalg.A"><span class="id" title="variable">A</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.lalgType"><span class="id" title="abbreviation">lalgType</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LinearTheory.R"><span class="id" title="variable">R</span></a>) (<a name="GRing.LinearTheory.LinearLalg.U"><span class="id" title="variable">U</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.lmodType"><span class="id" title="abbreviation">lmodType</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LinearTheory.R"><span class="id" title="variable">R</span></a>).<br/> <br/> -<span class="id" title="keyword">Variables</span> (<a name="GRing.LinearTheory.LinearLalg.a"><span class="id" title="variable">a</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LinearTheory.LinearLalg.A"><span class="id" title="variable">A</span></a>) (<a name="GRing.LinearTheory.LinearLalg.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.ssralg.html#GRing.LinearTheory.LinearLalg.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.ssralg.html#GRing.LinearTheory.LinearLalg.A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#697e59dccfd7ad4519680ddb16ef82da"><span class="id" title="notation">}</span></a>).<br/> +<span class="id" title="keyword">Variables</span> (<a name="GRing.LinearTheory.LinearLalg.a"><span class="id" title="variable">a</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LinearTheory.LinearLalg.A"><span class="id" title="variable">A</span></a>) (<a name="GRing.LinearTheory.LinearLalg.f"><span class="id" title="variable">f</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#b9a9030f88e15d1a3aacd4e8ec9a2391"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#b9a9030f88e15d1a3aacd4e8ec9a2391"><span class="id" title="notation">linear</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LinearTheory.LinearLalg.U"><span class="id" title="variable">U</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LinearTheory.LinearLalg.A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#b9a9030f88e15d1a3aacd4e8ec9a2391"><span class="id" title="notation">}</span></a>).<br/> <br/> -<span class="id" title="keyword">Fact</span> <a name="GRing.mulr_fun_is_scalable"><span class="id" title="lemma">mulr_fun_is_scalable</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.scalable"><span class="id" title="abbreviation">scalable</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LinearTheory.LinearLalg.a"><span class="id" title="variable">a</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#2b0f3ec783c950f59954eab0f90dbfa8"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#2b0f3ec783c950f59954eab0f90dbfa8"><span class="id" title="notation">o</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#2b0f3ec783c950f59954eab0f90dbfa8"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LinearTheory.LinearLalg.f"><span class="id" title="variable">f</span></a>).<br/> +<span class="id" title="keyword">Fact</span> <a name="GRing.mulr_fun_is_scalable"><span class="id" title="lemma">mulr_fun_is_scalable</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.scalable"><span class="id" title="abbreviation">scalable</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LinearTheory.LinearLalg.a"><span class="id" title="variable">a</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#fc74b441e09df14f29dadaaae6a85505"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#fc74b441e09df14f29dadaaae6a85505"><span class="id" title="notation">o</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#fc74b441e09df14f29dadaaae6a85505"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LinearTheory.LinearLalg.f"><span class="id" title="variable">f</span></a>).<br/> <span class="id" title="keyword">Canonical</span> <span class="id" title="var">mulr_fun_linear</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.AddLinear"><span class="id" title="abbreviation">AddLinear</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.mulr_fun_is_scalable"><span class="id" title="lemma">mulr_fun_is_scalable</span></a>.<br/> <br/> @@ -2542,30 +2558,30 @@ <span class="id" title="keyword">Section</span> <a name="GRing.LRMorphism.ClassDef"><span class="id" title="section">ClassDef</span></a>.<br/> <br/> -<span class="id" title="keyword">Variables</span> (<a name="GRing.LRMorphism.ClassDef.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>) (<a name="GRing.LRMorphism.ClassDef.A"><span class="id" title="variable">A</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lalgebra.Exports.lalgType"><span class="id" title="abbreviation">lalgType</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#R"><span class="id" title="variable">R</span></a>) (<a name="GRing.LRMorphism.ClassDef.B"><span class="id" title="variable">B</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Ring.Exports.ringType"><span class="id" title="abbreviation">ringType</span></a>) (<a name="GRing.LRMorphism.ClassDef.s"><span class="id" title="variable">s</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.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.ssralg.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#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#B"><span class="id" title="variable">B</span></a>).<br/> +<span class="id" title="keyword">Variables</span> (<a name="GRing.LRMorphism.ClassDef.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>) (<a name="GRing.LRMorphism.ClassDef.A"><span class="id" title="variable">A</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lalgebra.Exports.lalgType"><span class="id" title="abbreviation">lalgType</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#R"><span class="id" title="variable">R</span></a>) (<a name="GRing.LRMorphism.ClassDef.B"><span class="id" title="variable">B</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Ring.Exports.ringType"><span class="id" title="abbreviation">ringType</span></a>) (<a name="GRing.LRMorphism.ClassDef.s"><span class="id" title="variable">s</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#R"><span class="id" title="variable">R</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#B"><span class="id" title="variable">B</span></a>).<br/> <br/> -<span class="id" title="keyword">Record</span> <a name="GRing.LRMorphism.class_of"><span class="id" title="record">class_of</span></a> (<span class="id" title="var">f</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LRMorphism.ClassDef.A"><span class="id" title="variable">A</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LRMorphism.ClassDef.B"><span class="id" title="variable">B</span></a>) : <span class="id" title="keyword">Prop</span> :=<br/> +<span class="id" title="keyword">Record</span> <a name="GRing.LRMorphism.class_of"><span class="id" title="record">class_of</span></a> (<span class="id" title="var">f</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LRMorphism.ClassDef.A"><span class="id" title="variable">A</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LRMorphism.ClassDef.B"><span class="id" title="variable">B</span></a>) : <span class="id" title="keyword">Prop</span> :=<br/> <a name="GRing.LRMorphism.Class"><span class="id" title="constructor">Class</span></a> {<a name="GRing.LRMorphism.base"><span class="id" title="projection">base</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.rmorphism"><span class="id" title="abbreviation">rmorphism</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f"><span class="id" title="variable">f</span></a>; <a name="GRing.LRMorphism.mixin"><span class="id" title="projection">mixin</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.scalable_for"><span class="id" title="abbreviation">scalable_for</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LRMorphism.ClassDef.s"><span class="id" title="variable">s</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f"><span class="id" title="variable">f</span></a>}.<br/> <span class="id" title="keyword">Definition</span> <a name="GRing.LRMorphism.base2"><span class="id" title="definition">base2</span></a> <span class="id" title="var">f</span> (<span class="id" title="var">fLM</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LRMorphism.class_of"><span class="id" title="record">class_of</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f"><span class="id" title="variable">f</span></a>) := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Linear.Class"><span class="id" title="constructor">Linear.Class</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#fLM"><span class="id" title="variable">fLM</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LRMorphism.mixin"><span class="id" title="projection">mixin</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#fLM"><span class="id" title="variable">fLM</span></a>).<br/> <br/> -<span class="id" title="keyword">Structure</span> <a name="GRing.LRMorphism.map"><span class="id" title="record">map</span></a> (<span class="id" title="var">phAB</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssreflect.html#phant"><span class="id" title="inductive">phant</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LRMorphism.ClassDef.A"><span class="id" title="variable">A</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LRMorphism.ClassDef.B"><span class="id" title="variable">B</span></a>)) := <a name="GRing.LRMorphism.Pack"><span class="id" title="constructor">Pack</span></a> {<a name="GRing.LRMorphism.apply"><span class="id" title="projection">apply</span></a>; <span class="id" title="var">_</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LRMorphism.class_of"><span class="id" title="record">class_of</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#apply"><span class="id" title="method">apply</span></a>}.<br/> +<span class="id" title="keyword">Structure</span> <a name="GRing.LRMorphism.map"><span class="id" title="record">map</span></a> (<span class="id" title="var">phAB</span> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssreflect.html#phant"><span class="id" title="inductive">phant</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LRMorphism.ClassDef.A"><span class="id" title="variable">A</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LRMorphism.ClassDef.B"><span class="id" title="variable">B</span></a>)) := <a name="GRing.LRMorphism.Pack"><span class="id" title="constructor">Pack</span></a> {<a name="GRing.LRMorphism.apply"><span class="id" title="projection">apply</span></a>; <span class="id" title="var">_</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LRMorphism.class_of"><span class="id" title="record">class_of</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#apply"><span class="id" title="method">apply</span></a>}.<br/> <br/> -<span class="id" title="keyword">Variables</span> (<a name="GRing.LRMorphism.ClassDef.phAB"><span class="id" title="variable">phAB</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssreflect.html#phant"><span class="id" title="inductive">phant</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LRMorphism.ClassDef.A"><span class="id" title="variable">A</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LRMorphism.ClassDef.B"><span class="id" title="variable">B</span></a>)) (<a name="GRing.LRMorphism.ClassDef.f"><span class="id" title="variable">f</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LRMorphism.ClassDef.A"><span class="id" title="variable">A</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LRMorphism.ClassDef.B"><span class="id" title="variable">B</span></a>) (<a name="GRing.LRMorphism.ClassDef.cF"><span class="id" title="variable">cF</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LRMorphism.map"><span class="id" title="record">map</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#phAB"><span class="id" title="variable">phAB</span></a>).<br/> +<span class="id" title="keyword">Variables</span> (<a name="GRing.LRMorphism.ClassDef.phAB"><span class="id" title="variable">phAB</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssreflect.html#phant"><span class="id" title="inductive">phant</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LRMorphism.ClassDef.A"><span class="id" title="variable">A</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LRMorphism.ClassDef.B"><span class="id" title="variable">B</span></a>)) (<a name="GRing.LRMorphism.ClassDef.f"><span class="id" title="variable">f</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LRMorphism.ClassDef.A"><span class="id" title="variable">A</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LRMorphism.ClassDef.B"><span class="id" title="variable">B</span></a>) (<a name="GRing.LRMorphism.ClassDef.cF"><span class="id" title="variable">cF</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LRMorphism.map"><span class="id" title="record">map</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#phAB"><span class="id" title="variable">phAB</span></a>).<br/> <span class="id" title="keyword">Definition</span> <a name="GRing.LRMorphism.class"><span class="id" title="definition">class</span></a> := <span class="id" title="keyword">let</span>: <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LRMorphism.Pack"><span class="id" title="constructor">Pack</span></a> <span class="id" title="var">_</span> <span class="id" title="var">c</span> <span class="id" title="keyword">as</span> <span class="id" title="var">cF'</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LRMorphism.ClassDef.cF"><span class="id" title="variable">cF</span></a> <span class="id" title="keyword">return</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LRMorphism.class_of"><span class="id" title="record">class_of</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#cF'"><span class="id" title="variable">cF'</span></a> <span class="id" title="tactic">in</span> <span class="id" title="var">c</span>.<br/> <br/> <span class="id" title="keyword">Definition</span> <a name="GRing.LRMorphism.clone"><span class="id" title="definition">clone</span></a> :=<br/> - <span class="id" title="keyword">fun</span> (<span class="id" title="var">g</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RMorphism.map"><span class="id" title="record">RMorphism.map</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LRMorphism.ClassDef.phAB"><span class="id" title="variable">phAB</span></a>) <span class="id" title="var">fM</span> & <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#phant_id"><span class="id" title="definition">phant_id</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RMorphism.class"><span class="id" title="definition">RMorphism.class</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#g"><span class="id" title="variable">g</span></a>) <a class="idref" href="mathcomp.algebra.ssralg.html#fM"><span class="id" title="variable">fM</span></a> ⇒<br/> + <span class="id" title="keyword">fun</span> (<span class="id" title="var">g</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RMorphism.map"><span class="id" title="record">RMorphism.map</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LRMorphism.ClassDef.phAB"><span class="id" title="variable">phAB</span></a>) <span class="id" title="var">fM</span> & <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#phant_id"><span class="id" title="definition">phant_id</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RMorphism.class"><span class="id" title="definition">RMorphism.class</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#g"><span class="id" title="variable">g</span></a>) <a class="idref" href="mathcomp.algebra.ssralg.html#fM"><span class="id" title="variable">fM</span></a> ⇒<br/> <span class="id" title="keyword">fun</span> (<span class="id" title="var">h</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Linear.map"><span class="id" title="record">Linear.map</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LRMorphism.ClassDef.s"><span class="id" title="variable">s</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LRMorphism.ClassDef.phAB"><span class="id" title="variable">phAB</span></a>) <span class="id" title="var">fZ</span> &<br/> - <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#phant_id"><span class="id" title="definition">phant_id</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Linear.mixin"><span class="id" title="projection">Linear.mixin</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Linear.class"><span class="id" title="definition">Linear.class</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#h"><span class="id" title="variable">h</span></a>)) <a class="idref" href="mathcomp.algebra.ssralg.html#fZ"><span class="id" title="variable">fZ</span></a> ⇒<br/> + <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#phant_id"><span class="id" title="definition">phant_id</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Linear.mixin"><span class="id" title="projection">Linear.mixin</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Linear.class"><span class="id" title="definition">Linear.class</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#h"><span class="id" title="variable">h</span></a>)) <a class="idref" href="mathcomp.algebra.ssralg.html#fZ"><span class="id" title="variable">fZ</span></a> ⇒<br/> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LRMorphism.Pack"><span class="id" title="constructor">Pack</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LRMorphism.ClassDef.phAB"><span class="id" title="variable">phAB</span></a> (@<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LRMorphism.Class"><span class="id" title="constructor">Class</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LRMorphism.ClassDef.f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#fM"><span class="id" title="variable">fM</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#fZ"><span class="id" title="variable">fZ</span></a>).<br/> <br/> <span class="id" title="keyword">Definition</span> <a name="GRing.LRMorphism.pack"><span class="id" title="definition">pack</span></a> (<span class="id" title="var">fZ</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.scalable_for"><span class="id" title="abbreviation">scalable_for</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LRMorphism.ClassDef.s"><span class="id" title="variable">s</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LRMorphism.ClassDef.f"><span class="id" title="variable">f</span></a>) :=<br/> - <span class="id" title="keyword">fun</span> (<span class="id" title="var">g</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RMorphism.map"><span class="id" title="record">RMorphism.map</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LRMorphism.ClassDef.phAB"><span class="id" title="variable">phAB</span></a>) <span class="id" title="var">fM</span> & <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#phant_id"><span class="id" title="definition">phant_id</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RMorphism.class"><span class="id" title="definition">RMorphism.class</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#g"><span class="id" title="variable">g</span></a>) <a class="idref" href="mathcomp.algebra.ssralg.html#fM"><span class="id" title="variable">fM</span></a> ⇒<br/> + <span class="id" title="keyword">fun</span> (<span class="id" title="var">g</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RMorphism.map"><span class="id" title="record">RMorphism.map</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LRMorphism.ClassDef.phAB"><span class="id" title="variable">phAB</span></a>) <span class="id" title="var">fM</span> & <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#phant_id"><span class="id" title="definition">phant_id</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RMorphism.class"><span class="id" title="definition">RMorphism.class</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#g"><span class="id" title="variable">g</span></a>) <a class="idref" href="mathcomp.algebra.ssralg.html#fM"><span class="id" title="variable">fM</span></a> ⇒<br/> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LRMorphism.Pack"><span class="id" title="constructor">Pack</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LRMorphism.ClassDef.phAB"><span class="id" title="variable">phAB</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LRMorphism.Class"><span class="id" title="constructor">Class</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#fM"><span class="id" title="variable">fM</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#fZ"><span class="id" title="variable">fZ</span></a>).<br/> <br/> @@ -2581,17 +2597,17 @@ <br/> <span class="id" title="keyword">Module</span> <a name="GRing.LRMorphism.Exports"><span class="id" title="module">Exports</span></a>.<br/> <span class="id" title="keyword">Notation</span> <a name="GRing.LRMorphism.Exports.lrmorphism_for"><span class="id" title="abbreviation">lrmorphism_for</span></a> <span class="id" title="var">s</span> <span class="id" title="var">f</span> := (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LRMorphism.class_of"><span class="id" title="record">class_of</span></a> <span class="id" title="var">s</span> <span class="id" title="var">f</span>).<br/> -<span class="id" title="keyword">Notation</span> <a name="GRing.LRMorphism.Exports.lrmorphism"><span class="id" title="abbreviation">lrmorphism</span></a> <span class="id" title="var">f</span> := (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LRMorphism.Exports.lrmorphism_for"><span class="id" title="abbreviation">lrmorphism_for</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#9d4bc68f8a37455428efb931e05d31ce"><span class="id" title="notation">*:%</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#9d4bc68f8a37455428efb931e05d31ce"><span class="id" title="notation">R</span></a> <span class="id" title="var">f</span>).<br/> +<span class="id" title="keyword">Notation</span> <a name="GRing.LRMorphism.Exports.lrmorphism"><span class="id" title="abbreviation">lrmorphism</span></a> <span class="id" title="var">f</span> := (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LRMorphism.Exports.lrmorphism_for"><span class="id" title="abbreviation">lrmorphism_for</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#38480d07e3193b4bc897687500c6bc9c"><span class="id" title="notation">*:%</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#38480d07e3193b4bc897687500c6bc9c"><span class="id" title="notation">R</span></a> <span class="id" title="var">f</span>).<br/> <span class="id" title="keyword">Coercion</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LRMorphism.base"><span class="id" title="projection">base</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LRMorphism.base"><span class="id" title="projection">:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LRMorphism.base"><span class="id" title="projection">lrmorphism_for</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LRMorphism.base"><span class="id" title="projection">>-></span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LRMorphism.base"><span class="id" title="projection">RMorphism.class_of</span></a>.<br/> <span class="id" title="keyword">Coercion</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LRMorphism.base2"><span class="id" title="definition">base2</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LRMorphism.base2"><span class="id" title="definition">:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LRMorphism.base2"><span class="id" title="definition">lrmorphism_for</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LRMorphism.base2"><span class="id" title="definition">>-></span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LRMorphism.base2"><span class="id" title="definition">lmorphism_for</span></a>.<br/> <span class="id" title="keyword">Coercion</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LRMorphism.apply"><span class="id" title="projection">apply</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LRMorphism.apply"><span class="id" title="projection">:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LRMorphism.apply"><span class="id" title="projection">map</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LRMorphism.apply"><span class="id" title="projection">>-></span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LRMorphism.apply"><span class="id" title="projection">Funclass</span></a>.<br/> -<span class="id" title="keyword">Notation</span> <a name="GRing.LRMorphism.Exports.LRMorphism"><span class="id" title="abbreviation">LRMorphism</span></a> <span class="id" title="var">f_lrM</span> := (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LRMorphism.Pack"><span class="id" title="constructor">Pack</span></a> (<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssreflect.html#Phant"><span class="id" title="constructor">Phant</span></a> <span class="id" title="var">_</span>) (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LRMorphism.Class"><span class="id" title="constructor">Class</span></a> <span class="id" title="var">f_lrM</span> <span class="id" title="var">f_lrM</span>)).<br/> -<span class="id" title="keyword">Notation</span> <a name="GRing.LRMorphism.Exports.AddLRMorphism"><span class="id" title="abbreviation">AddLRMorphism</span></a> <span class="id" title="var">fZ</span> := (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LRMorphism.pack"><span class="id" title="definition">pack</span></a> <span class="id" title="var">fZ</span> <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>).<br/> -<span class="id" title="keyword">Notation</span> <a name="e29f9115b869cd4fe3153ebcc11c593c"><span class="id" title="notation">"</span></a>{ 'lrmorphism' fAB | s }" := (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LRMorphism.map"><span class="id" title="record">map</span></a> <span class="id" title="var">s</span> (<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssreflect.html#Phant"><span class="id" title="constructor">Phant</span></a> <span class="id" title="var">fAB</span>))<br/> +<span class="id" title="keyword">Notation</span> <a name="GRing.LRMorphism.Exports.LRMorphism"><span class="id" title="abbreviation">LRMorphism</span></a> <span class="id" title="var">f_lrM</span> := (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LRMorphism.Pack"><span class="id" title="constructor">Pack</span></a> (<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssreflect.html#Phant"><span class="id" title="constructor">Phant</span></a> <span class="id" title="var">_</span>) (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LRMorphism.Class"><span class="id" title="constructor">Class</span></a> <span class="id" title="var">f_lrM</span> <span class="id" title="var">f_lrM</span>)).<br/> +<span class="id" title="keyword">Notation</span> <a name="GRing.LRMorphism.Exports.AddLRMorphism"><span class="id" title="abbreviation">AddLRMorphism</span></a> <span class="id" title="var">fZ</span> := (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LRMorphism.pack"><span class="id" title="definition">pack</span></a> <span class="id" title="var">fZ</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#id"><span class="id" title="abbreviation">id</span></a>).<br/> +<span class="id" title="keyword">Notation</span> <a name="be490f36b8d971894ee8495ffc283566"><span class="id" title="notation">"</span></a>{ 'lrmorphism' fAB | s }" := (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LRMorphism.map"><span class="id" title="record">map</span></a> <span class="id" title="var">s</span> (<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssreflect.html#Phant"><span class="id" title="constructor">Phant</span></a> <span class="id" title="var">fAB</span>))<br/> (<span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 0, <span class="id" title="var">format</span> "{ 'lrmorphism' fAB | s }") : <span class="id" title="var">ring_scope</span>.<br/> -<span class="id" title="keyword">Notation</span> <a name="2759afce9315ab3f51737bc14cc79ce9"><span class="id" title="notation">"</span></a>{ 'lrmorphism' fAB }" := <a class="idref" href="mathcomp.algebra.ssralg.html#e29f9115b869cd4fe3153ebcc11c593c"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#e29f9115b869cd4fe3153ebcc11c593c"><span class="id" title="notation">lrmorphism</span></a> <span class="id" title="var">fAB</span> <a class="idref" href="mathcomp.algebra.ssralg.html#e29f9115b869cd4fe3153ebcc11c593c"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#9d4bc68f8a37455428efb931e05d31ce"><span class="id" title="notation">*:%</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#9d4bc68f8a37455428efb931e05d31ce"><span class="id" title="notation">R</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#e29f9115b869cd4fe3153ebcc11c593c"><span class="id" title="notation">}</span></a><br/> +<span class="id" title="keyword">Notation</span> <a name="c998d6ecd14e902f7fd2311ac585dfed"><span class="id" title="notation">"</span></a>{ 'lrmorphism' fAB }" := <a class="idref" href="mathcomp.algebra.ssralg.html#be490f36b8d971894ee8495ffc283566"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#be490f36b8d971894ee8495ffc283566"><span class="id" title="notation">lrmorphism</span></a> <span class="id" title="var">fAB</span> <a class="idref" href="mathcomp.algebra.ssralg.html#be490f36b8d971894ee8495ffc283566"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#38480d07e3193b4bc897687500c6bc9c"><span class="id" title="notation">*:%</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#38480d07e3193b4bc897687500c6bc9c"><span class="id" title="notation">R</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#be490f36b8d971894ee8495ffc283566"><span class="id" title="notation">}</span></a><br/> (<span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 0, <span class="id" title="var">format</span> "{ 'lrmorphism' fAB }") : <span class="id" title="var">ring_scope</span>.<br/> -<span class="id" title="keyword">Notation</span> <a name="8900f6ae77a86586561e15965d5870c7"><span class="id" title="notation">"</span></a>[ 'lrmorphism' 'of' f ]" := (@<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LRMorphism.clone"><span class="id" title="definition">clone</span></a> <span class="id" title="var">_</span> <span class="id" title="var">_</span> <span class="id" title="var">_</span> <span class="id" title="var">_</span> <span class="id" title="var">_</span> <span class="id" title="var">f</span> <span class="id" title="var">_</span> <span class="id" title="var">_</span> <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> <span class="id" title="var">_</span> <span class="id" title="var">_</span> <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>)<br/> +<span class="id" title="keyword">Notation</span> <a name="d17433407f88fd9a1e0740e2eddd6566"><span class="id" title="notation">"</span></a>[ 'lrmorphism' 'of' f ]" := (@<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LRMorphism.clone"><span class="id" title="definition">clone</span></a> <span class="id" title="var">_</span> <span class="id" title="var">_</span> <span class="id" title="var">_</span> <span class="id" title="var">_</span> <span class="id" title="var">_</span> <span class="id" title="var">f</span> <span class="id" title="var">_</span> <span class="id" title="var">_</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#id"><span class="id" title="abbreviation">id</span></a> <span class="id" title="var">_</span> <span class="id" title="var">_</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#id"><span class="id" title="abbreviation">id</span></a>)<br/> (<span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 0, <span class="id" title="var">format</span> "[ 'lrmorphism' 'of' f ]") : <span class="id" title="var">form_scope</span>.<br/> <span class="id" title="keyword">Coercion</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LRMorphism.additive"><span class="id" title="definition">additive</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LRMorphism.additive"><span class="id" title="definition">:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LRMorphism.additive"><span class="id" title="definition">map</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LRMorphism.additive"><span class="id" title="definition">>-></span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LRMorphism.additive"><span class="id" title="definition">Additive.map</span></a>.<br/> <span class="id" title="keyword">Canonical</span> <span class="id" title="var">additive</span>.<br/> @@ -2611,26 +2627,26 @@ <span class="id" title="keyword">Section</span> <a name="GRing.LRMorphismTheory"><span class="id" title="section">LRMorphismTheory</span></a>.<br/> <br/> -<span class="id" title="keyword">Variables</span> (<a name="GRing.LRMorphismTheory.R"><span class="id" title="variable">R</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ringType"><span class="id" title="abbreviation">ringType</span></a>) (<a name="GRing.LRMorphismTheory.A"><span class="id" title="variable">A</span></a> <a name="GRing.LRMorphismTheory.B"><span class="id" title="variable">B</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.lalgType"><span class="id" title="abbreviation">lalgType</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#R"><span class="id" title="variable">R</span></a>) (<a name="GRing.LRMorphismTheory.C"><span class="id" title="variable">C</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ringType"><span class="id" title="abbreviation">ringType</span></a>) (<a name="GRing.LRMorphismTheory.s"><span class="id" title="variable">s</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.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.ssralg.html#C"><span class="id" title="variable">C</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#C"><span class="id" title="variable">C</span></a>).<br/> -<span class="id" title="keyword">Variables</span> (<a name="GRing.LRMorphismTheory.k"><span class="id" title="variable">k</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#unit"><span class="id" title="inductive">unit</span></a>) (<a name="GRing.LRMorphismTheory.f"><span class="id" title="variable">f</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#2759afce9315ab3f51737bc14cc79ce9"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#2759afce9315ab3f51737bc14cc79ce9"><span class="id" title="notation">lrmorphism</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LRMorphismTheory.A"><span class="id" title="variable">A</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LRMorphismTheory.B"><span class="id" title="variable">B</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#2759afce9315ab3f51737bc14cc79ce9"><span class="id" title="notation">}</span></a>) (<a name="GRing.LRMorphismTheory.g"><span class="id" title="variable">g</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#e29f9115b869cd4fe3153ebcc11c593c"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#e29f9115b869cd4fe3153ebcc11c593c"><span class="id" title="notation">lrmorphism</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LRMorphismTheory.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#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LRMorphismTheory.C"><span class="id" title="variable">C</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#e29f9115b869cd4fe3153ebcc11c593c"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LRMorphismTheory.s"><span class="id" title="variable">s</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#e29f9115b869cd4fe3153ebcc11c593c"><span class="id" title="notation">}</span></a>).<br/> +<span class="id" title="keyword">Variables</span> (<a name="GRing.LRMorphismTheory.R"><span class="id" title="variable">R</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ringType"><span class="id" title="abbreviation">ringType</span></a>) (<a name="GRing.LRMorphismTheory.A"><span class="id" title="variable">A</span></a> <a name="GRing.LRMorphismTheory.B"><span class="id" title="variable">B</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.lalgType"><span class="id" title="abbreviation">lalgType</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#R"><span class="id" title="variable">R</span></a>) (<a name="GRing.LRMorphismTheory.C"><span class="id" title="variable">C</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ringType"><span class="id" title="abbreviation">ringType</span></a>) (<a name="GRing.LRMorphismTheory.s"><span class="id" title="variable">s</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#R"><span class="id" title="variable">R</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#C"><span class="id" title="variable">C</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#C"><span class="id" title="variable">C</span></a>).<br/> +<span class="id" title="keyword">Variables</span> (<a name="GRing.LRMorphismTheory.k"><span class="id" title="variable">k</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#unit"><span class="id" title="inductive">unit</span></a>) (<a name="GRing.LRMorphismTheory.f"><span class="id" title="variable">f</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#c998d6ecd14e902f7fd2311ac585dfed"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#c998d6ecd14e902f7fd2311ac585dfed"><span class="id" title="notation">lrmorphism</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LRMorphismTheory.A"><span class="id" title="variable">A</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LRMorphismTheory.B"><span class="id" title="variable">B</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#c998d6ecd14e902f7fd2311ac585dfed"><span class="id" title="notation">}</span></a>) (<a name="GRing.LRMorphismTheory.g"><span class="id" title="variable">g</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#be490f36b8d971894ee8495ffc283566"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#be490f36b8d971894ee8495ffc283566"><span class="id" title="notation">lrmorphism</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LRMorphismTheory.B"><span class="id" title="variable">B</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LRMorphismTheory.C"><span class="id" title="variable">C</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#be490f36b8d971894ee8495ffc283566"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LRMorphismTheory.s"><span class="id" title="variable">s</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#be490f36b8d971894ee8495ffc283566"><span class="id" title="notation">}</span></a>).<br/> <br/> -<span class="id" title="keyword">Definition</span> <a name="GRing.idfun_lrmorphism"><span class="id" title="definition">idfun_lrmorphism</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#8900f6ae77a86586561e15965d5870c7"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#8900f6ae77a86586561e15965d5870c7"><span class="id" title="notation">lrmorphism</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#8900f6ae77a86586561e15965d5870c7"><span class="id" title="notation">of</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#cc5a9586eb997be35b65ea12b2a985a9"><span class="id" title="notation">@</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#cc5a9586eb997be35b65ea12b2a985a9"><span class="id" title="notation">idfun</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LRMorphismTheory.A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#8900f6ae77a86586561e15965d5870c7"><span class="id" title="notation">]</span></a>.<br/> -<span class="id" title="keyword">Definition</span> <a name="GRing.comp_lrmorphism"><span class="id" title="definition">comp_lrmorphism</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#8900f6ae77a86586561e15965d5870c7"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#8900f6ae77a86586561e15965d5870c7"><span class="id" title="notation">lrmorphism</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#8900f6ae77a86586561e15965d5870c7"><span class="id" title="notation">of</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LRMorphismTheory.g"><span class="id" title="variable">g</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#1b4394c5c1740ef3dc9e4224084970bb"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#1b4394c5c1740ef3dc9e4224084970bb"><span class="id" title="notation">o</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LRMorphismTheory.f"><span class="id" title="variable">f</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#8900f6ae77a86586561e15965d5870c7"><span class="id" title="notation">]</span></a>.<br/> -<span class="id" title="keyword">Definition</span> <a name="GRing.locked_lrmorphism"><span class="id" title="definition">locked_lrmorphism</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#8900f6ae77a86586561e15965d5870c7"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#8900f6ae77a86586561e15965d5870c7"><span class="id" title="notation">lrmorphism</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#8900f6ae77a86586561e15965d5870c7"><span class="id" title="notation">of</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssreflect.html#locked_with"><span class="id" title="definition">locked_with</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LRMorphismTheory.k"><span class="id" title="variable">k</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LRMorphismTheory.f"><span class="id" title="variable">f</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.ssralg.html#GRing.LRMorphismTheory.A"><span class="id" title="variable">A</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LRMorphismTheory.B"><span class="id" title="variable">B</span></a>)<a class="idref" href="mathcomp.algebra.ssralg.html#8900f6ae77a86586561e15965d5870c7"><span class="id" title="notation">]</span></a>.<br/> +<span class="id" title="keyword">Definition</span> <a name="GRing.idfun_lrmorphism"><span class="id" title="definition">idfun_lrmorphism</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#d17433407f88fd9a1e0740e2eddd6566"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#d17433407f88fd9a1e0740e2eddd6566"><span class="id" title="notation">lrmorphism</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#d17433407f88fd9a1e0740e2eddd6566"><span class="id" title="notation">of</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#41130ccc9d15f6b312cf971c8cd92b0f"><span class="id" title="notation">@</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#41130ccc9d15f6b312cf971c8cd92b0f"><span class="id" title="notation">idfun</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LRMorphismTheory.A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#d17433407f88fd9a1e0740e2eddd6566"><span class="id" title="notation">]</span></a>.<br/> +<span class="id" title="keyword">Definition</span> <a name="GRing.comp_lrmorphism"><span class="id" title="definition">comp_lrmorphism</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#d17433407f88fd9a1e0740e2eddd6566"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#d17433407f88fd9a1e0740e2eddd6566"><span class="id" title="notation">lrmorphism</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#d17433407f88fd9a1e0740e2eddd6566"><span class="id" title="notation">of</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LRMorphismTheory.g"><span class="id" title="variable">g</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#8b4742e3f67816503ce4ab2f3b81c27e"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#8b4742e3f67816503ce4ab2f3b81c27e"><span class="id" title="notation">o</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LRMorphismTheory.f"><span class="id" title="variable">f</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#d17433407f88fd9a1e0740e2eddd6566"><span class="id" title="notation">]</span></a>.<br/> +<span class="id" title="keyword">Definition</span> <a name="GRing.locked_lrmorphism"><span class="id" title="definition">locked_lrmorphism</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#d17433407f88fd9a1e0740e2eddd6566"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#d17433407f88fd9a1e0740e2eddd6566"><span class="id" title="notation">lrmorphism</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#d17433407f88fd9a1e0740e2eddd6566"><span class="id" title="notation">of</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssreflect.html#locked_with"><span class="id" title="definition">locked_with</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LRMorphismTheory.k"><span class="id" title="variable">k</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LRMorphismTheory.f"><span class="id" title="variable">f</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssreflect.html#aed478b27f23b4f753c27c8ac393febc"><span class="id" title="notation">:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LRMorphismTheory.A"><span class="id" title="variable">A</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LRMorphismTheory.B"><span class="id" title="variable">B</span></a>)<a class="idref" href="mathcomp.algebra.ssralg.html#d17433407f88fd9a1e0740e2eddd6566"><span class="id" title="notation">]</span></a>.<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.rmorph_alg"><span class="id" title="lemma">rmorph_alg</span></a> <span class="id" title="var">a</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LRMorphismTheory.f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#a"><span class="id" title="variable">a</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#a9486b60fd4d51d8247008b3f8b21d21"><span class="id" title="notation">%:</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#a9486b60fd4d51d8247008b3f8b21d21"><span class="id" title="notation">A</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#a"><span class="id" title="variable">a</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#a9486b60fd4d51d8247008b3f8b21d21"><span class="id" title="notation">%:</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#a9486b60fd4d51d8247008b3f8b21d21"><span class="id" title="notation">A</span></a>.<br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.rmorph_alg"><span class="id" title="lemma">rmorph_alg</span></a> <span class="id" title="var">a</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LRMorphismTheory.f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#a"><span class="id" title="variable">a</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#b328a5aed2733481ae9bfe9f2b7cc645"><span class="id" title="notation">%:</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#b328a5aed2733481ae9bfe9f2b7cc645"><span class="id" title="notation">A</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#a"><span class="id" title="variable">a</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#b328a5aed2733481ae9bfe9f2b7cc645"><span class="id" title="notation">%:</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#b328a5aed2733481ae9bfe9f2b7cc645"><span class="id" title="notation">A</span></a>.<br/> <br/> <span class="id" title="keyword">Lemma</span> <a name="GRing.lrmorphismP"><span class="id" title="lemma">lrmorphismP</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.lrmorphism"><span class="id" title="abbreviation">lrmorphism</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LRMorphismTheory.f"><span class="id" title="variable">f</span></a>. <br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.can2_lrmorphism"><span class="id" title="lemma">can2_lrmorphism</span></a> <span class="id" title="var">f'</span> : <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.ssralg.html#GRing.LRMorphismTheory.f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#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="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.ssralg.html#f'"><span class="id" title="variable">f'</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LRMorphismTheory.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.ssralg.html#GRing.lrmorphism"><span class="id" title="abbreviation">lrmorphism</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f'"><span class="id" title="variable">f'</span></a>.<br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.can2_lrmorphism"><span class="id" title="lemma">can2_lrmorphism</span></a> <span class="id" title="var">f'</span> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#cancel"><span class="id" title="definition">cancel</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LRMorphismTheory.f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f'"><span class="id" title="variable">f'</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#cancel"><span class="id" title="definition">cancel</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f'"><span class="id" title="variable">f'</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LRMorphismTheory.f"><span class="id" title="variable">f</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.lrmorphism"><span class="id" title="abbreviation">lrmorphism</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f'"><span class="id" title="variable">f'</span></a>.<br/> <br/> <span class="id" title="keyword">Lemma</span> <a name="GRing.bij_lrmorphism"><span class="id" title="lemma">bij_lrmorphism</span></a> :<br/> - <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#bijective"><span class="id" title="inductive">bijective</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LRMorphismTheory.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="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#fe60c20831f772c0c3c288abf68cc42a"><span class="id" title="notation">exists2</span></a> <span class="id" title="var">f'</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#fe60c20831f772c0c3c288abf68cc42a"><span class="id" title="notation">:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#2759afce9315ab3f51737bc14cc79ce9"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#2759afce9315ab3f51737bc14cc79ce9"><span class="id" title="notation">lrmorphism</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LRMorphismTheory.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#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LRMorphismTheory.A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#2759afce9315ab3f51737bc14cc79ce9"><span class="id" title="notation">}</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#fe60c20831f772c0c3c288abf68cc42a"><span class="id" title="notation">,</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.ssralg.html#GRing.LRMorphismTheory.f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#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#fe60c20831f772c0c3c288abf68cc42a"><span class="id" title="notation">&</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.ssralg.html#f'"><span class="id" title="variable">f'</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LRMorphismTheory.f"><span class="id" title="variable">f</span></a>.<br/> + <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#bijective"><span class="id" title="inductive">bijective</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LRMorphismTheory.f"><span class="id" title="variable">f</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#59ba2b47d2814e66f8210a649ae6e6bc"><span class="id" title="notation">exists2</span></a> <span class="id" title="var">f'</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#59ba2b47d2814e66f8210a649ae6e6bc"><span class="id" title="notation">:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#c998d6ecd14e902f7fd2311ac585dfed"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#c998d6ecd14e902f7fd2311ac585dfed"><span class="id" title="notation">lrmorphism</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LRMorphismTheory.B"><span class="id" title="variable">B</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LRMorphismTheory.A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#c998d6ecd14e902f7fd2311ac585dfed"><span class="id" title="notation">}</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#59ba2b47d2814e66f8210a649ae6e6bc"><span class="id" title="notation">,</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#cancel"><span class="id" title="definition">cancel</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LRMorphismTheory.f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f'"><span class="id" title="variable">f'</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#59ba2b47d2814e66f8210a649ae6e6bc"><span class="id" title="notation">&</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#cancel"><span class="id" title="definition">cancel</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f'"><span class="id" title="variable">f'</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LRMorphismTheory.f"><span class="id" title="variable">f</span></a>.<br/> <br/> <span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LRMorphismTheory"><span class="id" title="section">LRMorphismTheory</span></a>.<br/> @@ -2649,26 +2665,26 @@ <br/> <span class="id" title="keyword">Record</span> <a name="GRing.ComRing.class_of"><span class="id" title="record">class_of</span></a> <span class="id" title="var">R</span> :=<br/> - <a name="GRing.ComRing.Class"><span class="id" title="constructor">Class</span></a> {<a name="GRing.ComRing.base"><span class="id" title="projection">base</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Ring.class_of"><span class="id" title="record">Ring.class_of</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#R"><span class="id" title="variable">R</span></a>; <a name="GRing.ComRing.mixin"><span class="id" title="projection">mixin</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.ssralg.html#GRing.Ring.mul"><span class="id" title="projection">Ring.mul</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#base"><span class="id" title="method">base</span></a>)}.<br/> + <a name="GRing.ComRing.Class"><span class="id" title="constructor">Class</span></a> {<a name="GRing.ComRing.base"><span class="id" title="projection">base</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Ring.class_of"><span class="id" title="record">Ring.class_of</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#R"><span class="id" title="variable">R</span></a>; <a name="GRing.ComRing.mixin"><span class="id" title="projection">mixin</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#commutative"><span class="id" title="definition">commutative</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Ring.mul"><span class="id" title="projection">Ring.mul</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#base"><span class="id" title="method">base</span></a>)}.<br/> <br/> -<span class="id" title="keyword">Structure</span> <a name="GRing.ComRing.type"><span class="id" title="record">type</span></a> := <a name="GRing.ComRing.Pack"><span class="id" title="constructor">Pack</span></a> {<a name="GRing.ComRing.sort"><span class="id" title="projection">sort</span></a>; <span class="id" title="var">_</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComRing.class_of"><span class="id" title="record">class_of</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#sort"><span class="id" title="method">sort</span></a>; <span class="id" title="var">_</span> : <span class="id" title="keyword">Type</span>}.<br/> +<span class="id" title="keyword">Structure</span> <a name="GRing.ComRing.type"><span class="id" title="record">type</span></a> := <a name="GRing.ComRing.Pack"><span class="id" title="constructor">Pack</span></a> {<a name="GRing.ComRing.sort"><span class="id" title="projection">sort</span></a>; <span class="id" title="var">_</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComRing.class_of"><span class="id" title="record">class_of</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#sort"><span class="id" title="method">sort</span></a>}.<br/> <span class="id" title="keyword">Variable</span> (<a name="GRing.ComRing.ClassDef.T"><span class="id" title="variable">T</span></a> : <span class="id" title="keyword">Type</span>) (<a name="GRing.ComRing.ClassDef.cT"><span class="id" title="variable">cT</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComRing.type"><span class="id" title="record">type</span></a>).<br/> -<span class="id" title="keyword">Definition</span> <a name="GRing.ComRing.class"><span class="id" title="definition">class</span></a> := <span class="id" title="keyword">let</span>: <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComRing.Pack"><span class="id" title="constructor">Pack</span></a> <span class="id" title="var">_</span> <span class="id" title="var">c</span> <span class="id" title="var">_</span> <span class="id" title="keyword">as</span> <span class="id" title="var">cT'</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComRing.ClassDef.cT"><span class="id" title="variable">cT</span></a> <span class="id" title="keyword">return</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComRing.class_of"><span class="id" title="record">class_of</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#cT'"><span class="id" title="variable">cT'</span></a> <span class="id" title="tactic">in</span> <span class="id" title="var">c</span>.<br/> -<span class="id" title="keyword">Definition</span> <a name="GRing.ComRing.clone"><span class="id" title="definition">clone</span></a> <span class="id" title="var">c</span> <span class="id" title="keyword">of</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#phant_id"><span class="id" title="definition">phant_id</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComRing.class"><span class="id" title="definition">class</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#c"><span class="id" title="variable">c</span></a> := @<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComRing.Pack"><span class="id" title="constructor">Pack</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComRing.ClassDef.T"><span class="id" title="variable">T</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#c"><span class="id" title="variable">c</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComRing.ClassDef.T"><span class="id" title="variable">T</span></a>.<br/> -<span class="id" title="keyword">Let</span> <a name="GRing.ComRing.ClassDef.xT"><span class="id" title="variable">xT</span></a> := <span class="id" title="keyword">let</span>: <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComRing.Pack"><span class="id" title="constructor">Pack</span></a> <span class="id" title="var">T</span> <span class="id" title="var">_</span> <span class="id" title="var">_</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComRing.ClassDef.cT"><span class="id" title="variable">cT</span></a> <span class="id" title="tactic">in</span> <span class="id" title="var">T</span>.<br/> -<span class="id" title="keyword">Notation</span> <a name="GRing.ComRing.xclass"><span class="id" title="abbreviation">xclass</span></a> := (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComRing.class"><span class="id" title="definition">class</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.ssralg.html#GRing.ComRing.class_of"><span class="id" title="record">class_of</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComRing.ClassDef.xT"><span class="id" title="variable">xT</span></a>).<br/> +<span class="id" title="keyword">Definition</span> <a name="GRing.ComRing.class"><span class="id" title="definition">class</span></a> := <span class="id" title="keyword">let</span>: <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComRing.Pack"><span class="id" title="constructor">Pack</span></a> <span class="id" title="var">_</span> <span class="id" title="var">c</span> <span class="id" title="keyword">as</span> <span class="id" title="var">cT'</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComRing.ClassDef.cT"><span class="id" title="variable">cT</span></a> <span class="id" title="keyword">return</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComRing.class_of"><span class="id" title="record">class_of</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#cT'"><span class="id" title="variable">cT'</span></a> <span class="id" title="tactic">in</span> <span class="id" title="var">c</span>.<br/> +<span class="id" title="keyword">Definition</span> <a name="GRing.ComRing.clone"><span class="id" title="definition">clone</span></a> <span class="id" title="var">c</span> <span class="id" title="keyword">of</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#phant_id"><span class="id" title="definition">phant_id</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComRing.class"><span class="id" title="definition">class</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#c"><span class="id" title="variable">c</span></a> := @<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComRing.Pack"><span class="id" title="constructor">Pack</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComRing.ClassDef.T"><span class="id" title="variable">T</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#c"><span class="id" title="variable">c</span></a>.<br/> +<span class="id" title="keyword">Let</span> <a name="GRing.ComRing.ClassDef.xT"><span class="id" title="variable">xT</span></a> := <span class="id" title="keyword">let</span>: <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComRing.Pack"><span class="id" title="constructor">Pack</span></a> <span class="id" title="var">T</span> <span class="id" title="var">_</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComRing.ClassDef.cT"><span class="id" title="variable">cT</span></a> <span class="id" title="tactic">in</span> <span class="id" title="var">T</span>.<br/> +<span class="id" title="keyword">Notation</span> <a name="GRing.ComRing.xclass"><span class="id" title="abbreviation">xclass</span></a> := (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComRing.class"><span class="id" title="definition">class</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssreflect.html#aed478b27f23b4f753c27c8ac393febc"><span class="id" title="notation">:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComRing.class_of"><span class="id" title="record">class_of</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComRing.ClassDef.xT"><span class="id" title="variable">xT</span></a>).<br/> <br/> -<span class="id" title="keyword">Definition</span> <a name="GRing.ComRing.pack"><span class="id" title="definition">pack</span></a> <span class="id" title="var">mul0</span> (<span class="id" title="var">m0</span> : @<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.ssralg.html#GRing.ComRing.ClassDef.T"><span class="id" title="variable">T</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComRing.ClassDef.T"><span class="id" title="variable">T</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#mul0"><span class="id" title="variable">mul0</span></a>) :=<br/> - <span class="id" title="keyword">fun</span> <span class="id" title="var">bT</span> <span class="id" title="var">b</span> & <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#phant_id"><span class="id" title="definition">phant_id</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Ring.class"><span class="id" title="definition">Ring.class</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#bT"><span class="id" title="variable">bT</span></a>) <a class="idref" href="mathcomp.algebra.ssralg.html#b"><span class="id" title="variable">b</span></a> ⇒<br/> - <span class="id" title="keyword">fun</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#phant_id"><span class="id" title="definition">phant_id</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#m0"><span class="id" title="variable">m0</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#m"><span class="id" title="variable">m</span></a> ⇒ <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComRing.Pack"><span class="id" title="constructor">Pack</span></a> (@<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComRing.Class"><span class="id" title="constructor">Class</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComRing.ClassDef.T"><span class="id" title="variable">T</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b"><span class="id" title="variable">b</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#m"><span class="id" title="variable">m</span></a>) <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComRing.ClassDef.T"><span class="id" title="variable">T</span></a>.<br/> +<span class="id" title="keyword">Definition</span> <a name="GRing.ComRing.pack"><span class="id" title="definition">pack</span></a> <span class="id" title="var">mul0</span> (<span class="id" title="var">m0</span> : @<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#commutative"><span class="id" title="definition">commutative</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComRing.ClassDef.T"><span class="id" title="variable">T</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComRing.ClassDef.T"><span class="id" title="variable">T</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#mul0"><span class="id" title="variable">mul0</span></a>) :=<br/> + <span class="id" title="keyword">fun</span> <span class="id" title="var">bT</span> <span class="id" title="var">b</span> & <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#phant_id"><span class="id" title="definition">phant_id</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Ring.class"><span class="id" title="definition">Ring.class</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#bT"><span class="id" title="variable">bT</span></a>) <a class="idref" href="mathcomp.algebra.ssralg.html#b"><span class="id" title="variable">b</span></a> ⇒<br/> + <span class="id" title="keyword">fun</span> <span class="id" title="var">m</span> & <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#phant_id"><span class="id" title="definition">phant_id</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#m0"><span class="id" title="variable">m0</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#m"><span class="id" title="variable">m</span></a> ⇒ <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComRing.Pack"><span class="id" title="constructor">Pack</span></a> (@<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComRing.Class"><span class="id" title="constructor">Class</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComRing.ClassDef.T"><span class="id" title="variable">T</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b"><span class="id" title="variable">b</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#m"><span class="id" title="variable">m</span></a>).<br/> <br/> -<span class="id" title="keyword">Definition</span> <a name="GRing.ComRing.eqType"><span class="id" title="definition">eqType</span></a> := @<a class="idref" href="mathcomp.ssreflect.eqtype.html#Equality.Pack"><span class="id" title="constructor">Equality.Pack</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComRing.ClassDef.cT"><span class="id" title="variable">cT</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComRing.xclass"><span class="id" title="abbreviation">xclass</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComRing.ClassDef.xT"><span class="id" title="variable">xT</span></a>.<br/> -<span class="id" title="keyword">Definition</span> <a name="GRing.ComRing.choiceType"><span class="id" title="definition">choiceType</span></a> := @<a class="idref" href="mathcomp.ssreflect.choice.html#Choice.Pack"><span class="id" title="constructor">Choice.Pack</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComRing.ClassDef.cT"><span class="id" title="variable">cT</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComRing.xclass"><span class="id" title="abbreviation">xclass</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComRing.ClassDef.xT"><span class="id" title="variable">xT</span></a>.<br/> -<span class="id" title="keyword">Definition</span> <a name="GRing.ComRing.zmodType"><span class="id" title="definition">zmodType</span></a> := @<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Zmodule.Pack"><span class="id" title="constructor">Zmodule.Pack</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComRing.ClassDef.cT"><span class="id" title="variable">cT</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComRing.xclass"><span class="id" title="abbreviation">xclass</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComRing.ClassDef.xT"><span class="id" title="variable">xT</span></a>.<br/> -<span class="id" title="keyword">Definition</span> <a name="GRing.ComRing.ringType"><span class="id" title="definition">ringType</span></a> := @<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Ring.Pack"><span class="id" title="constructor">Ring.Pack</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComRing.ClassDef.cT"><span class="id" title="variable">cT</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComRing.xclass"><span class="id" title="abbreviation">xclass</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComRing.ClassDef.xT"><span class="id" title="variable">xT</span></a>.<br/> +<span class="id" title="keyword">Definition</span> <a name="GRing.ComRing.eqType"><span class="id" title="definition">eqType</span></a> := @<a class="idref" href="mathcomp.ssreflect.eqtype.html#Equality.Pack"><span class="id" title="constructor">Equality.Pack</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComRing.ClassDef.cT"><span class="id" title="variable">cT</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComRing.xclass"><span class="id" title="abbreviation">xclass</span></a>.<br/> +<span class="id" title="keyword">Definition</span> <a name="GRing.ComRing.choiceType"><span class="id" title="definition">choiceType</span></a> := @<a class="idref" href="mathcomp.ssreflect.choice.html#Choice.Pack"><span class="id" title="constructor">Choice.Pack</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComRing.ClassDef.cT"><span class="id" title="variable">cT</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComRing.xclass"><span class="id" title="abbreviation">xclass</span></a>.<br/> +<span class="id" title="keyword">Definition</span> <a name="GRing.ComRing.zmodType"><span class="id" title="definition">zmodType</span></a> := @<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Zmodule.Pack"><span class="id" title="constructor">Zmodule.Pack</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComRing.ClassDef.cT"><span class="id" title="variable">cT</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComRing.xclass"><span class="id" title="abbreviation">xclass</span></a>.<br/> +<span class="id" title="keyword">Definition</span> <a name="GRing.ComRing.ringType"><span class="id" title="definition">ringType</span></a> := @<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Ring.Pack"><span class="id" title="constructor">Ring.Pack</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComRing.ClassDef.cT"><span class="id" title="variable">cT</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComRing.xclass"><span class="id" title="abbreviation">xclass</span></a>.<br/> <br/> <span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComRing.ClassDef"><span class="id" title="section">ClassDef</span></a>.<br/> @@ -2687,11 +2703,11 @@ <span class="id" title="keyword">Coercion</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComRing.ringType"><span class="id" title="definition">ringType</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComRing.ringType"><span class="id" title="definition">:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComRing.ringType"><span class="id" title="definition">type</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComRing.ringType"><span class="id" title="definition">>-></span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComRing.ringType"><span class="id" title="definition">Ring.type</span></a>.<br/> <span class="id" title="keyword">Canonical</span> <span class="id" title="var">ringType</span>.<br/> <span class="id" title="keyword">Notation</span> <a name="GRing.ComRing.Exports.comRingType"><span class="id" title="abbreviation">comRingType</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComRing.type"><span class="id" title="record">type</span></a>.<br/> -<span class="id" title="keyword">Notation</span> <a name="GRing.ComRing.Exports.ComRingType"><span class="id" title="abbreviation">ComRingType</span></a> <span class="id" title="var">T</span> <span class="id" title="var">m</span> := (@<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComRing.pack"><span class="id" title="definition">pack</span></a> <span class="id" title="var">T</span> <span class="id" title="var">_</span> <span class="id" title="var">m</span> <span class="id" title="var">_</span> <span class="id" title="var">_</span> <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> <span class="id" title="var">_</span> <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>).<br/> +<span class="id" title="keyword">Notation</span> <a name="GRing.ComRing.Exports.ComRingType"><span class="id" title="abbreviation">ComRingType</span></a> <span class="id" title="var">T</span> <span class="id" title="var">m</span> := (@<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComRing.pack"><span class="id" title="definition">pack</span></a> <span class="id" title="var">T</span> <span class="id" title="var">_</span> <span class="id" title="var">m</span> <span class="id" title="var">_</span> <span class="id" title="var">_</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#id"><span class="id" title="abbreviation">id</span></a> <span class="id" title="var">_</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#id"><span class="id" title="abbreviation">id</span></a>).<br/> <span class="id" title="keyword">Notation</span> <a name="GRing.ComRing.Exports.ComRingMixin"><span class="id" title="abbreviation">ComRingMixin</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComRing.RingMixin"><span class="id" title="definition">RingMixin</span></a>.<br/> -<span class="id" title="keyword">Notation</span> <a name="c5d157e6390935889519f9a9d4d53955"><span class="id" title="notation">"</span></a>[ 'comRingType' 'of' T 'for' cT ]" := (@<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComRing.clone"><span class="id" title="definition">clone</span></a> <span class="id" title="var">T</span> <span class="id" title="var">cT</span> <span class="id" title="var">_</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#idfun"><span class="id" title="abbreviation">idfun</span></a>)<br/> +<span class="id" title="keyword">Notation</span> <a name="10459c1b5042aa99a4ad9b14b5d55ba2"><span class="id" title="notation">"</span></a>[ 'comRingType' 'of' T 'for' cT ]" := (@<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComRing.clone"><span class="id" title="definition">clone</span></a> <span class="id" title="var">T</span> <span class="id" title="var">cT</span> <span class="id" title="var">_</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#idfun"><span class="id" title="abbreviation">idfun</span></a>)<br/> (<span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 0, <span class="id" title="var">format</span> "[ 'comRingType' 'of' T 'for' cT ]") : <span class="id" title="var">form_scope</span>.<br/> -<span class="id" title="keyword">Notation</span> <a name="57b384122345a94c564987d4b6ee9f0f"><span class="id" title="notation">"</span></a>[ 'comRingType' 'of' T ]" := (@<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComRing.clone"><span class="id" title="definition">clone</span></a> <span class="id" title="var">T</span> <span class="id" title="var">_</span> <span class="id" title="var">_</span> <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>)<br/> +<span class="id" title="keyword">Notation</span> <a name="8b92acac231ba6173223cf75164fca3d"><span class="id" title="notation">"</span></a>[ 'comRingType' 'of' T ]" := (@<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComRing.clone"><span class="id" title="definition">clone</span></a> <span class="id" title="var">T</span> <span class="id" title="var">_</span> <span class="id" title="var">_</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#id"><span class="id" title="abbreviation">id</span></a>)<br/> (<span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 0, <span class="id" title="var">format</span> "[ 'comRingType' 'of' T ]") : <span class="id" title="var">form_scope</span>.<br/> <span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComRing.Exports"><span class="id" title="module">Exports</span></a>.<br/> @@ -2707,53 +2723,53 @@ <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.ssralg.html#GRing.ComRingTheory.R"><span class="id" title="variable">R</span></a>.<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.mulrC"><span class="id" title="lemma">mulrC</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.ssralg.html#GRing.ComRingTheory.R"><span class="id" title="variable">R</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComRingTheory.R"><span class="id" title="variable">R</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#6498e6e308d8a143464cf2d2ba603d36"><span class="id" title="notation">*%</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#6498e6e308d8a143464cf2d2ba603d36"><span class="id" title="notation">R</span></a>. <br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.mulrC"><span class="id" title="lemma">mulrC</span></a> : @<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#commutative"><span class="id" title="definition">commutative</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComRingTheory.R"><span class="id" title="variable">R</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComRingTheory.R"><span class="id" title="variable">R</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#bae191a5c954d16cccd67244cf8a6ceb"><span class="id" title="notation">*%</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#bae191a5c954d16cccd67244cf8a6ceb"><span class="id" title="notation">R</span></a>. <br/> <span class="id" title="keyword">Canonical</span> <span class="id" title="var">mul_comoid</span> := <a class="idref" href="mathcomp.ssreflect.bigop.html#Monoid.ComLaw"><span class="id" title="constructor">Monoid.ComLaw</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.mulrC"><span class="id" title="lemma">mulrC</span></a>.<br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.mulrCA"><span class="id" title="lemma">mulrCA</span></a> : @<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#left_commutative"><span class="id" title="definition">left_commutative</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComRingTheory.R"><span class="id" title="variable">R</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComRingTheory.R"><span class="id" title="variable">R</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#6498e6e308d8a143464cf2d2ba603d36"><span class="id" title="notation">*%</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#6498e6e308d8a143464cf2d2ba603d36"><span class="id" title="notation">R</span></a>. <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.mulrAC"><span class="id" title="lemma">mulrAC</span></a> : @<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#right_commutative"><span class="id" title="definition">right_commutative</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComRingTheory.R"><span class="id" title="variable">R</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComRingTheory.R"><span class="id" title="variable">R</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#6498e6e308d8a143464cf2d2ba603d36"><span class="id" title="notation">*%</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#6498e6e308d8a143464cf2d2ba603d36"><span class="id" title="notation">R</span></a>. <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.mulrACA"><span class="id" title="lemma">mulrACA</span></a> : @<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#interchange"><span class="id" title="definition">interchange</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComRingTheory.R"><span class="id" title="variable">R</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#6498e6e308d8a143464cf2d2ba603d36"><span class="id" title="notation">*%</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#6498e6e308d8a143464cf2d2ba603d36"><span class="id" title="notation">R</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#6498e6e308d8a143464cf2d2ba603d36"><span class="id" title="notation">*%</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#6498e6e308d8a143464cf2d2ba603d36"><span class="id" title="notation">R</span></a>. <br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.mulrCA"><span class="id" title="lemma">mulrCA</span></a> : @<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#left_commutative"><span class="id" title="definition">left_commutative</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComRingTheory.R"><span class="id" title="variable">R</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComRingTheory.R"><span class="id" title="variable">R</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#bae191a5c954d16cccd67244cf8a6ceb"><span class="id" title="notation">*%</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#bae191a5c954d16cccd67244cf8a6ceb"><span class="id" title="notation">R</span></a>. <br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.mulrAC"><span class="id" title="lemma">mulrAC</span></a> : @<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#right_commutative"><span class="id" title="definition">right_commutative</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComRingTheory.R"><span class="id" title="variable">R</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComRingTheory.R"><span class="id" title="variable">R</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#bae191a5c954d16cccd67244cf8a6ceb"><span class="id" title="notation">*%</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#bae191a5c954d16cccd67244cf8a6ceb"><span class="id" title="notation">R</span></a>. <br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.mulrACA"><span class="id" title="lemma">mulrACA</span></a> : @<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#interchange"><span class="id" title="definition">interchange</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComRingTheory.R"><span class="id" title="variable">R</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#bae191a5c954d16cccd67244cf8a6ceb"><span class="id" title="notation">*%</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#bae191a5c954d16cccd67244cf8a6ceb"><span class="id" title="notation">R</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#bae191a5c954d16cccd67244cf8a6ceb"><span class="id" title="notation">*%</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#bae191a5c954d16cccd67244cf8a6ceb"><span class="id" title="notation">R</span></a>. <br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.exprMn"><span class="id" title="lemma">exprMn</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#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">x</span> ⇒ <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#ed99e7035d9a1f8a2c1515be81ac2e5f"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.exprMn"><span class="id" title="lemma">exprMn</span></a> <span class="id" title="var">n</span> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#e69c60b553f06d3463460a9f4cee3c01"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#e69c60b553f06d3463460a9f4cee3c01"><span class="id" title="notation">morph</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#e69c60b553f06d3463460a9f4cee3c01"><span class="id" title="notation">(</span></a><span class="id" title="keyword">fun</span> <span class="id" title="var">x</span> ⇒ <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#e69c60b553f06d3463460a9f4cee3c01"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#e69c60b553f06d3463460a9f4cee3c01"><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/V8.9.0/stdlib//Coq.ssr.ssrfun.html#e69c60b553f06d3463460a9f4cee3c01"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f99a2dc6d143aa8f1021ab57e4a19eee"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#e69c60b553f06d3463460a9f4cee3c01"><span class="id" title="notation">}</span></a>.<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.prodrXl"><span class="id" title="lemma">prodrXl</span></a> <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.ssralg.html#I"><span class="id" title="variable">I</span></a>) (<span class="id" title="var">F</span> : <a class="idref" href="mathcomp.algebra.ssralg.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.ssralg.html#GRing.ComRingTheory.R"><span class="id" title="variable">R</span></a>) :<br/> - <a class="idref" href="mathcomp.algebra.ssralg.html#3f1a950be6bcb72c9434150471b42417"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#3f1a950be6bcb72c9434150471b42417"><span class="id" title="notation">prod_</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#3f1a950be6bcb72c9434150471b42417"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.algebra.ssralg.html#3f1a950be6bcb72c9434150471b42417"><span class="id" title="notation"><-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#r"><span class="id" title="variable">r</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#3f1a950be6bcb72c9434150471b42417"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#3f1a950be6bcb72c9434150471b42417"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#3f1a950be6bcb72c9434150471b42417"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#3f1a950be6bcb72c9434150471b42417"><span class="id" title="notation">prod_</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#3f1a950be6bcb72c9434150471b42417"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.algebra.ssralg.html#3f1a950be6bcb72c9434150471b42417"><span class="id" title="notation"><-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#r"><span class="id" title="variable">r</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#3f1a950be6bcb72c9434150471b42417"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#3f1a950be6bcb72c9434150471b42417"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a>.<br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.prodrXl"><span class="id" title="lemma">prodrXl</span></a> <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/V8.9.0/stdlib//Coq.ssr.ssrbool.html#pred"><span class="id" title="definition">pred</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#I"><span class="id" title="variable">I</span></a>) (<span class="id" title="var">F</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#I"><span class="id" title="variable">I</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComRingTheory.R"><span class="id" title="variable">R</span></a>) :<br/> + <a class="idref" href="mathcomp.algebra.ssralg.html#5e0b538209a51fa2bd900767b9312dd8"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#5e0b538209a51fa2bd900767b9312dd8"><span class="id" title="notation">prod_</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#5e0b538209a51fa2bd900767b9312dd8"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.algebra.ssralg.html#5e0b538209a51fa2bd900767b9312dd8"><span class="id" title="notation"><-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#r"><span class="id" title="variable">r</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#5e0b538209a51fa2bd900767b9312dd8"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#5e0b538209a51fa2bd900767b9312dd8"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#5e0b538209a51fa2bd900767b9312dd8"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#5e0b538209a51fa2bd900767b9312dd8"><span class="id" title="notation">prod_</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#5e0b538209a51fa2bd900767b9312dd8"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.algebra.ssralg.html#5e0b538209a51fa2bd900767b9312dd8"><span class="id" title="notation"><-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#r"><span class="id" title="variable">r</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#5e0b538209a51fa2bd900767b9312dd8"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#5e0b538209a51fa2bd900767b9312dd8"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a>.<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.prodr_undup_exp_count"><span class="id" title="lemma">prodr_undup_exp_count</span></a> (<span class="id" title="var">I</span> : <a class="idref" href="mathcomp.ssreflect.eqtype.html#Equality.Exports.eqType"><span class="id" title="abbreviation">eqType</span></a>) <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.ssralg.html#I"><span class="id" title="variable">I</span></a>) (<span class="id" title="var">F</span> : <a class="idref" href="mathcomp.algebra.ssralg.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.ssralg.html#GRing.ComRingTheory.R"><span class="id" title="variable">R</span></a>) :<br/> - <a class="idref" href="mathcomp.algebra.ssralg.html#3f1a950be6bcb72c9434150471b42417"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#3f1a950be6bcb72c9434150471b42417"><span class="id" title="notation">prod_</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#3f1a950be6bcb72c9434150471b42417"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.algebra.ssralg.html#3f1a950be6bcb72c9434150471b42417"><span class="id" title="notation"><-</span></a> <a class="idref" href="mathcomp.ssreflect.seq.html#undup"><span class="id" title="definition">undup</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#r"><span class="id" title="variable">r</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#3f1a950be6bcb72c9434150471b42417"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#3f1a950be6bcb72c9434150471b42417"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.ssreflect.seq.html#count_mem"><span class="id" title="abbreviation">count_mem</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#3f1a950be6bcb72c9434150471b42417"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#3f1a950be6bcb72c9434150471b42417"><span class="id" title="notation">prod_</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#3f1a950be6bcb72c9434150471b42417"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.algebra.ssralg.html#3f1a950be6bcb72c9434150471b42417"><span class="id" title="notation"><-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#r"><span class="id" title="variable">r</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#3f1a950be6bcb72c9434150471b42417"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#3f1a950be6bcb72c9434150471b42417"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</span></a>.<br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.prodr_undup_exp_count"><span class="id" title="lemma">prodr_undup_exp_count</span></a> (<span class="id" title="var">I</span> : <a class="idref" href="mathcomp.ssreflect.eqtype.html#Equality.Exports.eqType"><span class="id" title="abbreviation">eqType</span></a>) <span class="id" title="var">r</span> (<span class="id" title="var">P</span> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#pred"><span class="id" title="definition">pred</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#I"><span class="id" title="variable">I</span></a>) (<span class="id" title="var">F</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#I"><span class="id" title="variable">I</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComRingTheory.R"><span class="id" title="variable">R</span></a>) :<br/> + <a class="idref" href="mathcomp.algebra.ssralg.html#5e0b538209a51fa2bd900767b9312dd8"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#5e0b538209a51fa2bd900767b9312dd8"><span class="id" title="notation">prod_</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#5e0b538209a51fa2bd900767b9312dd8"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.algebra.ssralg.html#5e0b538209a51fa2bd900767b9312dd8"><span class="id" title="notation"><-</span></a> <a class="idref" href="mathcomp.ssreflect.seq.html#undup"><span class="id" title="definition">undup</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#r"><span class="id" title="variable">r</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#5e0b538209a51fa2bd900767b9312dd8"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#5e0b538209a51fa2bd900767b9312dd8"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.ssreflect.seq.html#count_mem"><span class="id" title="abbreviation">count_mem</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#r"><span class="id" title="variable">r</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#5e0b538209a51fa2bd900767b9312dd8"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#5e0b538209a51fa2bd900767b9312dd8"><span class="id" title="notation">prod_</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#5e0b538209a51fa2bd900767b9312dd8"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.algebra.ssralg.html#5e0b538209a51fa2bd900767b9312dd8"><span class="id" title="notation"><-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#r"><span class="id" title="variable">r</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#5e0b538209a51fa2bd900767b9312dd8"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#5e0b538209a51fa2bd900767b9312dd8"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</span></a>.<br/> <br/> <span class="id" title="keyword">Lemma</span> <a name="GRing.exprDn"><span class="id" title="lemma">exprDn</span></a> <span class="id" title="var">x</span> <span class="id" title="var">y</span> <span class="id" title="var">n</span> :<br/> - <a class="idref" href="mathcomp.algebra.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#338c5345074fd3586073fd29273c138a"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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#33f78485f60ea5a637d17f41367f37d2"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#33f78485f60ea5a637d17f41367f37d2"><span class="id" title="notation">sum_</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#33f78485f60ea5a637d17f41367f37d2"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.algebra.ssralg.html#33f78485f60ea5a637d17f41367f37d2"><span class="id" title="notation"><</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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#33f78485f60ea5a637d17f41367f37d2"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#513eaa3129601ecbcc9e188a80d6155b"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#9482aae3d3b06e249765c1225dbb8cbb"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#ed99e7035d9a1f8a2c1515be81ac2e5f"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#513eaa3129601ecbcc9e188a80d6155b"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#513eaa3129601ecbcc9e188a80d6155b"><span class="id" title="notation">*+</span></a> <a class="idref" href="mathcomp.ssreflect.binomial.html#f55f24aacb42fe0283014d29bcccb8c2"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.ssreflect.binomial.html#f55f24aacb42fe0283014d29bcccb8c2"><span class="id" title="notation">C</span></a><a class="idref" href="mathcomp.ssreflect.binomial.html#f55f24aacb42fe0283014d29bcccb8c2"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.ssreflect.binomial.html#f55f24aacb42fe0283014d29bcccb8c2"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.ssreflect.binomial.html#f55f24aacb42fe0283014d29bcccb8c2"><span class="id" title="notation">)</span></a>.<br/> + <a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#730bbb3cf1092122fa1a208d3879e5e8"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#2212b29e1a046120b3e8fdf5f4fbcd1f"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#2212b29e1a046120b3e8fdf5f4fbcd1f"><span class="id" title="notation">sum_</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#2212b29e1a046120b3e8fdf5f4fbcd1f"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.algebra.ssralg.html#2212b29e1a046120b3e8fdf5f4fbcd1f"><span class="id" title="notation"><</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.ssreflect.ssrnat.html#bda89d73ec4a8f23ae92b565ffb5aaa6"><span class="id" title="notation">.+1</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#2212b29e1a046120b3e8fdf5f4fbcd1f"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#506f68330939db1f655609b68b37b467"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#7825ccc99f23b0d30c9d40c317ba7af0"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f99a2dc6d143aa8f1021ab57e4a19eee"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#506f68330939db1f655609b68b37b467"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#506f68330939db1f655609b68b37b467"><span class="id" title="notation">*+</span></a> <a class="idref" href="mathcomp.ssreflect.binomial.html#95129fba25b300adee91ca933fa2fcdc"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.ssreflect.binomial.html#95129fba25b300adee91ca933fa2fcdc"><span class="id" title="notation">C</span></a><a class="idref" href="mathcomp.ssreflect.binomial.html#95129fba25b300adee91ca933fa2fcdc"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.ssreflect.binomial.html#95129fba25b300adee91ca933fa2fcdc"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.ssreflect.binomial.html#95129fba25b300adee91ca933fa2fcdc"><span class="id" title="notation">)</span></a>.<br/> <br/> <span class="id" title="keyword">Lemma</span> <a name="GRing.exprBn"><span class="id" title="lemma">exprBn</span></a> <span class="id" title="var">x</span> <span class="id" title="var">y</span> <span class="id" title="var">n</span> :<br/> - <a class="idref" href="mathcomp.algebra.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#4d4b9697032429ec46472e6332d1356a"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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/> - <a class="idref" href="mathcomp.algebra.ssralg.html#33f78485f60ea5a637d17f41367f37d2"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#33f78485f60ea5a637d17f41367f37d2"><span class="id" title="notation">sum_</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#33f78485f60ea5a637d17f41367f37d2"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.algebra.ssralg.html#33f78485f60ea5a637d17f41367f37d2"><span class="id" title="notation"><</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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#33f78485f60ea5a637d17f41367f37d2"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#513eaa3129601ecbcc9e188a80d6155b"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">(</span></a>-1<a class="idref" href="mathcomp.algebra.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#ed99e7035d9a1f8a2c1515be81ac2e5f"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#9482aae3d3b06e249765c1225dbb8cbb"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#ed99e7035d9a1f8a2c1515be81ac2e5f"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#513eaa3129601ecbcc9e188a80d6155b"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#513eaa3129601ecbcc9e188a80d6155b"><span class="id" title="notation">*+</span></a> <a class="idref" href="mathcomp.ssreflect.binomial.html#f55f24aacb42fe0283014d29bcccb8c2"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.ssreflect.binomial.html#f55f24aacb42fe0283014d29bcccb8c2"><span class="id" title="notation">C</span></a><a class="idref" href="mathcomp.ssreflect.binomial.html#f55f24aacb42fe0283014d29bcccb8c2"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.ssreflect.binomial.html#f55f24aacb42fe0283014d29bcccb8c2"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.ssreflect.binomial.html#f55f24aacb42fe0283014d29bcccb8c2"><span class="id" title="notation">)</span></a>.<br/> + <a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#4a5fc7f0d0a33bc3822357a38c953c9e"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a><br/> + <a class="idref" href="mathcomp.algebra.ssralg.html#2212b29e1a046120b3e8fdf5f4fbcd1f"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#2212b29e1a046120b3e8fdf5f4fbcd1f"><span class="id" title="notation">sum_</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#2212b29e1a046120b3e8fdf5f4fbcd1f"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.algebra.ssralg.html#2212b29e1a046120b3e8fdf5f4fbcd1f"><span class="id" title="notation"><</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.ssreflect.ssrnat.html#bda89d73ec4a8f23ae92b565ffb5aaa6"><span class="id" title="notation">.+1</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#2212b29e1a046120b3e8fdf5f4fbcd1f"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#506f68330939db1f655609b68b37b467"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">(</span></a>-1<a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f99a2dc6d143aa8f1021ab57e4a19eee"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#7825ccc99f23b0d30c9d40c317ba7af0"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f99a2dc6d143aa8f1021ab57e4a19eee"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#506f68330939db1f655609b68b37b467"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#506f68330939db1f655609b68b37b467"><span class="id" title="notation">*+</span></a> <a class="idref" href="mathcomp.ssreflect.binomial.html#95129fba25b300adee91ca933fa2fcdc"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.ssreflect.binomial.html#95129fba25b300adee91ca933fa2fcdc"><span class="id" title="notation">C</span></a><a class="idref" href="mathcomp.ssreflect.binomial.html#95129fba25b300adee91ca933fa2fcdc"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.ssreflect.binomial.html#95129fba25b300adee91ca933fa2fcdc"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.ssreflect.binomial.html#95129fba25b300adee91ca933fa2fcdc"><span class="id" title="notation">)</span></a>.<br/> <br/> <span class="id" title="keyword">Lemma</span> <a name="GRing.subrXX"><span class="id" title="lemma">subrXX</span></a> <span class="id" title="var">x</span> <span class="id" title="var">y</span> <span class="id" title="var">n</span> :<br/> - <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#4d4b9697032429ec46472e6332d1356a"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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#ed99e7035d9a1f8a2c1515be81ac2e5f"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#4d4b9697032429ec46472e6332d1356a"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#ed99e7035d9a1f8a2c1515be81ac2e5f"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#ed99e7035d9a1f8a2c1515be81ac2e5f"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#ed99e7035d9a1f8a2c1515be81ac2e5f"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#33f78485f60ea5a637d17f41367f37d2"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#33f78485f60ea5a637d17f41367f37d2"><span class="id" title="notation">sum_</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#33f78485f60ea5a637d17f41367f37d2"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.algebra.ssralg.html#33f78485f60ea5a637d17f41367f37d2"><span class="id" title="notation"><</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#33f78485f60ea5a637d17f41367f37d2"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.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.ssreflect.ssrnat.html#9482aae3d3b06e249765c1225dbb8cbb"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#ed99e7035d9a1f8a2c1515be81ac2e5f"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#ed99e7035d9a1f8a2c1515be81ac2e5f"><span class="id" title="notation">)</span></a>.<br/> + <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#4a5fc7f0d0a33bc3822357a38c953c9e"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f99a2dc6d143aa8f1021ab57e4a19eee"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#4a5fc7f0d0a33bc3822357a38c953c9e"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#f99a2dc6d143aa8f1021ab57e4a19eee"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f99a2dc6d143aa8f1021ab57e4a19eee"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f99a2dc6d143aa8f1021ab57e4a19eee"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#2212b29e1a046120b3e8fdf5f4fbcd1f"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#2212b29e1a046120b3e8fdf5f4fbcd1f"><span class="id" title="notation">sum_</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#2212b29e1a046120b3e8fdf5f4fbcd1f"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.algebra.ssralg.html#2212b29e1a046120b3e8fdf5f4fbcd1f"><span class="id" title="notation"><</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#2212b29e1a046120b3e8fdf5f4fbcd1f"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.ssreflect.ssrnat.html#f953bf7095e0da1cb644443fd0e17d6d"><span class="id" title="notation">.-1</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#7825ccc99f23b0d30c9d40c317ba7af0"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f99a2dc6d143aa8f1021ab57e4a19eee"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#f99a2dc6d143aa8f1021ab57e4a19eee"><span class="id" title="notation">)</span></a>.<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.sqrrD"><span class="id" title="lemma">sqrrD</span></a> <span class="id" title="var">x</span> <span class="id" title="var">y</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#338c5345074fd3586073fd29273c138a"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><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.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">^+</span></a> 2 <a class="idref" href="mathcomp.algebra.ssralg.html#338c5345074fd3586073fd29273c138a"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#ed99e7035d9a1f8a2c1515be81ac2e5f"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#513eaa3129601ecbcc9e188a80d6155b"><span class="id" title="notation">*+</span></a> 2 <a class="idref" href="mathcomp.algebra.ssralg.html#338c5345074fd3586073fd29273c138a"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">^+</span></a> 2.<br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.sqrrD"><span class="id" title="lemma">sqrrD</span></a> <span class="id" title="var">x</span> <span class="id" title="var">y</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#730bbb3cf1092122fa1a208d3879e5e8"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">^+</span></a> 2 <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">^+</span></a> 2 <a class="idref" href="mathcomp.algebra.ssralg.html#730bbb3cf1092122fa1a208d3879e5e8"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f99a2dc6d143aa8f1021ab57e4a19eee"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#506f68330939db1f655609b68b37b467"><span class="id" title="notation">*+</span></a> 2 <a class="idref" href="mathcomp.algebra.ssralg.html#730bbb3cf1092122fa1a208d3879e5e8"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">^+</span></a> 2.<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.sqrrB"><span class="id" title="lemma">sqrrB</span></a> <span class="id" title="var">x</span> <span class="id" title="var">y</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#4d4b9697032429ec46472e6332d1356a"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><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.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">^+</span></a> 2 <a class="idref" href="mathcomp.algebra.ssralg.html#4d4b9697032429ec46472e6332d1356a"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#ed99e7035d9a1f8a2c1515be81ac2e5f"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#513eaa3129601ecbcc9e188a80d6155b"><span class="id" title="notation">*+</span></a> 2 <a class="idref" href="mathcomp.algebra.ssralg.html#338c5345074fd3586073fd29273c138a"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">^+</span></a> 2.<br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.sqrrB"><span class="id" title="lemma">sqrrB</span></a> <span class="id" title="var">x</span> <span class="id" title="var">y</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#4a5fc7f0d0a33bc3822357a38c953c9e"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">^+</span></a> 2 <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">^+</span></a> 2 <a class="idref" href="mathcomp.algebra.ssralg.html#4a5fc7f0d0a33bc3822357a38c953c9e"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f99a2dc6d143aa8f1021ab57e4a19eee"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#506f68330939db1f655609b68b37b467"><span class="id" title="notation">*+</span></a> 2 <a class="idref" href="mathcomp.algebra.ssralg.html#730bbb3cf1092122fa1a208d3879e5e8"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">^+</span></a> 2.<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.subr_sqr"><span class="id" title="lemma">subr_sqr</span></a> <span class="id" title="var">x</span> <span class="id" title="var">y</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">^+</span></a> 2 <a class="idref" href="mathcomp.algebra.ssralg.html#4d4b9697032429ec46472e6332d1356a"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><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.ssralg.html#ed99e7035d9a1f8a2c1515be81ac2e5f"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#4d4b9697032429ec46472e6332d1356a"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#ed99e7035d9a1f8a2c1515be81ac2e5f"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#ed99e7035d9a1f8a2c1515be81ac2e5f"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#ed99e7035d9a1f8a2c1515be81ac2e5f"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#338c5345074fd3586073fd29273c138a"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#ed99e7035d9a1f8a2c1515be81ac2e5f"><span class="id" title="notation">)</span></a>.<br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.subr_sqr"><span class="id" title="lemma">subr_sqr</span></a> <span class="id" title="var">x</span> <span class="id" title="var">y</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">^+</span></a> 2 <a class="idref" href="mathcomp.algebra.ssralg.html#4a5fc7f0d0a33bc3822357a38c953c9e"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">^+</span></a> 2 <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f99a2dc6d143aa8f1021ab57e4a19eee"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#4a5fc7f0d0a33bc3822357a38c953c9e"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#f99a2dc6d143aa8f1021ab57e4a19eee"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f99a2dc6d143aa8f1021ab57e4a19eee"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f99a2dc6d143aa8f1021ab57e4a19eee"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#730bbb3cf1092122fa1a208d3879e5e8"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#f99a2dc6d143aa8f1021ab57e4a19eee"><span class="id" title="notation">)</span></a>.<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.subr_sqrDB"><span class="id" title="lemma">subr_sqrDB</span></a> <span class="id" title="var">x</span> <span class="id" title="var">y</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#338c5345074fd3586073fd29273c138a"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">^+</span></a> 2 <a class="idref" href="mathcomp.algebra.ssralg.html#4d4b9697032429ec46472e6332d1356a"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#4d4b9697032429ec46472e6332d1356a"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><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.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#ed99e7035d9a1f8a2c1515be81ac2e5f"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#513eaa3129601ecbcc9e188a80d6155b"><span class="id" title="notation">*+</span></a> 4.<br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.subr_sqrDB"><span class="id" title="lemma">subr_sqrDB</span></a> <span class="id" title="var">x</span> <span class="id" title="var">y</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#730bbb3cf1092122fa1a208d3879e5e8"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">^+</span></a> 2 <a class="idref" href="mathcomp.algebra.ssralg.html#4a5fc7f0d0a33bc3822357a38c953c9e"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#4a5fc7f0d0a33bc3822357a38c953c9e"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">^+</span></a> 2 <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f99a2dc6d143aa8f1021ab57e4a19eee"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#506f68330939db1f655609b68b37b467"><span class="id" title="notation">*+</span></a> 4.<br/> <br/> <span class="id" title="keyword">Section</span> <a name="GRing.ComRingTheory.FrobeniusAutomorphism"><span class="id" title="section">FrobeniusAutomorphism</span></a>.<br/> <br/> -<span class="id" title="keyword">Variables</span> (<a name="GRing.ComRingTheory.FrobeniusAutomorphism.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>) (<a name="GRing.ComRingTheory.FrobeniusAutomorphism.charRp"><span class="id" title="variable">charRp</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#p"><span class="id" title="variable">p</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#51fab11b73193ca5e8e7a62cac129ebc"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#51fab11b73193ca5e8e7a62cac129ebc"><span class="id" title="notation">char</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComRingTheory.R"><span class="id" title="variable">R</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#51fab11b73193ca5e8e7a62cac129ebc"><span class="id" title="notation">]</span></a>).<br/> +<span class="id" title="keyword">Variables</span> (<a name="GRing.ComRingTheory.FrobeniusAutomorphism.p"><span class="id" title="variable">p</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#nat"><span class="id" title="inductive">nat</span></a>) (<a name="GRing.ComRingTheory.FrobeniusAutomorphism.charRp"><span class="id" title="variable">charRp</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#p"><span class="id" title="variable">p</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#7cf08e2f41bbb95903802050d3919698"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#7cf08e2f41bbb95903802050d3919698"><span class="id" title="notation">char</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComRingTheory.R"><span class="id" title="variable">R</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#7cf08e2f41bbb95903802050d3919698"><span class="id" title="notation">]</span></a>).<br/> <br/> <span class="id" title="keyword">Lemma</span> <a name="GRing.Frobenius_aut_is_rmorphism"><span class="id" title="lemma">Frobenius_aut_is_rmorphism</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.rmorphism"><span class="id" title="abbreviation">rmorphism</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Frobenius_aut"><span class="id" title="definition">Frobenius_aut</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComRingTheory.FrobeniusAutomorphism.charRp"><span class="id" title="variable">charRp</span></a>).<br/> @@ -2766,24 +2782,24 @@ <span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComRingTheory.FrobeniusAutomorphism"><span class="id" title="section">FrobeniusAutomorphism</span></a>.<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.exprDn_char"><span class="id" title="lemma">exprDn_char</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#51fab11b73193ca5e8e7a62cac129ebc"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#51fab11b73193ca5e8e7a62cac129ebc"><span class="id" title="notation">char</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComRingTheory.R"><span class="id" title="variable">R</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#51fab11b73193ca5e8e7a62cac129ebc"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.prime.html#8663a77d1d910826e10ba42d1e8d2a02"><span class="id" title="notation">.-</span></a><a class="idref" href="mathcomp.ssreflect.prime.html#8663a77d1d910826e10ba42d1e8d2a02"><span class="id" title="notation">nat</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#338c5345074fd3586073fd29273c138a"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#338c5345074fd3586073fd29273c138a"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a>.<br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.exprDn_char"><span class="id" title="lemma">exprDn_char</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#7cf08e2f41bbb95903802050d3919698"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#7cf08e2f41bbb95903802050d3919698"><span class="id" title="notation">char</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComRingTheory.R"><span class="id" title="variable">R</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#7cf08e2f41bbb95903802050d3919698"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.prime.html#31aa0776b2fdb88da5b5ba70544862a1"><span class="id" title="notation">.-</span></a><a class="idref" href="mathcomp.ssreflect.prime.html#31aa0776b2fdb88da5b5ba70544862a1"><span class="id" title="notation">nat</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#730bbb3cf1092122fa1a208d3879e5e8"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#730bbb3cf1092122fa1a208d3879e5e8"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a>.<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.rmorph_comm"><span class="id" title="lemma">rmorph_comm</span></a> (<span class="id" title="var">S</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ringType"><span class="id" title="abbreviation">ringType</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.ssralg.html#GRing.ComRingTheory.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.ssralg.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>) <span class="id" title="var">x</span> <span class="id" title="var">y</span> : <br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.rmorph_comm"><span class="id" title="lemma">rmorph_comm</span></a> (<span class="id" title="var">S</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ringType"><span class="id" title="abbreviation">ringType</span></a>) (<span class="id" title="var">f</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#d531732ed602c7af62b88c7cfce824e5"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#d531732ed602c7af62b88c7cfce824e5"><span class="id" title="notation">rmorphism</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComRingTheory.R"><span class="id" title="variable">R</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#S"><span class="id" title="variable">S</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#d531732ed602c7af62b88c7cfce824e5"><span class="id" title="notation">}</span></a>) <span class="id" title="var">x</span> <span class="id" title="var">y</span> : <br/> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.comm"><span class="id" title="definition">comm</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a>) (<a class="idref" href="mathcomp.algebra.ssralg.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a>).<br/> <br/> <span class="id" title="keyword">Section</span> <a name="GRing.ComRingTheory.ScaleLinear"><span class="id" title="section">ScaleLinear</span></a>.<br/> <br/> -<span class="id" title="keyword">Variables</span> (<a name="GRing.ComRingTheory.ScaleLinear.U"><span class="id" title="variable">U</span></a> <a name="GRing.ComRingTheory.ScaleLinear.V"><span class="id" title="variable">V</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.lmodType"><span class="id" title="abbreviation">lmodType</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComRingTheory.R"><span class="id" title="variable">R</span></a>) (<a name="GRing.ComRingTheory.ScaleLinear.b"><span class="id" title="variable">b</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComRingTheory.R"><span class="id" title="variable">R</span></a>) (<a name="GRing.ComRingTheory.ScaleLinear.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.ssralg.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.ssralg.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/> +<span class="id" title="keyword">Variables</span> (<a name="GRing.ComRingTheory.ScaleLinear.U"><span class="id" title="variable">U</span></a> <a name="GRing.ComRingTheory.ScaleLinear.V"><span class="id" title="variable">V</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.lmodType"><span class="id" title="abbreviation">lmodType</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComRingTheory.R"><span class="id" title="variable">R</span></a>) (<a name="GRing.ComRingTheory.ScaleLinear.b"><span class="id" title="variable">b</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComRingTheory.R"><span class="id" title="variable">R</span></a>) (<a name="GRing.ComRingTheory.ScaleLinear.f"><span class="id" title="variable">f</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#b9a9030f88e15d1a3aacd4e8ec9a2391"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#b9a9030f88e15d1a3aacd4e8ec9a2391"><span class="id" title="notation">linear</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#V"><span class="id" title="variable">V</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#b9a9030f88e15d1a3aacd4e8ec9a2391"><span class="id" title="notation">}</span></a>).<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.scale_is_scalable"><span class="id" title="lemma">scale_is_scalable</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.scalable"><span class="id" title="abbreviation">scalable</span></a> ( <a class="idref" href="mathcomp.algebra.ssralg.html#9d4bc68f8a37455428efb931e05d31ce"><span class="id" title="notation">*:%</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#9d4bc68f8a37455428efb931e05d31ce"><span class="id" title="notation">R</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#9d4bc68f8a37455428efb931e05d31ce"><span class="id" title="notation">b</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.ssralg.html#GRing.ComRingTheory.ScaleLinear.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#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComRingTheory.ScaleLinear.V"><span class="id" title="variable">V</span></a>).<br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.scale_is_scalable"><span class="id" title="lemma">scale_is_scalable</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.scalable"><span class="id" title="abbreviation">scalable</span></a> ( <a class="idref" href="mathcomp.algebra.ssralg.html#38480d07e3193b4bc897687500c6bc9c"><span class="id" title="notation">*:%</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#38480d07e3193b4bc897687500c6bc9c"><span class="id" title="notation">R</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#38480d07e3193b4bc897687500c6bc9c"><span class="id" title="notation">b</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssreflect.html#aed478b27f23b4f753c27c8ac393febc"><span class="id" title="notation">:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComRingTheory.ScaleLinear.V"><span class="id" title="variable">V</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComRingTheory.ScaleLinear.V"><span class="id" title="variable">V</span></a>).<br/> <span class="id" title="keyword">Canonical</span> <span class="id" title="var">scale_linear</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.AddLinear"><span class="id" title="abbreviation">AddLinear</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.scale_is_scalable"><span class="id" title="lemma">scale_is_scalable</span></a>.<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.scale_fun_is_scalable"><span class="id" title="lemma">scale_fun_is_scalable</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.scalable"><span class="id" title="abbreviation">scalable</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComRingTheory.ScaleLinear.b"><span class="id" title="variable">b</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#9df698f0b10c644da28c4afd9af58cf4"><span class="id" title="notation">\*:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComRingTheory.ScaleLinear.f"><span class="id" title="variable">f</span></a>).<br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.scale_fun_is_scalable"><span class="id" title="lemma">scale_fun_is_scalable</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.scalable"><span class="id" title="abbreviation">scalable</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComRingTheory.ScaleLinear.b"><span class="id" title="variable">b</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#4f2c8844bdca193370eeb7e4ed6c690a"><span class="id" title="notation">\*:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComRingTheory.ScaleLinear.f"><span class="id" title="variable">f</span></a>).<br/> <span class="id" title="keyword">Canonical</span> <span class="id" title="var">scale_fun_linear</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.AddLinear"><span class="id" title="abbreviation">AddLinear</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.scale_fun_is_scalable"><span class="id" title="lemma">scale_fun_is_scalable</span></a>.<br/> <br/> @@ -2802,10 +2818,10 @@ <span class="id" title="keyword">Variables</span> (<a name="GRing.Algebra.Mixin.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>) (<a name="GRing.Algebra.Mixin.A"><span class="id" title="variable">A</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lalgebra.Exports.lalgType"><span class="id" title="abbreviation">lalgType</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#R"><span class="id" title="variable">R</span></a>).<br/> <br/> -<span class="id" title="keyword">Definition</span> <a name="GRing.Algebra.axiom"><span class="id" title="definition">axiom</span></a> := <span class="id" title="keyword">∀</span> <span class="id" title="var">k</span> (<span class="id" title="var">x</span> <span class="id" title="var">y</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Algebra.Mixin.A"><span class="id" title="variable">A</span></a>), <a class="idref" href="mathcomp.algebra.ssralg.html#k"><span class="id" title="variable">k</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#5aa7bcc9ac922e77482767d325fdbb69"><span class="id" title="notation">*:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#5aa7bcc9ac922e77482767d325fdbb69"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#ed99e7035d9a1f8a2c1515be81ac2e5f"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#5aa7bcc9ac922e77482767d325fdbb69"><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#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#ed99e7035d9a1f8a2c1515be81ac2e5f"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#ed99e7035d9a1f8a2c1515be81ac2e5f"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#k"><span class="id" title="variable">k</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#5aa7bcc9ac922e77482767d325fdbb69"><span class="id" title="notation">*:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#ed99e7035d9a1f8a2c1515be81ac2e5f"><span class="id" title="notation">)</span></a>.<br/> +<span class="id" title="keyword">Definition</span> <a name="GRing.Algebra.axiom"><span class="id" title="definition">axiom</span></a> := <span class="id" title="keyword">∀</span> <span class="id" title="var">k</span> (<span class="id" title="var">x</span> <span class="id" title="var">y</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Algebra.Mixin.A"><span class="id" title="variable">A</span></a>), <a class="idref" href="mathcomp.algebra.ssralg.html#k"><span class="id" title="variable">k</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#10f331d2d40399852634935b8aa18b88"><span class="id" title="notation">*:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#10f331d2d40399852634935b8aa18b88"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f99a2dc6d143aa8f1021ab57e4a19eee"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#10f331d2d40399852634935b8aa18b88"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f99a2dc6d143aa8f1021ab57e4a19eee"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f99a2dc6d143aa8f1021ab57e4a19eee"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#k"><span class="id" title="variable">k</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#10f331d2d40399852634935b8aa18b88"><span class="id" title="notation">*:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#f99a2dc6d143aa8f1021ab57e4a19eee"><span class="id" title="notation">)</span></a>.<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.Algebra.comm_axiom"><span class="id" title="lemma">comm_axiom</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssreflect.html#phant"><span class="id" title="inductive">phant</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Algebra.Mixin.A"><span class="id" title="variable">A</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="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.ssralg.html#GRing.mul"><span class="id" title="definition">mul</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Algebra.Mixin.A"><span class="id" title="variable">A</span></a>) <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Algebra.axiom"><span class="id" title="definition">axiom</span></a>.<br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.Algebra.comm_axiom"><span class="id" title="lemma">comm_axiom</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssreflect.html#phant"><span class="id" title="inductive">phant</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Algebra.Mixin.A"><span class="id" title="variable">A</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#commutative"><span class="id" title="definition">commutative</span></a> (@<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.mul"><span class="id" title="definition">mul</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Algebra.Mixin.A"><span class="id" title="variable">A</span></a>) <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Algebra.axiom"><span class="id" title="definition">axiom</span></a>.<br/> <br/> <span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Algebra.Mixin"><span class="id" title="section">Mixin</span></a>.<br/> @@ -2819,29 +2835,29 @@ <br/> <span class="id" title="keyword">Record</span> <a name="GRing.Algebra.class_of"><span class="id" title="record">class_of</span></a> (<span class="id" title="var">T</span> : <span class="id" title="keyword">Type</span>) : <span class="id" title="keyword">Type</span> := <a name="GRing.Algebra.Class"><span class="id" title="constructor">Class</span></a> {<br/> <a name="GRing.Algebra.base"><span class="id" title="projection">base</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lalgebra.class_of"><span class="id" title="record">Lalgebra.class_of</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Algebra.ClassDef.R"><span class="id" title="variable">R</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#T"><span class="id" title="variable">T</span></a>;<br/> - <a name="GRing.Algebra.mixin"><span class="id" title="projection">mixin</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Algebra.axiom"><span class="id" title="definition">axiom</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lalgebra.Pack"><span class="id" title="constructor">Lalgebra.Pack</span></a> <span class="id" title="var">_</span> <a class="idref" href="mathcomp.algebra.ssralg.html#base"><span class="id" title="method">base</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#T"><span class="id" title="variable">T</span></a>)<br/> + <a name="GRing.Algebra.mixin"><span class="id" title="projection">mixin</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Algebra.axiom"><span class="id" title="definition">axiom</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lalgebra.Pack"><span class="id" title="constructor">Lalgebra.Pack</span></a> <span class="id" title="var">_</span> <a class="idref" href="mathcomp.algebra.ssralg.html#base"><span class="id" title="method">base</span></a>)<br/> }.<br/> <br/> -<span class="id" title="keyword">Structure</span> <a name="GRing.Algebra.type"><span class="id" title="record">type</span></a> (<span class="id" title="var">phR</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssreflect.html#phant"><span class="id" title="inductive">phant</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Algebra.ClassDef.R"><span class="id" title="variable">R</span></a>) := <a name="GRing.Algebra.Pack"><span class="id" title="constructor">Pack</span></a> {<a name="GRing.Algebra.sort"><span class="id" title="projection">sort</span></a>; <span class="id" title="var">_</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Algebra.class_of"><span class="id" title="record">class_of</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#sort"><span class="id" title="method">sort</span></a>; <span class="id" title="var">_</span> : <span class="id" title="keyword">Type</span>}.<br/> -<span class="id" title="keyword">Variable</span> (<a name="GRing.Algebra.ClassDef.phR"><span class="id" title="variable">phR</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssreflect.html#phant"><span class="id" title="inductive">phant</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Algebra.ClassDef.R"><span class="id" title="variable">R</span></a>) (<a name="GRing.Algebra.ClassDef.T"><span class="id" title="variable">T</span></a> : <span class="id" title="keyword">Type</span>) (<a name="GRing.Algebra.ClassDef.cT"><span class="id" title="variable">cT</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Algebra.type"><span class="id" title="record">type</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#phR"><span class="id" title="variable">phR</span></a>).<br/> -<span class="id" title="keyword">Definition</span> <a name="GRing.Algebra.class"><span class="id" title="definition">class</span></a> := <span class="id" title="keyword">let</span>: <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Algebra.Pack"><span class="id" title="constructor">Pack</span></a> <span class="id" title="var">_</span> <span class="id" title="var">c</span> <span class="id" title="var">_</span> <span class="id" title="keyword">as</span> <span class="id" title="var">cT'</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Algebra.ClassDef.cT"><span class="id" title="variable">cT</span></a> <span class="id" title="keyword">return</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Algebra.class_of"><span class="id" title="record">class_of</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#cT'"><span class="id" title="variable">cT'</span></a> <span class="id" title="tactic">in</span> <span class="id" title="var">c</span>.<br/> -<span class="id" title="keyword">Definition</span> <a name="GRing.Algebra.clone"><span class="id" title="definition">clone</span></a> <span class="id" title="var">c</span> <span class="id" title="keyword">of</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#phant_id"><span class="id" title="definition">phant_id</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Algebra.class"><span class="id" title="definition">class</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#c"><span class="id" title="variable">c</span></a> := @<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Algebra.Pack"><span class="id" title="constructor">Pack</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Algebra.ClassDef.phR"><span class="id" title="variable">phR</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Algebra.ClassDef.T"><span class="id" title="variable">T</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#c"><span class="id" title="variable">c</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Algebra.ClassDef.T"><span class="id" title="variable">T</span></a>.<br/> -<span class="id" title="keyword">Let</span> <a name="GRing.Algebra.ClassDef.xT"><span class="id" title="variable">xT</span></a> := <span class="id" title="keyword">let</span>: <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Algebra.Pack"><span class="id" title="constructor">Pack</span></a> <span class="id" title="var">T</span> <span class="id" title="var">_</span> <span class="id" title="var">_</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Algebra.ClassDef.cT"><span class="id" title="variable">cT</span></a> <span class="id" title="tactic">in</span> <span class="id" title="var">T</span>.<br/> -<span class="id" title="keyword">Notation</span> <a name="GRing.Algebra.xclass"><span class="id" title="abbreviation">xclass</span></a> := (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Algebra.class"><span class="id" title="definition">class</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.ssralg.html#GRing.Algebra.class_of"><span class="id" title="record">class_of</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Algebra.ClassDef.xT"><span class="id" title="variable">xT</span></a>).<br/> +<span class="id" title="keyword">Structure</span> <a name="GRing.Algebra.type"><span class="id" title="record">type</span></a> (<span class="id" title="var">phR</span> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssreflect.html#phant"><span class="id" title="inductive">phant</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Algebra.ClassDef.R"><span class="id" title="variable">R</span></a>) := <a name="GRing.Algebra.Pack"><span class="id" title="constructor">Pack</span></a> {<a name="GRing.Algebra.sort"><span class="id" title="projection">sort</span></a>; <span class="id" title="var">_</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Algebra.class_of"><span class="id" title="record">class_of</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#sort"><span class="id" title="method">sort</span></a>}.<br/> +<span class="id" title="keyword">Variable</span> (<a name="GRing.Algebra.ClassDef.phR"><span class="id" title="variable">phR</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssreflect.html#phant"><span class="id" title="inductive">phant</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Algebra.ClassDef.R"><span class="id" title="variable">R</span></a>) (<a name="GRing.Algebra.ClassDef.T"><span class="id" title="variable">T</span></a> : <span class="id" title="keyword">Type</span>) (<a name="GRing.Algebra.ClassDef.cT"><span class="id" title="variable">cT</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Algebra.type"><span class="id" title="record">type</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#phR"><span class="id" title="variable">phR</span></a>).<br/> +<span class="id" title="keyword">Definition</span> <a name="GRing.Algebra.class"><span class="id" title="definition">class</span></a> := <span class="id" title="keyword">let</span>: <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Algebra.Pack"><span class="id" title="constructor">Pack</span></a> <span class="id" title="var">_</span> <span class="id" title="var">c</span> <span class="id" title="keyword">as</span> <span class="id" title="var">cT'</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Algebra.ClassDef.cT"><span class="id" title="variable">cT</span></a> <span class="id" title="keyword">return</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Algebra.class_of"><span class="id" title="record">class_of</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#cT'"><span class="id" title="variable">cT'</span></a> <span class="id" title="tactic">in</span> <span class="id" title="var">c</span>.<br/> +<span class="id" title="keyword">Definition</span> <a name="GRing.Algebra.clone"><span class="id" title="definition">clone</span></a> <span class="id" title="var">c</span> <span class="id" title="keyword">of</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#phant_id"><span class="id" title="definition">phant_id</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Algebra.class"><span class="id" title="definition">class</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#c"><span class="id" title="variable">c</span></a> := @<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Algebra.Pack"><span class="id" title="constructor">Pack</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Algebra.ClassDef.phR"><span class="id" title="variable">phR</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Algebra.ClassDef.T"><span class="id" title="variable">T</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#c"><span class="id" title="variable">c</span></a>.<br/> +<span class="id" title="keyword">Let</span> <a name="GRing.Algebra.ClassDef.xT"><span class="id" title="variable">xT</span></a> := <span class="id" title="keyword">let</span>: <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Algebra.Pack"><span class="id" title="constructor">Pack</span></a> <span class="id" title="var">T</span> <span class="id" title="var">_</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Algebra.ClassDef.cT"><span class="id" title="variable">cT</span></a> <span class="id" title="tactic">in</span> <span class="id" title="var">T</span>.<br/> +<span class="id" title="keyword">Notation</span> <a name="GRing.Algebra.xclass"><span class="id" title="abbreviation">xclass</span></a> := (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Algebra.class"><span class="id" title="definition">class</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssreflect.html#aed478b27f23b4f753c27c8ac393febc"><span class="id" title="notation">:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Algebra.class_of"><span class="id" title="record">class_of</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Algebra.ClassDef.xT"><span class="id" title="variable">xT</span></a>).<br/> <br/> <span class="id" title="keyword">Definition</span> <a name="GRing.Algebra.pack"><span class="id" title="definition">pack</span></a> <span class="id" title="var">b0</span> (<span class="id" title="var">ax0</span> : @<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Algebra.axiom"><span class="id" title="definition">axiom</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Algebra.ClassDef.R"><span class="id" title="variable">R</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b0"><span class="id" title="variable">b0</span></a>) :=<br/> - <span class="id" title="keyword">fun</span> <span class="id" title="var">bT</span> <span class="id" title="var">b</span> & <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#phant_id"><span class="id" title="definition">phant_id</span></a> (@<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lalgebra.class"><span class="id" title="definition">Lalgebra.class</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Algebra.ClassDef.R"><span class="id" title="variable">R</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Algebra.ClassDef.phR"><span class="id" title="variable">phR</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#bT"><span class="id" title="variable">bT</span></a>) <a class="idref" href="mathcomp.algebra.ssralg.html#b"><span class="id" title="variable">b</span></a> ⇒<br/> - <span class="id" title="keyword">fun</span> <span class="id" title="var">ax</span> & <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#phant_id"><span class="id" title="definition">phant_id</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#ax0"><span class="id" title="variable">ax0</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#ax"><span class="id" title="variable">ax</span></a> ⇒ <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Algebra.Pack"><span class="id" title="constructor">Pack</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Algebra.ClassDef.phR"><span class="id" title="variable">phR</span></a> (@<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Algebra.Class"><span class="id" title="constructor">Class</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Algebra.ClassDef.T"><span class="id" title="variable">T</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b"><span class="id" title="variable">b</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#ax"><span class="id" title="variable">ax</span></a>) <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Algebra.ClassDef.T"><span class="id" title="variable">T</span></a>.<br/> + <span class="id" title="keyword">fun</span> <span class="id" title="var">bT</span> <span class="id" title="var">b</span> & <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#phant_id"><span class="id" title="definition">phant_id</span></a> (@<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lalgebra.class"><span class="id" title="definition">Lalgebra.class</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Algebra.ClassDef.R"><span class="id" title="variable">R</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Algebra.ClassDef.phR"><span class="id" title="variable">phR</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#bT"><span class="id" title="variable">bT</span></a>) <a class="idref" href="mathcomp.algebra.ssralg.html#b"><span class="id" title="variable">b</span></a> ⇒<br/> + <span class="id" title="keyword">fun</span> <span class="id" title="var">ax</span> & <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#phant_id"><span class="id" title="definition">phant_id</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#ax0"><span class="id" title="variable">ax0</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#ax"><span class="id" title="variable">ax</span></a> ⇒ <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Algebra.Pack"><span class="id" title="constructor">Pack</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Algebra.ClassDef.phR"><span class="id" title="variable">phR</span></a> (@<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Algebra.Class"><span class="id" title="constructor">Class</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Algebra.ClassDef.T"><span class="id" title="variable">T</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b"><span class="id" title="variable">b</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#ax"><span class="id" title="variable">ax</span></a>).<br/> <br/> -<span class="id" title="keyword">Definition</span> <a name="GRing.Algebra.eqType"><span class="id" title="definition">eqType</span></a> := @<a class="idref" href="mathcomp.ssreflect.eqtype.html#Equality.Pack"><span class="id" title="constructor">Equality.Pack</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Algebra.ClassDef.cT"><span class="id" title="variable">cT</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Algebra.xclass"><span class="id" title="abbreviation">xclass</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Algebra.ClassDef.xT"><span class="id" title="variable">xT</span></a>.<br/> -<span class="id" title="keyword">Definition</span> <a name="GRing.Algebra.choiceType"><span class="id" title="definition">choiceType</span></a> := @<a class="idref" href="mathcomp.ssreflect.choice.html#Choice.Pack"><span class="id" title="constructor">Choice.Pack</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Algebra.ClassDef.cT"><span class="id" title="variable">cT</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Algebra.xclass"><span class="id" title="abbreviation">xclass</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Algebra.ClassDef.xT"><span class="id" title="variable">xT</span></a>.<br/> -<span class="id" title="keyword">Definition</span> <a name="GRing.Algebra.zmodType"><span class="id" title="definition">zmodType</span></a> := @<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Zmodule.Pack"><span class="id" title="constructor">Zmodule.Pack</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Algebra.ClassDef.cT"><span class="id" title="variable">cT</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Algebra.xclass"><span class="id" title="abbreviation">xclass</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Algebra.ClassDef.xT"><span class="id" title="variable">xT</span></a>.<br/> -<span class="id" title="keyword">Definition</span> <a name="GRing.Algebra.ringType"><span class="id" title="definition">ringType</span></a> := @<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Ring.Pack"><span class="id" title="constructor">Ring.Pack</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Algebra.ClassDef.cT"><span class="id" title="variable">cT</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Algebra.xclass"><span class="id" title="abbreviation">xclass</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Algebra.ClassDef.xT"><span class="id" title="variable">xT</span></a>.<br/> -<span class="id" title="keyword">Definition</span> <a name="GRing.Algebra.lmodType"><span class="id" title="definition">lmodType</span></a> := @<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lmodule.Pack"><span class="id" title="constructor">Lmodule.Pack</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Algebra.ClassDef.R"><span class="id" title="variable">R</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Algebra.ClassDef.phR"><span class="id" title="variable">phR</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Algebra.ClassDef.cT"><span class="id" title="variable">cT</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Algebra.xclass"><span class="id" title="abbreviation">xclass</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Algebra.ClassDef.xT"><span class="id" title="variable">xT</span></a>.<br/> -<span class="id" title="keyword">Definition</span> <a name="GRing.Algebra.lalgType"><span class="id" title="definition">lalgType</span></a> := @<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lalgebra.Pack"><span class="id" title="constructor">Lalgebra.Pack</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Algebra.ClassDef.R"><span class="id" title="variable">R</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Algebra.ClassDef.phR"><span class="id" title="variable">phR</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Algebra.ClassDef.cT"><span class="id" title="variable">cT</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Algebra.xclass"><span class="id" title="abbreviation">xclass</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Algebra.ClassDef.xT"><span class="id" title="variable">xT</span></a>.<br/> +<span class="id" title="keyword">Definition</span> <a name="GRing.Algebra.eqType"><span class="id" title="definition">eqType</span></a> := @<a class="idref" href="mathcomp.ssreflect.eqtype.html#Equality.Pack"><span class="id" title="constructor">Equality.Pack</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Algebra.ClassDef.cT"><span class="id" title="variable">cT</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Algebra.xclass"><span class="id" title="abbreviation">xclass</span></a>.<br/> +<span class="id" title="keyword">Definition</span> <a name="GRing.Algebra.choiceType"><span class="id" title="definition">choiceType</span></a> := @<a class="idref" href="mathcomp.ssreflect.choice.html#Choice.Pack"><span class="id" title="constructor">Choice.Pack</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Algebra.ClassDef.cT"><span class="id" title="variable">cT</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Algebra.xclass"><span class="id" title="abbreviation">xclass</span></a>.<br/> +<span class="id" title="keyword">Definition</span> <a name="GRing.Algebra.zmodType"><span class="id" title="definition">zmodType</span></a> := @<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Zmodule.Pack"><span class="id" title="constructor">Zmodule.Pack</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Algebra.ClassDef.cT"><span class="id" title="variable">cT</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Algebra.xclass"><span class="id" title="abbreviation">xclass</span></a>.<br/> +<span class="id" title="keyword">Definition</span> <a name="GRing.Algebra.ringType"><span class="id" title="definition">ringType</span></a> := @<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Ring.Pack"><span class="id" title="constructor">Ring.Pack</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Algebra.ClassDef.cT"><span class="id" title="variable">cT</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Algebra.xclass"><span class="id" title="abbreviation">xclass</span></a>.<br/> +<span class="id" title="keyword">Definition</span> <a name="GRing.Algebra.lmodType"><span class="id" title="definition">lmodType</span></a> := @<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lmodule.Pack"><span class="id" title="constructor">Lmodule.Pack</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Algebra.ClassDef.R"><span class="id" title="variable">R</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Algebra.ClassDef.phR"><span class="id" title="variable">phR</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Algebra.ClassDef.cT"><span class="id" title="variable">cT</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Algebra.xclass"><span class="id" title="abbreviation">xclass</span></a>.<br/> +<span class="id" title="keyword">Definition</span> <a name="GRing.Algebra.lalgType"><span class="id" title="definition">lalgType</span></a> := @<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lalgebra.Pack"><span class="id" title="constructor">Lalgebra.Pack</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Algebra.ClassDef.R"><span class="id" title="variable">R</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Algebra.ClassDef.phR"><span class="id" title="variable">phR</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Algebra.ClassDef.cT"><span class="id" title="variable">cT</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Algebra.xclass"><span class="id" title="abbreviation">xclass</span></a>.<br/> <br/> <span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Algebra.ClassDef"><span class="id" title="section">ClassDef</span></a>.<br/> @@ -2862,13 +2878,13 @@ <span class="id" title="keyword">Canonical</span> <span class="id" title="var">lmodType</span>.<br/> <span class="id" title="keyword">Coercion</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Algebra.lalgType"><span class="id" title="definition">lalgType</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Algebra.lalgType"><span class="id" title="definition">:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Algebra.lalgType"><span class="id" title="definition">type</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Algebra.lalgType"><span class="id" title="definition">>-></span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Algebra.lalgType"><span class="id" title="definition">Lalgebra.type</span></a>.<br/> <span class="id" title="keyword">Canonical</span> <span class="id" title="var">lalgType</span>.<br/> -<span class="id" title="keyword">Notation</span> <a name="GRing.Algebra.Exports.algType"><span class="id" title="abbreviation">algType</span></a> <span class="id" title="var">R</span> := (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Algebra.type"><span class="id" title="record">type</span></a> (<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssreflect.html#Phant"><span class="id" title="constructor">Phant</span></a> <span class="id" title="var">R</span>)).<br/> -<span class="id" title="keyword">Notation</span> <a name="GRing.Algebra.Exports.AlgType"><span class="id" title="abbreviation">AlgType</span></a> <span class="id" title="var">R</span> <span class="id" title="var">A</span> <span class="id" title="var">ax</span> := (@<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Algebra.pack"><span class="id" title="definition">pack</span></a> <span class="id" title="var">_</span> (<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssreflect.html#Phant"><span class="id" title="constructor">Phant</span></a> <span class="id" title="var">R</span>) <span class="id" title="var">A</span> <span class="id" title="var">_</span> <span class="id" title="var">ax</span> <span class="id" title="var">_</span> <span class="id" title="var">_</span> <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> <span class="id" title="var">_</span> <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>).<br/> -<span class="id" title="keyword">Notation</span> <a name="GRing.Algebra.Exports.CommAlgType"><span class="id" title="abbreviation">CommAlgType</span></a> <span class="id" title="var">R</span> <span class="id" title="var">A</span> := (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Algebra.Exports.AlgType"><span class="id" title="abbreviation">AlgType</span></a> <span class="id" title="var">R</span> <span class="id" title="var">A</span> (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Algebra.comm_axiom"><span class="id" title="lemma">comm_axiom</span></a> (<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssreflect.html#Phant"><span class="id" title="constructor">Phant</span></a> <span class="id" title="var">A</span>) (@<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.mulrC"><span class="id" title="lemma">mulrC</span></a> <span class="id" title="var">_</span>))).<br/> -<span class="id" title="keyword">Notation</span> <a name="30ca49fca582d0576271da5ba1a53c8c"><span class="id" title="notation">"</span></a>[ 'algType' R 'of' T 'for' cT ]" := (@<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Algebra.clone"><span class="id" title="definition">clone</span></a> <span class="id" title="var">_</span> (<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssreflect.html#Phant"><span class="id" title="constructor">Phant</span></a> <span class="id" title="var">R</span>) <span class="id" title="var">T</span> <span class="id" title="var">cT</span> <span class="id" title="var">_</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#idfun"><span class="id" title="abbreviation">idfun</span></a>)<br/> +<span class="id" title="keyword">Notation</span> <a name="GRing.Algebra.Exports.algType"><span class="id" title="abbreviation">algType</span></a> <span class="id" title="var">R</span> := (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Algebra.type"><span class="id" title="record">type</span></a> (<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssreflect.html#Phant"><span class="id" title="constructor">Phant</span></a> <span class="id" title="var">R</span>)).<br/> +<span class="id" title="keyword">Notation</span> <a name="GRing.Algebra.Exports.AlgType"><span class="id" title="abbreviation">AlgType</span></a> <span class="id" title="var">R</span> <span class="id" title="var">A</span> <span class="id" title="var">ax</span> := (@<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Algebra.pack"><span class="id" title="definition">pack</span></a> <span class="id" title="var">_</span> (<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssreflect.html#Phant"><span class="id" title="constructor">Phant</span></a> <span class="id" title="var">R</span>) <span class="id" title="var">A</span> <span class="id" title="var">_</span> <span class="id" title="var">ax</span> <span class="id" title="var">_</span> <span class="id" title="var">_</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#id"><span class="id" title="abbreviation">id</span></a> <span class="id" title="var">_</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#id"><span class="id" title="abbreviation">id</span></a>).<br/> +<span class="id" title="keyword">Notation</span> <a name="GRing.Algebra.Exports.CommAlgType"><span class="id" title="abbreviation">CommAlgType</span></a> <span class="id" title="var">R</span> <span class="id" title="var">A</span> := (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Algebra.Exports.AlgType"><span class="id" title="abbreviation">AlgType</span></a> <span class="id" title="var">R</span> <span class="id" title="var">A</span> (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Algebra.comm_axiom"><span class="id" title="lemma">comm_axiom</span></a> (<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssreflect.html#Phant"><span class="id" title="constructor">Phant</span></a> <span class="id" title="var">A</span>) (@<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.mulrC"><span class="id" title="lemma">mulrC</span></a> <span class="id" title="var">_</span>))).<br/> +<span class="id" title="keyword">Notation</span> <a name="93568324863779f91a1c79d8a55f7d2b"><span class="id" title="notation">"</span></a>[ 'algType' R 'of' T 'for' cT ]" := (@<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Algebra.clone"><span class="id" title="definition">clone</span></a> <span class="id" title="var">_</span> (<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssreflect.html#Phant"><span class="id" title="constructor">Phant</span></a> <span class="id" title="var">R</span>) <span class="id" title="var">T</span> <span class="id" title="var">cT</span> <span class="id" title="var">_</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#idfun"><span class="id" title="abbreviation">idfun</span></a>)<br/> (<span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 0, <span class="id" title="var">format</span> "[ 'algType' R 'of' T 'for' cT ]")<br/> : <span class="id" title="var">form_scope</span>.<br/> -<span class="id" title="keyword">Notation</span> <a name="30cfd03a0f671acf70ae071bdb2b2330"><span class="id" title="notation">"</span></a>[ 'algType' R 'of' T ]" := (@<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Algebra.clone"><span class="id" title="definition">clone</span></a> <span class="id" title="var">_</span> (<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssreflect.html#Phant"><span class="id" title="constructor">Phant</span></a> <span class="id" title="var">R</span>) <span class="id" title="var">T</span> <span class="id" title="var">_</span> <span class="id" title="var">_</span> <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>)<br/> +<span class="id" title="keyword">Notation</span> <a name="205d21d03e723fd656efd69d615cdfd2"><span class="id" title="notation">"</span></a>[ 'algType' R 'of' T ]" := (@<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Algebra.clone"><span class="id" title="definition">clone</span></a> <span class="id" title="var">_</span> (<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssreflect.html#Phant"><span class="id" title="constructor">Phant</span></a> <span class="id" title="var">R</span>) <span class="id" title="var">T</span> <span class="id" title="var">_</span> <span class="id" title="var">_</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#id"><span class="id" title="abbreviation">id</span></a>)<br/> (<span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 0, <span class="id" title="var">format</span> "[ 'algType' R 'of' T ]") : <span class="id" title="var">form_scope</span>.<br/> <span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Algebra.Exports"><span class="id" title="module">Exports</span></a>.<br/> @@ -2884,39 +2900,39 @@ <span class="id" title="keyword">Implicit</span> <span class="id" title="keyword">Types</span> (<span class="id" title="var">k</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.AlgebraTheory.R"><span class="id" title="variable">R</span></a>) (<span class="id" title="var">x</span> <span class="id" title="var">y</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.AlgebraTheory.A"><span class="id" title="variable">A</span></a>).<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.scalerAr"><span class="id" title="lemma">scalerAr</span></a> <span class="id" title="var">k</span> <span class="id" title="var">x</span> <span class="id" title="var">y</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#k"><span class="id" title="variable">k</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#5aa7bcc9ac922e77482767d325fdbb69"><span class="id" title="notation">*:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#5aa7bcc9ac922e77482767d325fdbb69"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#ed99e7035d9a1f8a2c1515be81ac2e5f"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#5aa7bcc9ac922e77482767d325fdbb69"><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#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#ed99e7035d9a1f8a2c1515be81ac2e5f"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#ed99e7035d9a1f8a2c1515be81ac2e5f"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#k"><span class="id" title="variable">k</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#5aa7bcc9ac922e77482767d325fdbb69"><span class="id" title="notation">*:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#ed99e7035d9a1f8a2c1515be81ac2e5f"><span class="id" title="notation">)</span></a>.<br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.scalerAr"><span class="id" title="lemma">scalerAr</span></a> <span class="id" title="var">k</span> <span class="id" title="var">x</span> <span class="id" title="var">y</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#k"><span class="id" title="variable">k</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#10f331d2d40399852634935b8aa18b88"><span class="id" title="notation">*:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#10f331d2d40399852634935b8aa18b88"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f99a2dc6d143aa8f1021ab57e4a19eee"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#10f331d2d40399852634935b8aa18b88"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f99a2dc6d143aa8f1021ab57e4a19eee"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f99a2dc6d143aa8f1021ab57e4a19eee"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#k"><span class="id" title="variable">k</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#10f331d2d40399852634935b8aa18b88"><span class="id" title="notation">*:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#f99a2dc6d143aa8f1021ab57e4a19eee"><span class="id" title="notation">)</span></a>.<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.scalerCA"><span class="id" title="lemma">scalerCA</span></a> <span class="id" title="var">k</span> <span class="id" title="var">x</span> <span class="id" title="var">y</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#k"><span class="id" title="variable">k</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#5aa7bcc9ac922e77482767d325fdbb69"><span class="id" title="notation">*:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#ed99e7035d9a1f8a2c1515be81ac2e5f"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#ed99e7035d9a1f8a2c1515be81ac2e5f"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#ed99e7035d9a1f8a2c1515be81ac2e5f"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#k"><span class="id" title="variable">k</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#5aa7bcc9ac922e77482767d325fdbb69"><span class="id" title="notation">*:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#ed99e7035d9a1f8a2c1515be81ac2e5f"><span class="id" title="notation">)</span></a>.<br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.scalerCA"><span class="id" title="lemma">scalerCA</span></a> <span class="id" title="var">k</span> <span class="id" title="var">x</span> <span class="id" title="var">y</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#k"><span class="id" title="variable">k</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#10f331d2d40399852634935b8aa18b88"><span class="id" title="notation">*:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f99a2dc6d143aa8f1021ab57e4a19eee"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f99a2dc6d143aa8f1021ab57e4a19eee"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f99a2dc6d143aa8f1021ab57e4a19eee"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#k"><span class="id" title="variable">k</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#10f331d2d40399852634935b8aa18b88"><span class="id" title="notation">*:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#f99a2dc6d143aa8f1021ab57e4a19eee"><span class="id" title="notation">)</span></a>.<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.mulr_algr"><span class="id" title="lemma">mulr_algr</span></a> <span class="id" title="var">a</span> <span class="id" title="var">x</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#ed99e7035d9a1f8a2c1515be81ac2e5f"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#a"><span class="id" title="variable">a</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#a9486b60fd4d51d8247008b3f8b21d21"><span class="id" title="notation">%:</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#a9486b60fd4d51d8247008b3f8b21d21"><span class="id" title="notation">A</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#a"><span class="id" title="variable">a</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#5aa7bcc9ac922e77482767d325fdbb69"><span class="id" title="notation">*:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a>.<br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.mulr_algr"><span class="id" title="lemma">mulr_algr</span></a> <span class="id" title="var">a</span> <span class="id" title="var">x</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f99a2dc6d143aa8f1021ab57e4a19eee"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#a"><span class="id" title="variable">a</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#b328a5aed2733481ae9bfe9f2b7cc645"><span class="id" title="notation">%:</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#b328a5aed2733481ae9bfe9f2b7cc645"><span class="id" title="notation">A</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#a"><span class="id" title="variable">a</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#10f331d2d40399852634935b8aa18b88"><span class="id" title="notation">*:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a>.<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.exprZn"><span class="id" title="lemma">exprZn</span></a> <span class="id" title="var">k</span> <span class="id" title="var">x</span> <span class="id" title="var">n</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#k"><span class="id" title="variable">k</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#5aa7bcc9ac922e77482767d325fdbb69"><span class="id" title="notation">*:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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#k"><span class="id" title="variable">k</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#5aa7bcc9ac922e77482767d325fdbb69"><span class="id" title="notation">*:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a>.<br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.exprZn"><span class="id" title="lemma">exprZn</span></a> <span class="id" title="var">k</span> <span class="id" title="var">x</span> <span class="id" title="var">n</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#k"><span class="id" title="variable">k</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#10f331d2d40399852634935b8aa18b88"><span class="id" title="notation">*:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#k"><span class="id" title="variable">k</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#10f331d2d40399852634935b8aa18b88"><span class="id" title="notation">*:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a>.<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.scaler_prod"><span class="id" title="lemma">scaler_prod</span></a> <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.ssralg.html#I"><span class="id" title="variable">I</span></a>) (<span class="id" title="var">F</span> : <a class="idref" href="mathcomp.algebra.ssralg.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.ssralg.html#GRing.AlgebraTheory.R"><span class="id" title="variable">R</span></a>) (<span class="id" title="var">G</span> : <a class="idref" href="mathcomp.algebra.ssralg.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.ssralg.html#GRing.AlgebraTheory.A"><span class="id" title="variable">A</span></a>) :<br/> - <a class="idref" href="mathcomp.algebra.ssralg.html#3f1a950be6bcb72c9434150471b42417"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#3f1a950be6bcb72c9434150471b42417"><span class="id" title="notation">prod_</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#3f1a950be6bcb72c9434150471b42417"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.algebra.ssralg.html#3f1a950be6bcb72c9434150471b42417"><span class="id" title="notation"><-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#r"><span class="id" title="variable">r</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#3f1a950be6bcb72c9434150471b42417"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#3f1a950be6bcb72c9434150471b42417"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#3f1a950be6bcb72c9434150471b42417"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#5aa7bcc9ac922e77482767d325fdbb69"><span class="id" title="notation">*:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#G"><span class="id" title="variable">G</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#3f1a950be6bcb72c9434150471b42417"><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/> - <a class="idref" href="mathcomp.algebra.ssralg.html#3f1a950be6bcb72c9434150471b42417"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#3f1a950be6bcb72c9434150471b42417"><span class="id" title="notation">prod_</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#3f1a950be6bcb72c9434150471b42417"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.algebra.ssralg.html#3f1a950be6bcb72c9434150471b42417"><span class="id" title="notation"><-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#r"><span class="id" title="variable">r</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#3f1a950be6bcb72c9434150471b42417"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#3f1a950be6bcb72c9434150471b42417"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#5aa7bcc9ac922e77482767d325fdbb69"><span class="id" title="notation">*:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#3f1a950be6bcb72c9434150471b42417"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#3f1a950be6bcb72c9434150471b42417"><span class="id" title="notation">prod_</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#3f1a950be6bcb72c9434150471b42417"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.algebra.ssralg.html#3f1a950be6bcb72c9434150471b42417"><span class="id" title="notation"><-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#r"><span class="id" title="variable">r</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#3f1a950be6bcb72c9434150471b42417"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#3f1a950be6bcb72c9434150471b42417"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#G"><span class="id" title="variable">G</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</span></a>.<br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.scaler_prod"><span class="id" title="lemma">scaler_prod</span></a> <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/V8.9.0/stdlib//Coq.ssr.ssrbool.html#pred"><span class="id" title="definition">pred</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#I"><span class="id" title="variable">I</span></a>) (<span class="id" title="var">F</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#I"><span class="id" title="variable">I</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.AlgebraTheory.R"><span class="id" title="variable">R</span></a>) (<span class="id" title="var">G</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#I"><span class="id" title="variable">I</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.AlgebraTheory.A"><span class="id" title="variable">A</span></a>) :<br/> + <a class="idref" href="mathcomp.algebra.ssralg.html#5e0b538209a51fa2bd900767b9312dd8"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#5e0b538209a51fa2bd900767b9312dd8"><span class="id" title="notation">prod_</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#5e0b538209a51fa2bd900767b9312dd8"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.algebra.ssralg.html#5e0b538209a51fa2bd900767b9312dd8"><span class="id" title="notation"><-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#r"><span class="id" title="variable">r</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#5e0b538209a51fa2bd900767b9312dd8"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#5e0b538209a51fa2bd900767b9312dd8"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#5e0b538209a51fa2bd900767b9312dd8"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#10f331d2d40399852634935b8aa18b88"><span class="id" title="notation">*:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#G"><span class="id" title="variable">G</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#5e0b538209a51fa2bd900767b9312dd8"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a><br/> + <a class="idref" href="mathcomp.algebra.ssralg.html#5e0b538209a51fa2bd900767b9312dd8"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#5e0b538209a51fa2bd900767b9312dd8"><span class="id" title="notation">prod_</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#5e0b538209a51fa2bd900767b9312dd8"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.algebra.ssralg.html#5e0b538209a51fa2bd900767b9312dd8"><span class="id" title="notation"><-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#r"><span class="id" title="variable">r</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#5e0b538209a51fa2bd900767b9312dd8"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#5e0b538209a51fa2bd900767b9312dd8"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#10f331d2d40399852634935b8aa18b88"><span class="id" title="notation">*:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#5e0b538209a51fa2bd900767b9312dd8"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#5e0b538209a51fa2bd900767b9312dd8"><span class="id" title="notation">prod_</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#5e0b538209a51fa2bd900767b9312dd8"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.algebra.ssralg.html#5e0b538209a51fa2bd900767b9312dd8"><span class="id" title="notation"><-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#r"><span class="id" title="variable">r</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#5e0b538209a51fa2bd900767b9312dd8"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#5e0b538209a51fa2bd900767b9312dd8"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#G"><span class="id" title="variable">G</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</span></a>.<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.scaler_prodl"><span class="id" title="lemma">scaler_prodl</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">S</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.ssralg.html#I"><span class="id" title="variable">I</span></a>) (<span class="id" title="var">F</span> : <a class="idref" href="mathcomp.algebra.ssralg.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.ssralg.html#GRing.AlgebraTheory.A"><span class="id" title="variable">A</span></a>) <span class="id" title="var">k</span> :<br/> - <a class="idref" href="mathcomp.algebra.ssralg.html#3d9b33c1fff84830fd684d3347f0b504"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#3d9b33c1fff84830fd684d3347f0b504"><span class="id" title="notation">prod_</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#3d9b33c1fff84830fd684d3347f0b504"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.algebra.ssralg.html#3d9b33c1fff84830fd684d3347f0b504"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#S"><span class="id" title="variable">S</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#3d9b33c1fff84830fd684d3347f0b504"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#3d9b33c1fff84830fd684d3347f0b504"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#k"><span class="id" title="variable">k</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#5aa7bcc9ac922e77482767d325fdbb69"><span class="id" title="notation">*:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#3d9b33c1fff84830fd684d3347f0b504"><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#k"><span class="id" title="variable">k</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#f01714bb99e6c7abc6cfb2e43eff7f6e"><span class="id" title="notation">#|</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#S"><span class="id" title="variable">S</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#f01714bb99e6c7abc6cfb2e43eff7f6e"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#5aa7bcc9ac922e77482767d325fdbb69"><span class="id" title="notation">*:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#3d9b33c1fff84830fd684d3347f0b504"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#3d9b33c1fff84830fd684d3347f0b504"><span class="id" title="notation">prod_</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#3d9b33c1fff84830fd684d3347f0b504"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.algebra.ssralg.html#3d9b33c1fff84830fd684d3347f0b504"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#S"><span class="id" title="variable">S</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#3d9b33c1fff84830fd684d3347f0b504"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</span></a>.<br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.scaler_prodl"><span class="id" title="lemma">scaler_prodl</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">S</span> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#pred"><span class="id" title="definition">pred</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#I"><span class="id" title="variable">I</span></a>) (<span class="id" title="var">F</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#I"><span class="id" title="variable">I</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.AlgebraTheory.A"><span class="id" title="variable">A</span></a>) <span class="id" title="var">k</span> :<br/> + <a class="idref" href="mathcomp.algebra.ssralg.html#ffaead03d6bc40b2e0dc2c448b2f18da"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#ffaead03d6bc40b2e0dc2c448b2f18da"><span class="id" title="notation">prod_</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#ffaead03d6bc40b2e0dc2c448b2f18da"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.algebra.ssralg.html#ffaead03d6bc40b2e0dc2c448b2f18da"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#S"><span class="id" title="variable">S</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#ffaead03d6bc40b2e0dc2c448b2f18da"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#ffaead03d6bc40b2e0dc2c448b2f18da"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#k"><span class="id" title="variable">k</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#10f331d2d40399852634935b8aa18b88"><span class="id" title="notation">*:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#ffaead03d6bc40b2e0dc2c448b2f18da"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#k"><span class="id" title="variable">k</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#234f50e13366f794cd6877cf832a5935"><span class="id" title="notation">#|</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#S"><span class="id" title="variable">S</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#234f50e13366f794cd6877cf832a5935"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#10f331d2d40399852634935b8aa18b88"><span class="id" title="notation">*:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#ffaead03d6bc40b2e0dc2c448b2f18da"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#ffaead03d6bc40b2e0dc2c448b2f18da"><span class="id" title="notation">prod_</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#ffaead03d6bc40b2e0dc2c448b2f18da"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.algebra.ssralg.html#ffaead03d6bc40b2e0dc2c448b2f18da"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#S"><span class="id" title="variable">S</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#ffaead03d6bc40b2e0dc2c448b2f18da"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</span></a>.<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.scaler_prodr"><span class="id" title="lemma">scaler_prodr</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">S</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.ssralg.html#I"><span class="id" title="variable">I</span></a>) (<span class="id" title="var">F</span> : <a class="idref" href="mathcomp.algebra.ssralg.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.ssralg.html#GRing.AlgebraTheory.R"><span class="id" title="variable">R</span></a>) <span class="id" title="var">x</span> :<br/> - <a class="idref" href="mathcomp.algebra.ssralg.html#3d9b33c1fff84830fd684d3347f0b504"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#3d9b33c1fff84830fd684d3347f0b504"><span class="id" title="notation">prod_</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#3d9b33c1fff84830fd684d3347f0b504"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.algebra.ssralg.html#3d9b33c1fff84830fd684d3347f0b504"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#S"><span class="id" title="variable">S</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#3d9b33c1fff84830fd684d3347f0b504"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#3d9b33c1fff84830fd684d3347f0b504"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#5aa7bcc9ac922e77482767d325fdbb69"><span class="id" title="notation">*:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#3d9b33c1fff84830fd684d3347f0b504"><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#3d9b33c1fff84830fd684d3347f0b504"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#3d9b33c1fff84830fd684d3347f0b504"><span class="id" title="notation">prod_</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#3d9b33c1fff84830fd684d3347f0b504"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.algebra.ssralg.html#3d9b33c1fff84830fd684d3347f0b504"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#S"><span class="id" title="variable">S</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#3d9b33c1fff84830fd684d3347f0b504"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#5aa7bcc9ac922e77482767d325fdbb69"><span class="id" title="notation">*:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#f01714bb99e6c7abc6cfb2e43eff7f6e"><span class="id" title="notation">#|</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#S"><span class="id" title="variable">S</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#f01714bb99e6c7abc6cfb2e43eff7f6e"><span class="id" title="notation">|</span></a>.<br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.scaler_prodr"><span class="id" title="lemma">scaler_prodr</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">S</span> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#pred"><span class="id" title="definition">pred</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#I"><span class="id" title="variable">I</span></a>) (<span class="id" title="var">F</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#I"><span class="id" title="variable">I</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.AlgebraTheory.R"><span class="id" title="variable">R</span></a>) <span class="id" title="var">x</span> :<br/> + <a class="idref" href="mathcomp.algebra.ssralg.html#ffaead03d6bc40b2e0dc2c448b2f18da"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#ffaead03d6bc40b2e0dc2c448b2f18da"><span class="id" title="notation">prod_</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#ffaead03d6bc40b2e0dc2c448b2f18da"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.algebra.ssralg.html#ffaead03d6bc40b2e0dc2c448b2f18da"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#S"><span class="id" title="variable">S</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#ffaead03d6bc40b2e0dc2c448b2f18da"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#ffaead03d6bc40b2e0dc2c448b2f18da"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#10f331d2d40399852634935b8aa18b88"><span class="id" title="notation">*:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#ffaead03d6bc40b2e0dc2c448b2f18da"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#ffaead03d6bc40b2e0dc2c448b2f18da"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#ffaead03d6bc40b2e0dc2c448b2f18da"><span class="id" title="notation">prod_</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#ffaead03d6bc40b2e0dc2c448b2f18da"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.algebra.ssralg.html#ffaead03d6bc40b2e0dc2c448b2f18da"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#S"><span class="id" title="variable">S</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#ffaead03d6bc40b2e0dc2c448b2f18da"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#10f331d2d40399852634935b8aa18b88"><span class="id" title="notation">*:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#234f50e13366f794cd6877cf832a5935"><span class="id" title="notation">#|</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#S"><span class="id" title="variable">S</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#234f50e13366f794cd6877cf832a5935"><span class="id" title="notation">|</span></a>.<br/> <br/> -<span class="id" title="keyword">Canonical</span> <span class="id" title="var">regular_comRingType</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#57b384122345a94c564987d4b6ee9f0f"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#57b384122345a94c564987d4b6ee9f0f"><span class="id" title="notation">comRingType</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#57b384122345a94c564987d4b6ee9f0f"><span class="id" title="notation">of</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.AlgebraTheory.R"><span class="id" title="variable">R</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#44fd865ce10e1d30970d09bdd85a0c8e"><span class="id" title="notation">^</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#44fd865ce10e1d30970d09bdd85a0c8e"><span class="id" title="notation">o</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#57b384122345a94c564987d4b6ee9f0f"><span class="id" title="notation">]</span></a>.<br/> -<span class="id" title="keyword">Canonical</span> <span class="id" title="var">regular_algType</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.CommAlgType"><span class="id" title="abbreviation">CommAlgType</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.AlgebraTheory.R"><span class="id" title="variable">R</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.AlgebraTheory.R"><span class="id" title="variable">R</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#44fd865ce10e1d30970d09bdd85a0c8e"><span class="id" title="notation">^</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#44fd865ce10e1d30970d09bdd85a0c8e"><span class="id" title="notation">o</span></a>.<br/> +<span class="id" title="keyword">Canonical</span> <span class="id" title="var">regular_comRingType</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#8b92acac231ba6173223cf75164fca3d"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#8b92acac231ba6173223cf75164fca3d"><span class="id" title="notation">comRingType</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#8b92acac231ba6173223cf75164fca3d"><span class="id" title="notation">of</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.AlgebraTheory.R"><span class="id" title="variable">R</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#44117511dc5f0eff9d2bcbcfcdd33874"><span class="id" title="notation">^</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#44117511dc5f0eff9d2bcbcfcdd33874"><span class="id" title="notation">o</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#8b92acac231ba6173223cf75164fca3d"><span class="id" title="notation">]</span></a>.<br/> +<span class="id" title="keyword">Canonical</span> <span class="id" title="var">regular_algType</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.CommAlgType"><span class="id" title="abbreviation">CommAlgType</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.AlgebraTheory.R"><span class="id" title="variable">R</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.AlgebraTheory.R"><span class="id" title="variable">R</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#44117511dc5f0eff9d2bcbcfcdd33874"><span class="id" title="notation">^</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#44117511dc5f0eff9d2bcbcfcdd33874"><span class="id" title="notation">o</span></a>.<br/> <br/> -<span class="id" title="keyword">Variables</span> (<a name="GRing.AlgebraTheory.U"><span class="id" title="variable">U</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.lmodType"><span class="id" title="abbreviation">lmodType</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.AlgebraTheory.R"><span class="id" title="variable">R</span></a>) (<a name="GRing.AlgebraTheory.a"><span class="id" title="variable">a</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.AlgebraTheory.A"><span class="id" title="variable">A</span></a>) (<a name="GRing.AlgebraTheory.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.ssralg.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.ssralg.html#GRing.AlgebraTheory.A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#697e59dccfd7ad4519680ddb16ef82da"><span class="id" title="notation">}</span></a>).<br/> +<span class="id" title="keyword">Variables</span> (<a name="GRing.AlgebraTheory.U"><span class="id" title="variable">U</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.lmodType"><span class="id" title="abbreviation">lmodType</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.AlgebraTheory.R"><span class="id" title="variable">R</span></a>) (<a name="GRing.AlgebraTheory.a"><span class="id" title="variable">a</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.AlgebraTheory.A"><span class="id" title="variable">A</span></a>) (<a name="GRing.AlgebraTheory.f"><span class="id" title="variable">f</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#b9a9030f88e15d1a3aacd4e8ec9a2391"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#b9a9030f88e15d1a3aacd4e8ec9a2391"><span class="id" title="notation">linear</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.AlgebraTheory.A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#b9a9030f88e15d1a3aacd4e8ec9a2391"><span class="id" title="notation">}</span></a>).<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.mull_fun_is_scalable"><span class="id" title="lemma">mull_fun_is_scalable</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.scalable"><span class="id" title="abbreviation">scalable</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.AlgebraTheory.a"><span class="id" title="variable">a</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#82b32d32eab6e1eab8147f667d41c846"><span class="id" title="notation">\*</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#82b32d32eab6e1eab8147f667d41c846"><span class="id" title="notation">o</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.AlgebraTheory.f"><span class="id" title="variable">f</span></a>).<br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.mull_fun_is_scalable"><span class="id" title="lemma">mull_fun_is_scalable</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.scalable"><span class="id" title="abbreviation">scalable</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.AlgebraTheory.a"><span class="id" title="variable">a</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#bc3112e15c615abd16fe817a85e6c0fd"><span class="id" title="notation">\*</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#bc3112e15c615abd16fe817a85e6c0fd"><span class="id" title="notation">o</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.AlgebraTheory.f"><span class="id" title="variable">f</span></a>).<br/> <span class="id" title="keyword">Canonical</span> <span class="id" title="var">mull_fun_linear</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.AddLinear"><span class="id" title="abbreviation">AddLinear</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.mull_fun_is_scalable"><span class="id" title="lemma">mull_fun_is_scalable</span></a>.<br/> <br/> @@ -2927,18 +2943,18 @@ <br/> <span class="id" title="keyword">Record</span> <a name="GRing.UnitRing.mixin_of"><span class="id" title="record">mixin_of</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="keyword">Type</span> := <a name="GRing.UnitRing.Mixin"><span class="id" title="constructor">Mixin</span></a> {<br/> - <a name="GRing.UnitRing.unit"><span class="id" title="projection">unit</span></a> : <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.ssralg.html#R"><span class="id" title="variable">R</span></a>;<br/> - <a name="GRing.UnitRing.inv"><span class="id" title="projection">inv</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.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.ssralg.html#R"><span class="id" title="variable">R</span></a>;<br/> - <span class="id" title="var">_</span> : <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#unit"><span class="id" title="method">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#left_inverse"><span class="id" title="definition">left_inverse</span></a> 1 <a class="idref" href="mathcomp.algebra.ssralg.html#inv"><span class="id" title="method">inv</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#6498e6e308d8a143464cf2d2ba603d36"><span class="id" title="notation">*%</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#6498e6e308d8a143464cf2d2ba603d36"><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/> - <span class="id" title="var">_</span> : <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#unit"><span class="id" title="method">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#right_inverse"><span class="id" title="definition">right_inverse</span></a> 1 <a class="idref" href="mathcomp.algebra.ssralg.html#inv"><span class="id" title="method">inv</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#6498e6e308d8a143464cf2d2ba603d36"><span class="id" title="notation">*%</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#6498e6e308d8a143464cf2d2ba603d36"><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/> - <span class="id" title="var">_</span> : <span class="id" title="keyword">∀</span> <span class="id" title="var">x</span> <span class="id" title="var">y</span>, <a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#ed99e7035d9a1f8a2c1515be81ac2e5f"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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 <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d82a7d96d3659d805ffe732283716822"><span class="id" title="notation">∧</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#ed99e7035d9a1f8a2c1515be81ac2e5f"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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> 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.ssralg.html#unit"><span class="id" title="method">unit</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a>;<br/> - <span class="id" title="var">_</span> : <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.ssralg.html#unit"><span class="id" title="method">unit</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.ssralg.html#inv"><span class="id" title="method">inv</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/> + <a name="GRing.UnitRing.unit"><span class="id" title="projection">unit</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#pred"><span class="id" title="definition">pred</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#R"><span class="id" title="variable">R</span></a>;<br/> + <a name="GRing.UnitRing.inv"><span class="id" title="projection">inv</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#R"><span class="id" title="variable">R</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#R"><span class="id" title="variable">R</span></a>;<br/> + <span class="id" title="var">_</span> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#unit"><span class="id" title="method">unit</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><span class="id" title="notation">,</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#left_inverse"><span class="id" title="definition">left_inverse</span></a> 1 <a class="idref" href="mathcomp.algebra.ssralg.html#inv"><span class="id" title="method">inv</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#bae191a5c954d16cccd67244cf8a6ceb"><span class="id" title="notation">*%</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#bae191a5c954d16cccd67244cf8a6ceb"><span class="id" title="notation">R</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><span class="id" title="notation">}</span></a>;<br/> + <span class="id" title="var">_</span> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#unit"><span class="id" title="method">unit</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><span class="id" title="notation">,</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#right_inverse"><span class="id" title="definition">right_inverse</span></a> 1 <a class="idref" href="mathcomp.algebra.ssralg.html#inv"><span class="id" title="method">inv</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#bae191a5c954d16cccd67244cf8a6ceb"><span class="id" title="notation">*%</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#bae191a5c954d16cccd67244cf8a6ceb"><span class="id" title="notation">R</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><span class="id" title="notation">}</span></a>;<br/> + <span class="id" title="var">_</span> : <span class="id" title="keyword">∀</span> <span class="id" title="var">x</span> <span class="id" title="var">y</span>, <a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f99a2dc6d143aa8f1021ab57e4a19eee"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> 1 <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#ba2b0e492d2b4675a0acf3ea92aabadd"><span class="id" title="notation">∧</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f99a2dc6d143aa8f1021ab57e4a19eee"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> 1 <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#unit"><span class="id" title="method">unit</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a>;<br/> + <span class="id" title="var">_</span> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><span class="id" title="notation">in</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#790b887fcb3f1d578b2c7a5460f7aeb5"><span class="id" title="notation">[</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#790b887fcb3f1d578b2c7a5460f7aeb5"><span class="id" title="notation">predC</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#unit"><span class="id" title="method">unit</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#790b887fcb3f1d578b2c7a5460f7aeb5"><span class="id" title="notation">]</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#inv"><span class="id" title="method">inv</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#876aa133fb3472bffd492f74ff496035"><span class="id" title="notation">=1</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#id"><span class="id" title="abbreviation">id</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><span class="id" title="notation">}</span></a><br/> }.<br/> <br/> <span class="id" title="keyword">Definition</span> <a name="GRing.UnitRing.EtaMixin"><span class="id" title="definition">EtaMixin</span></a> <span class="id" title="var">R</span> <span class="id" title="var">unit</span> <span class="id" title="var">inv</span> <span class="id" title="var">mulVr</span> <span class="id" title="var">mulrV</span> <span class="id" title="var">unitP</span> <span class="id" title="var">inv_out</span> :=<br/> <span class="id" title="keyword">let</span> <span class="id" title="var">_</span> := @<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitRing.Mixin"><span class="id" title="constructor">Mixin</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#R"><span class="id" title="variable">R</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#unit"><span class="id" title="variable">unit</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#inv"><span class="id" title="variable">inv</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#mulVr"><span class="id" title="variable">mulVr</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#mulrV"><span class="id" title="variable">mulrV</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#unitP"><span class="id" title="variable">unitP</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#inv_out"><span class="id" title="variable">inv_out</span></a> <span class="id" title="tactic">in</span><br/> - @<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitRing.Mixin"><span class="id" title="constructor">Mixin</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Ring.Pack"><span class="id" title="constructor">Ring.Pack</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Ring.class"><span class="id" title="definition">Ring.class</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#R"><span class="id" title="variable">R</span></a>) <a class="idref" href="mathcomp.algebra.ssralg.html#R"><span class="id" title="variable">R</span></a>) <a class="idref" href="mathcomp.algebra.ssralg.html#unit"><span class="id" title="variable">unit</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#inv"><span class="id" title="variable">inv</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#mulVr"><span class="id" title="variable">mulVr</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#mulrV"><span class="id" title="variable">mulrV</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#unitP"><span class="id" title="variable">unitP</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#inv_out"><span class="id" title="variable">inv_out</span></a>.<br/> + @<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitRing.Mixin"><span class="id" title="constructor">Mixin</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Ring.Pack"><span class="id" title="constructor">Ring.Pack</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Ring.class"><span class="id" title="definition">Ring.class</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#R"><span class="id" title="variable">R</span></a>)) <a class="idref" href="mathcomp.algebra.ssralg.html#unit"><span class="id" title="variable">unit</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#inv"><span class="id" title="variable">inv</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#mulVr"><span class="id" title="variable">mulVr</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#mulrV"><span class="id" title="variable">mulrV</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#unitP"><span class="id" title="variable">unitP</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#inv_out"><span class="id" title="variable">inv_out</span></a>.<br/> <br/> <span class="id" title="keyword">Section</span> <a name="GRing.UnitRing.ClassDef"><span class="id" title="section">ClassDef</span></a>.<br/> @@ -2946,27 +2962,27 @@ <br/> <span class="id" title="keyword">Record</span> <a name="GRing.UnitRing.class_of"><span class="id" title="record">class_of</span></a> (<span class="id" title="var">R</span> : <span class="id" title="keyword">Type</span>) : <span class="id" title="keyword">Type</span> := <a name="GRing.UnitRing.Class"><span class="id" title="constructor">Class</span></a> {<br/> <a name="GRing.UnitRing.base"><span class="id" title="projection">base</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Ring.class_of"><span class="id" title="record">Ring.class_of</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#R"><span class="id" title="variable">R</span></a>;<br/> - <a name="GRing.UnitRing.mixin"><span class="id" title="projection">mixin</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitRing.mixin_of"><span class="id" title="record">mixin_of</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Ring.Pack"><span class="id" title="constructor">Ring.Pack</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#base"><span class="id" title="method">base</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#R"><span class="id" title="variable">R</span></a>)<br/> + <a name="GRing.UnitRing.mixin"><span class="id" title="projection">mixin</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitRing.mixin_of"><span class="id" title="record">mixin_of</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Ring.Pack"><span class="id" title="constructor">Ring.Pack</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#base"><span class="id" title="method">base</span></a>)<br/> }.<br/> <br/> -<span class="id" title="keyword">Structure</span> <a name="GRing.UnitRing.type"><span class="id" title="record">type</span></a> := <a name="GRing.UnitRing.Pack"><span class="id" title="constructor">Pack</span></a> {<a name="GRing.UnitRing.sort"><span class="id" title="projection">sort</span></a>; <span class="id" title="var">_</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitRing.class_of"><span class="id" title="record">class_of</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#sort"><span class="id" title="method">sort</span></a>; <span class="id" title="var">_</span> : <span class="id" title="keyword">Type</span>}.<br/> +<span class="id" title="keyword">Structure</span> <a name="GRing.UnitRing.type"><span class="id" title="record">type</span></a> := <a name="GRing.UnitRing.Pack"><span class="id" title="constructor">Pack</span></a> {<a name="GRing.UnitRing.sort"><span class="id" title="projection">sort</span></a>; <span class="id" title="var">_</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitRing.class_of"><span class="id" title="record">class_of</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#sort"><span class="id" title="method">sort</span></a>}.<br/> <span class="id" title="keyword">Variables</span> (<a name="GRing.UnitRing.ClassDef.T"><span class="id" title="variable">T</span></a> : <span class="id" title="keyword">Type</span>) (<a name="GRing.UnitRing.ClassDef.cT"><span class="id" title="variable">cT</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitRing.type"><span class="id" title="record">type</span></a>).<br/> -<span class="id" title="keyword">Definition</span> <a name="GRing.UnitRing.class"><span class="id" title="definition">class</span></a> := <span class="id" title="keyword">let</span>: <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitRing.Pack"><span class="id" title="constructor">Pack</span></a> <span class="id" title="var">_</span> <span class="id" title="var">c</span> <span class="id" title="var">_</span> <span class="id" title="keyword">as</span> <span class="id" title="var">cT'</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitRing.ClassDef.cT"><span class="id" title="variable">cT</span></a> <span class="id" title="keyword">return</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitRing.class_of"><span class="id" title="record">class_of</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#cT'"><span class="id" title="variable">cT'</span></a> <span class="id" title="tactic">in</span> <span class="id" title="var">c</span>.<br/> -<span class="id" title="keyword">Definition</span> <a name="GRing.UnitRing.clone"><span class="id" title="definition">clone</span></a> <span class="id" title="var">c</span> <span class="id" title="keyword">of</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#phant_id"><span class="id" title="definition">phant_id</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitRing.class"><span class="id" title="definition">class</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#c"><span class="id" title="variable">c</span></a> := @<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitRing.Pack"><span class="id" title="constructor">Pack</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitRing.ClassDef.T"><span class="id" title="variable">T</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#c"><span class="id" title="variable">c</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitRing.ClassDef.T"><span class="id" title="variable">T</span></a>.<br/> -<span class="id" title="keyword">Let</span> <a name="GRing.UnitRing.ClassDef.xT"><span class="id" title="variable">xT</span></a> := <span class="id" title="keyword">let</span>: <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitRing.Pack"><span class="id" title="constructor">Pack</span></a> <span class="id" title="var">T</span> <span class="id" title="var">_</span> <span class="id" title="var">_</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitRing.ClassDef.cT"><span class="id" title="variable">cT</span></a> <span class="id" title="tactic">in</span> <span class="id" title="var">T</span>.<br/> -<span class="id" title="keyword">Notation</span> <a name="GRing.UnitRing.xclass"><span class="id" title="abbreviation">xclass</span></a> := (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitRing.class"><span class="id" title="definition">class</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.ssralg.html#GRing.UnitRing.class_of"><span class="id" title="record">class_of</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitRing.ClassDef.xT"><span class="id" title="variable">xT</span></a>).<br/> +<span class="id" title="keyword">Definition</span> <a name="GRing.UnitRing.class"><span class="id" title="definition">class</span></a> := <span class="id" title="keyword">let</span>: <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitRing.Pack"><span class="id" title="constructor">Pack</span></a> <span class="id" title="var">_</span> <span class="id" title="var">c</span> <span class="id" title="keyword">as</span> <span class="id" title="var">cT'</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitRing.ClassDef.cT"><span class="id" title="variable">cT</span></a> <span class="id" title="keyword">return</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitRing.class_of"><span class="id" title="record">class_of</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#cT'"><span class="id" title="variable">cT'</span></a> <span class="id" title="tactic">in</span> <span class="id" title="var">c</span>.<br/> +<span class="id" title="keyword">Definition</span> <a name="GRing.UnitRing.clone"><span class="id" title="definition">clone</span></a> <span class="id" title="var">c</span> <span class="id" title="keyword">of</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#phant_id"><span class="id" title="definition">phant_id</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitRing.class"><span class="id" title="definition">class</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#c"><span class="id" title="variable">c</span></a> := @<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitRing.Pack"><span class="id" title="constructor">Pack</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitRing.ClassDef.T"><span class="id" title="variable">T</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#c"><span class="id" title="variable">c</span></a>.<br/> +<span class="id" title="keyword">Let</span> <a name="GRing.UnitRing.ClassDef.xT"><span class="id" title="variable">xT</span></a> := <span class="id" title="keyword">let</span>: <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitRing.Pack"><span class="id" title="constructor">Pack</span></a> <span class="id" title="var">T</span> <span class="id" title="var">_</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitRing.ClassDef.cT"><span class="id" title="variable">cT</span></a> <span class="id" title="tactic">in</span> <span class="id" title="var">T</span>.<br/> +<span class="id" title="keyword">Notation</span> <a name="GRing.UnitRing.xclass"><span class="id" title="abbreviation">xclass</span></a> := (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitRing.class"><span class="id" title="definition">class</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssreflect.html#aed478b27f23b4f753c27c8ac393febc"><span class="id" title="notation">:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitRing.class_of"><span class="id" title="record">class_of</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitRing.ClassDef.xT"><span class="id" title="variable">xT</span></a>).<br/> <br/> -<span class="id" title="keyword">Definition</span> <a name="GRing.UnitRing.pack"><span class="id" title="definition">pack</span></a> <span class="id" title="var">b0</span> (<span class="id" title="var">m0</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitRing.mixin_of"><span class="id" title="record">mixin_of</span></a> (@<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Ring.Pack"><span class="id" title="constructor">Ring.Pack</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitRing.ClassDef.T"><span class="id" title="variable">T</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b0"><span class="id" title="variable">b0</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitRing.ClassDef.T"><span class="id" title="variable">T</span></a>)) :=<br/> - <span class="id" title="keyword">fun</span> <span class="id" title="var">bT</span> <span class="id" title="var">b</span> & <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#phant_id"><span class="id" title="definition">phant_id</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Ring.class"><span class="id" title="definition">Ring.class</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#bT"><span class="id" title="variable">bT</span></a>) <a class="idref" href="mathcomp.algebra.ssralg.html#b"><span class="id" title="variable">b</span></a> ⇒<br/> - <span class="id" title="keyword">fun</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#phant_id"><span class="id" title="definition">phant_id</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#m0"><span class="id" title="variable">m0</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#m"><span class="id" title="variable">m</span></a> ⇒ <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitRing.Pack"><span class="id" title="constructor">Pack</span></a> (@<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitRing.Class"><span class="id" title="constructor">Class</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitRing.ClassDef.T"><span class="id" title="variable">T</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b"><span class="id" title="variable">b</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#m"><span class="id" title="variable">m</span></a>) <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitRing.ClassDef.T"><span class="id" title="variable">T</span></a>.<br/> +<span class="id" title="keyword">Definition</span> <a name="GRing.UnitRing.pack"><span class="id" title="definition">pack</span></a> <span class="id" title="var">b0</span> (<span class="id" title="var">m0</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitRing.mixin_of"><span class="id" title="record">mixin_of</span></a> (@<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Ring.Pack"><span class="id" title="constructor">Ring.Pack</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitRing.ClassDef.T"><span class="id" title="variable">T</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b0"><span class="id" title="variable">b0</span></a>)) :=<br/> + <span class="id" title="keyword">fun</span> <span class="id" title="var">bT</span> <span class="id" title="var">b</span> & <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#phant_id"><span class="id" title="definition">phant_id</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Ring.class"><span class="id" title="definition">Ring.class</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#bT"><span class="id" title="variable">bT</span></a>) <a class="idref" href="mathcomp.algebra.ssralg.html#b"><span class="id" title="variable">b</span></a> ⇒<br/> + <span class="id" title="keyword">fun</span> <span class="id" title="var">m</span> & <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#phant_id"><span class="id" title="definition">phant_id</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#m0"><span class="id" title="variable">m0</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#m"><span class="id" title="variable">m</span></a> ⇒ <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitRing.Pack"><span class="id" title="constructor">Pack</span></a> (@<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitRing.Class"><span class="id" title="constructor">Class</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitRing.ClassDef.T"><span class="id" title="variable">T</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b"><span class="id" title="variable">b</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#m"><span class="id" title="variable">m</span></a>).<br/> <br/> -<span class="id" title="keyword">Definition</span> <a name="GRing.UnitRing.eqType"><span class="id" title="definition">eqType</span></a> := @<a class="idref" href="mathcomp.ssreflect.eqtype.html#Equality.Pack"><span class="id" title="constructor">Equality.Pack</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitRing.ClassDef.cT"><span class="id" title="variable">cT</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitRing.xclass"><span class="id" title="abbreviation">xclass</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitRing.ClassDef.xT"><span class="id" title="variable">xT</span></a>.<br/> -<span class="id" title="keyword">Definition</span> <a name="GRing.UnitRing.choiceType"><span class="id" title="definition">choiceType</span></a> := @<a class="idref" href="mathcomp.ssreflect.choice.html#Choice.Pack"><span class="id" title="constructor">Choice.Pack</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitRing.ClassDef.cT"><span class="id" title="variable">cT</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitRing.xclass"><span class="id" title="abbreviation">xclass</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitRing.ClassDef.xT"><span class="id" title="variable">xT</span></a>.<br/> -<span class="id" title="keyword">Definition</span> <a name="GRing.UnitRing.zmodType"><span class="id" title="definition">zmodType</span></a> := @<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Zmodule.Pack"><span class="id" title="constructor">Zmodule.Pack</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitRing.ClassDef.cT"><span class="id" title="variable">cT</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitRing.xclass"><span class="id" title="abbreviation">xclass</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitRing.ClassDef.xT"><span class="id" title="variable">xT</span></a>.<br/> -<span class="id" title="keyword">Definition</span> <a name="GRing.UnitRing.ringType"><span class="id" title="definition">ringType</span></a> := @<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Ring.Pack"><span class="id" title="constructor">Ring.Pack</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitRing.ClassDef.cT"><span class="id" title="variable">cT</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitRing.xclass"><span class="id" title="abbreviation">xclass</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitRing.ClassDef.xT"><span class="id" title="variable">xT</span></a>.<br/> +<span class="id" title="keyword">Definition</span> <a name="GRing.UnitRing.eqType"><span class="id" title="definition">eqType</span></a> := @<a class="idref" href="mathcomp.ssreflect.eqtype.html#Equality.Pack"><span class="id" title="constructor">Equality.Pack</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitRing.ClassDef.cT"><span class="id" title="variable">cT</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitRing.xclass"><span class="id" title="abbreviation">xclass</span></a>.<br/> +<span class="id" title="keyword">Definition</span> <a name="GRing.UnitRing.choiceType"><span class="id" title="definition">choiceType</span></a> := @<a class="idref" href="mathcomp.ssreflect.choice.html#Choice.Pack"><span class="id" title="constructor">Choice.Pack</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitRing.ClassDef.cT"><span class="id" title="variable">cT</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitRing.xclass"><span class="id" title="abbreviation">xclass</span></a>.<br/> +<span class="id" title="keyword">Definition</span> <a name="GRing.UnitRing.zmodType"><span class="id" title="definition">zmodType</span></a> := @<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Zmodule.Pack"><span class="id" title="constructor">Zmodule.Pack</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitRing.ClassDef.cT"><span class="id" title="variable">cT</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitRing.xclass"><span class="id" title="abbreviation">xclass</span></a>.<br/> +<span class="id" title="keyword">Definition</span> <a name="GRing.UnitRing.ringType"><span class="id" title="definition">ringType</span></a> := @<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Ring.Pack"><span class="id" title="constructor">Ring.Pack</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitRing.ClassDef.cT"><span class="id" title="variable">cT</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitRing.xclass"><span class="id" title="abbreviation">xclass</span></a>.<br/> <br/> <span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitRing.ClassDef"><span class="id" title="section">ClassDef</span></a>.<br/> @@ -2985,11 +3001,11 @@ <span class="id" title="keyword">Coercion</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitRing.ringType"><span class="id" title="definition">ringType</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitRing.ringType"><span class="id" title="definition">:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitRing.ringType"><span class="id" title="definition">type</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitRing.ringType"><span class="id" title="definition">>-></span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitRing.ringType"><span class="id" title="definition">Ring.type</span></a>.<br/> <span class="id" title="keyword">Canonical</span> <span class="id" title="var">ringType</span>.<br/> <span class="id" title="keyword">Notation</span> <a name="GRing.UnitRing.Exports.unitRingType"><span class="id" title="abbreviation">unitRingType</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitRing.type"><span class="id" title="record">type</span></a>.<br/> -<span class="id" title="keyword">Notation</span> <a name="GRing.UnitRing.Exports.UnitRingType"><span class="id" title="abbreviation">UnitRingType</span></a> <span class="id" title="var">T</span> <span class="id" title="var">m</span> := (@<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitRing.pack"><span class="id" title="definition">pack</span></a> <span class="id" title="var">T</span> <span class="id" title="var">_</span> <span class="id" title="var">m</span> <span class="id" title="var">_</span> <span class="id" title="var">_</span> <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> <span class="id" title="var">_</span> <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>).<br/> +<span class="id" title="keyword">Notation</span> <a name="GRing.UnitRing.Exports.UnitRingType"><span class="id" title="abbreviation">UnitRingType</span></a> <span class="id" title="var">T</span> <span class="id" title="var">m</span> := (@<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitRing.pack"><span class="id" title="definition">pack</span></a> <span class="id" title="var">T</span> <span class="id" title="var">_</span> <span class="id" title="var">m</span> <span class="id" title="var">_</span> <span class="id" title="var">_</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#id"><span class="id" title="abbreviation">id</span></a> <span class="id" title="var">_</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#id"><span class="id" title="abbreviation">id</span></a>).<br/> <span class="id" title="keyword">Notation</span> <a name="GRing.UnitRing.Exports.UnitRingMixin"><span class="id" title="abbreviation">UnitRingMixin</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitRing.EtaMixin"><span class="id" title="definition">EtaMixin</span></a>.<br/> -<span class="id" title="keyword">Notation</span> <a name="cb745c487a899dce62ab9ce5330f227e"><span class="id" title="notation">"</span></a>[ 'unitRingType' 'of' T 'for' cT ]" := (@<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitRing.clone"><span class="id" title="definition">clone</span></a> <span class="id" title="var">T</span> <span class="id" title="var">cT</span> <span class="id" title="var">_</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#idfun"><span class="id" title="abbreviation">idfun</span></a>)<br/> +<span class="id" title="keyword">Notation</span> <a name="76902b774c7fc1cb3d8cfbe482949a53"><span class="id" title="notation">"</span></a>[ 'unitRingType' 'of' T 'for' cT ]" := (@<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitRing.clone"><span class="id" title="definition">clone</span></a> <span class="id" title="var">T</span> <span class="id" title="var">cT</span> <span class="id" title="var">_</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#idfun"><span class="id" title="abbreviation">idfun</span></a>)<br/> (<span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 0, <span class="id" title="var">format</span> "[ 'unitRingType' 'of' T 'for' cT ]") : <span class="id" title="var">form_scope</span>.<br/> -<span class="id" title="keyword">Notation</span> <a name="f02859ca87d7563e473a6ba817bdc33f"><span class="id" title="notation">"</span></a>[ 'unitRingType' 'of' T ]" := (@<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitRing.clone"><span class="id" title="definition">clone</span></a> <span class="id" title="var">T</span> <span class="id" title="var">_</span> <span class="id" title="var">_</span> <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>)<br/> +<span class="id" title="keyword">Notation</span> <a name="2734494507570795a22f59746d1c0f0e"><span class="id" title="notation">"</span></a>[ 'unitRingType' 'of' T ]" := (@<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitRing.clone"><span class="id" title="definition">clone</span></a> <span class="id" title="var">T</span> <span class="id" title="var">_</span> <span class="id" title="var">_</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#id"><span class="id" title="abbreviation">id</span></a>)<br/> (<span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 0, <span class="id" title="var">format</span> "[ 'unitRingType' 'of' T ]") : <span class="id" title="var">form_scope</span>.<br/> <span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitRing.Exports"><span class="id" title="module">Exports</span></a>.<br/> @@ -2999,10 +3015,10 @@ <br/> <span class="id" title="keyword">Definition</span> <a name="GRing.unit"><span class="id" title="definition">unit</span></a> {<span class="id" title="var">R</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.unitRingType"><span class="id" title="abbreviation">unitRingType</span></a>} :=<br/> - <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">u</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.ssralg.html#R"><span class="id" title="variable">R</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#3838d61fb3e8125493e649946f677b04"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.unit"><span class="id" title="projection">UnitRing.unit</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.class"><span class="id" title="definition">UnitRing.class</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#R"><span class="id" title="variable">R</span></a>) <a class="idref" href="mathcomp.algebra.ssralg.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#3838d61fb3e8125493e649946f677b04"><span class="id" title="notation">]</span></a>.<br/> -<span class="id" title="keyword">Fact</span> <a name="GRing.unit_key"><span class="id" title="lemma">unit_key</span></a> <span class="id" title="var">R</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#pred_key"><span class="id" title="inductive">pred_key</span></a> (@<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.unit"><span class="id" title="definition">unit</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#R"><span class="id" title="variable">R</span></a>). <br/> -<span class="id" title="keyword">Canonical</span> <span class="id" title="var">unit_keyed</span> <span class="id" title="var">R</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.ssralg.html#GRing.unit_key"><span class="id" title="lemma">unit_key</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#R"><span class="id" title="variable">R</span></a>).<br/> -<span class="id" title="keyword">Definition</span> <a name="GRing.inv"><span class="id" title="definition">inv</span></a> {<span class="id" title="var">R</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.unitRingType"><span class="id" title="abbreviation">unitRingType</span></a>} : <a class="idref" href="mathcomp.algebra.ssralg.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.ssralg.html#R"><span class="id" title="variable">R</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.inv"><span class="id" title="projection">UnitRing.inv</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.class"><span class="id" title="definition">UnitRing.class</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#R"><span class="id" title="variable">R</span></a>).<br/> + <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#65c8f47ea0daafc83f7bb18bc9eca61f"><span class="id" title="notation">[</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#65c8f47ea0daafc83f7bb18bc9eca61f"><span class="id" title="notation">qualify</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#65c8f47ea0daafc83f7bb18bc9eca61f"><span class="id" title="notation">a</span></a> <span class="id" title="var">u</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#65c8f47ea0daafc83f7bb18bc9eca61f"><span class="id" title="notation">:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#R"><span class="id" title="variable">R</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#65c8f47ea0daafc83f7bb18bc9eca61f"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.unit"><span class="id" title="projection">UnitRing.unit</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.class"><span class="id" title="definition">UnitRing.class</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#R"><span class="id" title="variable">R</span></a>) <a class="idref" href="mathcomp.algebra.ssralg.html#u"><span class="id" title="variable">u</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#65c8f47ea0daafc83f7bb18bc9eca61f"><span class="id" title="notation">]</span></a>.<br/> +<span class="id" title="keyword">Fact</span> <a name="GRing.unit_key"><span class="id" title="lemma">unit_key</span></a> <span class="id" title="var">R</span> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#pred_key"><span class="id" title="inductive">pred_key</span></a> (@<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.unit"><span class="id" title="definition">unit</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#R"><span class="id" title="variable">R</span></a>). <br/> +<span class="id" title="keyword">Canonical</span> <span class="id" title="var">unit_keyed</span> <span class="id" title="var">R</span> := <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#KeyedQualifier"><span class="id" title="definition">KeyedQualifier</span></a> (@<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.unit_key"><span class="id" title="lemma">unit_key</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#R"><span class="id" title="variable">R</span></a>).<br/> +<span class="id" title="keyword">Definition</span> <a name="GRing.inv"><span class="id" title="definition">inv</span></a> {<span class="id" title="var">R</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.unitRingType"><span class="id" title="abbreviation">unitRingType</span></a>} : <a class="idref" href="mathcomp.algebra.ssralg.html#R"><span class="id" title="variable">R</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#R"><span class="id" title="variable">R</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.inv"><span class="id" title="projection">UnitRing.inv</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.class"><span class="id" title="definition">UnitRing.class</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#R"><span class="id" title="variable">R</span></a>).<br/> <br/> @@ -3014,36 +3030,36 @@ <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.ssralg.html#GRing.UnitRingTheory.R"><span class="id" title="variable">R</span></a>.<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.divrr"><span class="id" title="lemma">divrr</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.ssralg.html#GRing.unit"><span class="id" title="definition">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#right_inverse"><span class="id" title="definition">right_inverse</span></a> 1 (@<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.inv"><span class="id" title="definition">inv</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitRingTheory.R"><span class="id" title="variable">R</span></a>) <a class="idref" href="mathcomp.algebra.ssralg.html#6498e6e308d8a143464cf2d2ba603d36"><span class="id" title="notation">*%</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#6498e6e308d8a143464cf2d2ba603d36"><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/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.divrr"><span class="id" title="lemma">divrr</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.unit"><span class="id" title="definition">unit</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><span class="id" title="notation">,</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#right_inverse"><span class="id" title="definition">right_inverse</span></a> 1 (@<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.inv"><span class="id" title="definition">inv</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitRingTheory.R"><span class="id" title="variable">R</span></a>) <a class="idref" href="mathcomp.algebra.ssralg.html#bae191a5c954d16cccd67244cf8a6ceb"><span class="id" title="notation">*%</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#bae191a5c954d16cccd67244cf8a6ceb"><span class="id" title="notation">R</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><span class="id" title="notation">}</span></a>.<br/> <span class="id" title="keyword">Definition</span> <a name="GRing.mulrV"><span class="id" title="definition">mulrV</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.divrr"><span class="id" title="lemma">divrr</span></a>.<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.mulVr"><span class="id" title="lemma">mulVr</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.ssralg.html#GRing.unit"><span class="id" title="definition">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#left_inverse"><span class="id" title="definition">left_inverse</span></a> 1 (@<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.inv"><span class="id" title="definition">inv</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitRingTheory.R"><span class="id" title="variable">R</span></a>) <a class="idref" href="mathcomp.algebra.ssralg.html#6498e6e308d8a143464cf2d2ba603d36"><span class="id" title="notation">*%</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#6498e6e308d8a143464cf2d2ba603d36"><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/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.mulVr"><span class="id" title="lemma">mulVr</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.unit"><span class="id" title="definition">unit</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><span class="id" title="notation">,</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#left_inverse"><span class="id" title="definition">left_inverse</span></a> 1 (@<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.inv"><span class="id" title="definition">inv</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitRingTheory.R"><span class="id" title="variable">R</span></a>) <a class="idref" href="mathcomp.algebra.ssralg.html#bae191a5c954d16cccd67244cf8a6ceb"><span class="id" title="notation">*%</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#bae191a5c954d16cccd67244cf8a6ceb"><span class="id" title="notation">R</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><span class="id" title="notation">}</span></a>.<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.invr_out"><span class="id" title="lemma">invr_out</span></a> <span class="id" title="var">x</span> : <a class="idref" href="mathcomp.algebra.ssralg.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">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.ssralg.html#x"><span class="id" title="variable">x</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#7f97e90bec2e67d9beef5851649e3fb1"><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.ssralg.html#x"><span class="id" title="variable">x</span></a>.<br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.invr_out"><span class="id" title="lemma">invr_out</span></a> <span class="id" title="var">x</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#3e06de6f13eb7ecdd29eb40f81d36f3f"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#3e06de6f13eb7ecdd29eb40f81d36f3f"><span class="id" title="notation">isn't</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#3e06de6f13eb7ecdd29eb40f81d36f3f"><span class="id" title="notation">a</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.unit"><span class="id" title="definition">unit</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#139f286ff80df5d41ea22851b1826860"><span class="id" title="notation">^-1</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a>.<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.unitrP"><span class="id" title="lemma">unitrP</span></a> <span class="id" title="var">x</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#reflect"><span class="id" title="abbreviation">reflect</span></a> (<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#84eb6d2849dbf3581b1c0c05add5f2d8"><span class="id" title="notation">∃</span></a> <span class="id" title="var">y</span><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#84eb6d2849dbf3581b1c0c05add5f2d8"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#ed99e7035d9a1f8a2c1515be81ac2e5f"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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 <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d82a7d96d3659d805ffe732283716822"><span class="id" title="notation">∧</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#ed99e7035d9a1f8a2c1515be81ac2e5f"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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> 1) (<a class="idref" href="mathcomp.algebra.ssralg.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">unit</span></a>).<br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.unitrP"><span class="id" title="lemma">unitrP</span></a> <span class="id" title="var">x</span> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#reflect"><span class="id" title="abbreviation">reflect</span></a> (<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#a883bdd010993579f99d60b3775bcf54"><span class="id" title="notation">∃</span></a> <span class="id" title="var">y</span><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#a883bdd010993579f99d60b3775bcf54"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f99a2dc6d143aa8f1021ab57e4a19eee"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> 1 <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#ba2b0e492d2b4675a0acf3ea92aabadd"><span class="id" title="notation">∧</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f99a2dc6d143aa8f1021ab57e4a19eee"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> 1) (<a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#f6c65697fefaf4504de1d4d641cd4409"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#f6c65697fefaf4504de1d4d641cd4409"><span class="id" title="notation">is</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#f6c65697fefaf4504de1d4d641cd4409"><span class="id" title="notation">a</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.unit"><span class="id" title="definition">unit</span></a>).<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.mulKr"><span class="id" title="lemma">mulKr</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.ssralg.html#GRing.unit"><span class="id" title="definition">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#left_loop"><span class="id" title="definition">left_loop</span></a> (@<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.inv"><span class="id" title="definition">inv</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitRingTheory.R"><span class="id" title="variable">R</span></a>) <a class="idref" href="mathcomp.algebra.ssralg.html#6498e6e308d8a143464cf2d2ba603d36"><span class="id" title="notation">*%</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#6498e6e308d8a143464cf2d2ba603d36"><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/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.mulKr"><span class="id" title="lemma">mulKr</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.unit"><span class="id" title="definition">unit</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><span class="id" title="notation">,</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#left_loop"><span class="id" title="definition">left_loop</span></a> (@<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.inv"><span class="id" title="definition">inv</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitRingTheory.R"><span class="id" title="variable">R</span></a>) <a class="idref" href="mathcomp.algebra.ssralg.html#bae191a5c954d16cccd67244cf8a6ceb"><span class="id" title="notation">*%</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#bae191a5c954d16cccd67244cf8a6ceb"><span class="id" title="notation">R</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><span class="id" title="notation">}</span></a>.<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.mulVKr"><span class="id" title="lemma">mulVKr</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.ssralg.html#GRing.unit"><span class="id" title="definition">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#rev_left_loop"><span class="id" title="definition">rev_left_loop</span></a> (@<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.inv"><span class="id" title="definition">inv</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitRingTheory.R"><span class="id" title="variable">R</span></a>) <a class="idref" href="mathcomp.algebra.ssralg.html#6498e6e308d8a143464cf2d2ba603d36"><span class="id" title="notation">*%</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#6498e6e308d8a143464cf2d2ba603d36"><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/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.mulVKr"><span class="id" title="lemma">mulVKr</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.unit"><span class="id" title="definition">unit</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><span class="id" title="notation">,</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#rev_left_loop"><span class="id" title="definition">rev_left_loop</span></a> (@<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.inv"><span class="id" title="definition">inv</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitRingTheory.R"><span class="id" title="variable">R</span></a>) <a class="idref" href="mathcomp.algebra.ssralg.html#bae191a5c954d16cccd67244cf8a6ceb"><span class="id" title="notation">*%</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#bae191a5c954d16cccd67244cf8a6ceb"><span class="id" title="notation">R</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><span class="id" title="notation">}</span></a>.<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.mulrK"><span class="id" title="lemma">mulrK</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.ssralg.html#GRing.unit"><span class="id" title="definition">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#right_loop"><span class="id" title="definition">right_loop</span></a> (@<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.inv"><span class="id" title="definition">inv</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitRingTheory.R"><span class="id" title="variable">R</span></a>) <a class="idref" href="mathcomp.algebra.ssralg.html#6498e6e308d8a143464cf2d2ba603d36"><span class="id" title="notation">*%</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#6498e6e308d8a143464cf2d2ba603d36"><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/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.mulrK"><span class="id" title="lemma">mulrK</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.unit"><span class="id" title="definition">unit</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><span class="id" title="notation">,</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#right_loop"><span class="id" title="definition">right_loop</span></a> (@<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.inv"><span class="id" title="definition">inv</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitRingTheory.R"><span class="id" title="variable">R</span></a>) <a class="idref" href="mathcomp.algebra.ssralg.html#bae191a5c954d16cccd67244cf8a6ceb"><span class="id" title="notation">*%</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#bae191a5c954d16cccd67244cf8a6ceb"><span class="id" title="notation">R</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><span class="id" title="notation">}</span></a>.<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.mulrVK"><span class="id" title="lemma">mulrVK</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.ssralg.html#GRing.unit"><span class="id" title="definition">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#rev_right_loop"><span class="id" title="definition">rev_right_loop</span></a> (@<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.inv"><span class="id" title="definition">inv</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitRingTheory.R"><span class="id" title="variable">R</span></a>) <a class="idref" href="mathcomp.algebra.ssralg.html#6498e6e308d8a143464cf2d2ba603d36"><span class="id" title="notation">*%</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#6498e6e308d8a143464cf2d2ba603d36"><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/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.mulrVK"><span class="id" title="lemma">mulrVK</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.unit"><span class="id" title="definition">unit</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><span class="id" title="notation">,</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#rev_right_loop"><span class="id" title="definition">rev_right_loop</span></a> (@<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.inv"><span class="id" title="definition">inv</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitRingTheory.R"><span class="id" title="variable">R</span></a>) <a class="idref" href="mathcomp.algebra.ssralg.html#bae191a5c954d16cccd67244cf8a6ceb"><span class="id" title="notation">*%</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#bae191a5c954d16cccd67244cf8a6ceb"><span class="id" title="notation">R</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><span class="id" title="notation">}</span></a>.<br/> <span class="id" title="keyword">Definition</span> <a name="GRing.divrK"><span class="id" title="definition">divrK</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.mulrVK"><span class="id" title="lemma">mulrVK</span></a>.<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.mulrI"><span class="id" title="lemma">mulrI</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.ssralg.html#GRing.unit"><span class="id" title="definition">unit</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitRingTheory.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#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#right_injective"><span class="id" title="definition">right_injective</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#6498e6e308d8a143464cf2d2ba603d36"><span class="id" title="notation">*%</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#6498e6e308d8a143464cf2d2ba603d36"><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/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.mulrI"><span class="id" title="lemma">mulrI</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><span class="id" title="notation">in</span></a> @<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.unit"><span class="id" title="definition">unit</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitRingTheory.R"><span class="id" title="variable">R</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><span class="id" title="notation">,</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#right_injective"><span class="id" title="definition">right_injective</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#bae191a5c954d16cccd67244cf8a6ceb"><span class="id" title="notation">*%</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#bae191a5c954d16cccd67244cf8a6ceb"><span class="id" title="notation">R</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><span class="id" title="notation">}</span></a>.<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.mulIr"><span class="id" title="lemma">mulIr</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.ssralg.html#GRing.unit"><span class="id" title="definition">unit</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitRingTheory.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#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_injective"><span class="id" title="definition">left_injective</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#6498e6e308d8a143464cf2d2ba603d36"><span class="id" title="notation">*%</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#6498e6e308d8a143464cf2d2ba603d36"><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/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.mulIr"><span class="id" title="lemma">mulIr</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><span class="id" title="notation">in</span></a> @<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.unit"><span class="id" title="definition">unit</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitRingTheory.R"><span class="id" title="variable">R</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><span class="id" title="notation">,</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#left_injective"><span class="id" title="definition">left_injective</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#bae191a5c954d16cccd67244cf8a6ceb"><span class="id" title="notation">*%</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#bae191a5c954d16cccd67244cf8a6ceb"><span class="id" title="notation">R</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><span class="id" title="notation">}</span></a>.<br/> <br/> </div> @@ -3052,134 +3068,133 @@ Due to noncommutativity, fractions are inverted. </div> <div class="code"> -<span class="id" title="keyword">Lemma</span> <a name="GRing.telescope_prodr"><span class="id" title="lemma">telescope_prodr</span></a> <span class="id" title="var">n</span> <span class="id" title="var">m</span> (<span class="id" title="var">f</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#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitRingTheory.R"><span class="id" title="variable">R</span></a>) :<br/> - <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">k</span>, <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#432e31800fc09abd260feb634dbbd1af"><span class="id" title="notation"><</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#k"><span class="id" title="variable">k</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#432e31800fc09abd260feb634dbbd1af"><span class="id" title="notation"><</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#k"><span class="id" title="variable">k</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">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="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#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#989c98e7ddd65d5bf37c334ff2076de8"><span class="id" title="notation"><</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a><br/> - <a class="idref" href="mathcomp.algebra.ssralg.html#0efa7b1cdb084a1541f915d91ff051e5"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#0efa7b1cdb084a1541f915d91ff051e5"><span class="id" title="notation">prod_</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#0efa7b1cdb084a1541f915d91ff051e5"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#0efa7b1cdb084a1541f915d91ff051e5"><span class="id" title="notation">≤</span></a> <span class="id" title="var">k</span> <a class="idref" href="mathcomp.algebra.ssralg.html#0efa7b1cdb084a1541f915d91ff051e5"><span class="id" title="notation"><</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#m"><span class="id" title="variable">m</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#0efa7b1cdb084a1541f915d91ff051e5"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#0efa7b1cdb084a1541f915d91ff051e5"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#k"><span class="id" title="variable">k</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#1adb36345c2607a4dd991537de5ddba3"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#k"><span class="id" title="variable">k</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#0efa7b1cdb084a1541f915d91ff051e5"><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#f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#1adb36345c2607a4dd991537de5ddba3"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#m"><span class="id" title="variable">m</span></a>.<br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.telescope_prodr"><span class="id" title="lemma">telescope_prodr</span></a> <span class="id" title="var">n</span> <span class="id" title="var">m</span> (<span class="id" title="var">f</span> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#nat"><span class="id" title="inductive">nat</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitRingTheory.R"><span class="id" title="variable">R</span></a>) :<br/> + <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">(</span></a><span class="id" title="keyword">∀</span> <span class="id" title="var">k</span>, <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#cf4676be165a6295cd8b63fc45b45d8a"><span class="id" title="notation"><</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#k"><span class="id" title="variable">k</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#cf4676be165a6295cd8b63fc45b45d8a"><span class="id" title="notation"><</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#k"><span class="id" title="variable">k</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#f6c65697fefaf4504de1d4d641cd4409"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#f6c65697fefaf4504de1d4d641cd4409"><span class="id" title="notation">is</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#f6c65697fefaf4504de1d4d641cd4409"><span class="id" title="notation">a</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.unit"><span class="id" title="definition">unit</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#00fe0eaf5e6949f0a31725357afa4bba"><span class="id" title="notation"><</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a><br/> + <a class="idref" href="mathcomp.algebra.ssralg.html#483796999382d9671d4ef0e14aab5328"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#483796999382d9671d4ef0e14aab5328"><span class="id" title="notation">prod_</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#483796999382d9671d4ef0e14aab5328"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#483796999382d9671d4ef0e14aab5328"><span class="id" title="notation">≤</span></a> <span class="id" title="var">k</span> <a class="idref" href="mathcomp.algebra.ssralg.html#483796999382d9671d4ef0e14aab5328"><span class="id" title="notation"><</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#m"><span class="id" title="variable">m</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#483796999382d9671d4ef0e14aab5328"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#483796999382d9671d4ef0e14aab5328"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#k"><span class="id" title="variable">k</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#705c00ff5a03bf84d6828df21a7a7942"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#k"><span class="id" title="variable">k</span></a><a class="idref" href="mathcomp.ssreflect.ssrnat.html#bda89d73ec4a8f23ae92b565ffb5aaa6"><span class="id" title="notation">.+1</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#483796999382d9671d4ef0e14aab5328"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#705c00ff5a03bf84d6828df21a7a7942"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#m"><span class="id" title="variable">m</span></a>.<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.commrV"><span class="id" title="lemma">commrV</span></a> <span class="id" title="var">x</span> <span class="id" title="var">y</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.comm"><span class="id" title="definition">comm</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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">comm</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#7f97e90bec2e67d9beef5851649e3fb1"><span class="id" title="notation">^-1</span></a>.<br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.commrV"><span class="id" title="lemma">commrV</span></a> <span class="id" title="var">x</span> <span class="id" title="var">y</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.comm"><span class="id" title="definition">comm</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.comm"><span class="id" title="definition">comm</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#139f286ff80df5d41ea22851b1826860"><span class="id" title="notation">^-1</span></a>.<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.unitrE"><span class="id" title="lemma">unitrE</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.ssralg.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">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.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#1adb36345c2607a4dd991537de5ddba3"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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>.<br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.unitrE"><span class="id" title="lemma">unitrE</span></a> <span class="id" title="var">x</span> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#f6c65697fefaf4504de1d4d641cd4409"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#f6c65697fefaf4504de1d4d641cd4409"><span class="id" title="notation">is</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#f6c65697fefaf4504de1d4d641cd4409"><span class="id" title="notation">a</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.unit"><span class="id" title="definition">unit</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#705c00ff5a03bf84d6828df21a7a7942"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#df45e8c2e8370fd4f0f7c4fdaf208180"><span class="id" title="notation">==</span></a> 1<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">)</span></a>.<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.invrK"><span class="id" title="lemma">invrK</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.ssralg.html#GRing.inv"><span class="id" title="definition">inv</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitRingTheory.R"><span class="id" title="variable">R</span></a>).<br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.invrK"><span class="id" title="lemma">invrK</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#involutive"><span class="id" title="definition">involutive</span></a> (@<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.inv"><span class="id" title="definition">inv</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitRingTheory.R"><span class="id" title="variable">R</span></a>).<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.invr_inj"><span class="id" title="lemma">invr_inj</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="mathcomp.algebra.ssralg.html#GRing.inv"><span class="id" title="definition">inv</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitRingTheory.R"><span class="id" title="variable">R</span></a>).<br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.invr_inj"><span class="id" title="lemma">invr_inj</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#injective"><span class="id" title="definition">injective</span></a> (@<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.inv"><span class="id" title="definition">inv</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitRingTheory.R"><span class="id" title="variable">R</span></a>).<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.unitrV"><span class="id" title="lemma">unitrV</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.ssralg.html#x"><span class="id" title="variable">x</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#7f97e90bec2e67d9beef5851649e3fb1"><span class="id" title="notation">^-1</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#GRing.unit"><span class="id" title="definition">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.ssralg.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.ssralg.html#GRing.unit"><span class="id" title="definition">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/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.unitrV"><span class="id" title="lemma">unitrV</span></a> <span class="id" title="var">x</span> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#139f286ff80df5d41ea22851b1826860"><span class="id" title="notation">^-1</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.unit"><span class="id" title="definition">unit</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.unit"><span class="id" title="definition">unit</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">)</span></a>.<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.unitr1"><span class="id" title="lemma">unitr1</span></a> : 1 <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#GRing.unit"><span class="id" title="definition">unit</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitRingTheory.R"><span class="id" title="variable">R</span></a>.<br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.unitr1"><span class="id" title="lemma">unitr1</span></a> : 1 <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> @<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.unit"><span class="id" title="definition">unit</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitRingTheory.R"><span class="id" title="variable">R</span></a>.<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.invr1"><span class="id" title="lemma">invr1</span></a> : 1<a class="idref" href="mathcomp.algebra.ssralg.html#7f97e90bec2e67d9beef5851649e3fb1"><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> 1 <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#GRing.UnitRingTheory.R"><span class="id" title="variable">R</span></a>.<br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.invr1"><span class="id" title="lemma">invr1</span></a> : 1<a class="idref" href="mathcomp.algebra.ssralg.html#139f286ff80df5d41ea22851b1826860"><span class="id" title="notation">^-1</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#b8b2ebc8e1a8b9aa935c0702efb5dccf"><span class="id" title="notation">=</span></a> 1 <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#b8b2ebc8e1a8b9aa935c0702efb5dccf"><span class="id" title="notation">:></span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitRingTheory.R"><span class="id" title="variable">R</span></a>.<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.div1r"><span class="id" title="lemma">div1r</span></a> <span class="id" title="var">x</span> : 1 <a class="idref" href="mathcomp.algebra.ssralg.html#1adb36345c2607a4dd991537de5ddba3"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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#x"><span class="id" title="variable">x</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#7f97e90bec2e67d9beef5851649e3fb1"><span class="id" title="notation">^-1</span></a>. <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.divr1"><span class="id" title="lemma">divr1</span></a> <span class="id" title="var">x</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#1adb36345c2607a4dd991537de5ddba3"><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.ssralg.html#x"><span class="id" title="variable">x</span></a>. <br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.div1r"><span class="id" title="lemma">div1r</span></a> <span class="id" title="var">x</span> : 1 <a class="idref" href="mathcomp.algebra.ssralg.html#705c00ff5a03bf84d6828df21a7a7942"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#139f286ff80df5d41ea22851b1826860"><span class="id" title="notation">^-1</span></a>. <br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.divr1"><span class="id" title="lemma">divr1</span></a> <span class="id" title="var">x</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#705c00ff5a03bf84d6828df21a7a7942"><span class="id" title="notation">/</span></a> 1 <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a>. <br/> <br/> <span class="id" title="keyword">Lemma</span> <a name="GRing.natr_div"><span class="id" title="lemma">natr_div</span></a> <span class="id" title="var">m</span> <span class="id" title="var">d</span> :<br/> - <a class="idref" href="mathcomp.algebra.ssralg.html#d"><span class="id" title="variable">d</span></a> <a class="idref" href="mathcomp.ssreflect.div.html#aa34fd1c61c5cf0a3356b624a5d2afed"><span class="id" title="notation">%|</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#d"><span class="id" title="variable">d</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#c191333b9c7c034282647fbffacc9d18"><span class="id" title="notation">%:</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#c191333b9c7c034282647fbffacc9d18"><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">unit</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitRingTheory.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.ssralg.html#c191333b9c7c034282647fbffacc9d18"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.ssreflect.div.html#df17451da28eb630dbb51b12706ba39e"><span class="id" title="notation">%/</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#d"><span class="id" title="variable">d</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#c191333b9c7c034282647fbffacc9d18"><span class="id" title="notation">)%:</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#c191333b9c7c034282647fbffacc9d18"><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#m"><span class="id" title="variable">m</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#c191333b9c7c034282647fbffacc9d18"><span class="id" title="notation">%:</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#c191333b9c7c034282647fbffacc9d18"><span class="id" title="notation">R</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#1adb36345c2607a4dd991537de5ddba3"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#d"><span class="id" title="variable">d</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#c191333b9c7c034282647fbffacc9d18"><span class="id" title="notation">%:</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#c191333b9c7c034282647fbffacc9d18"><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#GRing.UnitRingTheory.R"><span class="id" title="variable">R</span></a>.<br/> + <a class="idref" href="mathcomp.algebra.ssralg.html#d"><span class="id" title="variable">d</span></a> <a class="idref" href="mathcomp.ssreflect.div.html#bde82eab2fe4a0799bc2419e587505d4"><span class="id" title="notation">%|</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#d"><span class="id" title="variable">d</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#512a31305e556a90e0ad0550ee623cbc"><span class="id" title="notation">%:</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#512a31305e556a90e0ad0550ee623cbc"><span class="id" title="notation">R</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#f6c65697fefaf4504de1d4d641cd4409"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#f6c65697fefaf4504de1d4d641cd4409"><span class="id" title="notation">is</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#f6c65697fefaf4504de1d4d641cd4409"><span class="id" title="notation">a</span></a> @<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.unit"><span class="id" title="definition">unit</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitRingTheory.R"><span class="id" title="variable">R</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#512a31305e556a90e0ad0550ee623cbc"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.ssreflect.div.html#2242f6721707980eca939ec29164eab3"><span class="id" title="notation">%/</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#d"><span class="id" title="variable">d</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#512a31305e556a90e0ad0550ee623cbc"><span class="id" title="notation">)%:</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#512a31305e556a90e0ad0550ee623cbc"><span class="id" title="notation">R</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#b8b2ebc8e1a8b9aa935c0702efb5dccf"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#m"><span class="id" title="variable">m</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#512a31305e556a90e0ad0550ee623cbc"><span class="id" title="notation">%:</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#512a31305e556a90e0ad0550ee623cbc"><span class="id" title="notation">R</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#705c00ff5a03bf84d6828df21a7a7942"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#d"><span class="id" title="variable">d</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#512a31305e556a90e0ad0550ee623cbc"><span class="id" title="notation">%:</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#512a31305e556a90e0ad0550ee623cbc"><span class="id" title="notation">R</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#b8b2ebc8e1a8b9aa935c0702efb5dccf"><span class="id" title="notation">:></span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitRingTheory.R"><span class="id" title="variable">R</span></a>.<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.divrI"><span class="id" title="lemma">divrI</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.ssralg.html#GRing.unit"><span class="id" title="definition">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#right_injective"><span class="id" title="definition">right_injective</span></a> (<span class="id" title="keyword">fun</span> <span class="id" title="var">x</span> <span class="id" title="var">y</span> ⇒ <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#1adb36345c2607a4dd991537de5ddba3"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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#5c59b35a0b51db520cf1fba473ecf127"><span class="id" title="notation">}</span></a>.<br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.divrI"><span class="id" title="lemma">divrI</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.unit"><span class="id" title="definition">unit</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><span class="id" title="notation">,</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#right_injective"><span class="id" title="definition">right_injective</span></a> (<span class="id" title="keyword">fun</span> <span class="id" title="var">x</span> <span class="id" title="var">y</span> ⇒ <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#705c00ff5a03bf84d6828df21a7a7942"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a>)<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><span class="id" title="notation">}</span></a>.<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.divIr"><span class="id" title="lemma">divIr</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.ssralg.html#GRing.unit"><span class="id" title="definition">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#left_injective"><span class="id" title="definition">left_injective</span></a> (<span class="id" title="keyword">fun</span> <span class="id" title="var">x</span> <span class="id" title="var">y</span> ⇒ <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#1adb36345c2607a4dd991537de5ddba3"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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#5c59b35a0b51db520cf1fba473ecf127"><span class="id" title="notation">}</span></a>.<br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.divIr"><span class="id" title="lemma">divIr</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.unit"><span class="id" title="definition">unit</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><span class="id" title="notation">,</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#left_injective"><span class="id" title="definition">left_injective</span></a> (<span class="id" title="keyword">fun</span> <span class="id" title="var">x</span> <span class="id" title="var">y</span> ⇒ <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#705c00ff5a03bf84d6828df21a7a7942"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a>)<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><span class="id" title="notation">}</span></a>.<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.unitr0"><span class="id" title="lemma">unitr0</span></a> : <a 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.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">unit</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitRingTheory.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.Datatypes.html#false"><span class="id" title="constructor">false</span></a>.<br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.unitr0"><span class="id" title="lemma">unitr0</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">(</span></a>0 <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#f6c65697fefaf4504de1d4d641cd4409"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#f6c65697fefaf4504de1d4d641cd4409"><span class="id" title="notation">is</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#f6c65697fefaf4504de1d4d641cd4409"><span class="id" title="notation">a</span></a> @<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.unit"><span class="id" title="definition">unit</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitRingTheory.R"><span class="id" title="variable">R</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#false"><span class="id" title="constructor">false</span></a>.<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.invr0"><span class="id" title="lemma">invr0</span></a> : 0<a class="idref" href="mathcomp.algebra.ssralg.html#7f97e90bec2e67d9beef5851649e3fb1"><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> 0 <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#GRing.UnitRingTheory.R"><span class="id" title="variable">R</span></a>.<br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.invr0"><span class="id" title="lemma">invr0</span></a> : 0<a class="idref" href="mathcomp.algebra.ssralg.html#139f286ff80df5d41ea22851b1826860"><span class="id" title="notation">^-1</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#b8b2ebc8e1a8b9aa935c0702efb5dccf"><span class="id" title="notation">=</span></a> 0 <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#b8b2ebc8e1a8b9aa935c0702efb5dccf"><span class="id" title="notation">:></span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitRingTheory.R"><span class="id" title="variable">R</span></a>.<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.unitrN1"><span class="id" title="lemma">unitrN1</span></a> : -1 <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">unit</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitRingTheory.R"><span class="id" title="variable">R</span></a>.<br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.unitrN1"><span class="id" title="lemma">unitrN1</span></a> : -1 <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#f6c65697fefaf4504de1d4d641cd4409"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#f6c65697fefaf4504de1d4d641cd4409"><span class="id" title="notation">is</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#f6c65697fefaf4504de1d4d641cd4409"><span class="id" title="notation">a</span></a> @<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.unit"><span class="id" title="definition">unit</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitRingTheory.R"><span class="id" title="variable">R</span></a>.<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.invrN1"><span class="id" title="lemma">invrN1</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#7f97e90bec2e67d9beef5851649e3fb1"><span class="id" title="notation">(</span></a>-1<a class="idref" href="mathcomp.algebra.ssralg.html#7f97e90bec2e67d9beef5851649e3fb1"><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> -1 <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#GRing.UnitRingTheory.R"><span class="id" title="variable">R</span></a>.<br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.invrN1"><span class="id" title="lemma">invrN1</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#139f286ff80df5d41ea22851b1826860"><span class="id" title="notation">(</span></a>-1<a class="idref" href="mathcomp.algebra.ssralg.html#139f286ff80df5d41ea22851b1826860"><span class="id" title="notation">)^-1</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#b8b2ebc8e1a8b9aa935c0702efb5dccf"><span class="id" title="notation">=</span></a> -1 <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#b8b2ebc8e1a8b9aa935c0702efb5dccf"><span class="id" title="notation">:></span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitRingTheory.R"><span class="id" title="variable">R</span></a>.<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.invr_sign"><span class="id" title="lemma">invr_sign</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#8f9364556521ebb498093f28eea2240f"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#17bbfbf532cf26564c92faf790f04f34"><span class="id" title="notation">(</span></a>-1<a class="idref" href="mathcomp.algebra.ssralg.html#17bbfbf532cf26564c92faf790f04f34"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#17bbfbf532cf26564c92faf790f04f34"><span class="id" title="notation">^-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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="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#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">(</span></a>-1<a class="idref" href="mathcomp.algebra.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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#GRing.UnitRingTheory.R"><span class="id" title="variable">R</span></a>.<br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.invr_sign"><span class="id" title="lemma">invr_sign</span></a> <span class="id" title="var">n</span> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#b8b2ebc8e1a8b9aa935c0702efb5dccf"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#1e3664ff5a0845564dcf20fcc71a269d"><span class="id" title="notation">(</span></a>-1<a class="idref" href="mathcomp.algebra.ssralg.html#1e3664ff5a0845564dcf20fcc71a269d"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#1e3664ff5a0845564dcf20fcc71a269d"><span class="id" title="notation">^-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#b8b2ebc8e1a8b9aa935c0702efb5dccf"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#b8b2ebc8e1a8b9aa935c0702efb5dccf"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">(</span></a>-1<a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#b8b2ebc8e1a8b9aa935c0702efb5dccf"><span class="id" title="notation">:></span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitRingTheory.R"><span class="id" title="variable">R</span></a>.<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.unitrMl"><span class="id" title="lemma">unitrMl</span></a> <span class="id" title="var">x</span> <span class="id" title="var">y</span> : <a class="idref" href="mathcomp.algebra.ssralg.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">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="http://coq.inria.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#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#ed99e7035d9a1f8a2c1515be81ac2e5f"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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">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.ssralg.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">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/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.unitrMl"><span class="id" title="lemma">unitrMl</span></a> <span class="id" title="var">x</span> <span class="id" title="var">y</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#f6c65697fefaf4504de1d4d641cd4409"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#f6c65697fefaf4504de1d4d641cd4409"><span class="id" title="notation">is</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#f6c65697fefaf4504de1d4d641cd4409"><span class="id" title="notation">a</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.unit"><span class="id" title="definition">unit</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f99a2dc6d143aa8f1021ab57e4a19eee"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#f6c65697fefaf4504de1d4d641cd4409"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#f6c65697fefaf4504de1d4d641cd4409"><span class="id" title="notation">is</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#f6c65697fefaf4504de1d4d641cd4409"><span class="id" title="notation">a</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.unit"><span class="id" title="definition">unit</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#f6c65697fefaf4504de1d4d641cd4409"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#f6c65697fefaf4504de1d4d641cd4409"><span class="id" title="notation">is</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#f6c65697fefaf4504de1d4d641cd4409"><span class="id" title="notation">a</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.unit"><span class="id" title="definition">unit</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">)</span></a>.<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.unitrMr"><span class="id" title="lemma">unitrMr</span></a> <span class="id" title="var">x</span> <span class="id" title="var">y</span> : <a class="idref" href="mathcomp.algebra.ssralg.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">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="http://coq.inria.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#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#ed99e7035d9a1f8a2c1515be81ac2e5f"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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">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.ssralg.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">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/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.unitrMr"><span class="id" title="lemma">unitrMr</span></a> <span class="id" title="var">x</span> <span class="id" title="var">y</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#f6c65697fefaf4504de1d4d641cd4409"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#f6c65697fefaf4504de1d4d641cd4409"><span class="id" title="notation">is</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#f6c65697fefaf4504de1d4d641cd4409"><span class="id" title="notation">a</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.unit"><span class="id" title="definition">unit</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f99a2dc6d143aa8f1021ab57e4a19eee"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#f6c65697fefaf4504de1d4d641cd4409"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#f6c65697fefaf4504de1d4d641cd4409"><span class="id" title="notation">is</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#f6c65697fefaf4504de1d4d641cd4409"><span class="id" title="notation">a</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.unit"><span class="id" title="definition">unit</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#f6c65697fefaf4504de1d4d641cd4409"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#f6c65697fefaf4504de1d4d641cd4409"><span class="id" title="notation">is</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#f6c65697fefaf4504de1d4d641cd4409"><span class="id" title="notation">a</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.unit"><span class="id" title="definition">unit</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">)</span></a>.<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.invrM"><span class="id" title="lemma">invrM</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.ssrbool.html#2bba53854f326a714d377124cccec593"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.unit"><span class="id" title="definition">unit</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> <span class="id" title="keyword">∀</span> <span class="id" title="var">x</span> <span class="id" title="var">y</span>, <a class="idref" href="mathcomp.algebra.ssralg.html#7f97e90bec2e67d9beef5851649e3fb1"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#ed99e7035d9a1f8a2c1515be81ac2e5f"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#7f97e90bec2e67d9beef5851649e3fb1"><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.ssralg.html#y"><span class="id" title="variable">y</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#7f97e90bec2e67d9beef5851649e3fb1"><span class="id" title="notation">^-1</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#ed99e7035d9a1f8a2c1515be81ac2e5f"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#7f97e90bec2e67d9beef5851649e3fb1"><span class="id" title="notation">^-1</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/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.invrM"><span class="id" title="lemma">invrM</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b4f176550f5b849a7fbba2ee164934d3"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b4f176550f5b849a7fbba2ee164934d3"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.unit"><span class="id" title="definition">unit</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b4f176550f5b849a7fbba2ee164934d3"><span class="id" title="notation">&,</span></a> <span class="id" title="keyword">∀</span> <span class="id" title="var">x</span> <span class="id" title="var">y</span>, <a class="idref" href="mathcomp.algebra.ssralg.html#139f286ff80df5d41ea22851b1826860"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f99a2dc6d143aa8f1021ab57e4a19eee"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#139f286ff80df5d41ea22851b1826860"><span class="id" title="notation">)^-1</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#139f286ff80df5d41ea22851b1826860"><span class="id" title="notation">^-1</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f99a2dc6d143aa8f1021ab57e4a19eee"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#139f286ff80df5d41ea22851b1826860"><span class="id" title="notation">^-1</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b4f176550f5b849a7fbba2ee164934d3"><span class="id" title="notation">}</span></a>.<br/> <br/> <span class="id" title="keyword">Lemma</span> <a name="GRing.unitrM_comm"><span class="id" title="lemma">unitrM_comm</span></a> <span class="id" title="var">x</span> <span class="id" title="var">y</span> :<br/> - <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.comm"><span class="id" title="definition">comm</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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="http://coq.inria.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#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#ed99e7035d9a1f8a2c1515be81ac2e5f"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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">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.Datatypes.html#49ac24efa716d8b0ee8943bc1d1769a9"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.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">unit</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">&&</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.ssralg.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">unit</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/> + <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.comm"><span class="id" title="definition">comm</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f99a2dc6d143aa8f1021ab57e4a19eee"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#f6c65697fefaf4504de1d4d641cd4409"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#f6c65697fefaf4504de1d4d641cd4409"><span class="id" title="notation">is</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#f6c65697fefaf4504de1d4d641cd4409"><span class="id" title="notation">a</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.unit"><span class="id" title="definition">unit</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#9ddeac0ab66152bd1d64bedb507a795e"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#f6c65697fefaf4504de1d4d641cd4409"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#f6c65697fefaf4504de1d4d641cd4409"><span class="id" title="notation">is</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#f6c65697fefaf4504de1d4d641cd4409"><span class="id" title="notation">a</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.unit"><span class="id" title="definition">unit</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#9ddeac0ab66152bd1d64bedb507a795e"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#9ddeac0ab66152bd1d64bedb507a795e"><span class="id" title="notation">&&</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#9ddeac0ab66152bd1d64bedb507a795e"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#f6c65697fefaf4504de1d4d641cd4409"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#f6c65697fefaf4504de1d4d641cd4409"><span class="id" title="notation">is</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#f6c65697fefaf4504de1d4d641cd4409"><span class="id" title="notation">a</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.unit"><span class="id" title="definition">unit</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#9ddeac0ab66152bd1d64bedb507a795e"><span class="id" title="notation">)</span></a>.<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.unitrX"><span class="id" title="lemma">unitrX</span></a> <span class="id" title="var">x</span> <span class="id" title="var">n</span> : <a class="idref" href="mathcomp.algebra.ssralg.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">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.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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">unit</span></a>.<br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.unitrX"><span class="id" title="lemma">unitrX</span></a> <span class="id" title="var">x</span> <span class="id" title="var">n</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#f6c65697fefaf4504de1d4d641cd4409"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#f6c65697fefaf4504de1d4d641cd4409"><span class="id" title="notation">is</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#f6c65697fefaf4504de1d4d641cd4409"><span class="id" title="notation">a</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.unit"><span class="id" title="definition">unit</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#f6c65697fefaf4504de1d4d641cd4409"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#f6c65697fefaf4504de1d4d641cd4409"><span class="id" title="notation">is</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#f6c65697fefaf4504de1d4d641cd4409"><span class="id" title="notation">a</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.unit"><span class="id" title="definition">unit</span></a>.<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.unitrX_pos"><span class="id" title="lemma">unitrX_pos</span></a> <span class="id" title="var">x</span> <span class="id" title="var">n</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#19ab5cfd7e4f60fa14f22b576013bd96"><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.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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.algebra.ssralg.html#GRing.unit"><span class="id" title="definition">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.ssralg.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.ssralg.html#GRing.unit"><span class="id" title="definition">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/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.unitrX_pos"><span class="id" title="lemma">unitrX_pos</span></a> <span class="id" title="var">x</span> <span class="id" title="var">n</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#7f2a7ef2c63af7359b22787a9daf336e"><span class="id" title="notation">></span></a> 0 <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.unit"><span class="id" title="definition">unit</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.unit"><span class="id" title="definition">unit</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">)</span></a>.<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.exprVn"><span class="id" title="lemma">exprVn</span></a> <span class="id" title="var">x</span> <span class="id" title="var">n</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#7f97e90bec2e67d9beef5851649e3fb1"><span class="id" title="notation">^-1</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#17bbfbf532cf26564c92faf790f04f34"><span class="id" title="notation">^-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a>.<br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.exprVn"><span class="id" title="lemma">exprVn</span></a> <span class="id" title="var">x</span> <span class="id" title="var">n</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#139f286ff80df5d41ea22851b1826860"><span class="id" title="notation">^-1</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#1e3664ff5a0845564dcf20fcc71a269d"><span class="id" title="notation">^-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a>.<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.exprB"><span class="id" title="lemma">exprB</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.ssralg.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.ssralg.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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">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.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.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.ssralg.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><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#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#1adb36345c2607a4dd991537de5ddba3"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a>.<br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.exprB"><span class="id" title="lemma">exprB</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.ssralg.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#cb53cf0ee22c036a03b4a9281c68b5a3"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#f6c65697fefaf4504de1d4d641cd4409"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#f6c65697fefaf4504de1d4d641cd4409"><span class="id" title="notation">is</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#f6c65697fefaf4504de1d4d641cd4409"><span class="id" title="notation">a</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.unit"><span class="id" title="definition">unit</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#7825ccc99f23b0d30c9d40c317ba7af0"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#705c00ff5a03bf84d6828df21a7a7942"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a>.<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.invr_neq0"><span class="id" title="lemma">invr_neq0</span></a> <span class="id" title="var">x</span> : <a class="idref" href="mathcomp.algebra.ssralg.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#x"><span class="id" title="variable">x</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#7f97e90bec2e67d9beef5851649e3fb1"><span class="id" title="notation">^-1</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#b1eeadc2feabc7422252baa895418c7b"><span class="id" title="notation">!=</span></a> 0.<br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.invr_neq0"><span class="id" title="lemma">invr_neq0</span></a> <span class="id" title="var">x</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#c385a484ee9d1b4e0615924561a9b75e"><span class="id" title="notation">!=</span></a> 0 <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#139f286ff80df5d41ea22851b1826860"><span class="id" title="notation">^-1</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#c385a484ee9d1b4e0615924561a9b75e"><span class="id" title="notation">!=</span></a> 0.<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.invr_eq0"><span class="id" title="lemma">invr_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.ssralg.html#x"><span class="id" title="variable">x</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#7f97e90bec2e67d9beef5851649e3fb1"><span class="id" title="notation">^-1</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.ssralg.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/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.invr_eq0"><span class="id" title="lemma">invr_eq0</span></a> <span class="id" title="var">x</span> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#139f286ff80df5d41ea22851b1826860"><span class="id" title="notation">^-1</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#df45e8c2e8370fd4f0f7c4fdaf208180"><span class="id" title="notation">==</span></a> 0<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#df45e8c2e8370fd4f0f7c4fdaf208180"><span class="id" title="notation">==</span></a> 0<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">)</span></a>.<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.invr_eq1"><span class="id" title="lemma">invr_eq1</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.ssralg.html#x"><span class="id" title="variable">x</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#7f97e90bec2e67d9beef5851649e3fb1"><span class="id" title="notation">^-1</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.ssralg.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>.<br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.invr_eq1"><span class="id" title="lemma">invr_eq1</span></a> <span class="id" title="var">x</span> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#139f286ff80df5d41ea22851b1826860"><span class="id" title="notation">^-1</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#df45e8c2e8370fd4f0f7c4fdaf208180"><span class="id" title="notation">==</span></a> 1<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#df45e8c2e8370fd4f0f7c4fdaf208180"><span class="id" title="notation">==</span></a> 1<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">)</span></a>.<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.rev_unitrP"><span class="id" title="lemma">rev_unitrP</span></a> (<span class="id" title="var">x</span> <span class="id" title="var">y</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitRingTheory.R"><span class="id" title="variable">R</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#a92cdad26f40e318882f385be2783a4c"><span class="id" title="notation">^</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#a92cdad26f40e318882f385be2783a4c"><span class="id" title="notation">c</span></a>) : <a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#ed99e7035d9a1f8a2c1515be81ac2e5f"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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 <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d82a7d96d3659d805ffe732283716822"><span class="id" title="notation">∧</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#ed99e7035d9a1f8a2c1515be81ac2e5f"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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> 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.ssralg.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">unit</span></a>.<br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.rev_unitrP"><span class="id" title="lemma">rev_unitrP</span></a> (<span class="id" title="var">x</span> <span class="id" title="var">y</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitRingTheory.R"><span class="id" title="variable">R</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#a5048fbb5749bbf342aa41d2111c50c8"><span class="id" title="notation">^</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#a5048fbb5749bbf342aa41d2111c50c8"><span class="id" title="notation">c</span></a>) : <a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f99a2dc6d143aa8f1021ab57e4a19eee"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> 1 <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#ba2b0e492d2b4675a0acf3ea92aabadd"><span class="id" title="notation">∧</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f99a2dc6d143aa8f1021ab57e4a19eee"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> 1 <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#f6c65697fefaf4504de1d4d641cd4409"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#f6c65697fefaf4504de1d4d641cd4409"><span class="id" title="notation">is</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#f6c65697fefaf4504de1d4d641cd4409"><span class="id" title="notation">a</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.unit"><span class="id" title="definition">unit</span></a>.<br/> <br/> <span class="id" title="keyword">Definition</span> <a name="GRing.converse_unitRingMixin"><span class="id" title="definition">converse_unitRingMixin</span></a> :=<br/> - @<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Mixin"><span class="id" title="constructor">UnitRing.Mixin</span></a> <span class="id" title="var">_</span> (<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.ssralg.html#GRing.unit"><span class="id" title="definition">unit</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="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#pred_class"><span class="id" title="abbreviation">pred_class</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="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="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.ssralg.html#GRing.UnitRingTheory.R"><span class="id" title="variable">R</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#a92cdad26f40e318882f385be2783a4c"><span class="id" title="notation">^</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#a92cdad26f40e318882f385be2783a4c"><span class="id" title="notation">c</span></a>) <span class="id" title="var">_</span><br/> - <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.mulrV"><span class="id" title="definition">mulrV</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.mulVr"><span class="id" title="lemma">mulVr</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.rev_unitrP"><span class="id" title="lemma">rev_unitrP</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.invr_out"><span class="id" title="lemma">invr_out</span></a>.<br/> -<span class="id" title="keyword">Canonical</span> <span class="id" title="var">converse_unitRingType</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitRingType"><span class="id" title="abbreviation">UnitRingType</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitRingTheory.R"><span class="id" title="variable">R</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#a92cdad26f40e318882f385be2783a4c"><span class="id" title="notation">^</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#a92cdad26f40e318882f385be2783a4c"><span class="id" title="notation">c</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.converse_unitRingMixin"><span class="id" title="definition">converse_unitRingMixin</span></a>.<br/> -<span class="id" title="keyword">Canonical</span> <span class="id" title="var">regular_unitRingType</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#f02859ca87d7563e473a6ba817bdc33f"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#f02859ca87d7563e473a6ba817bdc33f"><span class="id" title="notation">unitRingType</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f02859ca87d7563e473a6ba817bdc33f"><span class="id" title="notation">of</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitRingTheory.R"><span class="id" title="variable">R</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#44fd865ce10e1d30970d09bdd85a0c8e"><span class="id" title="notation">^</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#44fd865ce10e1d30970d09bdd85a0c8e"><span class="id" title="notation">o</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#f02859ca87d7563e473a6ba817bdc33f"><span class="id" title="notation">]</span></a>.<br/> + @<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Mixin"><span class="id" title="constructor">UnitRing.Mixin</span></a> <span class="id" title="var">_</span> (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.unit"><span class="id" title="definition">unit</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssreflect.html#aed478b27f23b4f753c27c8ac393febc"><span class="id" title="notation">:</span></a> <a class="idref" href="mathcomp.ssreflect.ssrbool.html#64f8873130736b599801d4930af00e74"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.ssreflect.ssrbool.html#64f8873130736b599801d4930af00e74"><span class="id" title="notation">pred</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitRingTheory.R"><span class="id" title="variable">R</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#a5048fbb5749bbf342aa41d2111c50c8"><span class="id" title="notation">^</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#a5048fbb5749bbf342aa41d2111c50c8"><span class="id" title="notation">c</span></a><a class="idref" href="mathcomp.ssreflect.ssrbool.html#64f8873130736b599801d4930af00e74"><span class="id" title="notation">}</span></a>) <span class="id" title="var">_</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.mulrV"><span class="id" title="definition">mulrV</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.mulVr"><span class="id" title="lemma">mulVr</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.rev_unitrP"><span class="id" title="lemma">rev_unitrP</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.invr_out"><span class="id" title="lemma">invr_out</span></a>.<br/> +<span class="id" title="keyword">Canonical</span> <span class="id" title="var">converse_unitRingType</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitRingType"><span class="id" title="abbreviation">UnitRingType</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitRingTheory.R"><span class="id" title="variable">R</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#a5048fbb5749bbf342aa41d2111c50c8"><span class="id" title="notation">^</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#a5048fbb5749bbf342aa41d2111c50c8"><span class="id" title="notation">c</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.converse_unitRingMixin"><span class="id" title="definition">converse_unitRingMixin</span></a>.<br/> +<span class="id" title="keyword">Canonical</span> <span class="id" title="var">regular_unitRingType</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#2734494507570795a22f59746d1c0f0e"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#2734494507570795a22f59746d1c0f0e"><span class="id" title="notation">unitRingType</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#2734494507570795a22f59746d1c0f0e"><span class="id" title="notation">of</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitRingTheory.R"><span class="id" title="variable">R</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#44117511dc5f0eff9d2bcbcfcdd33874"><span class="id" title="notation">^</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#44117511dc5f0eff9d2bcbcfcdd33874"><span class="id" title="notation">o</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#2734494507570795a22f59746d1c0f0e"><span class="id" title="notation">]</span></a>.<br/> <br/> <span class="id" title="keyword">Section</span> <a name="GRing.UnitRingTheory.ClosedPredicates"><span class="id" title="section">ClosedPredicates</span></a>.<br/> <br/> -<span class="id" title="keyword">Variables</span> <a name="GRing.UnitRingTheory.ClosedPredicates.S"><span class="id" title="variable">S</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#predPredType"><span class="id" title="definition">predPredType</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitRingTheory.R"><span class="id" title="variable">R</span></a>.<br/> +<span class="id" title="keyword">Variables</span> <a name="GRing.UnitRingTheory.ClosedPredicates.S"><span class="id" title="variable">S</span></a> : <a class="idref" href="mathcomp.ssreflect.ssrbool.html#64f8873130736b599801d4930af00e74"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.ssreflect.ssrbool.html#64f8873130736b599801d4930af00e74"><span class="id" title="notation">pred</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitRingTheory.R"><span class="id" title="variable">R</span></a><a class="idref" href="mathcomp.ssreflect.ssrbool.html#64f8873130736b599801d4930af00e74"><span class="id" title="notation">}</span></a>.<br/> <br/> -<span class="id" title="keyword">Definition</span> <a name="GRing.invr_closed"><span class="id" title="definition">invr_closed</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.ssralg.html#GRing.UnitRingTheory.ClosedPredicates.S"><span class="id" title="variable">S</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.ssralg.html#x"><span class="id" title="variable">x</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#7f97e90bec2e67d9beef5851649e3fb1"><span class="id" title="notation">^-1</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#GRing.UnitRingTheory.ClosedPredicates.S"><span class="id" title="variable">S</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/> -<span class="id" title="keyword">Definition</span> <a name="GRing.divr_2closed"><span class="id" title="definition">divr_2closed</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.ssrbool.html#2bba53854f326a714d377124cccec593"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitRingTheory.ClosedPredicates.S"><span class="id" title="variable">S</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> <span class="id" title="keyword">∀</span> <span class="id" title="var">x</span> <span class="id" title="var">y</span>, <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#1adb36345c2607a4dd991537de5ddba3"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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#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#GRing.UnitRingTheory.ClosedPredicates.S"><span class="id" title="variable">S</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/> -<span class="id" title="keyword">Definition</span> <a name="GRing.divr_closed"><span class="id" title="definition">divr_closed</span></a> := 1 <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#GRing.UnitRingTheory.ClosedPredicates.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#d82a7d96d3659d805ffe732283716822"><span class="id" title="notation">∧</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.divr_2closed"><span class="id" title="definition">divr_2closed</span></a>.<br/> -<span class="id" title="keyword">Definition</span> <a name="GRing.sdivr_closed"><span class="id" title="definition">sdivr_closed</span></a> := -1 <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#GRing.UnitRingTheory.ClosedPredicates.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#d82a7d96d3659d805ffe732283716822"><span class="id" title="notation">∧</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.divr_2closed"><span class="id" title="definition">divr_2closed</span></a>.<br/> -<span class="id" title="keyword">Definition</span> <a name="GRing.divring_closed"><span class="id" title="definition">divring_closed</span></a> := <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#962a3cb7af009aedac7986e261646bd1"><span class="id" title="notation">[/\</span></a> 1 <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#GRing.UnitRingTheory.ClosedPredicates.S"><span class="id" title="variable">S</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#962a3cb7af009aedac7986e261646bd1"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.subr_2closed"><span class="id" title="definition">subr_2closed</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitRingTheory.ClosedPredicates.S"><span class="id" title="variable">S</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#962a3cb7af009aedac7986e261646bd1"><span class="id" title="notation">&</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.divr_2closed"><span class="id" title="definition">divr_2closed</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#962a3cb7af009aedac7986e261646bd1"><span class="id" title="notation">]</span></a>.<br/> +<span class="id" title="keyword">Definition</span> <a name="GRing.invr_closed"><span class="id" title="definition">invr_closed</span></a> := <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitRingTheory.ClosedPredicates.S"><span class="id" title="variable">S</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><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.ssralg.html#x"><span class="id" title="variable">x</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#139f286ff80df5d41ea22851b1826860"><span class="id" title="notation">^-1</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitRingTheory.ClosedPredicates.S"><span class="id" title="variable">S</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><span class="id" title="notation">}</span></a>.<br/> +<span class="id" title="keyword">Definition</span> <a name="GRing.divr_2closed"><span class="id" title="definition">divr_2closed</span></a> := <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b4f176550f5b849a7fbba2ee164934d3"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b4f176550f5b849a7fbba2ee164934d3"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitRingTheory.ClosedPredicates.S"><span class="id" title="variable">S</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b4f176550f5b849a7fbba2ee164934d3"><span class="id" title="notation">&,</span></a> <span class="id" title="keyword">∀</span> <span class="id" title="var">x</span> <span class="id" title="var">y</span>, <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#705c00ff5a03bf84d6828df21a7a7942"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitRingTheory.ClosedPredicates.S"><span class="id" title="variable">S</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b4f176550f5b849a7fbba2ee164934d3"><span class="id" title="notation">}</span></a>.<br/> +<span class="id" title="keyword">Definition</span> <a name="GRing.divr_closed"><span class="id" title="definition">divr_closed</span></a> := 1 <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitRingTheory.ClosedPredicates.S"><span class="id" title="variable">S</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#ba2b0e492d2b4675a0acf3ea92aabadd"><span class="id" title="notation">∧</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.divr_2closed"><span class="id" title="definition">divr_2closed</span></a>.<br/> +<span class="id" title="keyword">Definition</span> <a name="GRing.sdivr_closed"><span class="id" title="definition">sdivr_closed</span></a> := -1 <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitRingTheory.ClosedPredicates.S"><span class="id" title="variable">S</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#ba2b0e492d2b4675a0acf3ea92aabadd"><span class="id" title="notation">∧</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.divr_2closed"><span class="id" title="definition">divr_2closed</span></a>.<br/> +<span class="id" title="keyword">Definition</span> <a name="GRing.divring_closed"><span class="id" title="definition">divring_closed</span></a> := <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#d7e433f5d2fe56f5b712860a9ff2a681"><span class="id" title="notation">[/\</span></a> 1 <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitRingTheory.ClosedPredicates.S"><span class="id" title="variable">S</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#d7e433f5d2fe56f5b712860a9ff2a681"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.subr_2closed"><span class="id" title="definition">subr_2closed</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitRingTheory.ClosedPredicates.S"><span class="id" title="variable">S</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#d7e433f5d2fe56f5b712860a9ff2a681"><span class="id" title="notation">&</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.divr_2closed"><span class="id" title="definition">divr_2closed</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#d7e433f5d2fe56f5b712860a9ff2a681"><span class="id" title="notation">]</span></a>.<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.divr_closedV"><span class="id" title="lemma">divr_closedV</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.divr_closed"><span class="id" title="definition">divr_closed</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.invr_closed"><span class="id" title="definition">invr_closed</span></a>.<br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.divr_closedV"><span class="id" title="lemma">divr_closedV</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.divr_closed"><span class="id" title="definition">divr_closed</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.invr_closed"><span class="id" title="definition">invr_closed</span></a>.<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.divr_closedM"><span class="id" title="lemma">divr_closedM</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.divr_closed"><span class="id" title="definition">divr_closed</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.mulr_closed"><span class="id" title="definition">mulr_closed</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitRingTheory.ClosedPredicates.S"><span class="id" title="variable">S</span></a>.<br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.divr_closedM"><span class="id" title="lemma">divr_closedM</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.divr_closed"><span class="id" title="definition">divr_closed</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.mulr_closed"><span class="id" title="definition">mulr_closed</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitRingTheory.ClosedPredicates.S"><span class="id" title="variable">S</span></a>.<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.sdivr_closed_div"><span class="id" title="lemma">sdivr_closed_div</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.sdivr_closed"><span class="id" title="definition">sdivr_closed</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.divr_closed"><span class="id" title="definition">divr_closed</span></a>.<br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.sdivr_closed_div"><span class="id" title="lemma">sdivr_closed_div</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.sdivr_closed"><span class="id" title="definition">sdivr_closed</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.divr_closed"><span class="id" title="definition">divr_closed</span></a>.<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.sdivr_closedM"><span class="id" title="lemma">sdivr_closedM</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.sdivr_closed"><span class="id" title="definition">sdivr_closed</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.smulr_closed"><span class="id" title="definition">smulr_closed</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitRingTheory.ClosedPredicates.S"><span class="id" title="variable">S</span></a>.<br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.sdivr_closedM"><span class="id" title="lemma">sdivr_closedM</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.sdivr_closed"><span class="id" title="definition">sdivr_closed</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.smulr_closed"><span class="id" title="definition">smulr_closed</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitRingTheory.ClosedPredicates.S"><span class="id" title="variable">S</span></a>.<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.divring_closedBM"><span class="id" title="lemma">divring_closedBM</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.divring_closed"><span class="id" title="definition">divring_closed</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.subring_closed"><span class="id" title="definition">subring_closed</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitRingTheory.ClosedPredicates.S"><span class="id" title="variable">S</span></a>.<br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.divring_closedBM"><span class="id" title="lemma">divring_closedBM</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.divring_closed"><span class="id" title="definition">divring_closed</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.subring_closed"><span class="id" title="definition">subring_closed</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitRingTheory.ClosedPredicates.S"><span class="id" title="variable">S</span></a>.<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.divring_closed_div"><span class="id" title="lemma">divring_closed_div</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.divring_closed"><span class="id" title="definition">divring_closed</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.sdivr_closed"><span class="id" title="definition">sdivr_closed</span></a>.<br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.divring_closed_div"><span class="id" title="lemma">divring_closed_div</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.divring_closed"><span class="id" title="definition">divring_closed</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.sdivr_closed"><span class="id" title="definition">sdivr_closed</span></a>.<br/> <br/> <span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitRingTheory.ClosedPredicates"><span class="id" title="section">ClosedPredicates</span></a>.<br/> @@ -3193,16 +3208,16 @@ <span class="id" title="keyword">Section</span> <a name="GRing.UnitRingMorphism"><span class="id" title="section">UnitRingMorphism</span></a>.<br/> <br/> -<span class="id" title="keyword">Variables</span> (<a name="GRing.UnitRingMorphism.R"><span class="id" title="variable">R</span></a> <a name="GRing.UnitRingMorphism.S"><span class="id" title="variable">S</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.unitRingType"><span class="id" title="abbreviation">unitRingType</span></a>) (<a name="GRing.UnitRingMorphism.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.ssralg.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.ssralg.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/> +<span class="id" title="keyword">Variables</span> (<a name="GRing.UnitRingMorphism.R"><span class="id" title="variable">R</span></a> <a name="GRing.UnitRingMorphism.S"><span class="id" title="variable">S</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.unitRingType"><span class="id" title="abbreviation">unitRingType</span></a>) (<a name="GRing.UnitRingMorphism.f"><span class="id" title="variable">f</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#d531732ed602c7af62b88c7cfce824e5"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#d531732ed602c7af62b88c7cfce824e5"><span class="id" title="notation">rmorphism</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#R"><span class="id" title="variable">R</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#S"><span class="id" title="variable">S</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#d531732ed602c7af62b88c7cfce824e5"><span class="id" title="notation">}</span></a>).<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.rmorph_unit"><span class="id" title="lemma">rmorph_unit</span></a> <span class="id" title="var">x</span> : <a class="idref" href="mathcomp.algebra.ssralg.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.ssralg.html#GRing.unit"><span class="id" title="definition">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.ssralg.html#GRing.UnitRingMorphism.f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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.ssralg.html#GRing.unit"><span class="id" title="definition">unit</span></a>.<br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.rmorph_unit"><span class="id" title="lemma">rmorph_unit</span></a> <span class="id" title="var">x</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.unit"><span class="id" title="definition">unit</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitRingMorphism.f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.unit"><span class="id" title="definition">unit</span></a>.<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.rmorphV"><span class="id" title="lemma">rmorphV</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.ssralg.html#GRing.unit"><span class="id" title="definition">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.ssralg.html#GRing.UnitRingMorphism.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.ssralg.html#x"><span class="id" title="variable">x</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#7f97e90bec2e67d9beef5851649e3fb1"><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#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/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.rmorphV"><span class="id" title="lemma">rmorphV</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.unit"><span class="id" title="definition">unit</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><span class="id" title="notation">,</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#3d6621e6eef40dcc7dc9a612222d0b4e"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#3d6621e6eef40dcc7dc9a612222d0b4e"><span class="id" title="notation">morph</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitRingMorphism.f"><span class="id" title="variable">f</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#3d6621e6eef40dcc7dc9a612222d0b4e"><span class="id" title="notation">:</span></a> <span class="id" title="var">x</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#3d6621e6eef40dcc7dc9a612222d0b4e"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#139f286ff80df5d41ea22851b1826860"><span class="id" title="notation">^-1</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#3d6621e6eef40dcc7dc9a612222d0b4e"><span class="id" title="notation">}</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><span class="id" title="notation">}</span></a>.<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.rmorph_div"><span class="id" title="lemma">rmorph_div</span></a> <span class="id" title="var">x</span> <span class="id" title="var">y</span> : <a class="idref" href="mathcomp.algebra.ssralg.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#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#GRing.unit"><span class="id" title="definition">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.ssralg.html#GRing.UnitRingMorphism.f"><span class="id" title="variable">f</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#1adb36345c2607a4dd991537de5ddba3"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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.ssralg.html#GRing.UnitRingMorphism.f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#1adb36345c2607a4dd991537de5ddba3"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitRingMorphism.f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a>.<br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.rmorph_div"><span class="id" title="lemma">rmorph_div</span></a> <span class="id" title="var">x</span> <span class="id" title="var">y</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.unit"><span class="id" title="definition">unit</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitRingMorphism.f"><span class="id" title="variable">f</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#705c00ff5a03bf84d6828df21a7a7942"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a>) <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitRingMorphism.f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#705c00ff5a03bf84d6828df21a7a7942"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitRingMorphism.f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a>.<br/> <br/> <span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitRingMorphism"><span class="id" title="section">UnitRingMorphism</span></a>.<br/> @@ -3214,15 +3229,15 @@ <span class="id" title="keyword">Section</span> <a name="GRing.ComUnitRing.Mixin"><span class="id" title="section">Mixin</span></a>.<br/> <br/> -<span class="id" title="keyword">Variables</span> (<a name="GRing.ComUnitRing.Mixin.R"><span class="id" title="variable">R</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComRing.Exports.comRingType"><span class="id" title="abbreviation">comRingType</span></a>) (<a name="GRing.ComUnitRing.Mixin.unit"><span class="id" title="variable">unit</span></a> : <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.ssralg.html#R"><span class="id" title="variable">R</span></a>) (<a name="GRing.ComUnitRing.Mixin.inv"><span class="id" title="variable">inv</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.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.ssralg.html#R"><span class="id" title="variable">R</span></a>).<br/> -<span class="id" title="keyword">Hypothesis</span> <a name="GRing.ComUnitRing.Mixin.mulVx"><span class="id" title="variable">mulVx</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.ssralg.html#GRing.ComUnitRing.Mixin.unit"><span class="id" title="variable">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#left_inverse"><span class="id" title="definition">left_inverse</span></a> 1 <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComUnitRing.Mixin.inv"><span class="id" title="variable">inv</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#6498e6e308d8a143464cf2d2ba603d36"><span class="id" title="notation">*%</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#6498e6e308d8a143464cf2d2ba603d36"><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/> -<span class="id" title="keyword">Hypothesis</span> <a name="GRing.ComUnitRing.Mixin.unitPl"><span class="id" title="variable">unitPl</span></a> : <span class="id" title="keyword">∀</span> <span class="id" title="var">x</span> <span class="id" title="var">y</span>, <a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#ed99e7035d9a1f8a2c1515be81ac2e5f"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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 <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.ComUnitRing.Mixin.unit"><span class="id" title="variable">unit</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a>.<br/> +<span class="id" title="keyword">Variables</span> (<a name="GRing.ComUnitRing.Mixin.R"><span class="id" title="variable">R</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComRing.Exports.comRingType"><span class="id" title="abbreviation">comRingType</span></a>) (<a name="GRing.ComUnitRing.Mixin.unit"><span class="id" title="variable">unit</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#pred"><span class="id" title="definition">pred</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#R"><span class="id" title="variable">R</span></a>) (<a name="GRing.ComUnitRing.Mixin.inv"><span class="id" title="variable">inv</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#R"><span class="id" title="variable">R</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#R"><span class="id" title="variable">R</span></a>).<br/> +<span class="id" title="keyword">Hypothesis</span> <a name="GRing.ComUnitRing.Mixin.mulVx"><span class="id" title="variable">mulVx</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComUnitRing.Mixin.unit"><span class="id" title="variable">unit</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><span class="id" title="notation">,</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#left_inverse"><span class="id" title="definition">left_inverse</span></a> 1 <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComUnitRing.Mixin.inv"><span class="id" title="variable">inv</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#bae191a5c954d16cccd67244cf8a6ceb"><span class="id" title="notation">*%</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#bae191a5c954d16cccd67244cf8a6ceb"><span class="id" title="notation">R</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><span class="id" title="notation">}</span></a>.<br/> +<span class="id" title="keyword">Hypothesis</span> <a name="GRing.ComUnitRing.Mixin.unitPl"><span class="id" title="variable">unitPl</span></a> : <span class="id" title="keyword">∀</span> <span class="id" title="var">x</span> <span class="id" title="var">y</span>, <a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f99a2dc6d143aa8f1021ab57e4a19eee"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> 1 <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComUnitRing.Mixin.unit"><span class="id" title="variable">unit</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a>.<br/> <br/> -<span class="id" title="keyword">Fact</span> <a name="GRing.ComUnitRing.mulC_mulrV"><span class="id" title="lemma">mulC_mulrV</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.ssralg.html#GRing.ComUnitRing.Mixin.unit"><span class="id" title="variable">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#right_inverse"><span class="id" title="definition">right_inverse</span></a> 1 <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComUnitRing.Mixin.inv"><span class="id" title="variable">inv</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#6498e6e308d8a143464cf2d2ba603d36"><span class="id" title="notation">*%</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#6498e6e308d8a143464cf2d2ba603d36"><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/> +<span class="id" title="keyword">Fact</span> <a name="GRing.ComUnitRing.mulC_mulrV"><span class="id" title="lemma">mulC_mulrV</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComUnitRing.Mixin.unit"><span class="id" title="variable">unit</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><span class="id" title="notation">,</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#right_inverse"><span class="id" title="definition">right_inverse</span></a> 1 <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComUnitRing.Mixin.inv"><span class="id" title="variable">inv</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#bae191a5c954d16cccd67244cf8a6ceb"><span class="id" title="notation">*%</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#bae191a5c954d16cccd67244cf8a6ceb"><span class="id" title="notation">R</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><span class="id" title="notation">}</span></a>.<br/> <br/> -<span class="id" title="keyword">Fact</span> <a name="GRing.ComUnitRing.mulC_unitP"><span class="id" title="lemma">mulC_unitP</span></a> <span class="id" title="var">x</span> <span class="id" title="var">y</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#ed99e7035d9a1f8a2c1515be81ac2e5f"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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 <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d82a7d96d3659d805ffe732283716822"><span class="id" title="notation">∧</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#ed99e7035d9a1f8a2c1515be81ac2e5f"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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> 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.ssralg.html#GRing.ComUnitRing.Mixin.unit"><span class="id" title="variable">unit</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a>.<br/> +<span class="id" title="keyword">Fact</span> <a name="GRing.ComUnitRing.mulC_unitP"><span class="id" title="lemma">mulC_unitP</span></a> <span class="id" title="var">x</span> <span class="id" title="var">y</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f99a2dc6d143aa8f1021ab57e4a19eee"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> 1 <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#ba2b0e492d2b4675a0acf3ea92aabadd"><span class="id" title="notation">∧</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f99a2dc6d143aa8f1021ab57e4a19eee"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> 1 <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComUnitRing.Mixin.unit"><span class="id" title="variable">unit</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a>.<br/> <br/> <span class="id" title="keyword">Definition</span> <a name="GRing.ComUnitRing.Mixin"><span class="id" title="definition">Mixin</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitRing.Exports.UnitRingMixin"><span class="id" title="abbreviation">UnitRingMixin</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComUnitRing.Mixin.mulVx"><span class="id" title="variable">mulVx</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComUnitRing.mulC_mulrV"><span class="id" title="lemma">mulC_mulrV</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComUnitRing.mulC_unitP"><span class="id" title="lemma">mulC_unitP</span></a>.<br/> @@ -3236,31 +3251,31 @@ <br/> <span class="id" title="keyword">Record</span> <a name="GRing.ComUnitRing.class_of"><span class="id" title="record">class_of</span></a> (<span class="id" title="var">R</span> : <span class="id" title="keyword">Type</span>) : <span class="id" title="keyword">Type</span> := <a name="GRing.ComUnitRing.Class"><span class="id" title="constructor">Class</span></a> {<br/> <a name="GRing.ComUnitRing.base"><span class="id" title="projection">base</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComRing.class_of"><span class="id" title="record">ComRing.class_of</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#R"><span class="id" title="variable">R</span></a>;<br/> - <a name="GRing.ComUnitRing.mixin"><span class="id" title="projection">mixin</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitRing.mixin_of"><span class="id" title="record">UnitRing.mixin_of</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Ring.Pack"><span class="id" title="constructor">Ring.Pack</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#base"><span class="id" title="method">base</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#R"><span class="id" title="variable">R</span></a>)<br/> + <a name="GRing.ComUnitRing.mixin"><span class="id" title="projection">mixin</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitRing.mixin_of"><span class="id" title="record">UnitRing.mixin_of</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Ring.Pack"><span class="id" title="constructor">Ring.Pack</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#base"><span class="id" title="method">base</span></a>)<br/> }.<br/> <span class="id" title="keyword">Definition</span> <a name="GRing.ComUnitRing.base2"><span class="id" title="definition">base2</span></a> <span class="id" title="var">R</span> <span class="id" title="var">m</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitRing.Class"><span class="id" title="constructor">UnitRing.Class</span></a> (@<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComUnitRing.mixin"><span class="id" title="projection">mixin</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#R"><span class="id" title="variable">R</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#m"><span class="id" title="variable">m</span></a>).<br/> <br/> -<span class="id" title="keyword">Structure</span> <a name="GRing.ComUnitRing.type"><span class="id" title="record">type</span></a> := <a name="GRing.ComUnitRing.Pack"><span class="id" title="constructor">Pack</span></a> {<a name="GRing.ComUnitRing.sort"><span class="id" title="projection">sort</span></a>; <span class="id" title="var">_</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComUnitRing.class_of"><span class="id" title="record">class_of</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#sort"><span class="id" title="method">sort</span></a>; <span class="id" title="var">_</span> : <span class="id" title="keyword">Type</span>}.<br/> +<span class="id" title="keyword">Structure</span> <a name="GRing.ComUnitRing.type"><span class="id" title="record">type</span></a> := <a name="GRing.ComUnitRing.Pack"><span class="id" title="constructor">Pack</span></a> {<a name="GRing.ComUnitRing.sort"><span class="id" title="projection">sort</span></a>; <span class="id" title="var">_</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComUnitRing.class_of"><span class="id" title="record">class_of</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#sort"><span class="id" title="method">sort</span></a>}.<br/> <span class="id" title="keyword">Variables</span> (<a name="GRing.ComUnitRing.ClassDef.T"><span class="id" title="variable">T</span></a> : <span class="id" title="keyword">Type</span>) (<a name="GRing.ComUnitRing.ClassDef.cT"><span class="id" title="variable">cT</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComUnitRing.type"><span class="id" title="record">type</span></a>).<br/> -<span class="id" title="keyword">Definition</span> <a name="GRing.ComUnitRing.class"><span class="id" title="definition">class</span></a> := <span class="id" title="keyword">let</span>: <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComUnitRing.Pack"><span class="id" title="constructor">Pack</span></a> <span class="id" title="var">_</span> <span class="id" title="var">c</span> <span class="id" title="var">_</span> <span class="id" title="keyword">as</span> <span class="id" title="var">cT'</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComUnitRing.ClassDef.cT"><span class="id" title="variable">cT</span></a> <span class="id" title="keyword">return</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComUnitRing.class_of"><span class="id" title="record">class_of</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#cT'"><span class="id" title="variable">cT'</span></a> <span class="id" title="tactic">in</span> <span class="id" title="var">c</span>.<br/> -<span class="id" title="keyword">Let</span> <a name="GRing.ComUnitRing.ClassDef.xT"><span class="id" title="variable">xT</span></a> := <span class="id" title="keyword">let</span>: <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComUnitRing.Pack"><span class="id" title="constructor">Pack</span></a> <span class="id" title="var">T</span> <span class="id" title="var">_</span> <span class="id" title="var">_</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComUnitRing.ClassDef.cT"><span class="id" title="variable">cT</span></a> <span class="id" title="tactic">in</span> <span class="id" title="var">T</span>.<br/> -<span class="id" title="keyword">Notation</span> <a name="GRing.ComUnitRing.xclass"><span class="id" title="abbreviation">xclass</span></a> := (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComUnitRing.class"><span class="id" title="definition">class</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.ssralg.html#GRing.ComUnitRing.class_of"><span class="id" title="record">class_of</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComUnitRing.ClassDef.xT"><span class="id" title="variable">xT</span></a>).<br/> +<span class="id" title="keyword">Definition</span> <a name="GRing.ComUnitRing.class"><span class="id" title="definition">class</span></a> := <span class="id" title="keyword">let</span>: <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComUnitRing.Pack"><span class="id" title="constructor">Pack</span></a> <span class="id" title="var">_</span> <span class="id" title="var">c</span> <span class="id" title="keyword">as</span> <span class="id" title="var">cT'</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComUnitRing.ClassDef.cT"><span class="id" title="variable">cT</span></a> <span class="id" title="keyword">return</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComUnitRing.class_of"><span class="id" title="record">class_of</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#cT'"><span class="id" title="variable">cT'</span></a> <span class="id" title="tactic">in</span> <span class="id" title="var">c</span>.<br/> +<span class="id" title="keyword">Let</span> <a name="GRing.ComUnitRing.ClassDef.xT"><span class="id" title="variable">xT</span></a> := <span class="id" title="keyword">let</span>: <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComUnitRing.Pack"><span class="id" title="constructor">Pack</span></a> <span class="id" title="var">T</span> <span class="id" title="var">_</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComUnitRing.ClassDef.cT"><span class="id" title="variable">cT</span></a> <span class="id" title="tactic">in</span> <span class="id" title="var">T</span>.<br/> +<span class="id" title="keyword">Notation</span> <a name="GRing.ComUnitRing.xclass"><span class="id" title="abbreviation">xclass</span></a> := (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComUnitRing.class"><span class="id" title="definition">class</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssreflect.html#aed478b27f23b4f753c27c8ac393febc"><span class="id" title="notation">:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComUnitRing.class_of"><span class="id" title="record">class_of</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComUnitRing.ClassDef.xT"><span class="id" title="variable">xT</span></a>).<br/> <br/> <span class="id" title="keyword">Definition</span> <a name="GRing.ComUnitRing.pack"><span class="id" title="definition">pack</span></a> :=<br/> - <span class="id" title="keyword">fun</span> <span class="id" title="var">bT</span> <span class="id" title="var">b</span> & <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#phant_id"><span class="id" title="definition">phant_id</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComRing.class"><span class="id" title="definition">ComRing.class</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#bT"><span class="id" title="variable">bT</span></a>) (<a class="idref" href="mathcomp.algebra.ssralg.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#4509b22bf26e3d6d771897e22bd8bc8f"><span class="id" title="notation">:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComRing.class_of"><span class="id" title="record">ComRing.class_of</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComUnitRing.ClassDef.T"><span class="id" title="variable">T</span></a>) ⇒<br/> - <span class="id" title="keyword">fun</span> <span class="id" title="var">mT</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#phant_id"><span class="id" title="definition">phant_id</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitRing.class"><span class="id" title="definition">UnitRing.class</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#mT"><span class="id" title="variable">mT</span></a>) (@<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitRing.Class"><span class="id" title="constructor">UnitRing.Class</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComUnitRing.ClassDef.T"><span class="id" title="variable">T</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b"><span class="id" title="variable">b</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#m"><span class="id" title="variable">m</span></a>) ⇒<br/> - <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComUnitRing.Pack"><span class="id" title="constructor">Pack</span></a> (@<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComUnitRing.Class"><span class="id" title="constructor">Class</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComUnitRing.ClassDef.T"><span class="id" title="variable">T</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b"><span class="id" title="variable">b</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#m"><span class="id" title="variable">m</span></a>) <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComUnitRing.ClassDef.T"><span class="id" title="variable">T</span></a>.<br/> + <span class="id" title="keyword">fun</span> <span class="id" title="var">bT</span> <span class="id" title="var">b</span> & <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#phant_id"><span class="id" title="definition">phant_id</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComRing.class"><span class="id" title="definition">ComRing.class</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#bT"><span class="id" title="variable">bT</span></a>) (<a class="idref" href="mathcomp.algebra.ssralg.html#b"><span class="id" title="variable">b</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssreflect.html#aed478b27f23b4f753c27c8ac393febc"><span class="id" title="notation">:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComRing.class_of"><span class="id" title="record">ComRing.class_of</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComUnitRing.ClassDef.T"><span class="id" title="variable">T</span></a>) ⇒<br/> + <span class="id" title="keyword">fun</span> <span class="id" title="var">mT</span> <span class="id" title="var">m</span> & <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#phant_id"><span class="id" title="definition">phant_id</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitRing.class"><span class="id" title="definition">UnitRing.class</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#mT"><span class="id" title="variable">mT</span></a>) (@<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitRing.Class"><span class="id" title="constructor">UnitRing.Class</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComUnitRing.ClassDef.T"><span class="id" title="variable">T</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b"><span class="id" title="variable">b</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#m"><span class="id" title="variable">m</span></a>) ⇒<br/> + <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComUnitRing.Pack"><span class="id" title="constructor">Pack</span></a> (@<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComUnitRing.Class"><span class="id" title="constructor">Class</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComUnitRing.ClassDef.T"><span class="id" title="variable">T</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b"><span class="id" title="variable">b</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#m"><span class="id" title="variable">m</span></a>).<br/> <br/> -<span class="id" title="keyword">Definition</span> <a name="GRing.ComUnitRing.eqType"><span class="id" title="definition">eqType</span></a> := @<a class="idref" href="mathcomp.ssreflect.eqtype.html#Equality.Pack"><span class="id" title="constructor">Equality.Pack</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComUnitRing.ClassDef.cT"><span class="id" title="variable">cT</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComUnitRing.xclass"><span class="id" title="abbreviation">xclass</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComUnitRing.ClassDef.xT"><span class="id" title="variable">xT</span></a>.<br/> -<span class="id" title="keyword">Definition</span> <a name="GRing.ComUnitRing.choiceType"><span class="id" title="definition">choiceType</span></a> := @<a class="idref" href="mathcomp.ssreflect.choice.html#Choice.Pack"><span class="id" title="constructor">Choice.Pack</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComUnitRing.ClassDef.cT"><span class="id" title="variable">cT</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComUnitRing.xclass"><span class="id" title="abbreviation">xclass</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComUnitRing.ClassDef.xT"><span class="id" title="variable">xT</span></a>.<br/> -<span class="id" title="keyword">Definition</span> <a name="GRing.ComUnitRing.zmodType"><span class="id" title="definition">zmodType</span></a> := @<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Zmodule.Pack"><span class="id" title="constructor">Zmodule.Pack</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComUnitRing.ClassDef.cT"><span class="id" title="variable">cT</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComUnitRing.xclass"><span class="id" title="abbreviation">xclass</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComUnitRing.ClassDef.xT"><span class="id" title="variable">xT</span></a>.<br/> -<span class="id" title="keyword">Definition</span> <a name="GRing.ComUnitRing.ringType"><span class="id" title="definition">ringType</span></a> := @<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Ring.Pack"><span class="id" title="constructor">Ring.Pack</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComUnitRing.ClassDef.cT"><span class="id" title="variable">cT</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComUnitRing.xclass"><span class="id" title="abbreviation">xclass</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComUnitRing.ClassDef.xT"><span class="id" title="variable">xT</span></a>.<br/> -<span class="id" title="keyword">Definition</span> <a name="GRing.ComUnitRing.comRingType"><span class="id" title="definition">comRingType</span></a> := @<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComRing.Pack"><span class="id" title="constructor">ComRing.Pack</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComUnitRing.ClassDef.cT"><span class="id" title="variable">cT</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComUnitRing.xclass"><span class="id" title="abbreviation">xclass</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComUnitRing.ClassDef.xT"><span class="id" title="variable">xT</span></a>.<br/> -<span class="id" title="keyword">Definition</span> <a name="GRing.ComUnitRing.unitRingType"><span class="id" title="definition">unitRingType</span></a> := @<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitRing.Pack"><span class="id" title="constructor">UnitRing.Pack</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComUnitRing.ClassDef.cT"><span class="id" title="variable">cT</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComUnitRing.xclass"><span class="id" title="abbreviation">xclass</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComUnitRing.ClassDef.xT"><span class="id" title="variable">xT</span></a>.<br/> -<span class="id" title="keyword">Definition</span> <a name="GRing.ComUnitRing.com_unitRingType"><span class="id" title="definition">com_unitRingType</span></a> := @<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitRing.Pack"><span class="id" title="constructor">UnitRing.Pack</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComUnitRing.comRingType"><span class="id" title="definition">comRingType</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComUnitRing.xclass"><span class="id" title="abbreviation">xclass</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComUnitRing.ClassDef.xT"><span class="id" title="variable">xT</span></a>.<br/> +<span class="id" title="keyword">Definition</span> <a name="GRing.ComUnitRing.eqType"><span class="id" title="definition">eqType</span></a> := @<a class="idref" href="mathcomp.ssreflect.eqtype.html#Equality.Pack"><span class="id" title="constructor">Equality.Pack</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComUnitRing.ClassDef.cT"><span class="id" title="variable">cT</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComUnitRing.xclass"><span class="id" title="abbreviation">xclass</span></a>.<br/> +<span class="id" title="keyword">Definition</span> <a name="GRing.ComUnitRing.choiceType"><span class="id" title="definition">choiceType</span></a> := @<a class="idref" href="mathcomp.ssreflect.choice.html#Choice.Pack"><span class="id" title="constructor">Choice.Pack</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComUnitRing.ClassDef.cT"><span class="id" title="variable">cT</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComUnitRing.xclass"><span class="id" title="abbreviation">xclass</span></a>.<br/> +<span class="id" title="keyword">Definition</span> <a name="GRing.ComUnitRing.zmodType"><span class="id" title="definition">zmodType</span></a> := @<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Zmodule.Pack"><span class="id" title="constructor">Zmodule.Pack</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComUnitRing.ClassDef.cT"><span class="id" title="variable">cT</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComUnitRing.xclass"><span class="id" title="abbreviation">xclass</span></a>.<br/> +<span class="id" title="keyword">Definition</span> <a name="GRing.ComUnitRing.ringType"><span class="id" title="definition">ringType</span></a> := @<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Ring.Pack"><span class="id" title="constructor">Ring.Pack</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComUnitRing.ClassDef.cT"><span class="id" title="variable">cT</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComUnitRing.xclass"><span class="id" title="abbreviation">xclass</span></a>.<br/> +<span class="id" title="keyword">Definition</span> <a name="GRing.ComUnitRing.comRingType"><span class="id" title="definition">comRingType</span></a> := @<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComRing.Pack"><span class="id" title="constructor">ComRing.Pack</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComUnitRing.ClassDef.cT"><span class="id" title="variable">cT</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComUnitRing.xclass"><span class="id" title="abbreviation">xclass</span></a>.<br/> +<span class="id" title="keyword">Definition</span> <a name="GRing.ComUnitRing.unitRingType"><span class="id" title="definition">unitRingType</span></a> := @<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitRing.Pack"><span class="id" title="constructor">UnitRing.Pack</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComUnitRing.ClassDef.cT"><span class="id" title="variable">cT</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComUnitRing.xclass"><span class="id" title="abbreviation">xclass</span></a>.<br/> +<span class="id" title="keyword">Definition</span> <a name="GRing.ComUnitRing.com_unitRingType"><span class="id" title="definition">com_unitRingType</span></a> := @<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitRing.Pack"><span class="id" title="constructor">UnitRing.Pack</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComUnitRing.comRingType"><span class="id" title="definition">comRingType</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComUnitRing.xclass"><span class="id" title="abbreviation">xclass</span></a>.<br/> <br/> <span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComUnitRing.ClassDef"><span class="id" title="section">ClassDef</span></a>.<br/> @@ -3286,7 +3301,7 @@ <span class="id" title="keyword">Canonical</span> <span class="id" title="var">com_unitRingType</span>.<br/> <span class="id" title="keyword">Notation</span> <a name="GRing.ComUnitRing.Exports.comUnitRingType"><span class="id" title="abbreviation">comUnitRingType</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComUnitRing.type"><span class="id" title="record">type</span></a>.<br/> <span class="id" title="keyword">Notation</span> <a name="GRing.ComUnitRing.Exports.ComUnitRingMixin"><span class="id" title="abbreviation">ComUnitRingMixin</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComUnitRing.Mixin"><span class="id" title="definition">Mixin</span></a>.<br/> -<span class="id" title="keyword">Notation</span> <a name="e3ee791c903b0283e51d52d0692558ec"><span class="id" title="notation">"</span></a>[ 'comUnitRingType' 'of' T ]" := (@<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComUnitRing.pack"><span class="id" title="definition">pack</span></a> <span class="id" title="var">T</span> <span class="id" title="var">_</span> <span class="id" title="var">_</span> <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> <span class="id" title="var">_</span> <span class="id" title="var">_</span> <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>)<br/> +<span class="id" title="keyword">Notation</span> <a name="2dfeb3fb2088b370ad93742d4f23a0dc"><span class="id" title="notation">"</span></a>[ 'comUnitRingType' 'of' T ]" := (@<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComUnitRing.pack"><span class="id" title="definition">pack</span></a> <span class="id" title="var">T</span> <span class="id" title="var">_</span> <span class="id" title="var">_</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#id"><span class="id" title="abbreviation">id</span></a> <span class="id" title="var">_</span> <span class="id" title="var">_</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#id"><span class="id" title="abbreviation">id</span></a>)<br/> (<span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 0, <span class="id" title="var">format</span> "[ 'comUnitRingType' 'of' T ]") : <span class="id" title="var">form_scope</span>.<br/> <span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComUnitRing.Exports"><span class="id" title="module">Exports</span></a>.<br/> @@ -3306,35 +3321,35 @@ <br/> <span class="id" title="keyword">Record</span> <a name="GRing.UnitAlgebra.class_of"><span class="id" title="record">class_of</span></a> (<span class="id" title="var">T</span> : <span class="id" title="keyword">Type</span>) : <span class="id" title="keyword">Type</span> := <a name="GRing.UnitAlgebra.Class"><span class="id" title="constructor">Class</span></a> {<br/> <a name="GRing.UnitAlgebra.base"><span class="id" title="projection">base</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Algebra.class_of"><span class="id" title="record">Algebra.class_of</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitAlgebra.ClassDef.R"><span class="id" title="variable">R</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#T"><span class="id" title="variable">T</span></a>;<br/> - <a name="GRing.UnitAlgebra.mixin"><span class="id" title="projection">mixin</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitRing.mixin_of"><span class="id" title="record">GRing.UnitRing.mixin_of</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Ring.Pack"><span class="id" title="constructor">Ring.Pack</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#base"><span class="id" title="method">base</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#T"><span class="id" title="variable">T</span></a>)<br/> + <a name="GRing.UnitAlgebra.mixin"><span class="id" title="projection">mixin</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitRing.mixin_of"><span class="id" title="record">GRing.UnitRing.mixin_of</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Ring.Pack"><span class="id" title="constructor">Ring.Pack</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#base"><span class="id" title="method">base</span></a>)<br/> }.<br/> <span class="id" title="keyword">Definition</span> <a name="GRing.UnitAlgebra.base2"><span class="id" title="definition">base2</span></a> <span class="id" title="var">R</span> <span class="id" title="var">m</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitRing.Class"><span class="id" title="constructor">UnitRing.Class</span></a> (@<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitAlgebra.mixin"><span class="id" title="projection">mixin</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#R"><span class="id" title="variable">R</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#m"><span class="id" title="variable">m</span></a>).<br/> <br/> -<span class="id" title="keyword">Structure</span> <a name="GRing.UnitAlgebra.type"><span class="id" title="record">type</span></a> (<span class="id" title="var">phR</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssreflect.html#phant"><span class="id" title="inductive">phant</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitAlgebra.ClassDef.R"><span class="id" title="variable">R</span></a>) := <a name="GRing.UnitAlgebra.Pack"><span class="id" title="constructor">Pack</span></a> {<a name="GRing.UnitAlgebra.sort"><span class="id" title="projection">sort</span></a>; <span class="id" title="var">_</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitAlgebra.class_of"><span class="id" title="record">class_of</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#sort"><span class="id" title="method">sort</span></a>; <span class="id" title="var">_</span> : <span class="id" title="keyword">Type</span>}.<br/> -<span class="id" title="keyword">Variable</span> (<a name="GRing.UnitAlgebra.ClassDef.phR"><span class="id" title="variable">phR</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssreflect.html#phant"><span class="id" title="inductive">phant</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitAlgebra.ClassDef.R"><span class="id" title="variable">R</span></a>) (<a name="GRing.UnitAlgebra.ClassDef.T"><span class="id" title="variable">T</span></a> : <span class="id" title="keyword">Type</span>) (<a name="GRing.UnitAlgebra.ClassDef.cT"><span class="id" title="variable">cT</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitAlgebra.type"><span class="id" title="record">type</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#phR"><span class="id" title="variable">phR</span></a>).<br/> -<span class="id" title="keyword">Definition</span> <a name="GRing.UnitAlgebra.class"><span class="id" title="definition">class</span></a> := <span class="id" title="keyword">let</span>: <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitAlgebra.Pack"><span class="id" title="constructor">Pack</span></a> <span class="id" title="var">_</span> <span class="id" title="var">c</span> <span class="id" title="var">_</span> <span class="id" title="keyword">as</span> <span class="id" title="var">cT'</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitAlgebra.ClassDef.cT"><span class="id" title="variable">cT</span></a> <span class="id" title="keyword">return</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitAlgebra.class_of"><span class="id" title="record">class_of</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#cT'"><span class="id" title="variable">cT'</span></a> <span class="id" title="tactic">in</span> <span class="id" title="var">c</span>.<br/> -<span class="id" title="keyword">Let</span> <a name="GRing.UnitAlgebra.ClassDef.xT"><span class="id" title="variable">xT</span></a> := <span class="id" title="keyword">let</span>: <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitAlgebra.Pack"><span class="id" title="constructor">Pack</span></a> <span class="id" title="var">T</span> <span class="id" title="var">_</span> <span class="id" title="var">_</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitAlgebra.ClassDef.cT"><span class="id" title="variable">cT</span></a> <span class="id" title="tactic">in</span> <span class="id" title="var">T</span>.<br/> -<span class="id" title="keyword">Notation</span> <a name="GRing.UnitAlgebra.xclass"><span class="id" title="abbreviation">xclass</span></a> := (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitAlgebra.class"><span class="id" title="definition">class</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.ssralg.html#GRing.UnitAlgebra.class_of"><span class="id" title="record">class_of</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitAlgebra.ClassDef.xT"><span class="id" title="variable">xT</span></a>).<br/> +<span class="id" title="keyword">Structure</span> <a name="GRing.UnitAlgebra.type"><span class="id" title="record">type</span></a> (<span class="id" title="var">phR</span> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssreflect.html#phant"><span class="id" title="inductive">phant</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitAlgebra.ClassDef.R"><span class="id" title="variable">R</span></a>) := <a name="GRing.UnitAlgebra.Pack"><span class="id" title="constructor">Pack</span></a> {<a name="GRing.UnitAlgebra.sort"><span class="id" title="projection">sort</span></a>; <span class="id" title="var">_</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitAlgebra.class_of"><span class="id" title="record">class_of</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#sort"><span class="id" title="method">sort</span></a>}.<br/> +<span class="id" title="keyword">Variable</span> (<a name="GRing.UnitAlgebra.ClassDef.phR"><span class="id" title="variable">phR</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssreflect.html#phant"><span class="id" title="inductive">phant</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitAlgebra.ClassDef.R"><span class="id" title="variable">R</span></a>) (<a name="GRing.UnitAlgebra.ClassDef.T"><span class="id" title="variable">T</span></a> : <span class="id" title="keyword">Type</span>) (<a name="GRing.UnitAlgebra.ClassDef.cT"><span class="id" title="variable">cT</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitAlgebra.type"><span class="id" title="record">type</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#phR"><span class="id" title="variable">phR</span></a>).<br/> +<span class="id" title="keyword">Definition</span> <a name="GRing.UnitAlgebra.class"><span class="id" title="definition">class</span></a> := <span class="id" title="keyword">let</span>: <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitAlgebra.Pack"><span class="id" title="constructor">Pack</span></a> <span class="id" title="var">_</span> <span class="id" title="var">c</span> <span class="id" title="keyword">as</span> <span class="id" title="var">cT'</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitAlgebra.ClassDef.cT"><span class="id" title="variable">cT</span></a> <span class="id" title="keyword">return</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitAlgebra.class_of"><span class="id" title="record">class_of</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#cT'"><span class="id" title="variable">cT'</span></a> <span class="id" title="tactic">in</span> <span class="id" title="var">c</span>.<br/> +<span class="id" title="keyword">Let</span> <a name="GRing.UnitAlgebra.ClassDef.xT"><span class="id" title="variable">xT</span></a> := <span class="id" title="keyword">let</span>: <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitAlgebra.Pack"><span class="id" title="constructor">Pack</span></a> <span class="id" title="var">T</span> <span class="id" title="var">_</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitAlgebra.ClassDef.cT"><span class="id" title="variable">cT</span></a> <span class="id" title="tactic">in</span> <span class="id" title="var">T</span>.<br/> +<span class="id" title="keyword">Notation</span> <a name="GRing.UnitAlgebra.xclass"><span class="id" title="abbreviation">xclass</span></a> := (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitAlgebra.class"><span class="id" title="definition">class</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssreflect.html#aed478b27f23b4f753c27c8ac393febc"><span class="id" title="notation">:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitAlgebra.class_of"><span class="id" title="record">class_of</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitAlgebra.ClassDef.xT"><span class="id" title="variable">xT</span></a>).<br/> <br/> <span class="id" title="keyword">Definition</span> <a name="GRing.UnitAlgebra.pack"><span class="id" title="definition">pack</span></a> :=<br/> - <span class="id" title="keyword">fun</span> <span class="id" title="var">bT</span> <span class="id" title="var">b</span> & <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#phant_id"><span class="id" title="definition">phant_id</span></a> (@<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Algebra.class"><span class="id" title="definition">Algebra.class</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitAlgebra.ClassDef.R"><span class="id" title="variable">R</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitAlgebra.ClassDef.phR"><span class="id" title="variable">phR</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#bT"><span class="id" title="variable">bT</span></a>) (<a class="idref" href="mathcomp.algebra.ssralg.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#4509b22bf26e3d6d771897e22bd8bc8f"><span class="id" title="notation">:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Algebra.class_of"><span class="id" title="record">Algebra.class_of</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitAlgebra.ClassDef.R"><span class="id" title="variable">R</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitAlgebra.ClassDef.T"><span class="id" title="variable">T</span></a>) ⇒<br/> - <span class="id" title="keyword">fun</span> <span class="id" title="var">mT</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#phant_id"><span class="id" title="definition">phant_id</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitRing.mixin"><span class="id" title="projection">UnitRing.mixin</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitRing.class"><span class="id" title="definition">UnitRing.class</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#mT"><span class="id" title="variable">mT</span></a>)) <a class="idref" href="mathcomp.algebra.ssralg.html#m"><span class="id" title="variable">m</span></a> ⇒<br/> - <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitAlgebra.Pack"><span class="id" title="constructor">Pack</span></a> (<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssreflect.html#Phant"><span class="id" title="constructor">Phant</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitAlgebra.ClassDef.R"><span class="id" title="variable">R</span></a>) (@<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitAlgebra.Class"><span class="id" title="constructor">Class</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitAlgebra.ClassDef.T"><span class="id" title="variable">T</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b"><span class="id" title="variable">b</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#m"><span class="id" title="variable">m</span></a>) <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitAlgebra.ClassDef.T"><span class="id" title="variable">T</span></a>.<br/> + <span class="id" title="keyword">fun</span> <span class="id" title="var">bT</span> <span class="id" title="var">b</span> & <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#phant_id"><span class="id" title="definition">phant_id</span></a> (@<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Algebra.class"><span class="id" title="definition">Algebra.class</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitAlgebra.ClassDef.R"><span class="id" title="variable">R</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitAlgebra.ClassDef.phR"><span class="id" title="variable">phR</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#bT"><span class="id" title="variable">bT</span></a>) (<a class="idref" href="mathcomp.algebra.ssralg.html#b"><span class="id" title="variable">b</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssreflect.html#aed478b27f23b4f753c27c8ac393febc"><span class="id" title="notation">:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Algebra.class_of"><span class="id" title="record">Algebra.class_of</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitAlgebra.ClassDef.R"><span class="id" title="variable">R</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitAlgebra.ClassDef.T"><span class="id" title="variable">T</span></a>) ⇒<br/> + <span class="id" title="keyword">fun</span> <span class="id" title="var">mT</span> <span class="id" title="var">m</span> & <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#phant_id"><span class="id" title="definition">phant_id</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitRing.mixin"><span class="id" title="projection">UnitRing.mixin</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitRing.class"><span class="id" title="definition">UnitRing.class</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#mT"><span class="id" title="variable">mT</span></a>)) <a class="idref" href="mathcomp.algebra.ssralg.html#m"><span class="id" title="variable">m</span></a> ⇒<br/> + <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitAlgebra.Pack"><span class="id" title="constructor">Pack</span></a> (<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssreflect.html#Phant"><span class="id" title="constructor">Phant</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitAlgebra.ClassDef.R"><span class="id" title="variable">R</span></a>) (@<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitAlgebra.Class"><span class="id" title="constructor">Class</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitAlgebra.ClassDef.T"><span class="id" title="variable">T</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b"><span class="id" title="variable">b</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#m"><span class="id" title="variable">m</span></a>).<br/> <br/> -<span class="id" title="keyword">Definition</span> <a name="GRing.UnitAlgebra.eqType"><span class="id" title="definition">eqType</span></a> := @<a class="idref" href="mathcomp.ssreflect.eqtype.html#Equality.Pack"><span class="id" title="constructor">Equality.Pack</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitAlgebra.ClassDef.cT"><span class="id" title="variable">cT</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitAlgebra.xclass"><span class="id" title="abbreviation">xclass</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitAlgebra.ClassDef.xT"><span class="id" title="variable">xT</span></a>.<br/> -<span class="id" title="keyword">Definition</span> <a name="GRing.UnitAlgebra.choiceType"><span class="id" title="definition">choiceType</span></a> := @<a class="idref" href="mathcomp.ssreflect.choice.html#Choice.Pack"><span class="id" title="constructor">Choice.Pack</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitAlgebra.ClassDef.cT"><span class="id" title="variable">cT</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitAlgebra.xclass"><span class="id" title="abbreviation">xclass</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitAlgebra.ClassDef.xT"><span class="id" title="variable">xT</span></a>.<br/> -<span class="id" title="keyword">Definition</span> <a name="GRing.UnitAlgebra.zmodType"><span class="id" title="definition">zmodType</span></a> := @<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Zmodule.Pack"><span class="id" title="constructor">Zmodule.Pack</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitAlgebra.ClassDef.cT"><span class="id" title="variable">cT</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitAlgebra.xclass"><span class="id" title="abbreviation">xclass</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitAlgebra.ClassDef.xT"><span class="id" title="variable">xT</span></a>.<br/> -<span class="id" title="keyword">Definition</span> <a name="GRing.UnitAlgebra.ringType"><span class="id" title="definition">ringType</span></a> := @<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Ring.Pack"><span class="id" title="constructor">Ring.Pack</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitAlgebra.ClassDef.cT"><span class="id" title="variable">cT</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitAlgebra.xclass"><span class="id" title="abbreviation">xclass</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitAlgebra.ClassDef.xT"><span class="id" title="variable">xT</span></a>.<br/> -<span class="id" title="keyword">Definition</span> <a name="GRing.UnitAlgebra.unitRingType"><span class="id" title="definition">unitRingType</span></a> := @<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitRing.Pack"><span class="id" title="constructor">UnitRing.Pack</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitAlgebra.ClassDef.cT"><span class="id" title="variable">cT</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitAlgebra.xclass"><span class="id" title="abbreviation">xclass</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitAlgebra.ClassDef.xT"><span class="id" title="variable">xT</span></a>.<br/> -<span class="id" title="keyword">Definition</span> <a name="GRing.UnitAlgebra.lmodType"><span class="id" title="definition">lmodType</span></a> := @<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lmodule.Pack"><span class="id" title="constructor">Lmodule.Pack</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitAlgebra.ClassDef.R"><span class="id" title="variable">R</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitAlgebra.ClassDef.phR"><span class="id" title="variable">phR</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitAlgebra.ClassDef.cT"><span class="id" title="variable">cT</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitAlgebra.xclass"><span class="id" title="abbreviation">xclass</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitAlgebra.ClassDef.xT"><span class="id" title="variable">xT</span></a>.<br/> -<span class="id" title="keyword">Definition</span> <a name="GRing.UnitAlgebra.lalgType"><span class="id" title="definition">lalgType</span></a> := @<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lalgebra.Pack"><span class="id" title="constructor">Lalgebra.Pack</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitAlgebra.ClassDef.R"><span class="id" title="variable">R</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitAlgebra.ClassDef.phR"><span class="id" title="variable">phR</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitAlgebra.ClassDef.cT"><span class="id" title="variable">cT</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitAlgebra.xclass"><span class="id" title="abbreviation">xclass</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitAlgebra.ClassDef.xT"><span class="id" title="variable">xT</span></a>.<br/> -<span class="id" title="keyword">Definition</span> <a name="GRing.UnitAlgebra.algType"><span class="id" title="definition">algType</span></a> := @<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Algebra.Pack"><span class="id" title="constructor">Algebra.Pack</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitAlgebra.ClassDef.R"><span class="id" title="variable">R</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitAlgebra.ClassDef.phR"><span class="id" title="variable">phR</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitAlgebra.ClassDef.cT"><span class="id" title="variable">cT</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitAlgebra.xclass"><span class="id" title="abbreviation">xclass</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitAlgebra.ClassDef.xT"><span class="id" title="variable">xT</span></a>.<br/> -<span class="id" title="keyword">Definition</span> <a name="GRing.UnitAlgebra.lmod_unitRingType"><span class="id" title="definition">lmod_unitRingType</span></a> := @<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lmodule.Pack"><span class="id" title="constructor">Lmodule.Pack</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitAlgebra.ClassDef.R"><span class="id" title="variable">R</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitAlgebra.ClassDef.phR"><span class="id" title="variable">phR</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitAlgebra.unitRingType"><span class="id" title="definition">unitRingType</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitAlgebra.xclass"><span class="id" title="abbreviation">xclass</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitAlgebra.ClassDef.xT"><span class="id" title="variable">xT</span></a>.<br/> -<span class="id" title="keyword">Definition</span> <a name="GRing.UnitAlgebra.lalg_unitRingType"><span class="id" title="definition">lalg_unitRingType</span></a> := @<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lalgebra.Pack"><span class="id" title="constructor">Lalgebra.Pack</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitAlgebra.ClassDef.R"><span class="id" title="variable">R</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitAlgebra.ClassDef.phR"><span class="id" title="variable">phR</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitAlgebra.unitRingType"><span class="id" title="definition">unitRingType</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitAlgebra.xclass"><span class="id" title="abbreviation">xclass</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitAlgebra.ClassDef.xT"><span class="id" title="variable">xT</span></a>.<br/> -<span class="id" title="keyword">Definition</span> <a name="GRing.UnitAlgebra.alg_unitRingType"><span class="id" title="definition">alg_unitRingType</span></a> := @<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Algebra.Pack"><span class="id" title="constructor">Algebra.Pack</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitAlgebra.ClassDef.R"><span class="id" title="variable">R</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitAlgebra.ClassDef.phR"><span class="id" title="variable">phR</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitAlgebra.unitRingType"><span class="id" title="definition">unitRingType</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitAlgebra.xclass"><span class="id" title="abbreviation">xclass</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitAlgebra.ClassDef.xT"><span class="id" title="variable">xT</span></a>.<br/> +<span class="id" title="keyword">Definition</span> <a name="GRing.UnitAlgebra.eqType"><span class="id" title="definition">eqType</span></a> := @<a class="idref" href="mathcomp.ssreflect.eqtype.html#Equality.Pack"><span class="id" title="constructor">Equality.Pack</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitAlgebra.ClassDef.cT"><span class="id" title="variable">cT</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitAlgebra.xclass"><span class="id" title="abbreviation">xclass</span></a>.<br/> +<span class="id" title="keyword">Definition</span> <a name="GRing.UnitAlgebra.choiceType"><span class="id" title="definition">choiceType</span></a> := @<a class="idref" href="mathcomp.ssreflect.choice.html#Choice.Pack"><span class="id" title="constructor">Choice.Pack</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitAlgebra.ClassDef.cT"><span class="id" title="variable">cT</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitAlgebra.xclass"><span class="id" title="abbreviation">xclass</span></a>.<br/> +<span class="id" title="keyword">Definition</span> <a name="GRing.UnitAlgebra.zmodType"><span class="id" title="definition">zmodType</span></a> := @<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Zmodule.Pack"><span class="id" title="constructor">Zmodule.Pack</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitAlgebra.ClassDef.cT"><span class="id" title="variable">cT</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitAlgebra.xclass"><span class="id" title="abbreviation">xclass</span></a>.<br/> +<span class="id" title="keyword">Definition</span> <a name="GRing.UnitAlgebra.ringType"><span class="id" title="definition">ringType</span></a> := @<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Ring.Pack"><span class="id" title="constructor">Ring.Pack</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitAlgebra.ClassDef.cT"><span class="id" title="variable">cT</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitAlgebra.xclass"><span class="id" title="abbreviation">xclass</span></a>.<br/> +<span class="id" title="keyword">Definition</span> <a name="GRing.UnitAlgebra.unitRingType"><span class="id" title="definition">unitRingType</span></a> := @<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitRing.Pack"><span class="id" title="constructor">UnitRing.Pack</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitAlgebra.ClassDef.cT"><span class="id" title="variable">cT</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitAlgebra.xclass"><span class="id" title="abbreviation">xclass</span></a>.<br/> +<span class="id" title="keyword">Definition</span> <a name="GRing.UnitAlgebra.lmodType"><span class="id" title="definition">lmodType</span></a> := @<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lmodule.Pack"><span class="id" title="constructor">Lmodule.Pack</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitAlgebra.ClassDef.R"><span class="id" title="variable">R</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitAlgebra.ClassDef.phR"><span class="id" title="variable">phR</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitAlgebra.ClassDef.cT"><span class="id" title="variable">cT</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitAlgebra.xclass"><span class="id" title="abbreviation">xclass</span></a>.<br/> +<span class="id" title="keyword">Definition</span> <a name="GRing.UnitAlgebra.lalgType"><span class="id" title="definition">lalgType</span></a> := @<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lalgebra.Pack"><span class="id" title="constructor">Lalgebra.Pack</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitAlgebra.ClassDef.R"><span class="id" title="variable">R</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitAlgebra.ClassDef.phR"><span class="id" title="variable">phR</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitAlgebra.ClassDef.cT"><span class="id" title="variable">cT</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitAlgebra.xclass"><span class="id" title="abbreviation">xclass</span></a>.<br/> +<span class="id" title="keyword">Definition</span> <a name="GRing.UnitAlgebra.algType"><span class="id" title="definition">algType</span></a> := @<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Algebra.Pack"><span class="id" title="constructor">Algebra.Pack</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitAlgebra.ClassDef.R"><span class="id" title="variable">R</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitAlgebra.ClassDef.phR"><span class="id" title="variable">phR</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitAlgebra.ClassDef.cT"><span class="id" title="variable">cT</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitAlgebra.xclass"><span class="id" title="abbreviation">xclass</span></a>.<br/> +<span class="id" title="keyword">Definition</span> <a name="GRing.UnitAlgebra.lmod_unitRingType"><span class="id" title="definition">lmod_unitRingType</span></a> := @<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lmodule.Pack"><span class="id" title="constructor">Lmodule.Pack</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitAlgebra.ClassDef.R"><span class="id" title="variable">R</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitAlgebra.ClassDef.phR"><span class="id" title="variable">phR</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitAlgebra.unitRingType"><span class="id" title="definition">unitRingType</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitAlgebra.xclass"><span class="id" title="abbreviation">xclass</span></a>.<br/> +<span class="id" title="keyword">Definition</span> <a name="GRing.UnitAlgebra.lalg_unitRingType"><span class="id" title="definition">lalg_unitRingType</span></a> := @<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lalgebra.Pack"><span class="id" title="constructor">Lalgebra.Pack</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitAlgebra.ClassDef.R"><span class="id" title="variable">R</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitAlgebra.ClassDef.phR"><span class="id" title="variable">phR</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitAlgebra.unitRingType"><span class="id" title="definition">unitRingType</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitAlgebra.xclass"><span class="id" title="abbreviation">xclass</span></a>.<br/> +<span class="id" title="keyword">Definition</span> <a name="GRing.UnitAlgebra.alg_unitRingType"><span class="id" title="definition">alg_unitRingType</span></a> := @<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Algebra.Pack"><span class="id" title="constructor">Algebra.Pack</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitAlgebra.ClassDef.R"><span class="id" title="variable">R</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitAlgebra.ClassDef.phR"><span class="id" title="variable">phR</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitAlgebra.unitRingType"><span class="id" title="definition">unitRingType</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitAlgebra.xclass"><span class="id" title="abbreviation">xclass</span></a>.<br/> <br/> <span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitAlgebra.ClassDef"><span class="id" title="section">ClassDef</span></a>.<br/> @@ -3363,8 +3378,8 @@ <span class="id" title="keyword">Canonical</span> <span class="id" title="var">lmod_unitRingType</span>.<br/> <span class="id" title="keyword">Canonical</span> <span class="id" title="var">lalg_unitRingType</span>.<br/> <span class="id" title="keyword">Canonical</span> <span class="id" title="var">alg_unitRingType</span>.<br/> -<span class="id" title="keyword">Notation</span> <a name="GRing.UnitAlgebra.Exports.unitAlgType"><span class="id" title="abbreviation">unitAlgType</span></a> <span class="id" title="var">R</span> := (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitAlgebra.type"><span class="id" title="record">type</span></a> (<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssreflect.html#Phant"><span class="id" title="constructor">Phant</span></a> <span class="id" title="var">R</span>)).<br/> -<span class="id" title="keyword">Notation</span> <a name="bdb1eed686184a9a4099efa772be7bc7"><span class="id" title="notation">"</span></a>[ 'unitAlgType' R 'of' T ]" := (@<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitAlgebra.pack"><span class="id" title="definition">pack</span></a> <span class="id" title="var">_</span> (<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssreflect.html#Phant"><span class="id" title="constructor">Phant</span></a> <span class="id" title="var">R</span>) <span class="id" title="var">T</span> <span class="id" title="var">_</span> <span class="id" title="var">_</span> <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> <span class="id" title="var">_</span> <span class="id" title="var">_</span> <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>)<br/> +<span class="id" title="keyword">Notation</span> <a name="GRing.UnitAlgebra.Exports.unitAlgType"><span class="id" title="abbreviation">unitAlgType</span></a> <span class="id" title="var">R</span> := (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitAlgebra.type"><span class="id" title="record">type</span></a> (<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssreflect.html#Phant"><span class="id" title="constructor">Phant</span></a> <span class="id" title="var">R</span>)).<br/> +<span class="id" title="keyword">Notation</span> <a name="53130370ad22aac4f3ee8434dbc4850d"><span class="id" title="notation">"</span></a>[ 'unitAlgType' R 'of' T ]" := (@<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitAlgebra.pack"><span class="id" title="definition">pack</span></a> <span class="id" title="var">_</span> (<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssreflect.html#Phant"><span class="id" title="constructor">Phant</span></a> <span class="id" title="var">R</span>) <span class="id" title="var">T</span> <span class="id" title="var">_</span> <span class="id" title="var">_</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#id"><span class="id" title="abbreviation">id</span></a> <span class="id" title="var">_</span> <span class="id" title="var">_</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#id"><span class="id" title="abbreviation">id</span></a>)<br/> (<span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 0, <span class="id" title="var">format</span> "[ 'unitAlgType' R 'of' T ]") : <span class="id" title="var">form_scope</span>.<br/> <span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitAlgebra.Exports"><span class="id" title="module">Exports</span></a>.<br/> @@ -3380,26 +3395,26 @@ <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.ssralg.html#GRing.ComUnitRingTheory.R"><span class="id" title="variable">R</span></a>.<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.unitrM"><span class="id" title="lemma">unitrM</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.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#ed99e7035d9a1f8a2c1515be81ac2e5f"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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#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#GRing.unit"><span class="id" title="definition">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.Datatypes.html#49ac24efa716d8b0ee8943bc1d1769a9"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.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.ssralg.html#GRing.unit"><span class="id" title="definition">unit</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">&&</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.ssralg.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#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#GRing.unit"><span class="id" title="definition">unit</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/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.unitrM"><span class="id" title="lemma">unitrM</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/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f99a2dc6d143aa8f1021ab57e4a19eee"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.unit"><span class="id" title="definition">unit</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#9ddeac0ab66152bd1d64bedb507a795e"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.unit"><span class="id" title="definition">unit</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#9ddeac0ab66152bd1d64bedb507a795e"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#9ddeac0ab66152bd1d64bedb507a795e"><span class="id" title="notation">&&</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#9ddeac0ab66152bd1d64bedb507a795e"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.unit"><span class="id" title="definition">unit</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#9ddeac0ab66152bd1d64bedb507a795e"><span class="id" title="notation">)</span></a>.<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.unitrPr"><span class="id" title="lemma">unitrPr</span></a> <span class="id" title="var">x</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#reflect"><span class="id" title="abbreviation">reflect</span></a> (<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#84eb6d2849dbf3581b1c0c05add5f2d8"><span class="id" title="notation">∃</span></a> <span class="id" title="var">y</span><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#84eb6d2849dbf3581b1c0c05add5f2d8"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#ed99e7035d9a1f8a2c1515be81ac2e5f"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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> 1) (<a class="idref" href="mathcomp.algebra.ssralg.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.ssralg.html#GRing.unit"><span class="id" title="definition">unit</span></a>).<br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.unitrPr"><span class="id" title="lemma">unitrPr</span></a> <span class="id" title="var">x</span> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#reflect"><span class="id" title="abbreviation">reflect</span></a> (<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#a883bdd010993579f99d60b3775bcf54"><span class="id" title="notation">∃</span></a> <span class="id" title="var">y</span><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#a883bdd010993579f99d60b3775bcf54"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f99a2dc6d143aa8f1021ab57e4a19eee"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> 1) (<a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.unit"><span class="id" title="definition">unit</span></a>).<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.mulr1_eq"><span class="id" title="lemma">mulr1_eq</span></a> <span class="id" title="var">x</span> <span class="id" title="var">y</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#ed99e7035d9a1f8a2c1515be81ac2e5f"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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> 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.ssralg.html#x"><span class="id" title="variable">x</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#7f97e90bec2e67d9beef5851649e3fb1"><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.ssralg.html#y"><span class="id" title="variable">y</span></a>.<br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.mulr1_eq"><span class="id" title="lemma">mulr1_eq</span></a> <span class="id" title="var">x</span> <span class="id" title="var">y</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f99a2dc6d143aa8f1021ab57e4a19eee"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> 1 <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#139f286ff80df5d41ea22851b1826860"><span class="id" title="notation">^-1</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a>.<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.divr1_eq"><span class="id" title="lemma">divr1_eq</span></a> <span class="id" title="var">x</span> <span class="id" title="var">y</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#1adb36345c2607a4dd991537de5ddba3"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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> 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.ssralg.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#y"><span class="id" title="variable">y</span></a>. <br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.divr1_eq"><span class="id" title="lemma">divr1_eq</span></a> <span class="id" title="var">x</span> <span class="id" title="var">y</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#705c00ff5a03bf84d6828df21a7a7942"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> 1 <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a>. <br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.divKr"><span class="id" title="lemma">divKr</span></a> <span class="id" title="var">x</span> : <a class="idref" href="mathcomp.algebra.ssralg.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">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="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">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#involutive"><span class="id" title="definition">involutive</span></a> (<span class="id" title="keyword">fun</span> <span class="id" title="var">y</span> ⇒ <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#1adb36345c2607a4dd991537de5ddba3"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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#5c59b35a0b51db520cf1fba473ecf127"><span class="id" title="notation">}</span></a>.<br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.divKr"><span class="id" title="lemma">divKr</span></a> <span class="id" title="var">x</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#f6c65697fefaf4504de1d4d641cd4409"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#f6c65697fefaf4504de1d4d641cd4409"><span class="id" title="notation">is</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#f6c65697fefaf4504de1d4d641cd4409"><span class="id" title="notation">a</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.unit"><span class="id" title="definition">unit</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.unit"><span class="id" title="definition">unit</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><span class="id" title="notation">,</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#involutive"><span class="id" title="definition">involutive</span></a> (<span class="id" title="keyword">fun</span> <span class="id" title="var">y</span> ⇒ <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#705c00ff5a03bf84d6828df21a7a7942"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a>)<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><span class="id" title="notation">}</span></a>.<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.expr_div_n"><span class="id" title="lemma">expr_div_n</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#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#1adb36345c2607a4dd991537de5ddba3"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#1adb36345c2607a4dd991537de5ddba3"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a>.<br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.expr_div_n"><span class="id" title="lemma">expr_div_n</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#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#705c00ff5a03bf84d6828df21a7a7942"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#705c00ff5a03bf84d6828df21a7a7942"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a>.<br/> <br/> -<span class="id" title="keyword">Canonical</span> <span class="id" title="var">regular_comUnitRingType</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.ssralg.html#GRing.ComUnitRingTheory.R"><span class="id" title="variable">R</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#44fd865ce10e1d30970d09bdd85a0c8e"><span class="id" title="notation">^</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#44fd865ce10e1d30970d09bdd85a0c8e"><span class="id" title="notation">o</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">regular_unitAlgType</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#bdb1eed686184a9a4099efa772be7bc7"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#bdb1eed686184a9a4099efa772be7bc7"><span class="id" title="notation">unitAlgType</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComUnitRingTheory.R"><span class="id" title="variable">R</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#bdb1eed686184a9a4099efa772be7bc7"><span class="id" title="notation">of</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComUnitRingTheory.R"><span class="id" title="variable">R</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#44fd865ce10e1d30970d09bdd85a0c8e"><span class="id" title="notation">^</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#44fd865ce10e1d30970d09bdd85a0c8e"><span class="id" title="notation">o</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#bdb1eed686184a9a4099efa772be7bc7"><span class="id" title="notation">]</span></a>.<br/> +<span class="id" title="keyword">Canonical</span> <span class="id" title="var">regular_comUnitRingType</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#2dfeb3fb2088b370ad93742d4f23a0dc"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#2dfeb3fb2088b370ad93742d4f23a0dc"><span class="id" title="notation">comUnitRingType</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#2dfeb3fb2088b370ad93742d4f23a0dc"><span class="id" title="notation">of</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComUnitRingTheory.R"><span class="id" title="variable">R</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#44117511dc5f0eff9d2bcbcfcdd33874"><span class="id" title="notation">^</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#44117511dc5f0eff9d2bcbcfcdd33874"><span class="id" title="notation">o</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#2dfeb3fb2088b370ad93742d4f23a0dc"><span class="id" title="notation">]</span></a>.<br/> +<span class="id" title="keyword">Canonical</span> <span class="id" title="var">regular_unitAlgType</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#53130370ad22aac4f3ee8434dbc4850d"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#53130370ad22aac4f3ee8434dbc4850d"><span class="id" title="notation">unitAlgType</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComUnitRingTheory.R"><span class="id" title="variable">R</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#53130370ad22aac4f3ee8434dbc4850d"><span class="id" title="notation">of</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComUnitRingTheory.R"><span class="id" title="variable">R</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#44117511dc5f0eff9d2bcbcfcdd33874"><span class="id" title="notation">^</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#44117511dc5f0eff9d2bcbcfcdd33874"><span class="id" title="notation">o</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#53130370ad22aac4f3ee8434dbc4850d"><span class="id" title="notation">]</span></a>.<br/> <br/> <span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComUnitRingTheory"><span class="id" title="section">ComUnitRingTheory</span></a>.<br/> @@ -3412,28 +3427,28 @@ <span class="id" title="keyword">Implicit</span> <span class="id" title="keyword">Types</span> (<span class="id" title="var">k</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitAlgebraTheory.R"><span class="id" title="variable">R</span></a>) (<span class="id" title="var">x</span> <span class="id" title="var">y</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitAlgebraTheory.A"><span class="id" title="variable">A</span></a>).<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.scaler_injl"><span class="id" title="lemma">scaler_injl</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.ssralg.html#GRing.unit"><span class="id" title="definition">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#right_injective"><span class="id" title="definition">right_injective</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitAlgebraTheory.R"><span class="id" title="variable">R</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitAlgebraTheory.A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitAlgebraTheory.A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#9d4bc68f8a37455428efb931e05d31ce"><span class="id" title="notation">*:%</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#9d4bc68f8a37455428efb931e05d31ce"><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/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.scaler_injl"><span class="id" title="lemma">scaler_injl</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.unit"><span class="id" title="definition">unit</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><span class="id" title="notation">,</span></a> @<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#right_injective"><span class="id" title="definition">right_injective</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitAlgebraTheory.R"><span class="id" title="variable">R</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitAlgebraTheory.A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitAlgebraTheory.A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#38480d07e3193b4bc897687500c6bc9c"><span class="id" title="notation">*:%</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#38480d07e3193b4bc897687500c6bc9c"><span class="id" title="notation">R</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><span class="id" title="notation">}</span></a>.<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.scaler_unit"><span class="id" title="lemma">scaler_unit</span></a> <span class="id" title="var">k</span> <span class="id" title="var">x</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#k"><span class="id" title="variable">k</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#GRing.unit"><span class="id" title="definition">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="http://coq.inria.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#k"><span class="id" title="variable">k</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#5aa7bcc9ac922e77482767d325fdbb69"><span class="id" title="notation">*:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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.ssralg.html#GRing.unit"><span class="id" title="definition">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.ssralg.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.ssralg.html#GRing.unit"><span class="id" title="definition">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/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.scaler_unit"><span class="id" title="lemma">scaler_unit</span></a> <span class="id" title="var">k</span> <span class="id" title="var">x</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#k"><span class="id" title="variable">k</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.unit"><span class="id" title="definition">unit</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#k"><span class="id" title="variable">k</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#10f331d2d40399852634935b8aa18b88"><span class="id" title="notation">*:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.unit"><span class="id" title="definition">unit</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.unit"><span class="id" title="definition">unit</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">)</span></a>.<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.invrZ"><span class="id" title="lemma">invrZ</span></a> <span class="id" title="var">k</span> <span class="id" title="var">x</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#k"><span class="id" title="variable">k</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#GRing.unit"><span class="id" title="definition">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.ssralg.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.ssralg.html#GRing.unit"><span class="id" title="definition">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.ssralg.html#7f97e90bec2e67d9beef5851649e3fb1"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#k"><span class="id" title="variable">k</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#5aa7bcc9ac922e77482767d325fdbb69"><span class="id" title="notation">*:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#7f97e90bec2e67d9beef5851649e3fb1"><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.ssralg.html#k"><span class="id" title="variable">k</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#7f97e90bec2e67d9beef5851649e3fb1"><span class="id" title="notation">^-1</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#5aa7bcc9ac922e77482767d325fdbb69"><span class="id" title="notation">*:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#7f97e90bec2e67d9beef5851649e3fb1"><span class="id" title="notation">^-1</span></a>.<br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.invrZ"><span class="id" title="lemma">invrZ</span></a> <span class="id" title="var">k</span> <span class="id" title="var">x</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#k"><span class="id" title="variable">k</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.unit"><span class="id" title="definition">unit</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.unit"><span class="id" title="definition">unit</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#139f286ff80df5d41ea22851b1826860"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#k"><span class="id" title="variable">k</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#10f331d2d40399852634935b8aa18b88"><span class="id" title="notation">*:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#139f286ff80df5d41ea22851b1826860"><span class="id" title="notation">)^-1</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#k"><span class="id" title="variable">k</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#139f286ff80df5d41ea22851b1826860"><span class="id" title="notation">^-1</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#10f331d2d40399852634935b8aa18b88"><span class="id" title="notation">*:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#139f286ff80df5d41ea22851b1826860"><span class="id" title="notation">^-1</span></a>.<br/> <br/> <span class="id" title="keyword">Section</span> <a name="GRing.UnitAlgebraTheory.ClosedPredicates"><span class="id" title="section">ClosedPredicates</span></a>.<br/> <br/> -<span class="id" title="keyword">Variables</span> <a name="GRing.UnitAlgebraTheory.ClosedPredicates.S"><span class="id" title="variable">S</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#predPredType"><span class="id" title="definition">predPredType</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitAlgebraTheory.A"><span class="id" title="variable">A</span></a>.<br/> +<span class="id" title="keyword">Variables</span> <a name="GRing.UnitAlgebraTheory.ClosedPredicates.S"><span class="id" title="variable">S</span></a> : <a class="idref" href="mathcomp.ssreflect.ssrbool.html#64f8873130736b599801d4930af00e74"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.ssreflect.ssrbool.html#64f8873130736b599801d4930af00e74"><span class="id" title="notation">pred</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitAlgebraTheory.A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.ssreflect.ssrbool.html#64f8873130736b599801d4930af00e74"><span class="id" title="notation">}</span></a>.<br/> <br/> -<span class="id" title="keyword">Definition</span> <a name="GRing.divalg_closed"><span class="id" title="definition">divalg_closed</span></a> := <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#962a3cb7af009aedac7986e261646bd1"><span class="id" title="notation">[/\</span></a> 1 <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#GRing.UnitAlgebraTheory.ClosedPredicates.S"><span class="id" title="variable">S</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#962a3cb7af009aedac7986e261646bd1"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.linear_closed"><span class="id" title="definition">linear_closed</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitAlgebraTheory.ClosedPredicates.S"><span class="id" title="variable">S</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#962a3cb7af009aedac7986e261646bd1"><span class="id" title="notation">&</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.divr_2closed"><span class="id" title="definition">divr_2closed</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitAlgebraTheory.ClosedPredicates.S"><span class="id" title="variable">S</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#962a3cb7af009aedac7986e261646bd1"><span class="id" title="notation">]</span></a>.<br/> +<span class="id" title="keyword">Definition</span> <a name="GRing.divalg_closed"><span class="id" title="definition">divalg_closed</span></a> := <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#d7e433f5d2fe56f5b712860a9ff2a681"><span class="id" title="notation">[/\</span></a> 1 <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitAlgebraTheory.ClosedPredicates.S"><span class="id" title="variable">S</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#d7e433f5d2fe56f5b712860a9ff2a681"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.linear_closed"><span class="id" title="definition">linear_closed</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitAlgebraTheory.ClosedPredicates.S"><span class="id" title="variable">S</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#d7e433f5d2fe56f5b712860a9ff2a681"><span class="id" title="notation">&</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.divr_2closed"><span class="id" title="definition">divr_2closed</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitAlgebraTheory.ClosedPredicates.S"><span class="id" title="variable">S</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#d7e433f5d2fe56f5b712860a9ff2a681"><span class="id" title="notation">]</span></a>.<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.divalg_closedBdiv"><span class="id" title="lemma">divalg_closedBdiv</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.divalg_closed"><span class="id" title="definition">divalg_closed</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.divring_closed"><span class="id" title="definition">divring_closed</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitAlgebraTheory.ClosedPredicates.S"><span class="id" title="variable">S</span></a>.<br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.divalg_closedBdiv"><span class="id" title="lemma">divalg_closedBdiv</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.divalg_closed"><span class="id" title="definition">divalg_closed</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.divring_closed"><span class="id" title="definition">divring_closed</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitAlgebraTheory.ClosedPredicates.S"><span class="id" title="variable">S</span></a>.<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.divalg_closedZ"><span class="id" title="lemma">divalg_closedZ</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.divalg_closed"><span class="id" title="definition">divalg_closed</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.subalg_closed"><span class="id" title="definition">subalg_closed</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitAlgebraTheory.ClosedPredicates.S"><span class="id" title="variable">S</span></a>.<br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.divalg_closedZ"><span class="id" title="lemma">divalg_closedZ</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.divalg_closed"><span class="id" title="definition">divalg_closed</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.subalg_closed"><span class="id" title="definition">subalg_closed</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitAlgebraTheory.ClosedPredicates.S"><span class="id" title="variable">S</span></a>.<br/> <br/> <span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitAlgebraTheory.ClosedPredicates"><span class="id" title="section">ClosedPredicates</span></a>.<br/> @@ -3451,9 +3466,9 @@ <span class="id" title="keyword">Module</span> <a name="GRing.Pred"><span class="id" title="module">Pred</span></a>.<br/> <br/> -<span class="id" title="keyword">Structure</span> <a name="GRing.Pred.opp"><span class="id" title="record">opp</span></a> <span class="id" title="var">V</span> <span class="id" title="var">S</span> := <a name="GRing.Pred.Opp"><span class="id" title="constructor">Opp</span></a> {<a name="GRing.Pred.opp_key"><span class="id" title="projection">opp_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.ssralg.html#S"><span class="id" title="variable">S</span></a>; <span class="id" title="var">_</span> : @<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.oppr_closed"><span class="id" title="definition">oppr_closed</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#V"><span class="id" title="variable">V</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#S"><span class="id" title="variable">S</span></a>}.<br/> -<span class="id" title="keyword">Structure</span> <a name="GRing.Pred.add"><span class="id" title="record">add</span></a> <span class="id" title="var">V</span> <span class="id" title="var">S</span> := <a name="GRing.Pred.Add"><span class="id" title="constructor">Add</span></a> {<a name="GRing.Pred.add_key"><span class="id" title="projection">add_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.ssralg.html#S"><span class="id" title="variable">S</span></a>; <span class="id" title="var">_</span> : @<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.addr_closed"><span class="id" title="definition">addr_closed</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#V"><span class="id" title="variable">V</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#S"><span class="id" title="variable">S</span></a>}.<br/> -<span class="id" title="keyword">Structure</span> <a name="GRing.Pred.mul"><span class="id" title="record">mul</span></a> <span class="id" title="var">R</span> <span class="id" title="var">S</span> := <a name="GRing.Pred.Mul"><span class="id" title="constructor">Mul</span></a> {<a name="GRing.Pred.mul_key"><span class="id" title="projection">mul_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.ssralg.html#S"><span class="id" title="variable">S</span></a>; <span class="id" title="var">_</span> : @<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.mulr_closed"><span class="id" title="definition">mulr_closed</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#R"><span class="id" title="variable">R</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#S"><span class="id" title="variable">S</span></a>}.<br/> +<span class="id" title="keyword">Structure</span> <a name="GRing.Pred.opp"><span class="id" title="record">opp</span></a> <span class="id" title="var">V</span> <span class="id" title="var">S</span> := <a name="GRing.Pred.Opp"><span class="id" title="constructor">Opp</span></a> {<a name="GRing.Pred.opp_key"><span class="id" title="projection">opp_key</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#pred_key"><span class="id" title="inductive">pred_key</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#S"><span class="id" title="variable">S</span></a>; <span class="id" title="var">_</span> : @<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.oppr_closed"><span class="id" title="definition">oppr_closed</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#V"><span class="id" title="variable">V</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#S"><span class="id" title="variable">S</span></a>}.<br/> +<span class="id" title="keyword">Structure</span> <a name="GRing.Pred.add"><span class="id" title="record">add</span></a> <span class="id" title="var">V</span> <span class="id" title="var">S</span> := <a name="GRing.Pred.Add"><span class="id" title="constructor">Add</span></a> {<a name="GRing.Pred.add_key"><span class="id" title="projection">add_key</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#pred_key"><span class="id" title="inductive">pred_key</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#S"><span class="id" title="variable">S</span></a>; <span class="id" title="var">_</span> : @<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.addr_closed"><span class="id" title="definition">addr_closed</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#V"><span class="id" title="variable">V</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#S"><span class="id" title="variable">S</span></a>}.<br/> +<span class="id" title="keyword">Structure</span> <a name="GRing.Pred.mul"><span class="id" title="record">mul</span></a> <span class="id" title="var">R</span> <span class="id" title="var">S</span> := <a name="GRing.Pred.Mul"><span class="id" title="constructor">Mul</span></a> {<a name="GRing.Pred.mul_key"><span class="id" title="projection">mul_key</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#pred_key"><span class="id" title="inductive">pred_key</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#S"><span class="id" title="variable">S</span></a>; <span class="id" title="var">_</span> : @<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.mulr_closed"><span class="id" title="definition">mulr_closed</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#R"><span class="id" title="variable">R</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#S"><span class="id" title="variable">S</span></a>}.<br/> <span class="id" title="keyword">Structure</span> <a name="GRing.Pred.zmod"><span class="id" title="record">zmod</span></a> <span class="id" title="var">V</span> <span class="id" title="var">S</span> := <a name="GRing.Pred.Zmod"><span class="id" title="constructor">Zmod</span></a> {<a name="GRing.Pred.zmod_add"><span class="id" title="projection">zmod_add</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Pred.add"><span class="id" title="record">add</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#S"><span class="id" title="variable">S</span></a>; <span class="id" title="var">_</span> : @<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.oppr_closed"><span class="id" title="definition">oppr_closed</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#V"><span class="id" title="variable">V</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#S"><span class="id" title="variable">S</span></a>}.<br/> <span class="id" title="keyword">Structure</span> <a name="GRing.Pred.semiring"><span class="id" title="record">semiring</span></a> <span class="id" title="var">R</span> <span class="id" title="var">S</span> := <a name="GRing.Pred.Semiring"><span class="id" title="constructor">Semiring</span></a> {<a name="GRing.Pred.semiring_add"><span class="id" title="projection">semiring_add</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Pred.add"><span class="id" title="record">add</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#S"><span class="id" title="variable">S</span></a>; <span class="id" title="var">_</span> : @<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.mulr_closed"><span class="id" title="definition">mulr_closed</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#R"><span class="id" title="variable">R</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#S"><span class="id" title="variable">S</span></a>}.<br/> <span class="id" title="keyword">Structure</span> <a name="GRing.Pred.smul"><span class="id" title="record">smul</span></a> <span class="id" title="var">R</span> <span class="id" title="var">S</span> := <a name="GRing.Pred.Smul"><span class="id" title="constructor">Smul</span></a> {<a name="GRing.Pred.smul_opp"><span class="id" title="projection">smul_opp</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Pred.opp"><span class="id" title="record">opp</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#S"><span class="id" title="variable">S</span></a>; <span class="id" title="var">_</span> : @<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.mulr_closed"><span class="id" title="definition">mulr_closed</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#R"><span class="id" title="variable">R</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#S"><span class="id" title="variable">S</span></a>}.<br/> @@ -3474,15 +3489,15 @@ <br/> <span class="id" title="keyword">Ltac</span> <span class="id" title="var">done</span> := <span class="id" title="tactic">case</span>⇒ *; <span class="id" title="tactic">assumption</span>.<br/> -<span class="id" title="keyword">Fact</span> <a name="GRing.Pred.zmod_oppr"><span class="id" title="lemma">zmod_oppr</span></a> <span class="id" title="var">R</span> <span class="id" title="var">S</span> : @<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Pred.zmod"><span class="id" title="record">zmod</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#R"><span class="id" title="variable">R</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.oppr_closed"><span class="id" title="definition">oppr_closed</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#S"><span class="id" title="variable">S</span></a>. <br/> -<span class="id" title="keyword">Fact</span> <a name="GRing.Pred.semiring_mulr"><span class="id" title="lemma">semiring_mulr</span></a> <span class="id" title="var">R</span> <span class="id" title="var">S</span> : @<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Pred.semiring"><span class="id" title="record">semiring</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#R"><span class="id" title="variable">R</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.mulr_closed"><span class="id" title="definition">mulr_closed</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#S"><span class="id" title="variable">S</span></a>. <br/> -<span class="id" title="keyword">Fact</span> <a name="GRing.Pred.smul_mulr"><span class="id" title="lemma">smul_mulr</span></a> <span class="id" title="var">R</span> <span class="id" title="var">S</span> : @<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Pred.smul"><span class="id" title="record">smul</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#R"><span class="id" title="variable">R</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.mulr_closed"><span class="id" title="definition">mulr_closed</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#S"><span class="id" title="variable">S</span></a>. <br/> -<span class="id" title="keyword">Fact</span> <a name="GRing.Pred.submod_scaler"><span class="id" title="lemma">submod_scaler</span></a> <span class="id" title="var">R</span> <span class="id" title="var">V</span> <span class="id" title="var">S</span> : @<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Pred.submod"><span class="id" title="record">submod</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#R"><span class="id" title="variable">R</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#V"><span class="id" title="variable">V</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.scaler_closed"><span class="id" title="definition">scaler_closed</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#S"><span class="id" title="variable">S</span></a>. <br/> -<span class="id" title="keyword">Fact</span> <a name="GRing.Pred.subring_mulr"><span class="id" title="lemma">subring_mulr</span></a> <span class="id" title="var">R</span> <span class="id" title="var">S</span> : @<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Pred.subring"><span class="id" title="record">subring</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#R"><span class="id" title="variable">R</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.mulr_closed"><span class="id" title="definition">mulr_closed</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#S"><span class="id" title="variable">S</span></a>. <br/> -<span class="id" title="keyword">Fact</span> <a name="GRing.Pred.sdiv_invr"><span class="id" title="lemma">sdiv_invr</span></a> <span class="id" title="var">R</span> <span class="id" title="var">S</span> : @<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Pred.sdiv"><span class="id" title="record">sdiv</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#R"><span class="id" title="variable">R</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.invr_closed"><span class="id" title="definition">invr_closed</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#S"><span class="id" title="variable">S</span></a>. <br/> -<span class="id" title="keyword">Fact</span> <a name="GRing.Pred.subalg_scaler"><span class="id" title="lemma">subalg_scaler</span></a> <span class="id" title="var">R</span> <span class="id" title="var">A</span> <span class="id" title="var">S</span> : @<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Pred.subalg"><span class="id" title="record">subalg</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#R"><span class="id" title="variable">R</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.scaler_closed"><span class="id" title="definition">scaler_closed</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#S"><span class="id" title="variable">S</span></a>. <br/> -<span class="id" title="keyword">Fact</span> <a name="GRing.Pred.divring_invr"><span class="id" title="lemma">divring_invr</span></a> <span class="id" title="var">R</span> <span class="id" title="var">S</span> : @<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Pred.divring"><span class="id" title="record">divring</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#R"><span class="id" title="variable">R</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.invr_closed"><span class="id" title="definition">invr_closed</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#S"><span class="id" title="variable">S</span></a>. <br/> -<span class="id" title="keyword">Fact</span> <a name="GRing.Pred.divalg_scaler"><span class="id" title="lemma">divalg_scaler</span></a> <span class="id" title="var">R</span> <span class="id" title="var">A</span> <span class="id" title="var">S</span> : @<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Pred.divalg"><span class="id" title="record">divalg</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#R"><span class="id" title="variable">R</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.scaler_closed"><span class="id" title="definition">scaler_closed</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#S"><span class="id" title="variable">S</span></a>. <br/> +<span class="id" title="keyword">Fact</span> <a name="GRing.Pred.zmod_oppr"><span class="id" title="lemma">zmod_oppr</span></a> <span class="id" title="var">R</span> <span class="id" title="var">S</span> : @<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Pred.zmod"><span class="id" title="record">zmod</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#R"><span class="id" title="variable">R</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#S"><span class="id" title="variable">S</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.oppr_closed"><span class="id" title="definition">oppr_closed</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#S"><span class="id" title="variable">S</span></a>. <br/> +<span class="id" title="keyword">Fact</span> <a name="GRing.Pred.semiring_mulr"><span class="id" title="lemma">semiring_mulr</span></a> <span class="id" title="var">R</span> <span class="id" title="var">S</span> : @<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Pred.semiring"><span class="id" title="record">semiring</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#R"><span class="id" title="variable">R</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#S"><span class="id" title="variable">S</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.mulr_closed"><span class="id" title="definition">mulr_closed</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#S"><span class="id" title="variable">S</span></a>. <br/> +<span class="id" title="keyword">Fact</span> <a name="GRing.Pred.smul_mulr"><span class="id" title="lemma">smul_mulr</span></a> <span class="id" title="var">R</span> <span class="id" title="var">S</span> : @<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Pred.smul"><span class="id" title="record">smul</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#R"><span class="id" title="variable">R</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#S"><span class="id" title="variable">S</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.mulr_closed"><span class="id" title="definition">mulr_closed</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#S"><span class="id" title="variable">S</span></a>. <br/> +<span class="id" title="keyword">Fact</span> <a name="GRing.Pred.submod_scaler"><span class="id" title="lemma">submod_scaler</span></a> <span class="id" title="var">R</span> <span class="id" title="var">V</span> <span class="id" title="var">S</span> : @<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Pred.submod"><span class="id" title="record">submod</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#R"><span class="id" title="variable">R</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#V"><span class="id" title="variable">V</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#S"><span class="id" title="variable">S</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.scaler_closed"><span class="id" title="definition">scaler_closed</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#S"><span class="id" title="variable">S</span></a>. <br/> +<span class="id" title="keyword">Fact</span> <a name="GRing.Pred.subring_mulr"><span class="id" title="lemma">subring_mulr</span></a> <span class="id" title="var">R</span> <span class="id" title="var">S</span> : @<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Pred.subring"><span class="id" title="record">subring</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#R"><span class="id" title="variable">R</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#S"><span class="id" title="variable">S</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.mulr_closed"><span class="id" title="definition">mulr_closed</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#S"><span class="id" title="variable">S</span></a>. <br/> +<span class="id" title="keyword">Fact</span> <a name="GRing.Pred.sdiv_invr"><span class="id" title="lemma">sdiv_invr</span></a> <span class="id" title="var">R</span> <span class="id" title="var">S</span> : @<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Pred.sdiv"><span class="id" title="record">sdiv</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#R"><span class="id" title="variable">R</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#S"><span class="id" title="variable">S</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.invr_closed"><span class="id" title="definition">invr_closed</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#S"><span class="id" title="variable">S</span></a>. <br/> +<span class="id" title="keyword">Fact</span> <a name="GRing.Pred.subalg_scaler"><span class="id" title="lemma">subalg_scaler</span></a> <span class="id" title="var">R</span> <span class="id" title="var">A</span> <span class="id" title="var">S</span> : @<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Pred.subalg"><span class="id" title="record">subalg</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#R"><span class="id" title="variable">R</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#S"><span class="id" title="variable">S</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.scaler_closed"><span class="id" title="definition">scaler_closed</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#S"><span class="id" title="variable">S</span></a>. <br/> +<span class="id" title="keyword">Fact</span> <a name="GRing.Pred.divring_invr"><span class="id" title="lemma">divring_invr</span></a> <span class="id" title="var">R</span> <span class="id" title="var">S</span> : @<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Pred.divring"><span class="id" title="record">divring</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#R"><span class="id" title="variable">R</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#S"><span class="id" title="variable">S</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.invr_closed"><span class="id" title="definition">invr_closed</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#S"><span class="id" title="variable">S</span></a>. <br/> +<span class="id" title="keyword">Fact</span> <a name="GRing.Pred.divalg_scaler"><span class="id" title="lemma">divalg_scaler</span></a> <span class="id" title="var">R</span> <span class="id" title="var">A</span> <span class="id" title="var">S</span> : @<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Pred.divalg"><span class="id" title="record">divalg</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#R"><span class="id" title="variable">R</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#S"><span class="id" title="variable">S</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.scaler_closed"><span class="id" title="definition">scaler_closed</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#S"><span class="id" title="variable">S</span></a>. <br/> <br/> <span class="id" title="keyword">Definition</span> <a name="GRing.Pred.zmod_opp"><span class="id" title="definition">zmod_opp</span></a> <span class="id" title="var">R</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.zmod"><span class="id" title="record">zmod</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#R"><span class="id" title="variable">R</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#S"><span class="id" title="variable">S</span></a>) :=<br/> @@ -3517,33 +3532,33 @@ <div class="code"> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.Pred.opp_ext"><span class="id" title="lemma">opp_ext</span></a> (<span class="id" title="var">U</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">S</span> <span class="id" title="var">k</span> (<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.ssralg.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#S"><span class="id" title="variable">S</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#k"><span class="id" title="variable">k</span></a>) :<br/> - <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.oppr_closed"><span class="id" title="definition">oppr_closed</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.oppr_closed"><span class="id" title="definition">oppr_closed</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#S"><span class="id" title="variable">S</span></a>.<br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.Pred.opp_ext"><span class="id" title="lemma">opp_ext</span></a> (<span class="id" title="var">U</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">S</span> <span class="id" title="var">k</span> (<span class="id" title="var">kS</span> : @<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#keyed_pred"><span class="id" title="record">keyed_pred</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#S"><span class="id" title="variable">S</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#k"><span class="id" title="variable">k</span></a>) :<br/> + <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.oppr_closed"><span class="id" title="definition">oppr_closed</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#kS"><span class="id" title="variable">kS</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.oppr_closed"><span class="id" title="definition">oppr_closed</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#S"><span class="id" title="variable">S</span></a>.<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.Pred.add_ext"><span class="id" title="lemma">add_ext</span></a> (<span class="id" title="var">U</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">S</span> <span class="id" title="var">k</span> (<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.ssralg.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#S"><span class="id" title="variable">S</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#k"><span class="id" title="variable">k</span></a>) :<br/> - <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.addr_closed"><span class="id" title="definition">addr_closed</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.addr_closed"><span class="id" title="definition">addr_closed</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#S"><span class="id" title="variable">S</span></a>.<br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.Pred.add_ext"><span class="id" title="lemma">add_ext</span></a> (<span class="id" title="var">U</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">S</span> <span class="id" title="var">k</span> (<span class="id" title="var">kS</span> : @<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#keyed_pred"><span class="id" title="record">keyed_pred</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#S"><span class="id" title="variable">S</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#k"><span class="id" title="variable">k</span></a>) :<br/> + <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.addr_closed"><span class="id" title="definition">addr_closed</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#kS"><span class="id" title="variable">kS</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.addr_closed"><span class="id" title="definition">addr_closed</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#S"><span class="id" title="variable">S</span></a>.<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.Pred.mul_ext"><span class="id" title="lemma">mul_ext</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> <span class="id" title="var">k</span> (<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.ssralg.html#R"><span class="id" title="variable">R</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#S"><span class="id" title="variable">S</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#k"><span class="id" title="variable">k</span></a>) :<br/> - <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.mulr_closed"><span class="id" title="definition">mulr_closed</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.mulr_closed"><span class="id" title="definition">mulr_closed</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#S"><span class="id" title="variable">S</span></a>.<br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.Pred.mul_ext"><span class="id" title="lemma">mul_ext</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> <span class="id" title="var">k</span> (<span class="id" title="var">kS</span> : @<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#keyed_pred"><span class="id" title="record">keyed_pred</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#R"><span class="id" title="variable">R</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#S"><span class="id" title="variable">S</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#k"><span class="id" title="variable">k</span></a>) :<br/> + <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.mulr_closed"><span class="id" title="definition">mulr_closed</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#kS"><span class="id" title="variable">kS</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.mulr_closed"><span class="id" title="definition">mulr_closed</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#S"><span class="id" title="variable">S</span></a>.<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.Pred.scale_ext"><span class="id" title="lemma">scale_ext</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">U</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.ssralg.html#R"><span class="id" title="variable">R</span></a>) <span class="id" title="var">S</span> <span class="id" title="var">k</span> (<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.ssralg.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#S"><span class="id" title="variable">S</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#k"><span class="id" title="variable">k</span></a>) :<br/> - <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.scaler_closed"><span class="id" title="definition">scaler_closed</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.scaler_closed"><span class="id" title="definition">scaler_closed</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#S"><span class="id" title="variable">S</span></a>.<br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.Pred.scale_ext"><span class="id" title="lemma">scale_ext</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">U</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.ssralg.html#R"><span class="id" title="variable">R</span></a>) <span class="id" title="var">S</span> <span class="id" title="var">k</span> (<span class="id" title="var">kS</span> : @<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#keyed_pred"><span class="id" title="record">keyed_pred</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#S"><span class="id" title="variable">S</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#k"><span class="id" title="variable">k</span></a>) :<br/> + <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.scaler_closed"><span class="id" title="definition">scaler_closed</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#kS"><span class="id" title="variable">kS</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.scaler_closed"><span class="id" title="definition">scaler_closed</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#S"><span class="id" title="variable">S</span></a>.<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.Pred.inv_ext"><span class="id" title="lemma">inv_ext</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">S</span> <span class="id" title="var">k</span> (<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.ssralg.html#R"><span class="id" title="variable">R</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#S"><span class="id" title="variable">S</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#k"><span class="id" title="variable">k</span></a>) :<br/> - <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.invr_closed"><span class="id" title="definition">invr_closed</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.invr_closed"><span class="id" title="definition">invr_closed</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#S"><span class="id" title="variable">S</span></a>.<br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.Pred.inv_ext"><span class="id" title="lemma">inv_ext</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">S</span> <span class="id" title="var">k</span> (<span class="id" title="var">kS</span> : @<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#keyed_pred"><span class="id" title="record">keyed_pred</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#R"><span class="id" title="variable">R</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#S"><span class="id" title="variable">S</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#k"><span class="id" title="variable">k</span></a>) :<br/> + <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.invr_closed"><span class="id" title="definition">invr_closed</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#kS"><span class="id" title="variable">kS</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.invr_closed"><span class="id" title="definition">invr_closed</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#S"><span class="id" title="variable">S</span></a>.<br/> <br/> <span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Pred.Extensionality"><span class="id" title="section">Extensionality</span></a>.<br/> <br/> <span class="id" title="keyword">Module</span> <a name="GRing.Pred.Default"><span class="id" title="module">Default</span></a>.<br/> -<span class="id" title="keyword">Definition</span> <a name="GRing.Pred.Default.opp"><span class="id" title="definition">opp</span></a> <span class="id" title="var">V</span> <span class="id" title="var">S</span> <span class="id" title="var">oppS</span> := @<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Pred.Opp"><span class="id" title="constructor">Opp</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#V"><span class="id" title="variable">V</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#S"><span class="id" title="variable">S</span></a> (<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#DefaultPredKey"><span class="id" title="constructor">DefaultPredKey</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#S"><span class="id" title="variable">S</span></a>) <a class="idref" href="mathcomp.algebra.ssralg.html#oppS"><span class="id" title="variable">oppS</span></a>.<br/> -<span class="id" title="keyword">Definition</span> <a name="GRing.Pred.Default.add"><span class="id" title="definition">add</span></a> <span class="id" title="var">V</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.Add"><span class="id" title="constructor">Add</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#V"><span class="id" title="variable">V</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#S"><span class="id" title="variable">S</span></a> (<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#DefaultPredKey"><span class="id" title="constructor">DefaultPredKey</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#S"><span class="id" title="variable">S</span></a>) <a class="idref" href="mathcomp.algebra.ssralg.html#addS"><span class="id" title="variable">addS</span></a>.<br/> -<span class="id" title="keyword">Definition</span> <a name="GRing.Pred.Default.mul"><span class="id" title="definition">mul</span></a> <span class="id" title="var">R</span> <span class="id" title="var">S</span> <span class="id" title="var">mulS</span> := @<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Pred.Mul"><span class="id" title="constructor">Mul</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#R"><span class="id" title="variable">R</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#S"><span class="id" title="variable">S</span></a> (<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#DefaultPredKey"><span class="id" title="constructor">DefaultPredKey</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#S"><span class="id" title="variable">S</span></a>) <a class="idref" href="mathcomp.algebra.ssralg.html#mulS"><span class="id" title="variable">mulS</span></a>.<br/> +<span class="id" title="keyword">Definition</span> <a name="GRing.Pred.Default.opp"><span class="id" title="definition">opp</span></a> <span class="id" title="var">V</span> <span class="id" title="var">S</span> <span class="id" title="var">oppS</span> := @<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Pred.Opp"><span class="id" title="constructor">Opp</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#V"><span class="id" title="variable">V</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#S"><span class="id" title="variable">S</span></a> (<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#DefaultPredKey"><span class="id" title="constructor">DefaultPredKey</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#S"><span class="id" title="variable">S</span></a>) <a class="idref" href="mathcomp.algebra.ssralg.html#oppS"><span class="id" title="variable">oppS</span></a>.<br/> +<span class="id" title="keyword">Definition</span> <a name="GRing.Pred.Default.add"><span class="id" title="definition">add</span></a> <span class="id" title="var">V</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.Add"><span class="id" title="constructor">Add</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#V"><span class="id" title="variable">V</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#S"><span class="id" title="variable">S</span></a> (<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#DefaultPredKey"><span class="id" title="constructor">DefaultPredKey</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#S"><span class="id" title="variable">S</span></a>) <a class="idref" href="mathcomp.algebra.ssralg.html#addS"><span class="id" title="variable">addS</span></a>.<br/> +<span class="id" title="keyword">Definition</span> <a name="GRing.Pred.Default.mul"><span class="id" title="definition">mul</span></a> <span class="id" title="var">R</span> <span class="id" title="var">S</span> <span class="id" title="var">mulS</span> := @<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Pred.Mul"><span class="id" title="constructor">Mul</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#R"><span class="id" title="variable">R</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#S"><span class="id" title="variable">S</span></a> (<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#DefaultPredKey"><span class="id" title="constructor">DefaultPredKey</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#S"><span class="id" title="variable">S</span></a>) <a class="idref" href="mathcomp.algebra.ssralg.html#mulS"><span class="id" title="variable">mulS</span></a>.<br/> <span class="id" title="keyword">Definition</span> <a name="GRing.Pred.Default.zmod"><span class="id" title="definition">zmod</span></a> <span class="id" title="var">V</span> <span class="id" title="var">S</span> <span class="id" title="var">addS</span> <span class="id" title="var">oppS</span> := @<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Pred.Zmod"><span class="id" title="constructor">Zmod</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#V"><span class="id" title="variable">V</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#S"><span class="id" title="variable">S</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Pred.Default.add"><span class="id" title="definition">add</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#addS"><span class="id" title="variable">addS</span></a>) <a class="idref" href="mathcomp.algebra.ssralg.html#oppS"><span class="id" title="variable">oppS</span></a>.<br/> <span class="id" title="keyword">Definition</span> <a name="GRing.Pred.Default.semiring"><span class="id" title="definition">semiring</span></a> <span class="id" title="var">R</span> <span class="id" title="var">S</span> <span class="id" title="var">addS</span> <span class="id" title="var">mulS</span> := @<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Pred.Semiring"><span class="id" title="constructor">Semiring</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#R"><span class="id" title="variable">R</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#S"><span class="id" title="variable">S</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Pred.Default.add"><span class="id" title="definition">add</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#addS"><span class="id" title="variable">addS</span></a>) <a class="idref" href="mathcomp.algebra.ssralg.html#mulS"><span class="id" title="variable">mulS</span></a>.<br/> <span class="id" title="keyword">Definition</span> <a name="GRing.Pred.Default.smul"><span class="id" title="definition">smul</span></a> <span class="id" title="var">R</span> <span class="id" title="var">S</span> <span class="id" title="var">oppS</span> <span class="id" title="var">mulS</span> := @<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Pred.Smul"><span class="id" title="constructor">Smul</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#R"><span class="id" title="variable">R</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#S"><span class="id" title="variable">S</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Pred.Default.opp"><span class="id" title="definition">opp</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#oppS"><span class="id" title="variable">oppS</span></a>) <a class="idref" href="mathcomp.algebra.ssralg.html#mulS"><span class="id" title="variable">mulS</span></a>.<br/> @@ -3700,29 +3715,29 @@ <span class="id" title="keyword">Section</span> <a name="GRing.ZmodulePred"><span class="id" title="section">ZmodulePred</span></a>.<br/> <br/> -<span class="id" title="keyword">Variables</span> (<a name="GRing.ZmodulePred.V"><span class="id" title="variable">V</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.zmodType"><span class="id" title="abbreviation">zmodType</span></a>) (<a name="GRing.ZmodulePred.S"><span class="id" title="variable">S</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#predPredType"><span class="id" title="definition">predPredType</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#V"><span class="id" title="variable">V</span></a>).<br/> +<span class="id" title="keyword">Variables</span> (<a name="GRing.ZmodulePred.V"><span class="id" title="variable">V</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.zmodType"><span class="id" title="abbreviation">zmodType</span></a>) (<a name="GRing.ZmodulePred.S"><span class="id" title="variable">S</span></a> : <a class="idref" href="mathcomp.ssreflect.ssrbool.html#64f8873130736b599801d4930af00e74"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.ssreflect.ssrbool.html#64f8873130736b599801d4930af00e74"><span class="id" title="notation">pred</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#V"><span class="id" title="variable">V</span></a><a class="idref" href="mathcomp.ssreflect.ssrbool.html#64f8873130736b599801d4930af00e74"><span class="id" title="notation">}</span></a>).<br/> <br/> <span class="id" title="keyword">Section</span> <a name="GRing.ZmodulePred.Add"><span class="id" title="section">Add</span></a>.<br/> <br/> -<span class="id" title="keyword">Variables</span> (<a name="GRing.ZmodulePred.Add.addS"><span class="id" title="variable">addS</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.addrPred"><span class="id" title="abbreviation">addrPred</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ZmodulePred.S"><span class="id" title="variable">S</span></a>) (<a name="GRing.ZmodulePred.Add.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#keyed_pred"><span class="id" title="record">keyed_pred</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#addS"><span class="id" title="variable">addS</span></a>).<br/> +<span class="id" title="keyword">Variables</span> (<a name="GRing.ZmodulePred.Add.addS"><span class="id" title="variable">addS</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.addrPred"><span class="id" title="abbreviation">addrPred</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ZmodulePred.S"><span class="id" title="variable">S</span></a>) (<a name="GRing.ZmodulePred.Add.kS"><span class="id" title="variable">kS</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#keyed_pred"><span class="id" title="record">keyed_pred</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#addS"><span class="id" title="variable">addS</span></a>).<br/> <br/> <span class="id" title="keyword">Lemma</span> <a name="GRing.rpred0D"><span class="id" title="lemma">rpred0D</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.addr_closed"><span class="id" title="definition">addr_closed</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ZmodulePred.Add.kS"><span class="id" title="variable">kS</span></a>.<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.rpred0"><span class="id" title="lemma">rpred0</span></a> : 0 <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#GRing.ZmodulePred.Add.kS"><span class="id" title="variable">kS</span></a>.<br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.rpred0"><span class="id" title="lemma">rpred0</span></a> : 0 <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ZmodulePred.Add.kS"><span class="id" title="variable">kS</span></a>.<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.rpredD"><span class="id" title="lemma">rpredD</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.ssrbool.html#2bba53854f326a714d377124cccec593"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ZmodulePred.Add.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#2bba53854f326a714d377124cccec593"><span class="id" title="notation">&,</span></a> <span class="id" title="keyword">∀</span> <span class="id" title="var">u</span> <span class="id" title="var">v</span>, <a class="idref" href="mathcomp.algebra.ssralg.html#u"><span class="id" title="variable">u</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#338c5345074fd3586073fd29273c138a"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#v"><span class="id" title="variable">v</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#GRing.ZmodulePred.Add.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#2bba53854f326a714d377124cccec593"><span class="id" title="notation">}</span></a>.<br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.rpredD"><span class="id" title="lemma">rpredD</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b4f176550f5b849a7fbba2ee164934d3"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b4f176550f5b849a7fbba2ee164934d3"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ZmodulePred.Add.kS"><span class="id" title="variable">kS</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b4f176550f5b849a7fbba2ee164934d3"><span class="id" title="notation">&,</span></a> <span class="id" title="keyword">∀</span> <span class="id" title="var">u</span> <span class="id" title="var">v</span>, <a class="idref" href="mathcomp.algebra.ssralg.html#u"><span class="id" title="variable">u</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#730bbb3cf1092122fa1a208d3879e5e8"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#v"><span class="id" title="variable">v</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ZmodulePred.Add.kS"><span class="id" title="variable">kS</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b4f176550f5b849a7fbba2ee164934d3"><span class="id" title="notation">}</span></a>.<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.rpred_sum"><span class="id" title="lemma">rpred_sum</span></a> <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.ssralg.html#I"><span class="id" title="variable">I</span></a>) <span class="id" title="var">F</span> :<br/> - <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">i</span>, <a class="idref" href="mathcomp.algebra.ssralg.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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.ssralg.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</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#GRing.ZmodulePred.Add.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#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#664ae738a3286983847c80e5ee4c8c6b"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#664ae738a3286983847c80e5ee4c8c6b"><span class="id" title="notation">sum_</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#664ae738a3286983847c80e5ee4c8c6b"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.algebra.ssralg.html#664ae738a3286983847c80e5ee4c8c6b"><span class="id" title="notation"><-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#r"><span class="id" title="variable">r</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#664ae738a3286983847c80e5ee4c8c6b"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#664ae738a3286983847c80e5ee4c8c6b"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</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#GRing.ZmodulePred.Add.kS"><span class="id" title="variable">kS</span></a>.<br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.rpred_sum"><span class="id" title="lemma">rpred_sum</span></a> <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/V8.9.0/stdlib//Coq.ssr.ssrbool.html#pred"><span class="id" title="definition">pred</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#I"><span class="id" title="variable">I</span></a>) <span class="id" title="var">F</span> :<br/> + <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">(</span></a><span class="id" title="keyword">∀</span> <span class="id" title="var">i</span>, <a class="idref" href="mathcomp.algebra.ssralg.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ZmodulePred.Add.kS"><span class="id" title="variable">kS</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#dcb91d0b08ece8369cc6084787184d13"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#dcb91d0b08ece8369cc6084787184d13"><span class="id" title="notation">sum_</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#dcb91d0b08ece8369cc6084787184d13"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.algebra.ssralg.html#dcb91d0b08ece8369cc6084787184d13"><span class="id" title="notation"><-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#r"><span class="id" title="variable">r</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#dcb91d0b08ece8369cc6084787184d13"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#dcb91d0b08ece8369cc6084787184d13"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ZmodulePred.Add.kS"><span class="id" title="variable">kS</span></a>.<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.rpredMn"><span class="id" title="lemma">rpredMn</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#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.ZmodulePred.Add.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.ssralg.html#u"><span class="id" title="variable">u</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#513eaa3129601ecbcc9e188a80d6155b"><span class="id" title="notation">*+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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.algebra.ssralg.html#GRing.ZmodulePred.Add.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/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.rpredMn"><span class="id" title="lemma">rpredMn</span></a> <span class="id" title="var">n</span> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ZmodulePred.Add.kS"><span class="id" title="variable">kS</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><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.ssralg.html#u"><span class="id" title="variable">u</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#506f68330939db1f655609b68b37b467"><span class="id" title="notation">*+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ZmodulePred.Add.kS"><span class="id" title="variable">kS</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><span class="id" title="notation">}</span></a>.<br/> <br/> <span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ZmodulePred.Add"><span class="id" title="section">Add</span></a>.<br/> @@ -3731,13 +3746,13 @@ <span class="id" title="keyword">Section</span> <a name="GRing.ZmodulePred.Opp"><span class="id" title="section">Opp</span></a>.<br/> <br/> -<span class="id" title="keyword">Variables</span> (<a name="GRing.ZmodulePred.Opp.oppS"><span class="id" title="variable">oppS</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.opprPred"><span class="id" title="abbreviation">opprPred</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ZmodulePred.S"><span class="id" title="variable">S</span></a>) (<a name="GRing.ZmodulePred.Opp.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#keyed_pred"><span class="id" title="record">keyed_pred</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#oppS"><span class="id" title="variable">oppS</span></a>).<br/> +<span class="id" title="keyword">Variables</span> (<a name="GRing.ZmodulePred.Opp.oppS"><span class="id" title="variable">oppS</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.opprPred"><span class="id" title="abbreviation">opprPred</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ZmodulePred.S"><span class="id" title="variable">S</span></a>) (<a name="GRing.ZmodulePred.Opp.kS"><span class="id" title="variable">kS</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#keyed_pred"><span class="id" title="record">keyed_pred</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#oppS"><span class="id" title="variable">oppS</span></a>).<br/> <br/> <span class="id" title="keyword">Lemma</span> <a name="GRing.rpredNr"><span class="id" title="lemma">rpredNr</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.oppr_closed"><span class="id" title="definition">oppr_closed</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ZmodulePred.Opp.kS"><span class="id" title="variable">kS</span></a>.<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.rpredN"><span class="id" title="lemma">rpredN</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#69ee97879e4a4ae19a99125173c5741e"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#69ee97879e4a4ae19a99125173c5741e"><span class="id" title="notation">mono</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#221881b99d58ceaaa33c4172192f697e"><span class="id" title="notation">-%</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#221881b99d58ceaaa33c4172192f697e"><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#69ee97879e4a4ae19a99125173c5741e"><span class="id" title="notation">:</span></a> <span class="id" title="var">u</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#69ee97879e4a4ae19a99125173c5741e"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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.ssralg.html#GRing.ZmodulePred.Opp.kS"><span class="id" title="variable">kS</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#69ee97879e4a4ae19a99125173c5741e"><span class="id" title="notation">}</span></a>.<br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.rpredN"><span class="id" title="lemma">rpredN</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#59bb3d488a31f5d40a0ab7b83185cb16"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#59bb3d488a31f5d40a0ab7b83185cb16"><span class="id" title="notation">mono</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f6c07ffdcee3462925d63c623b06b027"><span class="id" title="notation">-%</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#f6c07ffdcee3462925d63c623b06b027"><span class="id" title="notation">R</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#59bb3d488a31f5d40a0ab7b83185cb16"><span class="id" title="notation">:</span></a> <span class="id" title="var">u</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#59bb3d488a31f5d40a0ab7b83185cb16"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#u"><span class="id" title="variable">u</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ZmodulePred.Opp.kS"><span class="id" title="variable">kS</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#59bb3d488a31f5d40a0ab7b83185cb16"><span class="id" title="notation">}</span></a>.<br/> <br/> <span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ZmodulePred.Opp"><span class="id" title="section">Opp</span></a>.<br/> @@ -3746,25 +3761,25 @@ <span class="id" title="keyword">Section</span> <a name="GRing.ZmodulePred.Sub"><span class="id" title="section">Sub</span></a>.<br/> <br/> -<span class="id" title="keyword">Variables</span> (<a name="GRing.ZmodulePred.Sub.subS"><span class="id" title="variable">subS</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.zmodPred"><span class="id" title="abbreviation">zmodPred</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ZmodulePred.S"><span class="id" title="variable">S</span></a>) (<a name="GRing.ZmodulePred.Sub.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#keyed_pred"><span class="id" title="record">keyed_pred</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#subS"><span class="id" title="variable">subS</span></a>).<br/> +<span class="id" title="keyword">Variables</span> (<a name="GRing.ZmodulePred.Sub.subS"><span class="id" title="variable">subS</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.zmodPred"><span class="id" title="abbreviation">zmodPred</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ZmodulePred.S"><span class="id" title="variable">S</span></a>) (<a name="GRing.ZmodulePred.Sub.kS"><span class="id" title="variable">kS</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#keyed_pred"><span class="id" title="record">keyed_pred</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#subS"><span class="id" title="variable">subS</span></a>).<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.rpredB"><span class="id" title="lemma">rpredB</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.ssrbool.html#2bba53854f326a714d377124cccec593"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ZmodulePred.Sub.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#2bba53854f326a714d377124cccec593"><span class="id" title="notation">&,</span></a> <span class="id" title="keyword">∀</span> <span class="id" title="var">u</span> <span class="id" title="var">v</span>, <a class="idref" href="mathcomp.algebra.ssralg.html#u"><span class="id" title="variable">u</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#4d4b9697032429ec46472e6332d1356a"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#v"><span class="id" title="variable">v</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#GRing.ZmodulePred.Sub.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#2bba53854f326a714d377124cccec593"><span class="id" title="notation">}</span></a>.<br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.rpredB"><span class="id" title="lemma">rpredB</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b4f176550f5b849a7fbba2ee164934d3"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b4f176550f5b849a7fbba2ee164934d3"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ZmodulePred.Sub.kS"><span class="id" title="variable">kS</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b4f176550f5b849a7fbba2ee164934d3"><span class="id" title="notation">&,</span></a> <span class="id" title="keyword">∀</span> <span class="id" title="var">u</span> <span class="id" title="var">v</span>, <a class="idref" href="mathcomp.algebra.ssralg.html#u"><span class="id" title="variable">u</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#4a5fc7f0d0a33bc3822357a38c953c9e"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#v"><span class="id" title="variable">v</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ZmodulePred.Sub.kS"><span class="id" title="variable">kS</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b4f176550f5b849a7fbba2ee164934d3"><span class="id" title="notation">}</span></a>.<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.rpredMNn"><span class="id" title="lemma">rpredMNn</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#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.ZmodulePred.Sub.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.ssralg.html#u"><span class="id" title="variable">u</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#be9a273af87c6a30d88bd8379c802cbe"><span class="id" title="notation">*-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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.algebra.ssralg.html#GRing.ZmodulePred.Sub.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/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.rpredMNn"><span class="id" title="lemma">rpredMNn</span></a> <span class="id" title="var">n</span> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ZmodulePred.Sub.kS"><span class="id" title="variable">kS</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><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.ssralg.html#u"><span class="id" title="variable">u</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#0c0f4a48fca1c1f27e9d71f54b6b8bd3"><span class="id" title="notation">*-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ZmodulePred.Sub.kS"><span class="id" title="variable">kS</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><span class="id" title="notation">}</span></a>.<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.rpredDr"><span class="id" title="lemma">rpredDr</span></a> <span class="id" title="var">x</span> <span class="id" title="var">y</span> : <a class="idref" href="mathcomp.algebra.ssralg.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.ssralg.html#GRing.ZmodulePred.Sub.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#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.ssralg.html#y"><span class="id" title="variable">y</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#338c5345074fd3586073fd29273c138a"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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.ssralg.html#GRing.ZmodulePred.Sub.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.ssralg.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#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#GRing.ZmodulePred.Sub.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/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.rpredDr"><span class="id" title="lemma">rpredDr</span></a> <span class="id" title="var">x</span> <span class="id" title="var">y</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ZmodulePred.Sub.kS"><span class="id" title="variable">kS</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#730bbb3cf1092122fa1a208d3879e5e8"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ZmodulePred.Sub.kS"><span class="id" title="variable">kS</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ZmodulePred.Sub.kS"><span class="id" title="variable">kS</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">)</span></a>.<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.rpredDl"><span class="id" title="lemma">rpredDl</span></a> <span class="id" title="var">x</span> <span class="id" title="var">y</span> : <a class="idref" href="mathcomp.algebra.ssralg.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.ssralg.html#GRing.ZmodulePred.Sub.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#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.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#338c5345074fd3586073fd29273c138a"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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#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#GRing.ZmodulePred.Sub.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.ssralg.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#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#GRing.ZmodulePred.Sub.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/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.rpredDl"><span class="id" title="lemma">rpredDl</span></a> <span class="id" title="var">x</span> <span class="id" title="var">y</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ZmodulePred.Sub.kS"><span class="id" title="variable">kS</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#730bbb3cf1092122fa1a208d3879e5e8"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ZmodulePred.Sub.kS"><span class="id" title="variable">kS</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ZmodulePred.Sub.kS"><span class="id" title="variable">kS</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">)</span></a>.<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.rpredBr"><span class="id" title="lemma">rpredBr</span></a> <span class="id" title="var">x</span> <span class="id" title="var">y</span> : <a class="idref" href="mathcomp.algebra.ssralg.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.ssralg.html#GRing.ZmodulePred.Sub.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#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.ssralg.html#y"><span class="id" title="variable">y</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#4d4b9697032429ec46472e6332d1356a"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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.ssralg.html#GRing.ZmodulePred.Sub.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.ssralg.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#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#GRing.ZmodulePred.Sub.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/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.rpredBr"><span class="id" title="lemma">rpredBr</span></a> <span class="id" title="var">x</span> <span class="id" title="var">y</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ZmodulePred.Sub.kS"><span class="id" title="variable">kS</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#4a5fc7f0d0a33bc3822357a38c953c9e"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ZmodulePred.Sub.kS"><span class="id" title="variable">kS</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ZmodulePred.Sub.kS"><span class="id" title="variable">kS</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">)</span></a>.<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.rpredBl"><span class="id" title="lemma">rpredBl</span></a> <span class="id" title="var">x</span> <span class="id" title="var">y</span> : <a class="idref" href="mathcomp.algebra.ssralg.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.ssralg.html#GRing.ZmodulePred.Sub.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#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.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#4d4b9697032429ec46472e6332d1356a"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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#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#GRing.ZmodulePred.Sub.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.ssralg.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#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#GRing.ZmodulePred.Sub.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/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.rpredBl"><span class="id" title="lemma">rpredBl</span></a> <span class="id" title="var">x</span> <span class="id" title="var">y</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ZmodulePred.Sub.kS"><span class="id" title="variable">kS</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#4a5fc7f0d0a33bc3822357a38c953c9e"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ZmodulePred.Sub.kS"><span class="id" title="variable">kS</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ZmodulePred.Sub.kS"><span class="id" title="variable">kS</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">)</span></a>.<br/> <br/> <span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ZmodulePred.Sub"><span class="id" title="section">Sub</span></a>.<br/> @@ -3776,46 +3791,46 @@ <span class="id" title="keyword">Section</span> <a name="GRing.RingPred"><span class="id" title="section">RingPred</span></a>.<br/> <br/> -<span class="id" title="keyword">Variables</span> (<a name="GRing.RingPred.R"><span class="id" title="variable">R</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ringType"><span class="id" title="abbreviation">ringType</span></a>) (<a name="GRing.RingPred.S"><span class="id" title="variable">S</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#predPredType"><span class="id" title="definition">predPredType</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#R"><span class="id" title="variable">R</span></a>).<br/> +<span class="id" title="keyword">Variables</span> (<a name="GRing.RingPred.R"><span class="id" title="variable">R</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ringType"><span class="id" title="abbreviation">ringType</span></a>) (<a name="GRing.RingPred.S"><span class="id" title="variable">S</span></a> : <a class="idref" href="mathcomp.ssreflect.ssrbool.html#64f8873130736b599801d4930af00e74"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.ssreflect.ssrbool.html#64f8873130736b599801d4930af00e74"><span class="id" title="notation">pred</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#R"><span class="id" title="variable">R</span></a><a class="idref" href="mathcomp.ssreflect.ssrbool.html#64f8873130736b599801d4930af00e74"><span class="id" title="notation">}</span></a>).<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.rpredMsign"><span class="id" title="lemma">rpredMsign</span></a> (<span class="id" title="var">oppS</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.opprPred"><span class="id" title="abbreviation">opprPred</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RingPred.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.ssralg.html#oppS"><span class="id" title="variable">oppS</span></a>) <span class="id" title="var">n</span> <span class="id" title="var">x</span> :<br/> - <a class="idref" href="http://coq.inria.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#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">(</span></a>-1<a class="idref" href="mathcomp.algebra.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#ed99e7035d9a1f8a2c1515be81ac2e5f"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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.ssralg.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.ssralg.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.ssralg.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/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.rpredMsign"><span class="id" title="lemma">rpredMsign</span></a> (<span class="id" title="var">oppS</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.opprPred"><span class="id" title="abbreviation">opprPred</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RingPred.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/V8.9.0/stdlib//Coq.ssr.ssrbool.html#keyed_pred"><span class="id" title="record">keyed_pred</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#oppS"><span class="id" title="variable">oppS</span></a>) <span class="id" title="var">n</span> <span class="id" title="var">x</span> :<br/> + <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">(</span></a>-1<a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f99a2dc6d143aa8f1021ab57e4a19eee"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#kS"><span class="id" title="variable">kS</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#kS"><span class="id" title="variable">kS</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">)</span></a>.<br/> <br/> <span class="id" title="keyword">Section</span> <a name="GRing.RingPred.Mul"><span class="id" title="section">Mul</span></a>.<br/> <br/> -<span class="id" title="keyword">Variables</span> (<a name="GRing.RingPred.Mul.mulS"><span class="id" title="variable">mulS</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.mulrPred"><span class="id" title="abbreviation">mulrPred</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RingPred.S"><span class="id" title="variable">S</span></a>) (<a name="GRing.RingPred.Mul.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#keyed_pred"><span class="id" title="record">keyed_pred</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#mulS"><span class="id" title="variable">mulS</span></a>).<br/> +<span class="id" title="keyword">Variables</span> (<a name="GRing.RingPred.Mul.mulS"><span class="id" title="variable">mulS</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.mulrPred"><span class="id" title="abbreviation">mulrPred</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RingPred.S"><span class="id" title="variable">S</span></a>) (<a name="GRing.RingPred.Mul.kS"><span class="id" title="variable">kS</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#keyed_pred"><span class="id" title="record">keyed_pred</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#mulS"><span class="id" title="variable">mulS</span></a>).<br/> <br/> <span class="id" title="keyword">Lemma</span> <a name="GRing.rpred1M"><span class="id" title="lemma">rpred1M</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.mulr_closed"><span class="id" title="definition">mulr_closed</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RingPred.Mul.kS"><span class="id" title="variable">kS</span></a>.<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.rpred1"><span class="id" title="lemma">rpred1</span></a> : 1 <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#GRing.RingPred.Mul.kS"><span class="id" title="variable">kS</span></a>.<br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.rpred1"><span class="id" title="lemma">rpred1</span></a> : 1 <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RingPred.Mul.kS"><span class="id" title="variable">kS</span></a>.<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.rpredM"><span class="id" title="lemma">rpredM</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.ssrbool.html#2bba53854f326a714d377124cccec593"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RingPred.Mul.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#2bba53854f326a714d377124cccec593"><span class="id" title="notation">&,</span></a> <span class="id" title="keyword">∀</span> <span class="id" title="var">u</span> <span class="id" title="var">v</span>, <a class="idref" href="mathcomp.algebra.ssralg.html#u"><span class="id" title="variable">u</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#ed99e7035d9a1f8a2c1515be81ac2e5f"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#v"><span class="id" title="variable">v</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#GRing.RingPred.Mul.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#2bba53854f326a714d377124cccec593"><span class="id" title="notation">}</span></a>.<br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.rpredM"><span class="id" title="lemma">rpredM</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b4f176550f5b849a7fbba2ee164934d3"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b4f176550f5b849a7fbba2ee164934d3"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RingPred.Mul.kS"><span class="id" title="variable">kS</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b4f176550f5b849a7fbba2ee164934d3"><span class="id" title="notation">&,</span></a> <span class="id" title="keyword">∀</span> <span class="id" title="var">u</span> <span class="id" title="var">v</span>, <a class="idref" href="mathcomp.algebra.ssralg.html#u"><span class="id" title="variable">u</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f99a2dc6d143aa8f1021ab57e4a19eee"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#v"><span class="id" title="variable">v</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RingPred.Mul.kS"><span class="id" title="variable">kS</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b4f176550f5b849a7fbba2ee164934d3"><span class="id" title="notation">}</span></a>.<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.rpred_prod"><span class="id" title="lemma">rpred_prod</span></a> <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.ssralg.html#I"><span class="id" title="variable">I</span></a>) <span class="id" title="var">F</span> :<br/> - <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">i</span>, <a class="idref" href="mathcomp.algebra.ssralg.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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.ssralg.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</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#GRing.RingPred.Mul.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#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#3f1a950be6bcb72c9434150471b42417"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#3f1a950be6bcb72c9434150471b42417"><span class="id" title="notation">prod_</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#3f1a950be6bcb72c9434150471b42417"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.algebra.ssralg.html#3f1a950be6bcb72c9434150471b42417"><span class="id" title="notation"><-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#r"><span class="id" title="variable">r</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#3f1a950be6bcb72c9434150471b42417"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#3f1a950be6bcb72c9434150471b42417"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</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#GRing.RingPred.Mul.kS"><span class="id" title="variable">kS</span></a>.<br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.rpred_prod"><span class="id" title="lemma">rpred_prod</span></a> <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/V8.9.0/stdlib//Coq.ssr.ssrbool.html#pred"><span class="id" title="definition">pred</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#I"><span class="id" title="variable">I</span></a>) <span class="id" title="var">F</span> :<br/> + <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">(</span></a><span class="id" title="keyword">∀</span> <span class="id" title="var">i</span>, <a class="idref" href="mathcomp.algebra.ssralg.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RingPred.Mul.kS"><span class="id" title="variable">kS</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#5e0b538209a51fa2bd900767b9312dd8"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#5e0b538209a51fa2bd900767b9312dd8"><span class="id" title="notation">prod_</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#5e0b538209a51fa2bd900767b9312dd8"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.algebra.ssralg.html#5e0b538209a51fa2bd900767b9312dd8"><span class="id" title="notation"><-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#r"><span class="id" title="variable">r</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#5e0b538209a51fa2bd900767b9312dd8"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#5e0b538209a51fa2bd900767b9312dd8"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RingPred.Mul.kS"><span class="id" title="variable">kS</span></a>.<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.rpredX"><span class="id" title="lemma">rpredX</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#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.RingPred.Mul.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.ssralg.html#u"><span class="id" title="variable">u</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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.algebra.ssralg.html#GRing.RingPred.Mul.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/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.rpredX"><span class="id" title="lemma">rpredX</span></a> <span class="id" title="var">n</span> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RingPred.Mul.kS"><span class="id" title="variable">kS</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><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.ssralg.html#u"><span class="id" title="variable">u</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RingPred.Mul.kS"><span class="id" title="variable">kS</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><span class="id" title="notation">}</span></a>.<br/> <br/> <span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RingPred.Mul"><span class="id" title="section">Mul</span></a>.<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.rpred_nat"><span class="id" title="lemma">rpred_nat</span></a> (<span class="id" title="var">rngS</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.semiringPred"><span class="id" title="abbreviation">semiringPred</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RingPred.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.ssralg.html#rngS"><span class="id" title="variable">rngS</span></a>) <span class="id" title="var">n</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#c191333b9c7c034282647fbffacc9d18"><span class="id" title="notation">%:</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#c191333b9c7c034282647fbffacc9d18"><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.ssralg.html#kS"><span class="id" title="variable">kS</span></a>.<br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.rpred_nat"><span class="id" title="lemma">rpred_nat</span></a> (<span class="id" title="var">rngS</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.semiringPred"><span class="id" title="abbreviation">semiringPred</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RingPred.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/V8.9.0/stdlib//Coq.ssr.ssrbool.html#keyed_pred"><span class="id" title="record">keyed_pred</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#rngS"><span class="id" title="variable">rngS</span></a>) <span class="id" title="var">n</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#512a31305e556a90e0ad0550ee623cbc"><span class="id" title="notation">%:</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#512a31305e556a90e0ad0550ee623cbc"><span class="id" title="notation">R</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#kS"><span class="id" title="variable">kS</span></a>.<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.rpredN1"><span class="id" title="lemma">rpredN1</span></a> (<span class="id" title="var">mulS</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.smulrPred"><span class="id" title="abbreviation">smulrPred</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RingPred.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.ssralg.html#mulS"><span class="id" title="variable">mulS</span></a>) : -1 <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#kS"><span class="id" title="variable">kS</span></a>.<br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.rpredN1"><span class="id" title="lemma">rpredN1</span></a> (<span class="id" title="var">mulS</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.smulrPred"><span class="id" title="abbreviation">smulrPred</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RingPred.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/V8.9.0/stdlib//Coq.ssr.ssrbool.html#keyed_pred"><span class="id" title="record">keyed_pred</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#mulS"><span class="id" title="variable">mulS</span></a>) : -1 <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#kS"><span class="id" title="variable">kS</span></a>.<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.rpred_sign"><span class="id" title="lemma">rpred_sign</span></a> (<span class="id" title="var">mulS</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.smulrPred"><span class="id" title="abbreviation">smulrPred</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RingPred.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.ssralg.html#mulS"><span class="id" title="variable">mulS</span></a>) <span class="id" title="var">n</span> :<br/> - <a class="idref" href="mathcomp.algebra.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">(</span></a>-1<a class="idref" href="mathcomp.algebra.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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.algebra.ssralg.html#kS"><span class="id" title="variable">kS</span></a>.<br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.rpred_sign"><span class="id" title="lemma">rpred_sign</span></a> (<span class="id" title="var">mulS</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.smulrPred"><span class="id" title="abbreviation">smulrPred</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RingPred.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/V8.9.0/stdlib//Coq.ssr.ssrbool.html#keyed_pred"><span class="id" title="record">keyed_pred</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#mulS"><span class="id" title="variable">mulS</span></a>) <span class="id" title="var">n</span> :<br/> + <a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">(</span></a>-1<a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#kS"><span class="id" title="variable">kS</span></a>.<br/> <br/> <span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RingPred"><span class="id" title="section">RingPred</span></a>.<br/> @@ -3824,18 +3839,18 @@ <span class="id" title="keyword">Section</span> <a name="GRing.LmodPred"><span class="id" title="section">LmodPred</span></a>.<br/> <br/> -<span class="id" title="keyword">Variables</span> (<a name="GRing.LmodPred.R"><span class="id" title="variable">R</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ringType"><span class="id" title="abbreviation">ringType</span></a>) (<a name="GRing.LmodPred.V"><span class="id" title="variable">V</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.lmodType"><span class="id" title="abbreviation">lmodType</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#R"><span class="id" title="variable">R</span></a>) (<a name="GRing.LmodPred.S"><span class="id" title="variable">S</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#predPredType"><span class="id" title="definition">predPredType</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#V"><span class="id" title="variable">V</span></a>).<br/> +<span class="id" title="keyword">Variables</span> (<a name="GRing.LmodPred.R"><span class="id" title="variable">R</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ringType"><span class="id" title="abbreviation">ringType</span></a>) (<a name="GRing.LmodPred.V"><span class="id" title="variable">V</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.lmodType"><span class="id" title="abbreviation">lmodType</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#R"><span class="id" title="variable">R</span></a>) (<a name="GRing.LmodPred.S"><span class="id" title="variable">S</span></a> : <a class="idref" href="mathcomp.ssreflect.ssrbool.html#64f8873130736b599801d4930af00e74"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.ssreflect.ssrbool.html#64f8873130736b599801d4930af00e74"><span class="id" title="notation">pred</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#V"><span class="id" title="variable">V</span></a><a class="idref" href="mathcomp.ssreflect.ssrbool.html#64f8873130736b599801d4930af00e74"><span class="id" title="notation">}</span></a>).<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.rpredZsign"><span class="id" title="lemma">rpredZsign</span></a> (<span class="id" title="var">oppS</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.opprPred"><span class="id" title="abbreviation">opprPred</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LmodPred.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.ssralg.html#oppS"><span class="id" title="variable">oppS</span></a>) <span class="id" title="var">n</span> <span class="id" title="var">u</span> :<br/> - <a class="idref" href="http://coq.inria.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#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">(</span></a>-1<a class="idref" href="mathcomp.algebra.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#5aa7bcc9ac922e77482767d325fdbb69"><span class="id" title="notation">*:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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.ssralg.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.ssralg.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.ssralg.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/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.rpredZsign"><span class="id" title="lemma">rpredZsign</span></a> (<span class="id" title="var">oppS</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.opprPred"><span class="id" title="abbreviation">opprPred</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LmodPred.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/V8.9.0/stdlib//Coq.ssr.ssrbool.html#keyed_pred"><span class="id" title="record">keyed_pred</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#oppS"><span class="id" title="variable">oppS</span></a>) <span class="id" title="var">n</span> <span class="id" title="var">u</span> :<br/> + <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">(</span></a>-1<a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#10f331d2d40399852634935b8aa18b88"><span class="id" title="notation">*:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#u"><span class="id" title="variable">u</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#kS"><span class="id" title="variable">kS</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#u"><span class="id" title="variable">u</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#kS"><span class="id" title="variable">kS</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">)</span></a>.<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.rpredZnat"><span class="id" title="lemma">rpredZnat</span></a> (<span class="id" title="var">addS</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.addrPred"><span class="id" title="abbreviation">addrPred</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LmodPred.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.ssralg.html#addS"><span class="id" title="variable">addS</span></a>) <span class="id" title="var">n</span> :<br/> - <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#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.ssralg.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#c191333b9c7c034282647fbffacc9d18"><span class="id" title="notation">%:</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#c191333b9c7c034282647fbffacc9d18"><span class="id" title="notation">R</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#5aa7bcc9ac922e77482767d325fdbb69"><span class="id" title="notation">*:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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.ssralg.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/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.rpredZnat"><span class="id" title="lemma">rpredZnat</span></a> (<span class="id" title="var">addS</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.addrPred"><span class="id" title="abbreviation">addrPred</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LmodPred.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/V8.9.0/stdlib//Coq.ssr.ssrbool.html#keyed_pred"><span class="id" title="record">keyed_pred</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#addS"><span class="id" title="variable">addS</span></a>) <span class="id" title="var">n</span> :<br/> + <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#kS"><span class="id" title="variable">kS</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><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.ssralg.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#512a31305e556a90e0ad0550ee623cbc"><span class="id" title="notation">%:</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#512a31305e556a90e0ad0550ee623cbc"><span class="id" title="notation">R</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#10f331d2d40399852634935b8aa18b88"><span class="id" title="notation">*:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#u"><span class="id" title="variable">u</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#kS"><span class="id" title="variable">kS</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><span class="id" title="notation">}</span></a>.<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.rpredZ"><span class="id" title="lemma">rpredZ</span></a> (<span class="id" title="var">linS</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.submodPred"><span class="id" title="abbreviation">submodPred</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LmodPred.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.ssralg.html#linS"><span class="id" title="variable">linS</span></a>) : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.scaler_closed"><span class="id" title="definition">scaler_closed</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#kS"><span class="id" title="variable">kS</span></a>.<br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.rpredZ"><span class="id" title="lemma">rpredZ</span></a> (<span class="id" title="var">linS</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.submodPred"><span class="id" title="abbreviation">submodPred</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LmodPred.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/V8.9.0/stdlib//Coq.ssr.ssrbool.html#keyed_pred"><span class="id" title="record">keyed_pred</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#linS"><span class="id" title="variable">linS</span></a>) : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.scaler_closed"><span class="id" title="definition">scaler_closed</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#kS"><span class="id" title="variable">kS</span></a>.<br/> <br/> <span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LmodPred"><span class="id" title="section">LmodPred</span></a>.<br/> @@ -3850,31 +3865,31 @@ <span class="id" title="keyword">Section</span> <a name="GRing.UnitRingPred.Div"><span class="id" title="section">Div</span></a>.<br/> <br/> -<span class="id" title="keyword">Variables</span> (<a name="GRing.UnitRingPred.Div.S"><span class="id" title="variable">S</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#predPredType"><span class="id" title="definition">predPredType</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitRingPred.R"><span class="id" title="variable">R</span></a>) (<a name="GRing.UnitRingPred.Div.divS"><span class="id" title="variable">divS</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.divrPred"><span class="id" title="abbreviation">divrPred</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#S"><span class="id" title="variable">S</span></a>) (<a name="GRing.UnitRingPred.Div.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#keyed_pred"><span class="id" title="record">keyed_pred</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#divS"><span class="id" title="variable">divS</span></a>).<br/> +<span class="id" title="keyword">Variables</span> (<a name="GRing.UnitRingPred.Div.S"><span class="id" title="variable">S</span></a> : <a class="idref" href="mathcomp.ssreflect.ssrbool.html#64f8873130736b599801d4930af00e74"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.ssreflect.ssrbool.html#64f8873130736b599801d4930af00e74"><span class="id" title="notation">pred</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitRingPred.R"><span class="id" title="variable">R</span></a><a class="idref" href="mathcomp.ssreflect.ssrbool.html#64f8873130736b599801d4930af00e74"><span class="id" title="notation">}</span></a>) (<a name="GRing.UnitRingPred.Div.divS"><span class="id" title="variable">divS</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.divrPred"><span class="id" title="abbreviation">divrPred</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#S"><span class="id" title="variable">S</span></a>) (<a name="GRing.UnitRingPred.Div.kS"><span class="id" title="variable">kS</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#keyed_pred"><span class="id" title="record">keyed_pred</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#divS"><span class="id" title="variable">divS</span></a>).<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.rpredVr"><span class="id" title="lemma">rpredVr</span></a> <span class="id" title="var">x</span> : <a class="idref" href="mathcomp.algebra.ssralg.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.ssralg.html#GRing.UnitRingPred.Div.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#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#7f97e90bec2e67d9beef5851649e3fb1"><span class="id" title="notation">^-1</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#GRing.UnitRingPred.Div.kS"><span class="id" title="variable">kS</span></a>.<br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.rpredVr"><span class="id" title="lemma">rpredVr</span></a> <span class="id" title="var">x</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitRingPred.Div.kS"><span class="id" title="variable">kS</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#139f286ff80df5d41ea22851b1826860"><span class="id" title="notation">^-1</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitRingPred.Div.kS"><span class="id" title="variable">kS</span></a>.<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.rpredV"><span class="id" title="lemma">rpredV</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.ssralg.html#x"><span class="id" title="variable">x</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#7f97e90bec2e67d9beef5851649e3fb1"><span class="id" title="notation">^-1</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#GRing.UnitRingPred.Div.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.ssralg.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.ssralg.html#GRing.UnitRingPred.Div.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/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.rpredV"><span class="id" title="lemma">rpredV</span></a> <span class="id" title="var">x</span> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#139f286ff80df5d41ea22851b1826860"><span class="id" title="notation">^-1</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitRingPred.Div.kS"><span class="id" title="variable">kS</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitRingPred.Div.kS"><span class="id" title="variable">kS</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">)</span></a>.<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.rpred_div"><span class="id" title="lemma">rpred_div</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.ssrbool.html#2bba53854f326a714d377124cccec593"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitRingPred.Div.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#2bba53854f326a714d377124cccec593"><span class="id" title="notation">&,</span></a> <span class="id" title="keyword">∀</span> <span class="id" title="var">x</span> <span class="id" title="var">y</span>, <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#1adb36345c2607a4dd991537de5ddba3"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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#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#GRing.UnitRingPred.Div.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#2bba53854f326a714d377124cccec593"><span class="id" title="notation">}</span></a>.<br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.rpred_div"><span class="id" title="lemma">rpred_div</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b4f176550f5b849a7fbba2ee164934d3"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b4f176550f5b849a7fbba2ee164934d3"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitRingPred.Div.kS"><span class="id" title="variable">kS</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b4f176550f5b849a7fbba2ee164934d3"><span class="id" title="notation">&,</span></a> <span class="id" title="keyword">∀</span> <span class="id" title="var">x</span> <span class="id" title="var">y</span>, <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#705c00ff5a03bf84d6828df21a7a7942"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitRingPred.Div.kS"><span class="id" title="variable">kS</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b4f176550f5b849a7fbba2ee164934d3"><span class="id" title="notation">}</span></a>.<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.rpredXN"><span class="id" title="lemma">rpredXN</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#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.UnitRingPred.Div.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.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#17bbfbf532cf26564c92faf790f04f34"><span class="id" title="notation">^-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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.algebra.ssralg.html#GRing.UnitRingPred.Div.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/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.rpredXN"><span class="id" title="lemma">rpredXN</span></a> <span class="id" title="var">n</span> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitRingPred.Div.kS"><span class="id" title="variable">kS</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><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.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#1e3664ff5a0845564dcf20fcc71a269d"><span class="id" title="notation">^-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitRingPred.Div.kS"><span class="id" title="variable">kS</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><span class="id" title="notation">}</span></a>.<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.rpredMl"><span class="id" title="lemma">rpredMl</span></a> <span class="id" title="var">x</span> <span class="id" title="var">y</span> : <a class="idref" href="mathcomp.algebra.ssralg.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.ssralg.html#GRing.UnitRingPred.Div.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#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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">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="http://coq.inria.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#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#ed99e7035d9a1f8a2c1515be81ac2e5f"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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#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#GRing.UnitRingPred.Div.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.ssralg.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#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#GRing.UnitRingPred.Div.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/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.rpredMl"><span class="id" title="lemma">rpredMl</span></a> <span class="id" title="var">x</span> <span class="id" title="var">y</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitRingPred.Div.kS"><span class="id" title="variable">kS</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#f6c65697fefaf4504de1d4d641cd4409"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#f6c65697fefaf4504de1d4d641cd4409"><span class="id" title="notation">is</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#f6c65697fefaf4504de1d4d641cd4409"><span class="id" title="notation">a</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.unit"><span class="id" title="definition">unit</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f99a2dc6d143aa8f1021ab57e4a19eee"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitRingPred.Div.kS"><span class="id" title="variable">kS</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitRingPred.Div.kS"><span class="id" title="variable">kS</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">)</span></a>.<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.rpredMr"><span class="id" title="lemma">rpredMr</span></a> <span class="id" title="var">x</span> <span class="id" title="var">y</span> : <a class="idref" href="mathcomp.algebra.ssralg.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.ssralg.html#GRing.UnitRingPred.Div.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#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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">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="http://coq.inria.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#y"><span class="id" title="variable">y</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#ed99e7035d9a1f8a2c1515be81ac2e5f"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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.ssralg.html#GRing.UnitRingPred.Div.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.ssralg.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#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#GRing.UnitRingPred.Div.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/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.rpredMr"><span class="id" title="lemma">rpredMr</span></a> <span class="id" title="var">x</span> <span class="id" title="var">y</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitRingPred.Div.kS"><span class="id" title="variable">kS</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#f6c65697fefaf4504de1d4d641cd4409"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#f6c65697fefaf4504de1d4d641cd4409"><span class="id" title="notation">is</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#f6c65697fefaf4504de1d4d641cd4409"><span class="id" title="notation">a</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.unit"><span class="id" title="definition">unit</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f99a2dc6d143aa8f1021ab57e4a19eee"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitRingPred.Div.kS"><span class="id" title="variable">kS</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitRingPred.Div.kS"><span class="id" title="variable">kS</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">)</span></a>.<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.rpred_divr"><span class="id" title="lemma">rpred_divr</span></a> <span class="id" title="var">x</span> <span class="id" title="var">y</span> : <a class="idref" href="mathcomp.algebra.ssralg.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.ssralg.html#GRing.UnitRingPred.Div.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#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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">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="http://coq.inria.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#y"><span class="id" title="variable">y</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#1adb36345c2607a4dd991537de5ddba3"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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.ssralg.html#GRing.UnitRingPred.Div.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.ssralg.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#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#GRing.UnitRingPred.Div.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/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.rpred_divr"><span class="id" title="lemma">rpred_divr</span></a> <span class="id" title="var">x</span> <span class="id" title="var">y</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitRingPred.Div.kS"><span class="id" title="variable">kS</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#f6c65697fefaf4504de1d4d641cd4409"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#f6c65697fefaf4504de1d4d641cd4409"><span class="id" title="notation">is</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#f6c65697fefaf4504de1d4d641cd4409"><span class="id" title="notation">a</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.unit"><span class="id" title="definition">unit</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#705c00ff5a03bf84d6828df21a7a7942"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitRingPred.Div.kS"><span class="id" title="variable">kS</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitRingPred.Div.kS"><span class="id" title="variable">kS</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">)</span></a>.<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.rpred_divl"><span class="id" title="lemma">rpred_divl</span></a> <span class="id" title="var">x</span> <span class="id" title="var">y</span> : <a class="idref" href="mathcomp.algebra.ssralg.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.ssralg.html#GRing.UnitRingPred.Div.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#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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">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="http://coq.inria.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#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#1adb36345c2607a4dd991537de5ddba3"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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#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#GRing.UnitRingPred.Div.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.ssralg.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#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#GRing.UnitRingPred.Div.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/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.rpred_divl"><span class="id" title="lemma">rpred_divl</span></a> <span class="id" title="var">x</span> <span class="id" title="var">y</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitRingPred.Div.kS"><span class="id" title="variable">kS</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#f6c65697fefaf4504de1d4d641cd4409"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#f6c65697fefaf4504de1d4d641cd4409"><span class="id" title="notation">is</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#f6c65697fefaf4504de1d4d641cd4409"><span class="id" title="notation">a</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.unit"><span class="id" title="definition">unit</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#705c00ff5a03bf84d6828df21a7a7942"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitRingPred.Div.kS"><span class="id" title="variable">kS</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitRingPred.Div.kS"><span class="id" title="variable">kS</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">)</span></a>.<br/> <br/> <span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitRingPred.Div"><span class="id" title="section">Div</span></a>.<br/> @@ -3893,17 +3908,17 @@ <span class="id" title="keyword">Implicit</span> <span class="id" title="keyword">Type</span> <span class="id" title="var">x</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitRingPred.R"><span class="id" title="variable">R</span></a>.<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.unitrN"><span class="id" title="lemma">unitrN</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.ssralg.html#eefae7eea8ed2b8fccf150cb653d7a7b"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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">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.ssralg.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">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/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.unitrN"><span class="id" title="lemma">unitrN</span></a> <span class="id" title="var">x</span> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#aa58dfcfb323e1f070c38e31f9efddbe"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#f6c65697fefaf4504de1d4d641cd4409"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#f6c65697fefaf4504de1d4d641cd4409"><span class="id" title="notation">is</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#f6c65697fefaf4504de1d4d641cd4409"><span class="id" title="notation">a</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.unit"><span class="id" title="definition">unit</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#f6c65697fefaf4504de1d4d641cd4409"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#f6c65697fefaf4504de1d4d641cd4409"><span class="id" title="notation">is</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#f6c65697fefaf4504de1d4d641cd4409"><span class="id" title="notation">a</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.unit"><span class="id" title="definition">unit</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">)</span></a>. <br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.invrN"><span class="id" title="lemma">invrN</span></a> <span class="id" title="var">x</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#7f97e90bec2e67d9beef5851649e3fb1"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#eefae7eea8ed2b8fccf150cb653d7a7b"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#7f97e90bec2e67d9beef5851649e3fb1"><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.ssralg.html#eefae7eea8ed2b8fccf150cb653d7a7b"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#7f97e90bec2e67d9beef5851649e3fb1"><span class="id" title="notation">^-1</span></a>.<br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.invrN"><span class="id" title="lemma">invrN</span></a> <span class="id" title="var">x</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#139f286ff80df5d41ea22851b1826860"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#aa58dfcfb323e1f070c38e31f9efddbe"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#139f286ff80df5d41ea22851b1826860"><span class="id" title="notation">)^-1</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#aa58dfcfb323e1f070c38e31f9efddbe"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#139f286ff80df5d41ea22851b1826860"><span class="id" title="notation">^-1</span></a>.<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.invr_signM"><span class="id" title="lemma">invr_signM</span></a> <span class="id" title="var">n</span> <span class="id" title="var">x</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#7f97e90bec2e67d9beef5851649e3fb1"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">(</span></a>-1<a class="idref" href="mathcomp.algebra.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#ed99e7035d9a1f8a2c1515be81ac2e5f"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#7f97e90bec2e67d9beef5851649e3fb1"><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.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">(</span></a>-1<a class="idref" href="mathcomp.algebra.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#ed99e7035d9a1f8a2c1515be81ac2e5f"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#7f97e90bec2e67d9beef5851649e3fb1"><span class="id" title="notation">^-1</span></a>.<br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.invr_signM"><span class="id" title="lemma">invr_signM</span></a> <span class="id" title="var">n</span> <span class="id" title="var">x</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#139f286ff80df5d41ea22851b1826860"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">(</span></a>-1<a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f99a2dc6d143aa8f1021ab57e4a19eee"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#139f286ff80df5d41ea22851b1826860"><span class="id" title="notation">)^-1</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">(</span></a>-1<a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f99a2dc6d143aa8f1021ab57e4a19eee"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#139f286ff80df5d41ea22851b1826860"><span class="id" title="notation">^-1</span></a>.<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.divr_signM"><span class="id" title="lemma">divr_signM</span></a> (<span class="id" title="var">b1</span> <span class="id" title="var">b2</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>) <span class="id" title="var">x1</span> <span class="id" title="var">x2</span>:<br/> - <a class="idref" href="mathcomp.algebra.ssralg.html#1adb36345c2607a4dd991537de5ddba3"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">(</span></a>-1<a class="idref" href="mathcomp.algebra.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b1"><span class="id" title="variable">b1</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#ed99e7035d9a1f8a2c1515be81ac2e5f"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x1"><span class="id" title="variable">x1</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#1adb36345c2607a4dd991537de5ddba3"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#1adb36345c2607a4dd991537de5ddba3"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#1adb36345c2607a4dd991537de5ddba3"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">(</span></a>-1<a class="idref" href="mathcomp.algebra.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b2"><span class="id" title="variable">b2</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#ed99e7035d9a1f8a2c1515be81ac2e5f"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x2"><span class="id" title="variable">x2</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#1adb36345c2607a4dd991537de5ddba3"><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#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">(</span></a>-1<a class="idref" href="mathcomp.algebra.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#b1"><span class="id" title="variable">b1</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#ef177bde7d01ae97c98f9cba81f6c95b"><span class="id" title="notation">(+)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b2"><span class="id" title="variable">b2</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#ed99e7035d9a1f8a2c1515be81ac2e5f"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#ed99e7035d9a1f8a2c1515be81ac2e5f"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#x1"><span class="id" title="variable">x1</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#1adb36345c2607a4dd991537de5ddba3"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x2"><span class="id" title="variable">x2</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#ed99e7035d9a1f8a2c1515be81ac2e5f"><span class="id" title="notation">)</span></a>.<br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.divr_signM"><span class="id" title="lemma">divr_signM</span></a> (<span class="id" title="var">b1</span> <span class="id" title="var">b2</span> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#bool"><span class="id" title="inductive">bool</span></a>) <span class="id" title="var">x1</span> <span class="id" title="var">x2</span>:<br/> + <a class="idref" href="mathcomp.algebra.ssralg.html#705c00ff5a03bf84d6828df21a7a7942"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">(</span></a>-1<a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b1"><span class="id" title="variable">b1</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f99a2dc6d143aa8f1021ab57e4a19eee"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x1"><span class="id" title="variable">x1</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#705c00ff5a03bf84d6828df21a7a7942"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#705c00ff5a03bf84d6828df21a7a7942"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#705c00ff5a03bf84d6828df21a7a7942"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">(</span></a>-1<a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b2"><span class="id" title="variable">b2</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f99a2dc6d143aa8f1021ab57e4a19eee"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x2"><span class="id" title="variable">x2</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#705c00ff5a03bf84d6828df21a7a7942"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">(</span></a>-1<a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#b1"><span class="id" title="variable">b1</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#a60537c464e134477471443dd91ae651"><span class="id" title="notation">(+)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b2"><span class="id" title="variable">b2</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f99a2dc6d143aa8f1021ab57e4a19eee"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f99a2dc6d143aa8f1021ab57e4a19eee"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#x1"><span class="id" title="variable">x1</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#705c00ff5a03bf84d6828df21a7a7942"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x2"><span class="id" title="variable">x2</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#f99a2dc6d143aa8f1021ab57e4a19eee"><span class="id" title="notation">)</span></a>.<br/> <br/> <span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitRingPred"><span class="id" title="section">UnitRingPred</span></a>.<br/> @@ -3922,27 +3937,27 @@ <br/> <span class="id" title="keyword">Inductive</span> <a name="GRing.term"><span class="id" title="inductive">term</span></a> : <span class="id" title="keyword">Type</span> :=<br/> -| <a name="GRing.Var"><span class="id" title="constructor">Var</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/> +| <a name="GRing.Var"><span class="id" title="constructor">Var</span></a> <span class="id" title="keyword">of</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#nat"><span class="id" title="inductive">nat</span></a><br/> | <a name="GRing.Const"><span class="id" title="constructor">Const</span></a> <span class="id" title="keyword">of</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.TermDef.R"><span class="id" title="variable">R</span></a><br/> -| <a name="GRing.NatConst"><span class="id" title="constructor">NatConst</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/> +| <a name="GRing.NatConst"><span class="id" title="constructor">NatConst</span></a> <span class="id" title="keyword">of</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#nat"><span class="id" title="inductive">nat</span></a><br/> | <a name="GRing.Add"><span class="id" title="constructor">Add</span></a> <span class="id" title="keyword">of</span> <a class="idref" href="mathcomp.algebra.ssralg.html#term"><span class="id" title="inductive">term</span></a> & <a class="idref" href="mathcomp.algebra.ssralg.html#term"><span class="id" title="inductive">term</span></a><br/> | <a name="GRing.Opp"><span class="id" title="constructor">Opp</span></a> <span class="id" title="keyword">of</span> <a class="idref" href="mathcomp.algebra.ssralg.html#term"><span class="id" title="inductive">term</span></a><br/> -| <a name="GRing.NatMul"><span class="id" title="constructor">NatMul</span></a> <span class="id" title="keyword">of</span> <a class="idref" href="mathcomp.algebra.ssralg.html#term"><span class="id" title="inductive">term</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/> +| <a name="GRing.NatMul"><span class="id" title="constructor">NatMul</span></a> <span class="id" title="keyword">of</span> <a class="idref" href="mathcomp.algebra.ssralg.html#term"><span class="id" title="inductive">term</span></a> & <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#nat"><span class="id" title="inductive">nat</span></a><br/> | <a name="GRing.Mul"><span class="id" title="constructor">Mul</span></a> <span class="id" title="keyword">of</span> <a class="idref" href="mathcomp.algebra.ssralg.html#term"><span class="id" title="inductive">term</span></a> & <a class="idref" href="mathcomp.algebra.ssralg.html#term"><span class="id" title="inductive">term</span></a><br/> | <a name="GRing.Inv"><span class="id" title="constructor">Inv</span></a> <span class="id" title="keyword">of</span> <a class="idref" href="mathcomp.algebra.ssralg.html#term"><span class="id" title="inductive">term</span></a><br/> -| <a name="GRing.Exp"><span class="id" title="constructor">Exp</span></a> <span class="id" title="keyword">of</span> <a class="idref" href="mathcomp.algebra.ssralg.html#term"><span class="id" title="inductive">term</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/> +| <a name="GRing.Exp"><span class="id" title="constructor">Exp</span></a> <span class="id" title="keyword">of</span> <a class="idref" href="mathcomp.algebra.ssralg.html#term"><span class="id" title="inductive">term</span></a> & <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#nat"><span class="id" title="inductive">nat</span></a>.<br/> <br/> <span class="id" title="keyword">Inductive</span> <a name="GRing.formula"><span class="id" title="inductive">formula</span></a> : <span class="id" title="keyword">Type</span> :=<br/> -| <a name="GRing.Bool"><span class="id" title="constructor">Bool</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#bool"><span class="id" title="inductive">bool</span></a><br/> +| <a name="GRing.Bool"><span class="id" title="constructor">Bool</span></a> <span class="id" title="keyword">of</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#bool"><span class="id" title="inductive">bool</span></a><br/> | <a name="GRing.Equal"><span class="id" title="constructor">Equal</span></a> <span class="id" title="keyword">of</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.term"><span class="id" title="inductive">term</span></a> & <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.term"><span class="id" title="inductive">term</span></a><br/> | <a name="GRing.Unit"><span class="id" title="constructor">Unit</span></a> <span class="id" title="keyword">of</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.term"><span class="id" title="inductive">term</span></a><br/> | <a name="GRing.And"><span class="id" title="constructor">And</span></a> <span class="id" title="keyword">of</span> <a class="idref" href="mathcomp.algebra.ssralg.html#formula"><span class="id" title="inductive">formula</span></a> & <a class="idref" href="mathcomp.algebra.ssralg.html#formula"><span class="id" title="inductive">formula</span></a><br/> | <a name="GRing.Or"><span class="id" title="constructor">Or</span></a> <span class="id" title="keyword">of</span> <a class="idref" href="mathcomp.algebra.ssralg.html#formula"><span class="id" title="inductive">formula</span></a> & <a class="idref" href="mathcomp.algebra.ssralg.html#formula"><span class="id" title="inductive">formula</span></a><br/> | <a name="GRing.Implies"><span class="id" title="constructor">Implies</span></a> <span class="id" title="keyword">of</span> <a class="idref" href="mathcomp.algebra.ssralg.html#formula"><span class="id" title="inductive">formula</span></a> & <a class="idref" href="mathcomp.algebra.ssralg.html#formula"><span class="id" title="inductive">formula</span></a><br/> | <a name="GRing.Not"><span class="id" title="constructor">Not</span></a> <span class="id" title="keyword">of</span> <a class="idref" href="mathcomp.algebra.ssralg.html#formula"><span class="id" title="inductive">formula</span></a><br/> -| <a name="GRing.Exists"><span class="id" title="constructor">Exists</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 class="idref" href="mathcomp.algebra.ssralg.html#formula"><span class="id" title="inductive">formula</span></a><br/> -| <a name="GRing.Forall"><span class="id" title="constructor">Forall</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 class="idref" href="mathcomp.algebra.ssralg.html#formula"><span class="id" title="inductive">formula</span></a>.<br/> +| <a name="GRing.Exists"><span class="id" title="constructor">Exists</span></a> <span class="id" title="keyword">of</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#nat"><span class="id" title="inductive">nat</span></a> & <a class="idref" href="mathcomp.algebra.ssralg.html#formula"><span class="id" title="inductive">formula</span></a><br/> +| <a name="GRing.Forall"><span class="id" title="constructor">Forall</span></a> <span class="id" title="keyword">of</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#nat"><span class="id" title="inductive">nat</span></a> & <a class="idref" href="mathcomp.algebra.ssralg.html#formula"><span class="id" title="inductive">formula</span></a>.<br/> <br/> <span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.TermDef"><span class="id" title="section">TermDef</span></a>.<br/> @@ -3952,8 +3967,8 @@ <br/> <br/> -<span class="id" title="keyword">Notation</span> <a name="GRing.True"><span class="id" title="abbreviation">True</span></a> := (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Bool"><span class="id" title="constructor">Bool</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/> -<span class="id" title="keyword">Notation</span> <a name="GRing.False"><span class="id" title="abbreviation">False</span></a> := (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Bool"><span class="id" title="constructor">Bool</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/> +<span class="id" title="keyword">Notation</span> <a name="GRing.True"><span class="id" title="abbreviation">True</span></a> := (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Bool"><span class="id" title="constructor">Bool</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#true"><span class="id" title="constructor">true</span></a>).<br/> +<span class="id" title="keyword">Notation</span> <a name="GRing.False"><span class="id" title="abbreviation">False</span></a> := (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Bool"><span class="id" title="constructor">Bool</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#false"><span class="id" title="constructor">false</span></a>).<br/> <br/> @@ -3964,30 +3979,30 @@ <span class="id" title="keyword">Variable</span> <a name="GRing.Substitution.R"><span class="id" title="variable">R</span></a> : <span class="id" title="keyword">Type</span>.<br/> <br/> -<span class="id" title="keyword">Fixpoint</span> <a name="GRing.tsubst"><span class="id" title="definition">tsubst</span></a> (<span class="id" title="var">t</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.term"><span class="id" title="inductive">term</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Substitution.R"><span class="id" title="variable">R</span></a>) (<span class="id" title="var">s</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#d19c7eafd0e2d195d10df94b392087b5"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.term"><span class="id" title="inductive">term</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Substitution.R"><span class="id" title="variable">R</span></a>) :=<br/> +<span class="id" title="keyword">Fixpoint</span> <a name="GRing.tsubst"><span class="id" title="definition">tsubst</span></a> (<span class="id" title="var">t</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.term"><span class="id" title="inductive">term</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Substitution.R"><span class="id" title="variable">R</span></a>) (<span class="id" title="var">s</span> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#nat"><span class="id" title="inductive">nat</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#11c698c8685bb8ab1cf725545c085ac4"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.term"><span class="id" title="inductive">term</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Substitution.R"><span class="id" title="variable">R</span></a>) :=<br/> <span class="id" title="keyword">match</span> <a class="idref" href="mathcomp.algebra.ssralg.html#t"><span class="id" title="variable">t</span></a> <span class="id" title="keyword">with</span><br/> - | <a class="idref" href="mathcomp.algebra.ssralg.html#bb8753f66ae3a3b4b3bd3423d5bd7db1"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#bb8753f66ae3a3b4b3bd3423d5bd7db1"><span class="id" title="notation">X_i</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> <span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.eqtype.html#17d28d004d0863cb022d4ce832ddaaae"><span class="id" title="notation">==</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#s"><span class="id" title="variable">s</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#c4877bbfe60d8f22b47ac99ace86216a"><span class="id" title="notation">.1</span></a> <a class="idref" href="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.ssralg.html#s"><span class="id" title="variable">s</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#f4827404159513e7fd691b60b7877737"><span class="id" title="notation">.2</span></a> <a class="idref" href="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.ssralg.html#t"><span class="id" title="variable">t</span></a><br/> - | <span class="id" title="var">_</span><a class="idref" href="mathcomp.algebra.ssralg.html#36988dee1d5e98e959473a8f531d647c"><span class="id" title="notation">%:</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#36988dee1d5e98e959473a8f531d647c"><span class="id" title="notation">T</span></a> | <span class="id" title="var">_</span><a class="idref" href="mathcomp.algebra.ssralg.html#680a63315a46806afe986215b67ab961"><span class="id" title="notation">%:</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#680a63315a46806afe986215b67ab961"><span class="id" title="notation">R</span></a> ⇒ <a class="idref" href="mathcomp.algebra.ssralg.html#t"><span class="id" title="variable">t</span></a><br/> - | <span class="id" title="var">t1</span> <a class="idref" href="mathcomp.algebra.ssralg.html#7f909243ac0228583a25471d8084551b"><span class="id" title="notation">+</span></a> <span class="id" title="var">t2</span> ⇒ <a class="idref" href="mathcomp.algebra.ssralg.html#tsubst"><span class="id" title="definition">tsubst</span></a> <span class="id" title="var">t1</span> <a class="idref" href="mathcomp.algebra.ssralg.html#s"><span class="id" title="variable">s</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#7f909243ac0228583a25471d8084551b"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#tsubst"><span class="id" title="definition">tsubst</span></a> <span class="id" title="var">t2</span> <a class="idref" href="mathcomp.algebra.ssralg.html#s"><span class="id" title="variable">s</span></a><br/> - | <a class="idref" href="mathcomp.algebra.ssralg.html#6c3b3e259d3f407cc03b5863f5d872ec"><span class="id" title="notation">-</span></a> <span class="id" title="var">t1</span> ⇒ <a class="idref" href="mathcomp.algebra.ssralg.html#6c3b3e259d3f407cc03b5863f5d872ec"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#tsubst"><span class="id" title="definition">tsubst</span></a> <span class="id" title="var">t1</span> <a class="idref" href="mathcomp.algebra.ssralg.html#s"><span class="id" title="variable">s</span></a><br/> - | <span class="id" title="var">t1</span> <a class="idref" href="mathcomp.algebra.ssralg.html#bb8dcb8add43cd5b4672890afb1d1839"><span class="id" title="notation">*+</span></a> <span class="id" title="var">n</span> ⇒ <a class="idref" href="mathcomp.algebra.ssralg.html#tsubst"><span class="id" title="definition">tsubst</span></a> <span class="id" title="var">t1</span> <a class="idref" href="mathcomp.algebra.ssralg.html#s"><span class="id" title="variable">s</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#bb8dcb8add43cd5b4672890afb1d1839"><span class="id" title="notation">*+</span></a> <span class="id" title="var">n</span><br/> - | <span class="id" title="var">t1</span> <a class="idref" href="mathcomp.algebra.ssralg.html#0b9ef6879d691a4408b07cd59dbb28f0"><span class="id" title="notation">×</span></a> <span class="id" title="var">t2</span> ⇒ <a class="idref" href="mathcomp.algebra.ssralg.html#tsubst"><span class="id" title="definition">tsubst</span></a> <span class="id" title="var">t1</span> <a class="idref" href="mathcomp.algebra.ssralg.html#s"><span class="id" title="variable">s</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#0b9ef6879d691a4408b07cd59dbb28f0"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#tsubst"><span class="id" title="definition">tsubst</span></a> <span class="id" title="var">t2</span> <a class="idref" href="mathcomp.algebra.ssralg.html#s"><span class="id" title="variable">s</span></a><br/> - | <span class="id" title="var">t1</span><a class="idref" href="mathcomp.algebra.ssralg.html#8527e8676e2efa838eb3d51e80e2d39f"><span class="id" title="notation">^-1</span></a> ⇒ <a class="idref" href="mathcomp.algebra.ssralg.html#8527e8676e2efa838eb3d51e80e2d39f"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#tsubst"><span class="id" title="definition">tsubst</span></a> <span class="id" title="var">t1</span> <a class="idref" href="mathcomp.algebra.ssralg.html#s"><span class="id" title="variable">s</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#8527e8676e2efa838eb3d51e80e2d39f"><span class="id" title="notation">)^-1</span></a><br/> - | <span class="id" title="var">t1</span> <a class="idref" href="mathcomp.algebra.ssralg.html#076e0496ae7ecaf146a6c132bdca5782"><span class="id" title="notation">^+</span></a> <span class="id" title="var">n</span> ⇒ <a class="idref" href="mathcomp.algebra.ssralg.html#tsubst"><span class="id" title="definition">tsubst</span></a> <span class="id" title="var">t1</span> <a class="idref" href="mathcomp.algebra.ssralg.html#s"><span class="id" title="variable">s</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#076e0496ae7ecaf146a6c132bdca5782"><span class="id" title="notation">^+</span></a> <span class="id" title="var">n</span><br/> + | <a class="idref" href="mathcomp.algebra.ssralg.html#2d5cc450d76596e00ba9d438af4e1dc5"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#2d5cc450d76596e00ba9d438af4e1dc5"><span class="id" title="notation">X_i</span></a> ⇒ <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssreflect.html#00a1a5b58aac8f1e3f1abff064a39f9d"><span class="id" title="notation">if</span></a> <span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.eqtype.html#df45e8c2e8370fd4f0f7c4fdaf208180"><span class="id" title="notation">==</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#s"><span class="id" title="variable">s</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#e0817251e7d67ad994b4d9b1aa82a412"><span class="id" title="notation">.1</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssreflect.html#00a1a5b58aac8f1e3f1abff064a39f9d"><span class="id" title="notation">then</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#s"><span class="id" title="variable">s</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#675082cc4d4538da052b547bdc6ea4c9"><span class="id" title="notation">.2</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssreflect.html#00a1a5b58aac8f1e3f1abff064a39f9d"><span class="id" title="notation">else</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#t"><span class="id" title="variable">t</span></a><br/> + | <span class="id" title="var">_</span><a class="idref" href="mathcomp.algebra.ssralg.html#a4e52005e26c4b25ab5e860f94c039f7"><span class="id" title="notation">%:</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#a4e52005e26c4b25ab5e860f94c039f7"><span class="id" title="notation">T</span></a> | <span class="id" title="var">_</span><a class="idref" href="mathcomp.algebra.ssralg.html#8f212249fc4cb1d481e8d42f00523dbd"><span class="id" title="notation">%:</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#8f212249fc4cb1d481e8d42f00523dbd"><span class="id" title="notation">R</span></a> ⇒ <a class="idref" href="mathcomp.algebra.ssralg.html#t"><span class="id" title="variable">t</span></a><br/> + | <span class="id" title="var">t1</span> <a class="idref" href="mathcomp.algebra.ssralg.html#dbf4583bf7f5ea301319678efa885505"><span class="id" title="notation">+</span></a> <span class="id" title="var">t2</span> ⇒ <a class="idref" href="mathcomp.algebra.ssralg.html#tsubst"><span class="id" title="definition">tsubst</span></a> <span class="id" title="var">t1</span> <a class="idref" href="mathcomp.algebra.ssralg.html#s"><span class="id" title="variable">s</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#dbf4583bf7f5ea301319678efa885505"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#tsubst"><span class="id" title="definition">tsubst</span></a> <span class="id" title="var">t2</span> <a class="idref" href="mathcomp.algebra.ssralg.html#s"><span class="id" title="variable">s</span></a><br/> + | <a class="idref" href="mathcomp.algebra.ssralg.html#e2d8b10a7f82d8520cd39f5ef78702a0"><span class="id" title="notation">-</span></a> <span class="id" title="var">t1</span> ⇒ <a class="idref" href="mathcomp.algebra.ssralg.html#e2d8b10a7f82d8520cd39f5ef78702a0"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#tsubst"><span class="id" title="definition">tsubst</span></a> <span class="id" title="var">t1</span> <a class="idref" href="mathcomp.algebra.ssralg.html#s"><span class="id" title="variable">s</span></a><br/> + | <span class="id" title="var">t1</span> <a class="idref" href="mathcomp.algebra.ssralg.html#74b863100f00ebe6b6a91299397f9af3"><span class="id" title="notation">*+</span></a> <span class="id" title="var">n</span> ⇒ <a class="idref" href="mathcomp.algebra.ssralg.html#tsubst"><span class="id" title="definition">tsubst</span></a> <span class="id" title="var">t1</span> <a class="idref" href="mathcomp.algebra.ssralg.html#s"><span class="id" title="variable">s</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#74b863100f00ebe6b6a91299397f9af3"><span class="id" title="notation">*+</span></a> <span class="id" title="var">n</span><br/> + | <span class="id" title="var">t1</span> <a class="idref" href="mathcomp.algebra.ssralg.html#a9e0394c049f1992b539cb7717095281"><span class="id" title="notation">×</span></a> <span class="id" title="var">t2</span> ⇒ <a class="idref" href="mathcomp.algebra.ssralg.html#tsubst"><span class="id" title="definition">tsubst</span></a> <span class="id" title="var">t1</span> <a class="idref" href="mathcomp.algebra.ssralg.html#s"><span class="id" title="variable">s</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#a9e0394c049f1992b539cb7717095281"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#tsubst"><span class="id" title="definition">tsubst</span></a> <span class="id" title="var">t2</span> <a class="idref" href="mathcomp.algebra.ssralg.html#s"><span class="id" title="variable">s</span></a><br/> + | <span class="id" title="var">t1</span><a class="idref" href="mathcomp.algebra.ssralg.html#ae816e3b24c797f519ce51141978e695"><span class="id" title="notation">^-1</span></a> ⇒ <a class="idref" href="mathcomp.algebra.ssralg.html#ae816e3b24c797f519ce51141978e695"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#tsubst"><span class="id" title="definition">tsubst</span></a> <span class="id" title="var">t1</span> <a class="idref" href="mathcomp.algebra.ssralg.html#s"><span class="id" title="variable">s</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#ae816e3b24c797f519ce51141978e695"><span class="id" title="notation">)^-1</span></a><br/> + | <span class="id" title="var">t1</span> <a class="idref" href="mathcomp.algebra.ssralg.html#d56cb9de8d42b54fdfaa24a15d81424e"><span class="id" title="notation">^+</span></a> <span class="id" title="var">n</span> ⇒ <a class="idref" href="mathcomp.algebra.ssralg.html#tsubst"><span class="id" title="definition">tsubst</span></a> <span class="id" title="var">t1</span> <a class="idref" href="mathcomp.algebra.ssralg.html#s"><span class="id" title="variable">s</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#d56cb9de8d42b54fdfaa24a15d81424e"><span class="id" title="notation">^+</span></a> <span class="id" title="var">n</span><br/> <span class="id" title="keyword">end</span>%<span class="id" title="var">T</span>.<br/> <br/> -<span class="id" title="keyword">Fixpoint</span> <a name="GRing.fsubst"><span class="id" title="definition">fsubst</span></a> (<span class="id" title="var">f</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.formula"><span class="id" title="inductive">formula</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Substitution.R"><span class="id" title="variable">R</span></a>) (<span class="id" title="var">s</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#d19c7eafd0e2d195d10df94b392087b5"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.term"><span class="id" title="inductive">term</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Substitution.R"><span class="id" title="variable">R</span></a>) :=<br/> +<span class="id" title="keyword">Fixpoint</span> <a name="GRing.fsubst"><span class="id" title="definition">fsubst</span></a> (<span class="id" title="var">f</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.formula"><span class="id" title="inductive">formula</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Substitution.R"><span class="id" title="variable">R</span></a>) (<span class="id" title="var">s</span> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#nat"><span class="id" title="inductive">nat</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#11c698c8685bb8ab1cf725545c085ac4"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.term"><span class="id" title="inductive">term</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Substitution.R"><span class="id" title="variable">R</span></a>) :=<br/> <span class="id" title="keyword">match</span> <a class="idref" href="mathcomp.algebra.ssralg.html#f"><span class="id" title="variable">f</span></a> <span class="id" title="keyword">with</span><br/> | <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Bool"><span class="id" title="constructor">Bool</span></a> <span class="id" title="var">_</span> ⇒ <a class="idref" href="mathcomp.algebra.ssralg.html#f"><span class="id" title="variable">f</span></a><br/> - | <span class="id" title="var">t1</span> <a class="idref" href="mathcomp.algebra.ssralg.html#1a6fbc7f80506595657605bb77bac252"><span class="id" title="notation">==</span></a> <span class="id" title="var">t2</span> ⇒ <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.tsubst"><span class="id" title="definition">tsubst</span></a> <span class="id" title="var">t1</span> <a class="idref" href="mathcomp.algebra.ssralg.html#s"><span class="id" title="variable">s</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#1a6fbc7f80506595657605bb77bac252"><span class="id" title="notation">==</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.tsubst"><span class="id" title="definition">tsubst</span></a> <span class="id" title="var">t2</span> <a class="idref" href="mathcomp.algebra.ssralg.html#s"><span class="id" title="variable">s</span></a><br/> + | <span class="id" title="var">t1</span> <a class="idref" href="mathcomp.algebra.ssralg.html#e6bce7853a73484fa8c54c3b3d0fe8f6"><span class="id" title="notation">==</span></a> <span class="id" title="var">t2</span> ⇒ <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.tsubst"><span class="id" title="definition">tsubst</span></a> <span class="id" title="var">t1</span> <a class="idref" href="mathcomp.algebra.ssralg.html#s"><span class="id" title="variable">s</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#e6bce7853a73484fa8c54c3b3d0fe8f6"><span class="id" title="notation">==</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.tsubst"><span class="id" title="definition">tsubst</span></a> <span class="id" title="var">t2</span> <a class="idref" href="mathcomp.algebra.ssralg.html#s"><span class="id" title="variable">s</span></a><br/> | <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Unit"><span class="id" title="constructor">Unit</span></a> <span class="id" title="var">t1</span> ⇒ <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Unit"><span class="id" title="constructor">Unit</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.tsubst"><span class="id" title="definition">tsubst</span></a> <span class="id" title="var">t1</span> <a class="idref" href="mathcomp.algebra.ssralg.html#s"><span class="id" title="variable">s</span></a>)<br/> - | <span class="id" title="var">f1</span> <a class="idref" href="mathcomp.algebra.ssralg.html#421c9c3c51833f1724975feaafb4b744"><span class="id" title="notation">∧</span></a> <span class="id" title="var">f2</span> ⇒ <a class="idref" href="mathcomp.algebra.ssralg.html#fsubst"><span class="id" title="definition">fsubst</span></a> <span class="id" title="var">f1</span> <a class="idref" href="mathcomp.algebra.ssralg.html#s"><span class="id" title="variable">s</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#421c9c3c51833f1724975feaafb4b744"><span class="id" title="notation">∧</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#fsubst"><span class="id" title="definition">fsubst</span></a> <span class="id" title="var">f2</span> <a class="idref" href="mathcomp.algebra.ssralg.html#s"><span class="id" title="variable">s</span></a><br/> - | <span class="id" title="var">f1</span> <a class="idref" href="mathcomp.algebra.ssralg.html#00b8327e04e2b6f2d979016edbc0c67a"><span class="id" title="notation">∨</span></a> <span class="id" title="var">f2</span> ⇒ <a class="idref" href="mathcomp.algebra.ssralg.html#fsubst"><span class="id" title="definition">fsubst</span></a> <span class="id" title="var">f1</span> <a class="idref" href="mathcomp.algebra.ssralg.html#s"><span class="id" title="variable">s</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#00b8327e04e2b6f2d979016edbc0c67a"><span class="id" title="notation">∨</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#fsubst"><span class="id" title="definition">fsubst</span></a> <span class="id" title="var">f2</span> <a class="idref" href="mathcomp.algebra.ssralg.html#s"><span class="id" title="variable">s</span></a><br/> - | <span class="id" title="var">f1</span> <a class="idref" href="mathcomp.algebra.ssralg.html#0686cd1bb1af98b02865ebbedcf70bd7"><span class="id" title="notation">==></span></a> <span class="id" title="var">f2</span> ⇒ <a class="idref" href="mathcomp.algebra.ssralg.html#fsubst"><span class="id" title="definition">fsubst</span></a> <span class="id" title="var">f1</span> <a class="idref" href="mathcomp.algebra.ssralg.html#s"><span class="id" title="variable">s</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#0686cd1bb1af98b02865ebbedcf70bd7"><span class="id" title="notation">==></span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#fsubst"><span class="id" title="definition">fsubst</span></a> <span class="id" title="var">f2</span> <a class="idref" href="mathcomp.algebra.ssralg.html#s"><span class="id" title="variable">s</span></a><br/> - | <a class="idref" href="mathcomp.algebra.ssralg.html#bf1935aa3f28dfd45301897795b397a5"><span class="id" title="notation">¬</span></a> <span class="id" title="var">f1</span> ⇒ <a class="idref" href="mathcomp.algebra.ssralg.html#bf1935aa3f28dfd45301897795b397a5"><span class="id" title="notation">¬</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#fsubst"><span class="id" title="definition">fsubst</span></a> <span class="id" title="var">f1</span> <a class="idref" href="mathcomp.algebra.ssralg.html#s"><span class="id" title="variable">s</span></a><br/> - | (<a class="idref" href="mathcomp.algebra.ssralg.html#cde0c417a2306d50158e89540db8c60d"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#cde0c417a2306d50158e89540db8c60d"><span class="id" title="notation">∃</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#cde0c417a2306d50158e89540db8c60d"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#cde0c417a2306d50158e89540db8c60d"><span class="id" title="notation">X_i</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#cde0c417a2306d50158e89540db8c60d"><span class="id" title="notation">,</span></a> <span class="id" title="var">f1</span>) ⇒ <a class="idref" href="mathcomp.algebra.ssralg.html#cde0c417a2306d50158e89540db8c60d"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#cde0c417a2306d50158e89540db8c60d"><span class="id" title="notation">∃</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#cde0c417a2306d50158e89540db8c60d"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#cde0c417a2306d50158e89540db8c60d"><span class="id" title="notation">X_i</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#cde0c417a2306d50158e89540db8c60d"><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> <span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.eqtype.html#17d28d004d0863cb022d4ce832ddaaae"><span class="id" title="notation">==</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#s"><span class="id" title="variable">s</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#c4877bbfe60d8f22b47ac99ace86216a"><span class="id" title="notation">.1</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssreflect.html#0348819abaa88c2cd747e8fa60dde7ae"><span class="id" title="notation">then</span></a> <span class="id" title="var">f1</span> <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.ssralg.html#fsubst"><span class="id" title="definition">fsubst</span></a> <span class="id" title="var">f1</span> <a class="idref" href="mathcomp.algebra.ssralg.html#s"><span class="id" title="variable">s</span></a><br/> - | (<a class="idref" href="mathcomp.algebra.ssralg.html#bc08eb662d28e6715d9720beafd75750"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#bc08eb662d28e6715d9720beafd75750"><span class="id" title="notation">∀</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#bc08eb662d28e6715d9720beafd75750"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#bc08eb662d28e6715d9720beafd75750"><span class="id" title="notation">X_i</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#bc08eb662d28e6715d9720beafd75750"><span class="id" title="notation">,</span></a> <span class="id" title="var">f1</span>) ⇒ <a class="idref" href="mathcomp.algebra.ssralg.html#bc08eb662d28e6715d9720beafd75750"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#bc08eb662d28e6715d9720beafd75750"><span class="id" title="notation">∀</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#bc08eb662d28e6715d9720beafd75750"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#bc08eb662d28e6715d9720beafd75750"><span class="id" title="notation">X_i</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#bc08eb662d28e6715d9720beafd75750"><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> <span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.eqtype.html#17d28d004d0863cb022d4ce832ddaaae"><span class="id" title="notation">==</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#s"><span class="id" title="variable">s</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#c4877bbfe60d8f22b47ac99ace86216a"><span class="id" title="notation">.1</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssreflect.html#0348819abaa88c2cd747e8fa60dde7ae"><span class="id" title="notation">then</span></a> <span class="id" title="var">f1</span> <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.ssralg.html#fsubst"><span class="id" title="definition">fsubst</span></a> <span class="id" title="var">f1</span> <a class="idref" href="mathcomp.algebra.ssralg.html#s"><span class="id" title="variable">s</span></a><br/> + | <span class="id" title="var">f1</span> <a class="idref" href="mathcomp.algebra.ssralg.html#ab32bd0aebe6dabd4efe45ce35759537"><span class="id" title="notation">∧</span></a> <span class="id" title="var">f2</span> ⇒ <a class="idref" href="mathcomp.algebra.ssralg.html#fsubst"><span class="id" title="definition">fsubst</span></a> <span class="id" title="var">f1</span> <a class="idref" href="mathcomp.algebra.ssralg.html#s"><span class="id" title="variable">s</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#ab32bd0aebe6dabd4efe45ce35759537"><span class="id" title="notation">∧</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#fsubst"><span class="id" title="definition">fsubst</span></a> <span class="id" title="var">f2</span> <a class="idref" href="mathcomp.algebra.ssralg.html#s"><span class="id" title="variable">s</span></a><br/> + | <span class="id" title="var">f1</span> <a class="idref" href="mathcomp.algebra.ssralg.html#bef44b50d3f3917949ecad5e3e01309c"><span class="id" title="notation">∨</span></a> <span class="id" title="var">f2</span> ⇒ <a class="idref" href="mathcomp.algebra.ssralg.html#fsubst"><span class="id" title="definition">fsubst</span></a> <span class="id" title="var">f1</span> <a class="idref" href="mathcomp.algebra.ssralg.html#s"><span class="id" title="variable">s</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#bef44b50d3f3917949ecad5e3e01309c"><span class="id" title="notation">∨</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#fsubst"><span class="id" title="definition">fsubst</span></a> <span class="id" title="var">f2</span> <a class="idref" href="mathcomp.algebra.ssralg.html#s"><span class="id" title="variable">s</span></a><br/> + | <span class="id" title="var">f1</span> <a class="idref" href="mathcomp.algebra.ssralg.html#33d69901017412abb2c3513a87e991c1"><span class="id" title="notation">==></span></a> <span class="id" title="var">f2</span> ⇒ <a class="idref" href="mathcomp.algebra.ssralg.html#fsubst"><span class="id" title="definition">fsubst</span></a> <span class="id" title="var">f1</span> <a class="idref" href="mathcomp.algebra.ssralg.html#s"><span class="id" title="variable">s</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#33d69901017412abb2c3513a87e991c1"><span class="id" title="notation">==></span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#fsubst"><span class="id" title="definition">fsubst</span></a> <span class="id" title="var">f2</span> <a class="idref" href="mathcomp.algebra.ssralg.html#s"><span class="id" title="variable">s</span></a><br/> + | <a class="idref" href="mathcomp.algebra.ssralg.html#8fd8345f0bd0f50ba5171cc7c1b45aca"><span class="id" title="notation">¬</span></a> <span class="id" title="var">f1</span> ⇒ <a class="idref" href="mathcomp.algebra.ssralg.html#8fd8345f0bd0f50ba5171cc7c1b45aca"><span class="id" title="notation">¬</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#fsubst"><span class="id" title="definition">fsubst</span></a> <span class="id" title="var">f1</span> <a class="idref" href="mathcomp.algebra.ssralg.html#s"><span class="id" title="variable">s</span></a><br/> + | (<a class="idref" href="mathcomp.algebra.ssralg.html#3a3c189a0c88aa572171a0bae2912beb"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#3a3c189a0c88aa572171a0bae2912beb"><span class="id" title="notation">∃</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#3a3c189a0c88aa572171a0bae2912beb"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#3a3c189a0c88aa572171a0bae2912beb"><span class="id" title="notation">X_i</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#3a3c189a0c88aa572171a0bae2912beb"><span class="id" title="notation">,</span></a> <span class="id" title="var">f1</span>) ⇒ <a class="idref" href="mathcomp.algebra.ssralg.html#3a3c189a0c88aa572171a0bae2912beb"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#3a3c189a0c88aa572171a0bae2912beb"><span class="id" title="notation">∃</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#3a3c189a0c88aa572171a0bae2912beb"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#3a3c189a0c88aa572171a0bae2912beb"><span class="id" title="notation">X_i</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#3a3c189a0c88aa572171a0bae2912beb"><span class="id" title="notation">,</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssreflect.html#00a1a5b58aac8f1e3f1abff064a39f9d"><span class="id" title="notation">if</span></a> <span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.eqtype.html#df45e8c2e8370fd4f0f7c4fdaf208180"><span class="id" title="notation">==</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#s"><span class="id" title="variable">s</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#e0817251e7d67ad994b4d9b1aa82a412"><span class="id" title="notation">.1</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssreflect.html#00a1a5b58aac8f1e3f1abff064a39f9d"><span class="id" title="notation">then</span></a> <span class="id" title="var">f1</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssreflect.html#00a1a5b58aac8f1e3f1abff064a39f9d"><span class="id" title="notation">else</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#fsubst"><span class="id" title="definition">fsubst</span></a> <span class="id" title="var">f1</span> <a class="idref" href="mathcomp.algebra.ssralg.html#s"><span class="id" title="variable">s</span></a><br/> + | (<a class="idref" href="mathcomp.algebra.ssralg.html#662c07b5d0726d21c8edce4d5fbaa087"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#662c07b5d0726d21c8edce4d5fbaa087"><span class="id" title="notation">∀</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#662c07b5d0726d21c8edce4d5fbaa087"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#662c07b5d0726d21c8edce4d5fbaa087"><span class="id" title="notation">X_i</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#662c07b5d0726d21c8edce4d5fbaa087"><span class="id" title="notation">,</span></a> <span class="id" title="var">f1</span>) ⇒ <a class="idref" href="mathcomp.algebra.ssralg.html#662c07b5d0726d21c8edce4d5fbaa087"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#662c07b5d0726d21c8edce4d5fbaa087"><span class="id" title="notation">∀</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#662c07b5d0726d21c8edce4d5fbaa087"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#662c07b5d0726d21c8edce4d5fbaa087"><span class="id" title="notation">X_i</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#662c07b5d0726d21c8edce4d5fbaa087"><span class="id" title="notation">,</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssreflect.html#00a1a5b58aac8f1e3f1abff064a39f9d"><span class="id" title="notation">if</span></a> <span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.eqtype.html#df45e8c2e8370fd4f0f7c4fdaf208180"><span class="id" title="notation">==</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#s"><span class="id" title="variable">s</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#e0817251e7d67ad994b4d9b1aa82a412"><span class="id" title="notation">.1</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssreflect.html#00a1a5b58aac8f1e3f1abff064a39f9d"><span class="id" title="notation">then</span></a> <span class="id" title="var">f1</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssreflect.html#00a1a5b58aac8f1e3f1abff064a39f9d"><span class="id" title="notation">else</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#fsubst"><span class="id" title="definition">fsubst</span></a> <span class="id" title="var">f1</span> <a class="idref" href="mathcomp.algebra.ssralg.html#s"><span class="id" title="variable">s</span></a><br/> <span class="id" title="keyword">end</span>%<span class="id" title="var">T</span>.<br/> <br/> @@ -4008,26 +4023,26 @@ <div class="code"> <span class="id" title="keyword">Fixpoint</span> <a name="GRing.eval"><span class="id" title="definition">eval</span></a> (<span class="id" title="var">e</span> : <a class="idref" href="mathcomp.ssreflect.seq.html#seq"><span class="id" title="abbreviation">seq</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.EvalTerm.R"><span class="id" title="variable">R</span></a>) (<span class="id" title="var">t</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.term"><span class="id" title="inductive">term</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.EvalTerm.R"><span class="id" title="variable">R</span></a>) {<span class="id" title="keyword">struct</span> <span class="id" title="var">t</span>} : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.EvalTerm.R"><span class="id" title="variable">R</span></a> :=<br/> <span class="id" title="keyword">match</span> <a class="idref" href="mathcomp.algebra.ssralg.html#t"><span class="id" title="variable">t</span></a> <span class="id" title="keyword">with</span><br/> - | (<a class="idref" href="mathcomp.algebra.ssralg.html#bb8753f66ae3a3b4b3bd3423d5bd7db1"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#bb8753f66ae3a3b4b3bd3423d5bd7db1"><span class="id" title="notation">X_i</span></a>)%<span class="id" title="var">T</span> ⇒ <a class="idref" href="mathcomp.algebra.ssralg.html#e"><span class="id" title="variable">e</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#cba7c6485dff34fa5d3cd17d8c695698"><span class="id" title="notation">`</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#cba7c6485dff34fa5d3cd17d8c695698"><span class="id" title="notation">_i</span></a><br/> - | (<span class="id" title="var">x</span><a class="idref" href="mathcomp.algebra.ssralg.html#36988dee1d5e98e959473a8f531d647c"><span class="id" title="notation">%:</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#36988dee1d5e98e959473a8f531d647c"><span class="id" title="notation">T</span></a>)%<span class="id" title="var">T</span> ⇒ <span class="id" title="var">x</span><br/> - | (<span class="id" title="var">n</span><a class="idref" href="mathcomp.algebra.ssralg.html#680a63315a46806afe986215b67ab961"><span class="id" title="notation">%:</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#680a63315a46806afe986215b67ab961"><span class="id" title="notation">R</span></a>)%<span class="id" title="var">T</span> ⇒ <span class="id" title="var">n</span><a class="idref" href="mathcomp.algebra.ssralg.html#c191333b9c7c034282647fbffacc9d18"><span class="id" title="notation">%:</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#c191333b9c7c034282647fbffacc9d18"><span class="id" title="notation">R</span></a><br/> - | (<span class="id" title="var">t1</span> <a class="idref" href="mathcomp.algebra.ssralg.html#7f909243ac0228583a25471d8084551b"><span class="id" title="notation">+</span></a> <span class="id" title="var">t2</span>)%<span class="id" title="var">T</span> ⇒ <a class="idref" href="mathcomp.algebra.ssralg.html#eval"><span class="id" title="definition">eval</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#e"><span class="id" title="variable">e</span></a> <span class="id" title="var">t1</span> <a class="idref" href="mathcomp.algebra.ssralg.html#338c5345074fd3586073fd29273c138a"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#eval"><span class="id" title="definition">eval</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#e"><span class="id" title="variable">e</span></a> <span class="id" title="var">t2</span><br/> - | (<a class="idref" href="mathcomp.algebra.ssralg.html#6c3b3e259d3f407cc03b5863f5d872ec"><span class="id" title="notation">-</span></a> <span class="id" title="var">t1</span>)%<span class="id" title="var">T</span> ⇒ <a class="idref" href="mathcomp.algebra.ssralg.html#eefae7eea8ed2b8fccf150cb653d7a7b"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#eval"><span class="id" title="definition">eval</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#e"><span class="id" title="variable">e</span></a> <span class="id" title="var">t1</span><br/> - | (<span class="id" title="var">t1</span> <a class="idref" href="mathcomp.algebra.ssralg.html#bb8dcb8add43cd5b4672890afb1d1839"><span class="id" title="notation">*+</span></a> <span class="id" title="var">n</span>)%<span class="id" title="var">T</span> ⇒ <a class="idref" href="mathcomp.algebra.ssralg.html#eval"><span class="id" title="definition">eval</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#e"><span class="id" title="variable">e</span></a> <span class="id" title="var">t1</span> <a class="idref" href="mathcomp.algebra.ssralg.html#513eaa3129601ecbcc9e188a80d6155b"><span class="id" title="notation">*+</span></a> <span class="id" title="var">n</span><br/> - | (<span class="id" title="var">t1</span> <a class="idref" href="mathcomp.algebra.ssralg.html#0b9ef6879d691a4408b07cd59dbb28f0"><span class="id" title="notation">×</span></a> <span class="id" title="var">t2</span>)%<span class="id" title="var">T</span> ⇒ <a class="idref" href="mathcomp.algebra.ssralg.html#eval"><span class="id" title="definition">eval</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#e"><span class="id" title="variable">e</span></a> <span class="id" title="var">t1</span> <a class="idref" href="mathcomp.algebra.ssralg.html#ed99e7035d9a1f8a2c1515be81ac2e5f"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#eval"><span class="id" title="definition">eval</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#e"><span class="id" title="variable">e</span></a> <span class="id" title="var">t2</span><br/> - | <span class="id" title="var">t1</span><a class="idref" href="mathcomp.algebra.ssralg.html#8527e8676e2efa838eb3d51e80e2d39f"><span class="id" title="notation">^-1</span></a>%<span class="id" title="var">T</span> ⇒ <a class="idref" href="mathcomp.algebra.ssralg.html#7f97e90bec2e67d9beef5851649e3fb1"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#eval"><span class="id" title="definition">eval</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#e"><span class="id" title="variable">e</span></a> <span class="id" title="var">t1</span><a class="idref" href="mathcomp.algebra.ssralg.html#7f97e90bec2e67d9beef5851649e3fb1"><span class="id" title="notation">)^-1</span></a><br/> - | (<span class="id" title="var">t1</span> <a class="idref" href="mathcomp.algebra.ssralg.html#076e0496ae7ecaf146a6c132bdca5782"><span class="id" title="notation">^+</span></a> <span class="id" title="var">n</span>)%<span class="id" title="var">T</span> ⇒ <a class="idref" href="mathcomp.algebra.ssralg.html#eval"><span class="id" title="definition">eval</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#e"><span class="id" title="variable">e</span></a> <span class="id" title="var">t1</span> <a class="idref" href="mathcomp.algebra.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">^+</span></a> <span class="id" title="var">n</span><br/> + | (<a class="idref" href="mathcomp.algebra.ssralg.html#2d5cc450d76596e00ba9d438af4e1dc5"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#2d5cc450d76596e00ba9d438af4e1dc5"><span class="id" title="notation">X_i</span></a>)%<span class="id" title="var">T</span> ⇒ <a class="idref" href="mathcomp.algebra.ssralg.html#e"><span class="id" title="variable">e</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#ba78b96b099a9672a88803cbbfa90ebc"><span class="id" title="notation">`</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#ba78b96b099a9672a88803cbbfa90ebc"><span class="id" title="notation">_i</span></a><br/> + | (<span class="id" title="var">x</span><a class="idref" href="mathcomp.algebra.ssralg.html#a4e52005e26c4b25ab5e860f94c039f7"><span class="id" title="notation">%:</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#a4e52005e26c4b25ab5e860f94c039f7"><span class="id" title="notation">T</span></a>)%<span class="id" title="var">T</span> ⇒ <span class="id" title="var">x</span><br/> + | (<span class="id" title="var">n</span><a class="idref" href="mathcomp.algebra.ssralg.html#8f212249fc4cb1d481e8d42f00523dbd"><span class="id" title="notation">%:</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#8f212249fc4cb1d481e8d42f00523dbd"><span class="id" title="notation">R</span></a>)%<span class="id" title="var">T</span> ⇒ <span class="id" title="var">n</span><a class="idref" href="mathcomp.algebra.ssralg.html#512a31305e556a90e0ad0550ee623cbc"><span class="id" title="notation">%:</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#512a31305e556a90e0ad0550ee623cbc"><span class="id" title="notation">R</span></a><br/> + | (<span class="id" title="var">t1</span> <a class="idref" href="mathcomp.algebra.ssralg.html#dbf4583bf7f5ea301319678efa885505"><span class="id" title="notation">+</span></a> <span class="id" title="var">t2</span>)%<span class="id" title="var">T</span> ⇒ <a class="idref" href="mathcomp.algebra.ssralg.html#eval"><span class="id" title="definition">eval</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#e"><span class="id" title="variable">e</span></a> <span class="id" title="var">t1</span> <a class="idref" href="mathcomp.algebra.ssralg.html#730bbb3cf1092122fa1a208d3879e5e8"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#eval"><span class="id" title="definition">eval</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#e"><span class="id" title="variable">e</span></a> <span class="id" title="var">t2</span><br/> + | (<a class="idref" href="mathcomp.algebra.ssralg.html#e2d8b10a7f82d8520cd39f5ef78702a0"><span class="id" title="notation">-</span></a> <span class="id" title="var">t1</span>)%<span class="id" title="var">T</span> ⇒ <a class="idref" href="mathcomp.algebra.ssralg.html#aa58dfcfb323e1f070c38e31f9efddbe"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#eval"><span class="id" title="definition">eval</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#e"><span class="id" title="variable">e</span></a> <span class="id" title="var">t1</span><br/> + | (<span class="id" title="var">t1</span> <a class="idref" href="mathcomp.algebra.ssralg.html#74b863100f00ebe6b6a91299397f9af3"><span class="id" title="notation">*+</span></a> <span class="id" title="var">n</span>)%<span class="id" title="var">T</span> ⇒ <a class="idref" href="mathcomp.algebra.ssralg.html#eval"><span class="id" title="definition">eval</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#e"><span class="id" title="variable">e</span></a> <span class="id" title="var">t1</span> <a class="idref" href="mathcomp.algebra.ssralg.html#506f68330939db1f655609b68b37b467"><span class="id" title="notation">*+</span></a> <span class="id" title="var">n</span><br/> + | (<span class="id" title="var">t1</span> <a class="idref" href="mathcomp.algebra.ssralg.html#a9e0394c049f1992b539cb7717095281"><span class="id" title="notation">×</span></a> <span class="id" title="var">t2</span>)%<span class="id" title="var">T</span> ⇒ <a class="idref" href="mathcomp.algebra.ssralg.html#eval"><span class="id" title="definition">eval</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#e"><span class="id" title="variable">e</span></a> <span class="id" title="var">t1</span> <a class="idref" href="mathcomp.algebra.ssralg.html#f99a2dc6d143aa8f1021ab57e4a19eee"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#eval"><span class="id" title="definition">eval</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#e"><span class="id" title="variable">e</span></a> <span class="id" title="var">t2</span><br/> + | <span class="id" title="var">t1</span><a class="idref" href="mathcomp.algebra.ssralg.html#ae816e3b24c797f519ce51141978e695"><span class="id" title="notation">^-1</span></a>%<span class="id" title="var">T</span> ⇒ <a class="idref" href="mathcomp.algebra.ssralg.html#139f286ff80df5d41ea22851b1826860"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#eval"><span class="id" title="definition">eval</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#e"><span class="id" title="variable">e</span></a> <span class="id" title="var">t1</span><a class="idref" href="mathcomp.algebra.ssralg.html#139f286ff80df5d41ea22851b1826860"><span class="id" title="notation">)^-1</span></a><br/> + | (<span class="id" title="var">t1</span> <a class="idref" href="mathcomp.algebra.ssralg.html#d56cb9de8d42b54fdfaa24a15d81424e"><span class="id" title="notation">^+</span></a> <span class="id" title="var">n</span>)%<span class="id" title="var">T</span> ⇒ <a class="idref" href="mathcomp.algebra.ssralg.html#eval"><span class="id" title="definition">eval</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#e"><span class="id" title="variable">e</span></a> <span class="id" title="var">t1</span> <a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">^+</span></a> <span class="id" title="var">n</span><br/> <span class="id" title="keyword">end</span>.<br/> <br/> -<span class="id" title="keyword">Definition</span> <a name="GRing.same_env"><span class="id" title="definition">same_env</span></a> (<span class="id" title="var">e</span> <span class="id" title="var">e'</span> : <a class="idref" href="mathcomp.ssreflect.seq.html#seq"><span class="id" title="abbreviation">seq</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.EvalTerm.R"><span class="id" title="variable">R</span></a>) := <a class="idref" href="mathcomp.ssreflect.seq.html#nth"><span class="id" title="definition">nth</span></a> 0 <a class="idref" href="mathcomp.algebra.ssralg.html#e"><span class="id" title="variable">e</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="mathcomp.ssreflect.seq.html#nth"><span class="id" title="definition">nth</span></a> 0 <a class="idref" href="mathcomp.algebra.ssralg.html#e'"><span class="id" title="variable">e'</span></a>.<br/> +<span class="id" title="keyword">Definition</span> <a name="GRing.same_env"><span class="id" title="definition">same_env</span></a> (<span class="id" title="var">e</span> <span class="id" title="var">e'</span> : <a class="idref" href="mathcomp.ssreflect.seq.html#seq"><span class="id" title="abbreviation">seq</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.EvalTerm.R"><span class="id" title="variable">R</span></a>) := <a class="idref" href="mathcomp.ssreflect.seq.html#nth"><span class="id" title="definition">nth</span></a> 0 <a class="idref" href="mathcomp.algebra.ssralg.html#e"><span class="id" title="variable">e</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#876aa133fb3472bffd492f74ff496035"><span class="id" title="notation">=1</span></a> <a class="idref" href="mathcomp.ssreflect.seq.html#nth"><span class="id" title="definition">nth</span></a> 0 <a class="idref" href="mathcomp.algebra.ssralg.html#e'"><span class="id" title="variable">e'</span></a>.<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.eq_eval"><span class="id" title="lemma">eq_eval</span></a> <span class="id" title="var">e</span> <span class="id" title="var">e'</span> <span class="id" title="var">t</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.same_env"><span class="id" title="definition">same_env</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#e"><span class="id" title="variable">e</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#e'"><span class="id" title="variable">e'</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.eval"><span class="id" title="definition">eval</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#e"><span class="id" title="variable">e</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#t"><span class="id" title="variable">t</span></a> <a class="idref" href="http://coq.inria.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#GRing.eval"><span class="id" title="definition">eval</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#e'"><span class="id" title="variable">e'</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#t"><span class="id" title="variable">t</span></a>.<br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.eq_eval"><span class="id" title="lemma">eq_eval</span></a> <span class="id" title="var">e</span> <span class="id" title="var">e'</span> <span class="id" title="var">t</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.same_env"><span class="id" title="definition">same_env</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#e"><span class="id" title="variable">e</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#e'"><span class="id" title="variable">e'</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.eval"><span class="id" title="definition">eval</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#e"><span class="id" title="variable">e</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#t"><span class="id" title="variable">t</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.eval"><span class="id" title="definition">eval</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#e'"><span class="id" title="variable">e'</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#t"><span class="id" title="variable">t</span></a>.<br/> <br/> <span class="id" title="keyword">Lemma</span> <a name="GRing.eval_tsubst"><span class="id" title="lemma">eval_tsubst</span></a> <span class="id" title="var">e</span> <span class="id" title="var">t</span> <span class="id" title="var">s</span> :<br/> - <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.eval"><span class="id" title="definition">eval</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#e"><span class="id" title="variable">e</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.tsubst"><span class="id" title="definition">tsubst</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#t"><span class="id" title="variable">t</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.eval"><span class="id" title="definition">eval</span></a> (<a class="idref" href="mathcomp.ssreflect.seq.html#set_nth"><span class="id" title="definition">set_nth</span></a> 0 <a class="idref" href="mathcomp.algebra.ssralg.html#e"><span class="id" title="variable">e</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#s"><span class="id" title="variable">s</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#c4877bbfe60d8f22b47ac99ace86216a"><span class="id" title="notation">.1</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.eval"><span class="id" title="definition">eval</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#e"><span class="id" title="variable">e</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#s"><span class="id" title="variable">s</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#f4827404159513e7fd691b60b7877737"><span class="id" title="notation">.2</span></a>)) <a class="idref" href="mathcomp.algebra.ssralg.html#t"><span class="id" title="variable">t</span></a>.<br/> + <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.eval"><span class="id" title="definition">eval</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#e"><span class="id" title="variable">e</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.tsubst"><span class="id" title="definition">tsubst</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#t"><span class="id" title="variable">t</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#s"><span class="id" title="variable">s</span></a>) <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.eval"><span class="id" title="definition">eval</span></a> (<a class="idref" href="mathcomp.ssreflect.seq.html#set_nth"><span class="id" title="definition">set_nth</span></a> 0 <a class="idref" href="mathcomp.algebra.ssralg.html#e"><span class="id" title="variable">e</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#s"><span class="id" title="variable">s</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#e0817251e7d67ad994b4d9b1aa82a412"><span class="id" title="notation">.1</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.eval"><span class="id" title="definition">eval</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#e"><span class="id" title="variable">e</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#s"><span class="id" title="variable">s</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#675082cc4d4538da052b547bdc6ea4c9"><span class="id" title="notation">.2</span></a>)) <a class="idref" href="mathcomp.algebra.ssralg.html#t"><span class="id" title="variable">t</span></a>.<br/> <br/> </div> @@ -4039,18 +4054,18 @@ <span class="id" title="keyword">Fixpoint</span> <a name="GRing.holds"><span class="id" title="definition">holds</span></a> (<span class="id" title="var">e</span> : <a class="idref" href="mathcomp.ssreflect.seq.html#seq"><span class="id" title="abbreviation">seq</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.EvalTerm.R"><span class="id" title="variable">R</span></a>) (<span class="id" title="var">f</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.formula"><span class="id" title="inductive">formula</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.EvalTerm.R"><span class="id" title="variable">R</span></a>) {<span class="id" title="keyword">struct</span> <span class="id" title="var">f</span>} : <span class="id" title="keyword">Prop</span> :=<br/> <span class="id" title="keyword">match</span> <a class="idref" href="mathcomp.algebra.ssralg.html#f"><span class="id" title="variable">f</span></a> <span class="id" title="keyword">with</span><br/> | <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Bool"><span class="id" title="constructor">Bool</span></a> <span class="id" title="var">b</span> ⇒ <span class="id" title="var">b</span><br/> - | (<span class="id" title="var">t1</span> <a class="idref" href="mathcomp.algebra.ssralg.html#1a6fbc7f80506595657605bb77bac252"><span class="id" title="notation">==</span></a> <span class="id" title="var">t2</span>)%<span class="id" title="var">T</span> ⇒ <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.eval"><span class="id" title="definition">eval</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#e"><span class="id" title="variable">e</span></a> <span class="id" title="var">t1</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#GRing.eval"><span class="id" title="definition">eval</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#e"><span class="id" title="variable">e</span></a> <span class="id" title="var">t2</span><br/> - | <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Unit"><span class="id" title="constructor">Unit</span></a> <span class="id" title="var">t1</span> ⇒ <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.eval"><span class="id" title="definition">eval</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#e"><span class="id" title="variable">e</span></a> <span class="id" title="var">t1</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.unit"><span class="id" title="definition">unit</span></a><br/> - | (<span class="id" title="var">f1</span> <a class="idref" href="mathcomp.algebra.ssralg.html#421c9c3c51833f1724975feaafb4b744"><span class="id" title="notation">∧</span></a> <span class="id" title="var">f2</span>)%<span class="id" title="var">T</span> ⇒ <a class="idref" href="mathcomp.algebra.ssralg.html#holds"><span class="id" title="definition">holds</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#e"><span class="id" title="variable">e</span></a> <span class="id" title="var">f1</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d82a7d96d3659d805ffe732283716822"><span class="id" title="notation">∧</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#holds"><span class="id" title="definition">holds</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#e"><span class="id" title="variable">e</span></a> <span class="id" title="var">f2</span><br/> - | (<span class="id" title="var">f1</span> <a class="idref" href="mathcomp.algebra.ssralg.html#00b8327e04e2b6f2d979016edbc0c67a"><span class="id" title="notation">∨</span></a> <span class="id" title="var">f2</span>)%<span class="id" title="var">T</span> ⇒ <a class="idref" href="mathcomp.algebra.ssralg.html#holds"><span class="id" title="definition">holds</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#e"><span class="id" title="variable">e</span></a> <span class="id" title="var">f1</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#7a45dffb109c3069e5c675be68643e60"><span class="id" title="notation">∨</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#holds"><span class="id" title="definition">holds</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#e"><span class="id" title="variable">e</span></a> <span class="id" title="var">f2</span><br/> - | (<span class="id" title="var">f1</span> <a class="idref" href="mathcomp.algebra.ssralg.html#0686cd1bb1af98b02865ebbedcf70bd7"><span class="id" title="notation">==></span></a> <span class="id" title="var">f2</span>)%<span class="id" title="var">T</span> ⇒ <a class="idref" href="mathcomp.algebra.ssralg.html#holds"><span class="id" title="definition">holds</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#e"><span class="id" title="variable">e</span></a> <span class="id" title="var">f1</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.ssralg.html#holds"><span class="id" title="definition">holds</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#e"><span class="id" title="variable">e</span></a> <span class="id" title="var">f2</span><br/> - | (<a class="idref" href="mathcomp.algebra.ssralg.html#bf1935aa3f28dfd45301897795b397a5"><span class="id" title="notation">¬</span></a> <span class="id" title="var">f1</span>)%<span class="id" title="var">T</span> ⇒ <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#611abc97cba304de784fa909dbdea1fa"><span class="id" title="notation">¬</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#holds"><span class="id" title="definition">holds</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#e"><span class="id" title="variable">e</span></a> <span class="id" title="var">f1</span><br/> - | (<a class="idref" href="mathcomp.algebra.ssralg.html#cde0c417a2306d50158e89540db8c60d"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#cde0c417a2306d50158e89540db8c60d"><span class="id" title="notation">∃</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#cde0c417a2306d50158e89540db8c60d"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#cde0c417a2306d50158e89540db8c60d"><span class="id" title="notation">X_i</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#cde0c417a2306d50158e89540db8c60d"><span class="id" title="notation">,</span></a> <span class="id" title="var">f1</span>)%<span class="id" title="var">T</span> ⇒ <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#84eb6d2849dbf3581b1c0c05add5f2d8"><span class="id" title="notation">∃</span></a> <span class="id" title="var">x</span><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#84eb6d2849dbf3581b1c0c05add5f2d8"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#holds"><span class="id" title="definition">holds</span></a> (<a class="idref" href="mathcomp.ssreflect.seq.html#set_nth"><span class="id" title="definition">set_nth</span></a> 0 <a class="idref" href="mathcomp.algebra.ssralg.html#e"><span class="id" title="variable">e</span></a> <span class="id" title="var">i</span> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a>) <span class="id" title="var">f1</span><br/> - | (<a class="idref" href="mathcomp.algebra.ssralg.html#bc08eb662d28e6715d9720beafd75750"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#bc08eb662d28e6715d9720beafd75750"><span class="id" title="notation">∀</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#bc08eb662d28e6715d9720beafd75750"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#bc08eb662d28e6715d9720beafd75750"><span class="id" title="notation">X_i</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#bc08eb662d28e6715d9720beafd75750"><span class="id" title="notation">,</span></a> <span class="id" title="var">f1</span>)%<span class="id" title="var">T</span> ⇒ <span class="id" title="keyword">∀</span> <span class="id" title="var">x</span>, <a class="idref" href="mathcomp.algebra.ssralg.html#holds"><span class="id" title="definition">holds</span></a> (<a class="idref" href="mathcomp.ssreflect.seq.html#set_nth"><span class="id" title="definition">set_nth</span></a> 0 <a class="idref" href="mathcomp.algebra.ssralg.html#e"><span class="id" title="variable">e</span></a> <span class="id" title="var">i</span> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a>) <span class="id" title="var">f1</span><br/> + | (<span class="id" title="var">t1</span> <a class="idref" href="mathcomp.algebra.ssralg.html#e6bce7853a73484fa8c54c3b3d0fe8f6"><span class="id" title="notation">==</span></a> <span class="id" title="var">t2</span>)%<span class="id" title="var">T</span> ⇒ <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.eval"><span class="id" title="definition">eval</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#e"><span class="id" title="variable">e</span></a> <span class="id" title="var">t1</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.eval"><span class="id" title="definition">eval</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#e"><span class="id" title="variable">e</span></a> <span class="id" title="var">t2</span><br/> + | <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Unit"><span class="id" title="constructor">Unit</span></a> <span class="id" title="var">t1</span> ⇒ <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.eval"><span class="id" title="definition">eval</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#e"><span class="id" title="variable">e</span></a> <span class="id" title="var">t1</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.unit"><span class="id" title="definition">unit</span></a><br/> + | (<span class="id" title="var">f1</span> <a class="idref" href="mathcomp.algebra.ssralg.html#ab32bd0aebe6dabd4efe45ce35759537"><span class="id" title="notation">∧</span></a> <span class="id" title="var">f2</span>)%<span class="id" title="var">T</span> ⇒ <a class="idref" href="mathcomp.algebra.ssralg.html#holds"><span class="id" title="definition">holds</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#e"><span class="id" title="variable">e</span></a> <span class="id" title="var">f1</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#ba2b0e492d2b4675a0acf3ea92aabadd"><span class="id" title="notation">∧</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#holds"><span class="id" title="definition">holds</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#e"><span class="id" title="variable">e</span></a> <span class="id" title="var">f2</span><br/> + | (<span class="id" title="var">f1</span> <a class="idref" href="mathcomp.algebra.ssralg.html#bef44b50d3f3917949ecad5e3e01309c"><span class="id" title="notation">∨</span></a> <span class="id" title="var">f2</span>)%<span class="id" title="var">T</span> ⇒ <a class="idref" href="mathcomp.algebra.ssralg.html#holds"><span class="id" title="definition">holds</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#e"><span class="id" title="variable">e</span></a> <span class="id" title="var">f1</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#f031fe1957c4a4a8e217aa46af2b4e25"><span class="id" title="notation">∨</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#holds"><span class="id" title="definition">holds</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#e"><span class="id" title="variable">e</span></a> <span class="id" title="var">f2</span><br/> + | (<span class="id" title="var">f1</span> <a class="idref" href="mathcomp.algebra.ssralg.html#33d69901017412abb2c3513a87e991c1"><span class="id" title="notation">==></span></a> <span class="id" title="var">f2</span>)%<span class="id" title="var">T</span> ⇒ <a class="idref" href="mathcomp.algebra.ssralg.html#holds"><span class="id" title="definition">holds</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#e"><span class="id" title="variable">e</span></a> <span class="id" title="var">f1</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#holds"><span class="id" title="definition">holds</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#e"><span class="id" title="variable">e</span></a> <span class="id" title="var">f2</span><br/> + | (<a class="idref" href="mathcomp.algebra.ssralg.html#8fd8345f0bd0f50ba5171cc7c1b45aca"><span class="id" title="notation">¬</span></a> <span class="id" title="var">f1</span>)%<span class="id" title="var">T</span> ⇒ <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#63a68285c81db8f9bc456233bb9ed181"><span class="id" title="notation">¬</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#holds"><span class="id" title="definition">holds</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#e"><span class="id" title="variable">e</span></a> <span class="id" title="var">f1</span><br/> + | (<a class="idref" href="mathcomp.algebra.ssralg.html#3a3c189a0c88aa572171a0bae2912beb"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#3a3c189a0c88aa572171a0bae2912beb"><span class="id" title="notation">∃</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#3a3c189a0c88aa572171a0bae2912beb"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#3a3c189a0c88aa572171a0bae2912beb"><span class="id" title="notation">X_i</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#3a3c189a0c88aa572171a0bae2912beb"><span class="id" title="notation">,</span></a> <span class="id" title="var">f1</span>)%<span class="id" title="var">T</span> ⇒ <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#a883bdd010993579f99d60b3775bcf54"><span class="id" title="notation">∃</span></a> <span class="id" title="var">x</span><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#a883bdd010993579f99d60b3775bcf54"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#holds"><span class="id" title="definition">holds</span></a> (<a class="idref" href="mathcomp.ssreflect.seq.html#set_nth"><span class="id" title="definition">set_nth</span></a> 0 <a class="idref" href="mathcomp.algebra.ssralg.html#e"><span class="id" title="variable">e</span></a> <span class="id" title="var">i</span> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a>) <span class="id" title="var">f1</span><br/> + | (<a class="idref" href="mathcomp.algebra.ssralg.html#662c07b5d0726d21c8edce4d5fbaa087"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#662c07b5d0726d21c8edce4d5fbaa087"><span class="id" title="notation">∀</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#662c07b5d0726d21c8edce4d5fbaa087"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#662c07b5d0726d21c8edce4d5fbaa087"><span class="id" title="notation">X_i</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#662c07b5d0726d21c8edce4d5fbaa087"><span class="id" title="notation">,</span></a> <span class="id" title="var">f1</span>)%<span class="id" title="var">T</span> ⇒ <span class="id" title="keyword">∀</span> <span class="id" title="var">x</span>, <a class="idref" href="mathcomp.algebra.ssralg.html#holds"><span class="id" title="definition">holds</span></a> (<a class="idref" href="mathcomp.ssreflect.seq.html#set_nth"><span class="id" title="definition">set_nth</span></a> 0 <a class="idref" href="mathcomp.algebra.ssralg.html#e"><span class="id" title="variable">e</span></a> <span class="id" title="var">i</span> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a>) <span class="id" title="var">f1</span><br/> <span class="id" title="keyword">end</span>.<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.same_env_sym"><span class="id" title="lemma">same_env_sym</span></a> <span class="id" title="var">e</span> <span class="id" title="var">e'</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.same_env"><span class="id" title="definition">same_env</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#e"><span class="id" title="variable">e</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#e'"><span class="id" title="variable">e'</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.same_env"><span class="id" title="definition">same_env</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#e'"><span class="id" title="variable">e'</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#e"><span class="id" title="variable">e</span></a>.<br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.same_env_sym"><span class="id" title="lemma">same_env_sym</span></a> <span class="id" title="var">e</span> <span class="id" title="var">e'</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.same_env"><span class="id" title="definition">same_env</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#e"><span class="id" title="variable">e</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#e'"><span class="id" title="variable">e'</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.same_env"><span class="id" title="definition">same_env</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#e'"><span class="id" title="variable">e'</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#e"><span class="id" title="variable">e</span></a>.<br/> <br/> </div> @@ -4059,7 +4074,7 @@ Extensionality of formula evaluation </div> <div class="code"> -<span class="id" title="keyword">Lemma</span> <a name="GRing.eq_holds"><span class="id" title="lemma">eq_holds</span></a> <span class="id" title="var">e</span> <span class="id" title="var">e'</span> <span class="id" title="var">f</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.same_env"><span class="id" title="definition">same_env</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#e"><span class="id" title="variable">e</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#e'"><span class="id" title="variable">e'</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.holds"><span class="id" title="definition">holds</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#e"><span class="id" title="variable">e</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#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.ssralg.html#GRing.holds"><span class="id" title="definition">holds</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#e'"><span class="id" title="variable">e'</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f"><span class="id" title="variable">f</span></a>.<br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.eq_holds"><span class="id" title="lemma">eq_holds</span></a> <span class="id" title="var">e</span> <span class="id" title="var">e'</span> <span class="id" title="var">f</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.same_env"><span class="id" title="definition">same_env</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#e"><span class="id" title="variable">e</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#e'"><span class="id" title="variable">e'</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.holds"><span class="id" title="definition">holds</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#e"><span class="id" title="variable">e</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.holds"><span class="id" title="definition">holds</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#e'"><span class="id" title="variable">e'</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f"><span class="id" title="variable">f</span></a>.<br/> <br/> </div> @@ -4069,7 +4084,7 @@ </div> <div class="code"> <span class="id" title="keyword">Lemma</span> <a name="GRing.holds_fsubst"><span class="id" title="lemma">holds_fsubst</span></a> <span class="id" title="var">e</span> <span class="id" title="var">f</span> <span class="id" title="var">i</span> <span class="id" title="var">v</span> :<br/> - <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.holds"><span class="id" title="definition">holds</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#e"><span class="id" title="variable">e</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.fsubst"><span class="id" title="definition">fsubst</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f"><span class="id" title="variable">f</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.ssralg.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.Datatypes.html#44400027531d4bc3f586a1997dc874c0"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#v"><span class="id" title="variable">v</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#36988dee1d5e98e959473a8f531d647c"><span class="id" title="notation">%:</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#36988dee1d5e98e959473a8f531d647c"><span class="id" title="notation">T</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#44400027531d4bc3f586a1997dc874c0"><span class="id" title="notation">)</span></a>%<span class="id" title="var">T</span>) <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#df1ced36fc33ce188051218bca314374"><span class="id" title="notation">↔</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.holds"><span class="id" title="definition">holds</span></a> (<a class="idref" href="mathcomp.ssreflect.seq.html#set_nth"><span class="id" title="definition">set_nth</span></a> 0 <a class="idref" href="mathcomp.algebra.ssralg.html#e"><span class="id" title="variable">e</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#v"><span class="id" title="variable">v</span></a>) <a class="idref" href="mathcomp.algebra.ssralg.html#f"><span class="id" title="variable">f</span></a>.<br/> + <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.holds"><span class="id" title="definition">holds</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#e"><span class="id" title="variable">e</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.fsubst"><span class="id" title="definition">fsubst</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#e6756e10c36f149b18b4a8741ed83079"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#e6756e10c36f149b18b4a8741ed83079"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#v"><span class="id" title="variable">v</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#a4e52005e26c4b25ab5e860f94c039f7"><span class="id" title="notation">%:</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#a4e52005e26c4b25ab5e860f94c039f7"><span class="id" title="notation">T</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#e6756e10c36f149b18b4a8741ed83079"><span class="id" title="notation">)</span></a>%<span class="id" title="var">T</span>) <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#4bfb4f2d0721ba668e3a802ab1b745a1"><span class="id" title="notation">↔</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.holds"><span class="id" title="definition">holds</span></a> (<a class="idref" href="mathcomp.ssreflect.seq.html#set_nth"><span class="id" title="definition">set_nth</span></a> 0 <a class="idref" href="mathcomp.algebra.ssralg.html#e"><span class="id" title="variable">e</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#v"><span class="id" title="variable">v</span></a>) <a class="idref" href="mathcomp.algebra.ssralg.html#f"><span class="id" title="variable">f</span></a>.<br/> <br/> </div> @@ -4080,10 +4095,10 @@ <div class="code"> <span class="id" title="keyword">Fixpoint</span> <a name="GRing.rterm"><span class="id" title="definition">rterm</span></a> (<span class="id" title="var">t</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.term"><span class="id" title="inductive">term</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.EvalTerm.R"><span class="id" title="variable">R</span></a>) :=<br/> <span class="id" title="keyword">match</span> <a class="idref" href="mathcomp.algebra.ssralg.html#t"><span class="id" title="variable">t</span></a> <span class="id" title="keyword">with</span><br/> - | <span class="id" title="var">_</span><a class="idref" href="mathcomp.algebra.ssralg.html#8527e8676e2efa838eb3d51e80e2d39f"><span class="id" title="notation">^-1</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/> - | <span class="id" title="var">t1</span> <a class="idref" href="mathcomp.algebra.ssralg.html#7f909243ac0228583a25471d8084551b"><span class="id" title="notation">+</span></a> <span class="id" title="var">t2</span> | <span class="id" title="var">t1</span> <a class="idref" href="mathcomp.algebra.ssralg.html#0b9ef6879d691a4408b07cd59dbb28f0"><span class="id" title="notation">×</span></a> <span class="id" title="var">t2</span> ⇒ <a class="idref" href="mathcomp.algebra.ssralg.html#rterm"><span class="id" title="definition">rterm</span></a> <span class="id" title="var">t1</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="mathcomp.algebra.ssralg.html#rterm"><span class="id" title="definition">rterm</span></a> <span class="id" title="var">t2</span><br/> - | <a class="idref" href="mathcomp.algebra.ssralg.html#6c3b3e259d3f407cc03b5863f5d872ec"><span class="id" title="notation">-</span></a> <span class="id" title="var">t1</span> | <span class="id" title="var">t1</span> <a class="idref" href="mathcomp.algebra.ssralg.html#bb8dcb8add43cd5b4672890afb1d1839"><span class="id" title="notation">*+</span></a> <span class="id" title="var">_</span> | <span class="id" title="var">t1</span> <a class="idref" href="mathcomp.algebra.ssralg.html#076e0496ae7ecaf146a6c132bdca5782"><span class="id" title="notation">^+</span></a> <span class="id" title="var">_</span> ⇒ <a class="idref" href="mathcomp.algebra.ssralg.html#rterm"><span class="id" title="definition">rterm</span></a> <span class="id" title="var">t1</span><br/> - | <span class="id" title="var">_</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/> + | <span class="id" title="var">_</span><a class="idref" href="mathcomp.algebra.ssralg.html#ae816e3b24c797f519ce51141978e695"><span class="id" title="notation">^-1</span></a> ⇒ <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#false"><span class="id" title="constructor">false</span></a><br/> + | <span class="id" title="var">t1</span> <a class="idref" href="mathcomp.algebra.ssralg.html#dbf4583bf7f5ea301319678efa885505"><span class="id" title="notation">+</span></a> <span class="id" title="var">t2</span> | <span class="id" title="var">t1</span> <a class="idref" href="mathcomp.algebra.ssralg.html#a9e0394c049f1992b539cb7717095281"><span class="id" title="notation">×</span></a> <span class="id" title="var">t2</span> ⇒ <a class="idref" href="mathcomp.algebra.ssralg.html#rterm"><span class="id" title="definition">rterm</span></a> <span class="id" title="var">t1</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#9ddeac0ab66152bd1d64bedb507a795e"><span class="id" title="notation">&&</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#rterm"><span class="id" title="definition">rterm</span></a> <span class="id" title="var">t2</span><br/> + | <a class="idref" href="mathcomp.algebra.ssralg.html#e2d8b10a7f82d8520cd39f5ef78702a0"><span class="id" title="notation">-</span></a> <span class="id" title="var">t1</span> | <span class="id" title="var">t1</span> <a class="idref" href="mathcomp.algebra.ssralg.html#74b863100f00ebe6b6a91299397f9af3"><span class="id" title="notation">*+</span></a> <span class="id" title="var">_</span> | <span class="id" title="var">t1</span> <a class="idref" href="mathcomp.algebra.ssralg.html#d56cb9de8d42b54fdfaa24a15d81424e"><span class="id" title="notation">^+</span></a> <span class="id" title="var">_</span> ⇒ <a class="idref" href="mathcomp.algebra.ssralg.html#rterm"><span class="id" title="definition">rterm</span></a> <span class="id" title="var">t1</span><br/> + | <span class="id" title="var">_</span> ⇒ <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#true"><span class="id" title="constructor">true</span></a><br/> <span class="id" title="keyword">end</span>%<span class="id" title="var">T</span>.<br/> <br/> @@ -4095,11 +4110,11 @@ <div class="code"> <span class="id" title="keyword">Fixpoint</span> <a name="GRing.rformula"><span class="id" title="definition">rformula</span></a> (<span class="id" title="var">f</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.formula"><span class="id" title="inductive">formula</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.EvalTerm.R"><span class="id" title="variable">R</span></a>) :=<br/> <span class="id" title="keyword">match</span> <a class="idref" href="mathcomp.algebra.ssralg.html#f"><span class="id" title="variable">f</span></a> <span class="id" title="keyword">with</span><br/> - | <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Bool"><span class="id" title="constructor">Bool</span></a> <span class="id" title="var">_</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/> - | <span class="id" title="var">t1</span> <a class="idref" href="mathcomp.algebra.ssralg.html#1a6fbc7f80506595657605bb77bac252"><span class="id" title="notation">==</span></a> <span class="id" title="var">t2</span> ⇒ <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.rterm"><span class="id" title="definition">rterm</span></a> <span class="id" title="var">t1</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="mathcomp.algebra.ssralg.html#GRing.rterm"><span class="id" title="definition">rterm</span></a> <span class="id" title="var">t2</span><br/> - | <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Unit"><span class="id" title="constructor">Unit</span></a> <span class="id" title="var">t1</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/> - | <span class="id" title="var">f1</span> <a class="idref" href="mathcomp.algebra.ssralg.html#421c9c3c51833f1724975feaafb4b744"><span class="id" title="notation">∧</span></a> <span class="id" title="var">f2</span> | <span class="id" title="var">f1</span> <a class="idref" href="mathcomp.algebra.ssralg.html#00b8327e04e2b6f2d979016edbc0c67a"><span class="id" title="notation">∨</span></a> <span class="id" title="var">f2</span> | <span class="id" title="var">f1</span> <a class="idref" href="mathcomp.algebra.ssralg.html#0686cd1bb1af98b02865ebbedcf70bd7"><span class="id" title="notation">==></span></a> <span class="id" title="var">f2</span> ⇒ <a class="idref" href="mathcomp.algebra.ssralg.html#rformula"><span class="id" title="definition">rformula</span></a> <span class="id" title="var">f1</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="mathcomp.algebra.ssralg.html#rformula"><span class="id" title="definition">rformula</span></a> <span class="id" title="var">f2</span><br/> - | <a class="idref" href="mathcomp.algebra.ssralg.html#bf1935aa3f28dfd45301897795b397a5"><span class="id" title="notation">¬</span></a> <span class="id" title="var">f1</span> | (<a class="idref" href="mathcomp.algebra.ssralg.html#cde0c417a2306d50158e89540db8c60d"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#cde0c417a2306d50158e89540db8c60d"><span class="id" title="notation">∃</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#cde0c417a2306d50158e89540db8c60d"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#cde0c417a2306d50158e89540db8c60d"><span class="id" title="notation">X__</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#cde0c417a2306d50158e89540db8c60d"><span class="id" title="notation">,</span></a> <span class="id" title="var">f1</span>) | (<a class="idref" href="mathcomp.algebra.ssralg.html#bc08eb662d28e6715d9720beafd75750"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#bc08eb662d28e6715d9720beafd75750"><span class="id" title="notation">∀</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#bc08eb662d28e6715d9720beafd75750"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#bc08eb662d28e6715d9720beafd75750"><span class="id" title="notation">X__</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#bc08eb662d28e6715d9720beafd75750"><span class="id" title="notation">,</span></a> <span class="id" title="var">f1</span>) ⇒ <a class="idref" href="mathcomp.algebra.ssralg.html#rformula"><span class="id" title="definition">rformula</span></a> <span class="id" title="var">f1</span><br/> + | <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Bool"><span class="id" title="constructor">Bool</span></a> <span class="id" title="var">_</span> ⇒ <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#true"><span class="id" title="constructor">true</span></a><br/> + | <span class="id" title="var">t1</span> <a class="idref" href="mathcomp.algebra.ssralg.html#e6bce7853a73484fa8c54c3b3d0fe8f6"><span class="id" title="notation">==</span></a> <span class="id" title="var">t2</span> ⇒ <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.rterm"><span class="id" title="definition">rterm</span></a> <span class="id" title="var">t1</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#9ddeac0ab66152bd1d64bedb507a795e"><span class="id" title="notation">&&</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.rterm"><span class="id" title="definition">rterm</span></a> <span class="id" title="var">t2</span><br/> + | <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Unit"><span class="id" title="constructor">Unit</span></a> <span class="id" title="var">t1</span> ⇒ <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#false"><span class="id" title="constructor">false</span></a><br/> + | <span class="id" title="var">f1</span> <a class="idref" href="mathcomp.algebra.ssralg.html#ab32bd0aebe6dabd4efe45ce35759537"><span class="id" title="notation">∧</span></a> <span class="id" title="var">f2</span> | <span class="id" title="var">f1</span> <a class="idref" href="mathcomp.algebra.ssralg.html#bef44b50d3f3917949ecad5e3e01309c"><span class="id" title="notation">∨</span></a> <span class="id" title="var">f2</span> | <span class="id" title="var">f1</span> <a class="idref" href="mathcomp.algebra.ssralg.html#33d69901017412abb2c3513a87e991c1"><span class="id" title="notation">==></span></a> <span class="id" title="var">f2</span> ⇒ <a class="idref" href="mathcomp.algebra.ssralg.html#rformula"><span class="id" title="definition">rformula</span></a> <span class="id" title="var">f1</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#9ddeac0ab66152bd1d64bedb507a795e"><span class="id" title="notation">&&</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#rformula"><span class="id" title="definition">rformula</span></a> <span class="id" title="var">f2</span><br/> + | <a class="idref" href="mathcomp.algebra.ssralg.html#8fd8345f0bd0f50ba5171cc7c1b45aca"><span class="id" title="notation">¬</span></a> <span class="id" title="var">f1</span> | (<a class="idref" href="mathcomp.algebra.ssralg.html#3a3c189a0c88aa572171a0bae2912beb"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#3a3c189a0c88aa572171a0bae2912beb"><span class="id" title="notation">∃</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#3a3c189a0c88aa572171a0bae2912beb"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#3a3c189a0c88aa572171a0bae2912beb"><span class="id" title="notation">X__</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#3a3c189a0c88aa572171a0bae2912beb"><span class="id" title="notation">,</span></a> <span class="id" title="var">f1</span>) | (<a class="idref" href="mathcomp.algebra.ssralg.html#662c07b5d0726d21c8edce4d5fbaa087"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#662c07b5d0726d21c8edce4d5fbaa087"><span class="id" title="notation">∀</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#662c07b5d0726d21c8edce4d5fbaa087"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#662c07b5d0726d21c8edce4d5fbaa087"><span class="id" title="notation">X__</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#662c07b5d0726d21c8edce4d5fbaa087"><span class="id" title="notation">,</span></a> <span class="id" title="var">f1</span>) ⇒ <a class="idref" href="mathcomp.algebra.ssralg.html#rformula"><span class="id" title="definition">rformula</span></a> <span class="id" title="var">f1</span><br/> <span class="id" title="keyword">end</span>%<span class="id" title="var">T</span>.<br/> <br/> @@ -4111,9 +4126,9 @@ <div class="code"> <span class="id" title="keyword">Fixpoint</span> <a name="GRing.ub_var"><span class="id" title="definition">ub_var</span></a> (<span class="id" title="var">t</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.term"><span class="id" title="inductive">term</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.EvalTerm.R"><span class="id" title="variable">R</span></a>) :=<br/> <span class="id" title="keyword">match</span> <a class="idref" href="mathcomp.algebra.ssralg.html#t"><span class="id" title="variable">t</span></a> <span class="id" title="keyword">with</span><br/> - | <a class="idref" href="mathcomp.algebra.ssralg.html#bb8753f66ae3a3b4b3bd3423d5bd7db1"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#bb8753f66ae3a3b4b3bd3423d5bd7db1"><span class="id" title="notation">X_i</span></a> ⇒ <span class="id" title="var">i</span><a class="idref" href="mathcomp.ssreflect.ssrnat.html#361454269931ea8643f7b402f2ab7222"><span class="id" title="notation">.+1</span></a><br/> - | <span class="id" title="var">t1</span> <a class="idref" href="mathcomp.algebra.ssralg.html#7f909243ac0228583a25471d8084551b"><span class="id" title="notation">+</span></a> <span class="id" title="var">t2</span> | <span class="id" title="var">t1</span> <a class="idref" href="mathcomp.algebra.ssralg.html#0b9ef6879d691a4408b07cd59dbb28f0"><span class="id" title="notation">×</span></a> <span class="id" title="var">t2</span> ⇒ <a class="idref" href="mathcomp.ssreflect.ssrnat.html#maxn"><span class="id" title="definition">maxn</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#ub_var"><span class="id" title="definition">ub_var</span></a> <span class="id" title="var">t1</span>) (<a class="idref" href="mathcomp.algebra.ssralg.html#ub_var"><span class="id" title="definition">ub_var</span></a> <span class="id" title="var">t2</span>)<br/> - | <a class="idref" href="mathcomp.algebra.ssralg.html#6c3b3e259d3f407cc03b5863f5d872ec"><span class="id" title="notation">-</span></a> <span class="id" title="var">t1</span> | <span class="id" title="var">t1</span> <a class="idref" href="mathcomp.algebra.ssralg.html#bb8dcb8add43cd5b4672890afb1d1839"><span class="id" title="notation">*+</span></a> <span class="id" title="var">_</span> | <span class="id" title="var">t1</span> <a class="idref" href="mathcomp.algebra.ssralg.html#076e0496ae7ecaf146a6c132bdca5782"><span class="id" title="notation">^+</span></a> <span class="id" title="var">_</span> | <span class="id" title="var">t1</span><a class="idref" href="mathcomp.algebra.ssralg.html#8527e8676e2efa838eb3d51e80e2d39f"><span class="id" title="notation">^-1</span></a> ⇒ <a class="idref" href="mathcomp.algebra.ssralg.html#ub_var"><span class="id" title="definition">ub_var</span></a> <span class="id" title="var">t1</span><br/> + | <a class="idref" href="mathcomp.algebra.ssralg.html#2d5cc450d76596e00ba9d438af4e1dc5"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#2d5cc450d76596e00ba9d438af4e1dc5"><span class="id" title="notation">X_i</span></a> ⇒ <span class="id" title="var">i</span><a class="idref" href="mathcomp.ssreflect.ssrnat.html#bda89d73ec4a8f23ae92b565ffb5aaa6"><span class="id" title="notation">.+1</span></a><br/> + | <span class="id" title="var">t1</span> <a class="idref" href="mathcomp.algebra.ssralg.html#dbf4583bf7f5ea301319678efa885505"><span class="id" title="notation">+</span></a> <span class="id" title="var">t2</span> | <span class="id" title="var">t1</span> <a class="idref" href="mathcomp.algebra.ssralg.html#a9e0394c049f1992b539cb7717095281"><span class="id" title="notation">×</span></a> <span class="id" title="var">t2</span> ⇒ <a class="idref" href="mathcomp.ssreflect.ssrnat.html#maxn"><span class="id" title="definition">maxn</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#ub_var"><span class="id" title="definition">ub_var</span></a> <span class="id" title="var">t1</span>) (<a class="idref" href="mathcomp.algebra.ssralg.html#ub_var"><span class="id" title="definition">ub_var</span></a> <span class="id" title="var">t2</span>)<br/> + | <a class="idref" href="mathcomp.algebra.ssralg.html#e2d8b10a7f82d8520cd39f5ef78702a0"><span class="id" title="notation">-</span></a> <span class="id" title="var">t1</span> | <span class="id" title="var">t1</span> <a class="idref" href="mathcomp.algebra.ssralg.html#74b863100f00ebe6b6a91299397f9af3"><span class="id" title="notation">*+</span></a> <span class="id" title="var">_</span> | <span class="id" title="var">t1</span> <a class="idref" href="mathcomp.algebra.ssralg.html#d56cb9de8d42b54fdfaa24a15d81424e"><span class="id" title="notation">^+</span></a> <span class="id" title="var">_</span> | <span class="id" title="var">t1</span><a class="idref" href="mathcomp.algebra.ssralg.html#ae816e3b24c797f519ce51141978e695"><span class="id" title="notation">^-1</span></a> ⇒ <a class="idref" href="mathcomp.algebra.ssralg.html#ub_var"><span class="id" title="definition">ub_var</span></a> <span class="id" title="var">t1</span><br/> | <span class="id" title="var">_</span> ⇒ 0%<span class="id" title="var">N</span><br/> <span class="id" title="keyword">end</span>%<span class="id" title="var">T</span>.<br/> @@ -4125,33 +4140,33 @@ substitution. </div> <div class="code"> -<span class="id" title="keyword">Fixpoint</span> <a name="GRing.to_rterm"><span class="id" title="definition">to_rterm</span></a> (<span class="id" title="var">t</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.term"><span class="id" title="inductive">term</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.EvalTerm.R"><span class="id" title="variable">R</span></a>) (<span class="id" title="var">r</span> : <a class="idref" href="mathcomp.ssreflect.seq.html#seq"><span class="id" title="abbreviation">seq</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.term"><span class="id" title="inductive">term</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.EvalTerm.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>) {<span class="id" title="keyword">struct</span> <span class="id" title="var">t</span>} :=<br/> +<span class="id" title="keyword">Fixpoint</span> <a name="GRing.to_rterm"><span class="id" title="definition">to_rterm</span></a> (<span class="id" title="var">t</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.term"><span class="id" title="inductive">term</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.EvalTerm.R"><span class="id" title="variable">R</span></a>) (<span class="id" title="var">r</span> : <a class="idref" href="mathcomp.ssreflect.seq.html#seq"><span class="id" title="abbreviation">seq</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.term"><span class="id" title="inductive">term</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.EvalTerm.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/V8.9.0/stdlib//Coq.Init.Datatypes.html#nat"><span class="id" title="inductive">nat</span></a>) {<span class="id" title="keyword">struct</span> <span class="id" title="var">t</span>} :=<br/> <span class="id" title="keyword">match</span> <a class="idref" href="mathcomp.algebra.ssralg.html#t"><span class="id" title="variable">t</span></a> <span class="id" title="keyword">with</span><br/> - | <span class="id" title="var">t1</span><a class="idref" href="mathcomp.algebra.ssralg.html#8527e8676e2efa838eb3d51e80e2d39f"><span class="id" title="notation">^-1</span></a> ⇒<br/> - <span class="id" title="keyword">let</span>: <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#44400027531d4bc3f586a1997dc874c0"><span class="id" title="notation">(</span></a><span class="id" title="var">t1'</span><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#44400027531d4bc3f586a1997dc874c0"><span class="id" title="notation">,</span></a> <span class="id" title="var">r1</span><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#44400027531d4bc3f586a1997dc874c0"><span class="id" title="notation">)</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#to_rterm"><span class="id" title="definition">to_rterm</span></a> <span class="id" title="var">t1</span> <a class="idref" href="mathcomp.algebra.ssralg.html#r"><span class="id" title="variable">r</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a> <span class="id" title="tactic">in</span><br/> - <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#44400027531d4bc3f586a1997dc874c0"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#bb8753f66ae3a3b4b3bd3423d5bd7db1"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#bb8753f66ae3a3b4b3bd3423d5bd7db1"><span class="id" title="notation">X_</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#bb8753f66ae3a3b4b3bd3423d5bd7db1"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.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.ssreflect.seq.html#size"><span class="id" title="definition">size</span></a> <span class="id" title="var">r1</span><a class="idref" href="mathcomp.algebra.ssralg.html#bb8753f66ae3a3b4b3bd3423d5bd7db1"><span class="id" title="notation">)</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.ssreflect.seq.html#rcons"><span class="id" title="definition">rcons</span></a> <span class="id" title="var">r1</span> <span class="id" title="var">t1'</span><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#44400027531d4bc3f586a1997dc874c0"><span class="id" title="notation">)</span></a><br/> - | <span class="id" title="var">t1</span> <a class="idref" href="mathcomp.algebra.ssralg.html#7f909243ac0228583a25471d8084551b"><span class="id" title="notation">+</span></a> <span class="id" title="var">t2</span> ⇒<br/> - <span class="id" title="keyword">let</span>: <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#44400027531d4bc3f586a1997dc874c0"><span class="id" title="notation">(</span></a><span class="id" title="var">t1'</span><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#44400027531d4bc3f586a1997dc874c0"><span class="id" title="notation">,</span></a> <span class="id" title="var">r1</span><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#44400027531d4bc3f586a1997dc874c0"><span class="id" title="notation">)</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#to_rterm"><span class="id" title="definition">to_rterm</span></a> <span class="id" title="var">t1</span> <a class="idref" href="mathcomp.algebra.ssralg.html#r"><span class="id" title="variable">r</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a> <span class="id" title="tactic">in</span><br/> - <span class="id" title="keyword">let</span>: <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#44400027531d4bc3f586a1997dc874c0"><span class="id" title="notation">(</span></a><span class="id" title="var">t2'</span><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#44400027531d4bc3f586a1997dc874c0"><span class="id" title="notation">,</span></a> <span class="id" title="var">r2</span><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#44400027531d4bc3f586a1997dc874c0"><span class="id" title="notation">)</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#to_rterm"><span class="id" title="definition">to_rterm</span></a> <span class="id" title="var">t2</span> <span class="id" title="var">r1</span> <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a> <span class="id" title="tactic">in</span><br/> - <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#44400027531d4bc3f586a1997dc874c0"><span class="id" title="notation">(</span></a><span class="id" title="var">t1'</span> <a class="idref" href="mathcomp.algebra.ssralg.html#7f909243ac0228583a25471d8084551b"><span class="id" title="notation">+</span></a> <span class="id" title="var">t2'</span><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#44400027531d4bc3f586a1997dc874c0"><span class="id" title="notation">,</span></a> <span class="id" title="var">r2</span><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#44400027531d4bc3f586a1997dc874c0"><span class="id" title="notation">)</span></a><br/> - | <a class="idref" href="mathcomp.algebra.ssralg.html#6c3b3e259d3f407cc03b5863f5d872ec"><span class="id" title="notation">-</span></a> <span class="id" title="var">t1</span> ⇒<br/> - <span class="id" title="keyword">let</span>: <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#44400027531d4bc3f586a1997dc874c0"><span class="id" title="notation">(</span></a><span class="id" title="var">t1'</span><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#44400027531d4bc3f586a1997dc874c0"><span class="id" title="notation">,</span></a> <span class="id" title="var">r1</span><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#44400027531d4bc3f586a1997dc874c0"><span class="id" title="notation">)</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#to_rterm"><span class="id" title="definition">to_rterm</span></a> <span class="id" title="var">t1</span> <a class="idref" href="mathcomp.algebra.ssralg.html#r"><span class="id" title="variable">r</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a> <span class="id" title="tactic">in</span><br/> - <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#44400027531d4bc3f586a1997dc874c0"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#6c3b3e259d3f407cc03b5863f5d872ec"><span class="id" title="notation">-</span></a> <span class="id" title="var">t1'</span><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#44400027531d4bc3f586a1997dc874c0"><span class="id" title="notation">,</span></a> <span class="id" title="var">r1</span><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#44400027531d4bc3f586a1997dc874c0"><span class="id" title="notation">)</span></a><br/> - | <span class="id" title="var">t1</span> <a class="idref" href="mathcomp.algebra.ssralg.html#bb8dcb8add43cd5b4672890afb1d1839"><span class="id" title="notation">*+</span></a> <span class="id" title="var">m</span> ⇒<br/> - <span class="id" title="keyword">let</span>: <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#44400027531d4bc3f586a1997dc874c0"><span class="id" title="notation">(</span></a><span class="id" title="var">t1'</span><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#44400027531d4bc3f586a1997dc874c0"><span class="id" title="notation">,</span></a> <span class="id" title="var">r1</span><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#44400027531d4bc3f586a1997dc874c0"><span class="id" title="notation">)</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#to_rterm"><span class="id" title="definition">to_rterm</span></a> <span class="id" title="var">t1</span> <a class="idref" href="mathcomp.algebra.ssralg.html#r"><span class="id" title="variable">r</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a> <span class="id" title="tactic">in</span><br/> - <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#44400027531d4bc3f586a1997dc874c0"><span class="id" title="notation">(</span></a><span class="id" title="var">t1'</span> <a class="idref" href="mathcomp.algebra.ssralg.html#bb8dcb8add43cd5b4672890afb1d1839"><span class="id" title="notation">*+</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#44400027531d4bc3f586a1997dc874c0"><span class="id" title="notation">,</span></a> <span class="id" title="var">r1</span><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#44400027531d4bc3f586a1997dc874c0"><span class="id" title="notation">)</span></a><br/> - | <span class="id" title="var">t1</span> <a class="idref" href="mathcomp.algebra.ssralg.html#0b9ef6879d691a4408b07cd59dbb28f0"><span class="id" title="notation">×</span></a> <span class="id" title="var">t2</span> ⇒<br/> - <span class="id" title="keyword">let</span>: <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#44400027531d4bc3f586a1997dc874c0"><span class="id" title="notation">(</span></a><span class="id" title="var">t1'</span><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#44400027531d4bc3f586a1997dc874c0"><span class="id" title="notation">,</span></a> <span class="id" title="var">r1</span><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#44400027531d4bc3f586a1997dc874c0"><span class="id" title="notation">)</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#to_rterm"><span class="id" title="definition">to_rterm</span></a> <span class="id" title="var">t1</span> <a class="idref" href="mathcomp.algebra.ssralg.html#r"><span class="id" title="variable">r</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a> <span class="id" title="tactic">in</span><br/> - <span class="id" title="keyword">let</span>: <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#44400027531d4bc3f586a1997dc874c0"><span class="id" title="notation">(</span></a><span class="id" title="var">t2'</span><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#44400027531d4bc3f586a1997dc874c0"><span class="id" title="notation">,</span></a> <span class="id" title="var">r2</span><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#44400027531d4bc3f586a1997dc874c0"><span class="id" title="notation">)</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#to_rterm"><span class="id" title="definition">to_rterm</span></a> <span class="id" title="var">t2</span> <span class="id" title="var">r1</span> <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a> <span class="id" title="tactic">in</span><br/> - <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#44400027531d4bc3f586a1997dc874c0"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Mul"><span class="id" title="constructor">Mul</span></a> <span class="id" title="var">t1'</span> <span class="id" title="var">t2'</span><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#44400027531d4bc3f586a1997dc874c0"><span class="id" title="notation">,</span></a> <span class="id" title="var">r2</span><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#44400027531d4bc3f586a1997dc874c0"><span class="id" title="notation">)</span></a><br/> - | <span class="id" title="var">t1</span> <a class="idref" href="mathcomp.algebra.ssralg.html#076e0496ae7ecaf146a6c132bdca5782"><span class="id" title="notation">^+</span></a> <span class="id" title="var">m</span> ⇒<br/> - <span class="id" title="keyword">let</span>: <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#44400027531d4bc3f586a1997dc874c0"><span class="id" title="notation">(</span></a><span class="id" title="var">t1'</span><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#44400027531d4bc3f586a1997dc874c0"><span class="id" title="notation">,</span></a> <span class="id" title="var">r1</span><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#44400027531d4bc3f586a1997dc874c0"><span class="id" title="notation">)</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#to_rterm"><span class="id" title="definition">to_rterm</span></a> <span class="id" title="var">t1</span> <a class="idref" href="mathcomp.algebra.ssralg.html#r"><span class="id" title="variable">r</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a> <span class="id" title="tactic">in</span><br/> - <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#44400027531d4bc3f586a1997dc874c0"><span class="id" title="notation">(</span></a><span class="id" title="var">t1'</span> <a class="idref" href="mathcomp.algebra.ssralg.html#076e0496ae7ecaf146a6c132bdca5782"><span class="id" title="notation">^+</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#44400027531d4bc3f586a1997dc874c0"><span class="id" title="notation">,</span></a> <span class="id" title="var">r1</span><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#44400027531d4bc3f586a1997dc874c0"><span class="id" title="notation">)</span></a><br/> - | <span class="id" title="var">_</span> ⇒ <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#44400027531d4bc3f586a1997dc874c0"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#t"><span class="id" title="variable">t</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.ssralg.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.Datatypes.html#44400027531d4bc3f586a1997dc874c0"><span class="id" title="notation">)</span></a><br/> + | <span class="id" title="var">t1</span><a class="idref" href="mathcomp.algebra.ssralg.html#ae816e3b24c797f519ce51141978e695"><span class="id" title="notation">^-1</span></a> ⇒<br/> + <span class="id" title="keyword">let</span>: <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#e6756e10c36f149b18b4a8741ed83079"><span class="id" title="notation">(</span></a><span class="id" title="var">t1'</span><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#e6756e10c36f149b18b4a8741ed83079"><span class="id" title="notation">,</span></a> <span class="id" title="var">r1</span><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#e6756e10c36f149b18b4a8741ed83079"><span class="id" title="notation">)</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#to_rterm"><span class="id" title="definition">to_rterm</span></a> <span class="id" title="var">t1</span> <a class="idref" href="mathcomp.algebra.ssralg.html#r"><span class="id" title="variable">r</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a> <span class="id" title="tactic">in</span><br/> + <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#e6756e10c36f149b18b4a8741ed83079"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#2d5cc450d76596e00ba9d438af4e1dc5"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#2d5cc450d76596e00ba9d438af4e1dc5"><span class="id" title="notation">X_</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#2d5cc450d76596e00ba9d438af4e1dc5"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#0dacc1786c5ba797d47dd85006231633"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.ssreflect.seq.html#size"><span class="id" title="definition">size</span></a> <span class="id" title="var">r1</span><a class="idref" href="mathcomp.algebra.ssralg.html#2d5cc450d76596e00ba9d438af4e1dc5"><span class="id" title="notation">)</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#e6756e10c36f149b18b4a8741ed83079"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.ssreflect.seq.html#rcons"><span class="id" title="definition">rcons</span></a> <span class="id" title="var">r1</span> <span class="id" title="var">t1'</span><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#e6756e10c36f149b18b4a8741ed83079"><span class="id" title="notation">)</span></a><br/> + | <span class="id" title="var">t1</span> <a class="idref" href="mathcomp.algebra.ssralg.html#dbf4583bf7f5ea301319678efa885505"><span class="id" title="notation">+</span></a> <span class="id" title="var">t2</span> ⇒<br/> + <span class="id" title="keyword">let</span>: <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#e6756e10c36f149b18b4a8741ed83079"><span class="id" title="notation">(</span></a><span class="id" title="var">t1'</span><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#e6756e10c36f149b18b4a8741ed83079"><span class="id" title="notation">,</span></a> <span class="id" title="var">r1</span><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#e6756e10c36f149b18b4a8741ed83079"><span class="id" title="notation">)</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#to_rterm"><span class="id" title="definition">to_rterm</span></a> <span class="id" title="var">t1</span> <a class="idref" href="mathcomp.algebra.ssralg.html#r"><span class="id" title="variable">r</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a> <span class="id" title="tactic">in</span><br/> + <span class="id" title="keyword">let</span>: <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#e6756e10c36f149b18b4a8741ed83079"><span class="id" title="notation">(</span></a><span class="id" title="var">t2'</span><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#e6756e10c36f149b18b4a8741ed83079"><span class="id" title="notation">,</span></a> <span class="id" title="var">r2</span><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#e6756e10c36f149b18b4a8741ed83079"><span class="id" title="notation">)</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#to_rterm"><span class="id" title="definition">to_rterm</span></a> <span class="id" title="var">t2</span> <span class="id" title="var">r1</span> <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a> <span class="id" title="tactic">in</span><br/> + <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#e6756e10c36f149b18b4a8741ed83079"><span class="id" title="notation">(</span></a><span class="id" title="var">t1'</span> <a class="idref" href="mathcomp.algebra.ssralg.html#dbf4583bf7f5ea301319678efa885505"><span class="id" title="notation">+</span></a> <span class="id" title="var">t2'</span><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#e6756e10c36f149b18b4a8741ed83079"><span class="id" title="notation">,</span></a> <span class="id" title="var">r2</span><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#e6756e10c36f149b18b4a8741ed83079"><span class="id" title="notation">)</span></a><br/> + | <a class="idref" href="mathcomp.algebra.ssralg.html#e2d8b10a7f82d8520cd39f5ef78702a0"><span class="id" title="notation">-</span></a> <span class="id" title="var">t1</span> ⇒<br/> + <span class="id" title="keyword">let</span>: <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#e6756e10c36f149b18b4a8741ed83079"><span class="id" title="notation">(</span></a><span class="id" title="var">t1'</span><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#e6756e10c36f149b18b4a8741ed83079"><span class="id" title="notation">,</span></a> <span class="id" title="var">r1</span><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#e6756e10c36f149b18b4a8741ed83079"><span class="id" title="notation">)</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#to_rterm"><span class="id" title="definition">to_rterm</span></a> <span class="id" title="var">t1</span> <a class="idref" href="mathcomp.algebra.ssralg.html#r"><span class="id" title="variable">r</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a> <span class="id" title="tactic">in</span><br/> + <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#e6756e10c36f149b18b4a8741ed83079"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#e2d8b10a7f82d8520cd39f5ef78702a0"><span class="id" title="notation">-</span></a> <span class="id" title="var">t1'</span><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#e6756e10c36f149b18b4a8741ed83079"><span class="id" title="notation">,</span></a> <span class="id" title="var">r1</span><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#e6756e10c36f149b18b4a8741ed83079"><span class="id" title="notation">)</span></a><br/> + | <span class="id" title="var">t1</span> <a class="idref" href="mathcomp.algebra.ssralg.html#74b863100f00ebe6b6a91299397f9af3"><span class="id" title="notation">*+</span></a> <span class="id" title="var">m</span> ⇒<br/> + <span class="id" title="keyword">let</span>: <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#e6756e10c36f149b18b4a8741ed83079"><span class="id" title="notation">(</span></a><span class="id" title="var">t1'</span><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#e6756e10c36f149b18b4a8741ed83079"><span class="id" title="notation">,</span></a> <span class="id" title="var">r1</span><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#e6756e10c36f149b18b4a8741ed83079"><span class="id" title="notation">)</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#to_rterm"><span class="id" title="definition">to_rterm</span></a> <span class="id" title="var">t1</span> <a class="idref" href="mathcomp.algebra.ssralg.html#r"><span class="id" title="variable">r</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a> <span class="id" title="tactic">in</span><br/> + <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#e6756e10c36f149b18b4a8741ed83079"><span class="id" title="notation">(</span></a><span class="id" title="var">t1'</span> <a class="idref" href="mathcomp.algebra.ssralg.html#74b863100f00ebe6b6a91299397f9af3"><span class="id" title="notation">*+</span></a> <span class="id" title="var">m</span><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#e6756e10c36f149b18b4a8741ed83079"><span class="id" title="notation">,</span></a> <span class="id" title="var">r1</span><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#e6756e10c36f149b18b4a8741ed83079"><span class="id" title="notation">)</span></a><br/> + | <span class="id" title="var">t1</span> <a class="idref" href="mathcomp.algebra.ssralg.html#a9e0394c049f1992b539cb7717095281"><span class="id" title="notation">×</span></a> <span class="id" title="var">t2</span> ⇒<br/> + <span class="id" title="keyword">let</span>: <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#e6756e10c36f149b18b4a8741ed83079"><span class="id" title="notation">(</span></a><span class="id" title="var">t1'</span><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#e6756e10c36f149b18b4a8741ed83079"><span class="id" title="notation">,</span></a> <span class="id" title="var">r1</span><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#e6756e10c36f149b18b4a8741ed83079"><span class="id" title="notation">)</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#to_rterm"><span class="id" title="definition">to_rterm</span></a> <span class="id" title="var">t1</span> <a class="idref" href="mathcomp.algebra.ssralg.html#r"><span class="id" title="variable">r</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a> <span class="id" title="tactic">in</span><br/> + <span class="id" title="keyword">let</span>: <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#e6756e10c36f149b18b4a8741ed83079"><span class="id" title="notation">(</span></a><span class="id" title="var">t2'</span><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#e6756e10c36f149b18b4a8741ed83079"><span class="id" title="notation">,</span></a> <span class="id" title="var">r2</span><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#e6756e10c36f149b18b4a8741ed83079"><span class="id" title="notation">)</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#to_rterm"><span class="id" title="definition">to_rterm</span></a> <span class="id" title="var">t2</span> <span class="id" title="var">r1</span> <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a> <span class="id" title="tactic">in</span><br/> + <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#e6756e10c36f149b18b4a8741ed83079"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Mul"><span class="id" title="constructor">Mul</span></a> <span class="id" title="var">t1'</span> <span class="id" title="var">t2'</span><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#e6756e10c36f149b18b4a8741ed83079"><span class="id" title="notation">,</span></a> <span class="id" title="var">r2</span><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#e6756e10c36f149b18b4a8741ed83079"><span class="id" title="notation">)</span></a><br/> + | <span class="id" title="var">t1</span> <a class="idref" href="mathcomp.algebra.ssralg.html#d56cb9de8d42b54fdfaa24a15d81424e"><span class="id" title="notation">^+</span></a> <span class="id" title="var">m</span> ⇒<br/> + <span class="id" title="keyword">let</span>: <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#e6756e10c36f149b18b4a8741ed83079"><span class="id" title="notation">(</span></a><span class="id" title="var">t1'</span><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#e6756e10c36f149b18b4a8741ed83079"><span class="id" title="notation">,</span></a> <span class="id" title="var">r1</span><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#e6756e10c36f149b18b4a8741ed83079"><span class="id" title="notation">)</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#to_rterm"><span class="id" title="definition">to_rterm</span></a> <span class="id" title="var">t1</span> <a class="idref" href="mathcomp.algebra.ssralg.html#r"><span class="id" title="variable">r</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a> <span class="id" title="tactic">in</span><br/> + <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#e6756e10c36f149b18b4a8741ed83079"><span class="id" title="notation">(</span></a><span class="id" title="var">t1'</span> <a class="idref" href="mathcomp.algebra.ssralg.html#d56cb9de8d42b54fdfaa24a15d81424e"><span class="id" title="notation">^+</span></a> <span class="id" title="var">m</span><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#e6756e10c36f149b18b4a8741ed83079"><span class="id" title="notation">,</span></a> <span class="id" title="var">r1</span><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#e6756e10c36f149b18b4a8741ed83079"><span class="id" title="notation">)</span></a><br/> + | <span class="id" title="var">_</span> ⇒ <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#e6756e10c36f149b18b4a8741ed83079"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#t"><span class="id" title="variable">t</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#e6756e10c36f149b18b4a8741ed83079"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#r"><span class="id" title="variable">r</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#e6756e10c36f149b18b4a8741ed83079"><span class="id" title="notation">)</span></a><br/> <span class="id" title="keyword">end</span>%<span class="id" title="var">T</span>.<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.to_rterm_id"><span class="id" title="lemma">to_rterm_id</span></a> <span class="id" title="var">t</span> <span class="id" title="var">r</span> <span class="id" title="var">n</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.rterm"><span class="id" title="definition">rterm</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#t"><span class="id" title="variable">t</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.to_rterm"><span class="id" title="definition">to_rterm</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#t"><span class="id" title="variable">t</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#r"><span class="id" title="variable">r</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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.Datatypes.html#44400027531d4bc3f586a1997dc874c0"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#t"><span class="id" title="variable">t</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.ssralg.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.Datatypes.html#44400027531d4bc3f586a1997dc874c0"><span class="id" title="notation">)</span></a>.<br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.to_rterm_id"><span class="id" title="lemma">to_rterm_id</span></a> <span class="id" title="var">t</span> <span class="id" title="var">r</span> <span class="id" title="var">n</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.rterm"><span class="id" title="definition">rterm</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#t"><span class="id" title="variable">t</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.to_rterm"><span class="id" title="definition">to_rterm</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#t"><span class="id" title="variable">t</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#r"><span class="id" title="variable">r</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#e6756e10c36f149b18b4a8741ed83079"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#t"><span class="id" title="variable">t</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#e6756e10c36f149b18b4a8741ed83079"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#r"><span class="id" title="variable">r</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#e6756e10c36f149b18b4a8741ed83079"><span class="id" title="notation">)</span></a>.<br/> <br/> </div> @@ -4163,12 +4178,12 @@ <div class="code"> <span class="id" title="keyword">Definition</span> <a name="GRing.eq0_rform"><span class="id" title="definition">eq0_rform</span></a> <span class="id" title="var">t1</span> :=<br/> <span class="id" title="keyword">let</span> <span class="id" title="var">m</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ub_var"><span class="id" title="definition">ub_var</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#t1"><span class="id" title="variable">t1</span></a> <span class="id" title="tactic">in</span><br/> - <span class="id" title="keyword">let</span>: <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#44400027531d4bc3f586a1997dc874c0"><span class="id" title="notation">(</span></a><span class="id" title="var">t1'</span><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#44400027531d4bc3f586a1997dc874c0"><span class="id" title="notation">,</span></a> <span class="id" title="var">r1</span><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#44400027531d4bc3f586a1997dc874c0"><span class="id" title="notation">)</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.to_rterm"><span class="id" title="definition">to_rterm</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#t1"><span class="id" title="variable">t1</span></a> <a class="idref" href="mathcomp.ssreflect.seq.html#747e2b5d553b2dfe76e024e1f8fb39d1"><span class="id" title="notation">[::]</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#m"><span class="id" title="variable">m</span></a> <span class="id" title="tactic">in</span><br/> + <span class="id" title="keyword">let</span>: <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#e6756e10c36f149b18b4a8741ed83079"><span class="id" title="notation">(</span></a><span class="id" title="var">t1'</span><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#e6756e10c36f149b18b4a8741ed83079"><span class="id" title="notation">,</span></a> <span class="id" title="var">r1</span><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#e6756e10c36f149b18b4a8741ed83079"><span class="id" title="notation">)</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.to_rterm"><span class="id" title="definition">to_rterm</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#t1"><span class="id" title="variable">t1</span></a> <a class="idref" href="mathcomp.ssreflect.seq.html#0a934e621391740b862762275992e626"><span class="id" title="notation">[::]</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#m"><span class="id" title="variable">m</span></a> <span class="id" title="tactic">in</span><br/> <span class="id" title="keyword">let</span> <span class="id" title="keyword">fix</span> <span class="id" title="var">loop</span> <span class="id" title="var">r</span> <span class="id" title="var">i</span> := <span class="id" title="keyword">match</span> <a class="idref" href="mathcomp.algebra.ssralg.html#r"><span class="id" title="variable">r</span></a> <span class="id" title="keyword">with</span><br/> - | <a class="idref" href="mathcomp.ssreflect.seq.html#747e2b5d553b2dfe76e024e1f8fb39d1"><span class="id" title="notation">[::]</span></a> ⇒ <span class="id" title="var">t1'</span> <a class="idref" href="mathcomp.algebra.ssralg.html#1a6fbc7f80506595657605bb77bac252"><span class="id" title="notation">==</span></a> 0<br/> - | <span class="id" title="var">t</span> <a class="idref" href="mathcomp.ssreflect.seq.html#d7fed0909a58e41c49e3ee117361b0a5"><span class="id" title="notation">::</span></a> <span class="id" title="var">r'</span> ⇒<br/> - <span class="id" title="keyword">let</span> <span class="id" title="var">f</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#bb8753f66ae3a3b4b3bd3423d5bd7db1"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#bb8753f66ae3a3b4b3bd3423d5bd7db1"><span class="id" title="notation">X_i</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#0b9ef6879d691a4408b07cd59dbb28f0"><span class="id" title="notation">×</span></a> <span class="id" title="var">t</span> <a class="idref" href="mathcomp.algebra.ssralg.html#1a6fbc7f80506595657605bb77bac252"><span class="id" title="notation">==</span></a> 1 <a class="idref" href="mathcomp.algebra.ssralg.html#421c9c3c51833f1724975feaafb4b744"><span class="id" title="notation">∧</span></a> <span class="id" title="var">t</span> <a class="idref" href="mathcomp.algebra.ssralg.html#0b9ef6879d691a4408b07cd59dbb28f0"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#bb8753f66ae3a3b4b3bd3423d5bd7db1"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#bb8753f66ae3a3b4b3bd3423d5bd7db1"><span class="id" title="notation">X_i</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#1a6fbc7f80506595657605bb77bac252"><span class="id" title="notation">==</span></a> 1 <span class="id" title="tactic">in</span><br/> - <a class="idref" href="mathcomp.algebra.ssralg.html#bc08eb662d28e6715d9720beafd75750"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#bc08eb662d28e6715d9720beafd75750"><span class="id" title="notation">∀</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#bc08eb662d28e6715d9720beafd75750"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#bc08eb662d28e6715d9720beafd75750"><span class="id" title="notation">X_i</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#bc08eb662d28e6715d9720beafd75750"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#0686cd1bb1af98b02865ebbedcf70bd7"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#00b8327e04e2b6f2d979016edbc0c67a"><span class="id" title="notation">∨</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#bb8753f66ae3a3b4b3bd3423d5bd7db1"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#bb8753f66ae3a3b4b3bd3423d5bd7db1"><span class="id" title="notation">X_i</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#1a6fbc7f80506595657605bb77bac252"><span class="id" title="notation">==</span></a> <span class="id" title="var">t</span> <a class="idref" href="mathcomp.algebra.ssralg.html#421c9c3c51833f1724975feaafb4b744"><span class="id" title="notation">∧</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#bf1935aa3f28dfd45301897795b397a5"><span class="id" title="notation">¬</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#bf1935aa3f28dfd45301897795b397a5"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#cde0c417a2306d50158e89540db8c60d"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#cde0c417a2306d50158e89540db8c60d"><span class="id" title="notation">∃</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#cde0c417a2306d50158e89540db8c60d"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#cde0c417a2306d50158e89540db8c60d"><span class="id" title="notation">X_i</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#cde0c417a2306d50158e89540db8c60d"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f"><span class="id" title="variable">f</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#bf1935aa3f28dfd45301897795b397a5"><span class="id" title="notation">)</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#0686cd1bb1af98b02865ebbedcf70bd7"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#0686cd1bb1af98b02865ebbedcf70bd7"><span class="id" title="notation">==></span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#loop"><span class="id" title="variable">loop</span></a> <span class="id" title="var">r'</span> <a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.ssreflect.ssrnat.html#361454269931ea8643f7b402f2ab7222"><span class="id" title="notation">.+1</span></a><br/> + | <a class="idref" href="mathcomp.ssreflect.seq.html#0a934e621391740b862762275992e626"><span class="id" title="notation">[::]</span></a> ⇒ <span class="id" title="var">t1'</span> <a class="idref" href="mathcomp.algebra.ssralg.html#e6bce7853a73484fa8c54c3b3d0fe8f6"><span class="id" title="notation">==</span></a> 0<br/> + | <span class="id" title="var">t</span> <a class="idref" href="mathcomp.ssreflect.seq.html#407cde5b61fbf27196d1a7c5a475e083"><span class="id" title="notation">::</span></a> <span class="id" title="var">r'</span> ⇒<br/> + <span class="id" title="keyword">let</span> <span class="id" title="var">f</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#2d5cc450d76596e00ba9d438af4e1dc5"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#2d5cc450d76596e00ba9d438af4e1dc5"><span class="id" title="notation">X_i</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#a9e0394c049f1992b539cb7717095281"><span class="id" title="notation">×</span></a> <span class="id" title="var">t</span> <a class="idref" href="mathcomp.algebra.ssralg.html#e6bce7853a73484fa8c54c3b3d0fe8f6"><span class="id" title="notation">==</span></a> 1 <a class="idref" href="mathcomp.algebra.ssralg.html#ab32bd0aebe6dabd4efe45ce35759537"><span class="id" title="notation">∧</span></a> <span class="id" title="var">t</span> <a class="idref" href="mathcomp.algebra.ssralg.html#a9e0394c049f1992b539cb7717095281"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#2d5cc450d76596e00ba9d438af4e1dc5"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#2d5cc450d76596e00ba9d438af4e1dc5"><span class="id" title="notation">X_i</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#e6bce7853a73484fa8c54c3b3d0fe8f6"><span class="id" title="notation">==</span></a> 1 <span class="id" title="tactic">in</span><br/> + <a class="idref" href="mathcomp.algebra.ssralg.html#662c07b5d0726d21c8edce4d5fbaa087"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#662c07b5d0726d21c8edce4d5fbaa087"><span class="id" title="notation">∀</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#662c07b5d0726d21c8edce4d5fbaa087"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#662c07b5d0726d21c8edce4d5fbaa087"><span class="id" title="notation">X_i</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#662c07b5d0726d21c8edce4d5fbaa087"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#33d69901017412abb2c3513a87e991c1"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#bef44b50d3f3917949ecad5e3e01309c"><span class="id" title="notation">∨</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#2d5cc450d76596e00ba9d438af4e1dc5"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#2d5cc450d76596e00ba9d438af4e1dc5"><span class="id" title="notation">X_i</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#e6bce7853a73484fa8c54c3b3d0fe8f6"><span class="id" title="notation">==</span></a> <span class="id" title="var">t</span> <a class="idref" href="mathcomp.algebra.ssralg.html#ab32bd0aebe6dabd4efe45ce35759537"><span class="id" title="notation">∧</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#8fd8345f0bd0f50ba5171cc7c1b45aca"><span class="id" title="notation">¬</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#8fd8345f0bd0f50ba5171cc7c1b45aca"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#3a3c189a0c88aa572171a0bae2912beb"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#3a3c189a0c88aa572171a0bae2912beb"><span class="id" title="notation">∃</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#3a3c189a0c88aa572171a0bae2912beb"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#3a3c189a0c88aa572171a0bae2912beb"><span class="id" title="notation">X_i</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#3a3c189a0c88aa572171a0bae2912beb"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f"><span class="id" title="variable">f</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#8fd8345f0bd0f50ba5171cc7c1b45aca"><span class="id" title="notation">)</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#33d69901017412abb2c3513a87e991c1"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#33d69901017412abb2c3513a87e991c1"><span class="id" title="notation">==></span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#loop"><span class="id" title="variable">loop</span></a> <span class="id" title="var">r'</span> <a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.ssreflect.ssrnat.html#bda89d73ec4a8f23ae92b565ffb5aaa6"><span class="id" title="notation">.+1</span></a><br/> <span class="id" title="keyword">end</span>%<span class="id" title="var">T</span><br/> <span class="id" title="tactic">in</span> <a class="idref" href="mathcomp.algebra.ssralg.html#loop"><span class="id" title="variable">loop</span></a> <span class="id" title="var">r1</span> <a class="idref" href="mathcomp.algebra.ssralg.html#m"><span class="id" title="variable">m</span></a>.<br/> @@ -4183,14 +4198,14 @@ <span class="id" title="keyword">Fixpoint</span> <a name="GRing.to_rform"><span class="id" title="definition">to_rform</span></a> <span class="id" title="var">f</span> :=<br/> <span class="id" title="keyword">match</span> <a class="idref" href="mathcomp.algebra.ssralg.html#f"><span class="id" title="variable">f</span></a> <span class="id" title="keyword">with</span><br/> | <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Bool"><span class="id" title="constructor">Bool</span></a> <span class="id" title="var">b</span> ⇒ <a class="idref" href="mathcomp.algebra.ssralg.html#f"><span class="id" title="variable">f</span></a><br/> - | <span class="id" title="var">t1</span> <a class="idref" href="mathcomp.algebra.ssralg.html#1a6fbc7f80506595657605bb77bac252"><span class="id" title="notation">==</span></a> <span class="id" title="var">t2</span> ⇒ <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.eq0_rform"><span class="id" title="definition">eq0_rform</span></a> (<span class="id" title="var">t1</span> <a class="idref" href="mathcomp.algebra.ssralg.html#18e2ce36b5b2614b64eb5d1e85d95826"><span class="id" title="notation">-</span></a> <span class="id" title="var">t2</span>)<br/> - | <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Unit"><span class="id" title="constructor">Unit</span></a> <span class="id" title="var">t1</span> ⇒ <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.eq0_rform"><span class="id" title="definition">eq0_rform</span></a> (<span class="id" title="var">t1</span> <a class="idref" href="mathcomp.algebra.ssralg.html#0b9ef6879d691a4408b07cd59dbb28f0"><span class="id" title="notation">×</span></a> <span class="id" title="var">t1</span><a class="idref" href="mathcomp.algebra.ssralg.html#8527e8676e2efa838eb3d51e80e2d39f"><span class="id" title="notation">^-1</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#18e2ce36b5b2614b64eb5d1e85d95826"><span class="id" title="notation">-</span></a> 1)<br/> - | <span class="id" title="var">f1</span> <a class="idref" href="mathcomp.algebra.ssralg.html#421c9c3c51833f1724975feaafb4b744"><span class="id" title="notation">∧</span></a> <span class="id" title="var">f2</span> ⇒ <a class="idref" href="mathcomp.algebra.ssralg.html#to_rform"><span class="id" title="definition">to_rform</span></a> <span class="id" title="var">f1</span> <a class="idref" href="mathcomp.algebra.ssralg.html#421c9c3c51833f1724975feaafb4b744"><span class="id" title="notation">∧</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#to_rform"><span class="id" title="definition">to_rform</span></a> <span class="id" title="var">f2</span><br/> - | <span class="id" title="var">f1</span> <a class="idref" href="mathcomp.algebra.ssralg.html#00b8327e04e2b6f2d979016edbc0c67a"><span class="id" title="notation">∨</span></a> <span class="id" title="var">f2</span> ⇒ <a class="idref" href="mathcomp.algebra.ssralg.html#to_rform"><span class="id" title="definition">to_rform</span></a> <span class="id" title="var">f1</span> <a class="idref" href="mathcomp.algebra.ssralg.html#00b8327e04e2b6f2d979016edbc0c67a"><span class="id" title="notation">∨</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#to_rform"><span class="id" title="definition">to_rform</span></a> <span class="id" title="var">f2</span><br/> - | <span class="id" title="var">f1</span> <a class="idref" href="mathcomp.algebra.ssralg.html#0686cd1bb1af98b02865ebbedcf70bd7"><span class="id" title="notation">==></span></a> <span class="id" title="var">f2</span> ⇒ <a class="idref" href="mathcomp.algebra.ssralg.html#to_rform"><span class="id" title="definition">to_rform</span></a> <span class="id" title="var">f1</span> <a class="idref" href="mathcomp.algebra.ssralg.html#0686cd1bb1af98b02865ebbedcf70bd7"><span class="id" title="notation">==></span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#to_rform"><span class="id" title="definition">to_rform</span></a> <span class="id" title="var">f2</span><br/> - | <a class="idref" href="mathcomp.algebra.ssralg.html#bf1935aa3f28dfd45301897795b397a5"><span class="id" title="notation">¬</span></a> <span class="id" title="var">f1</span> ⇒ <a class="idref" href="mathcomp.algebra.ssralg.html#bf1935aa3f28dfd45301897795b397a5"><span class="id" title="notation">¬</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#to_rform"><span class="id" title="definition">to_rform</span></a> <span class="id" title="var">f1</span><br/> - | (<a class="idref" href="mathcomp.algebra.ssralg.html#cde0c417a2306d50158e89540db8c60d"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#cde0c417a2306d50158e89540db8c60d"><span class="id" title="notation">∃</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#cde0c417a2306d50158e89540db8c60d"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#cde0c417a2306d50158e89540db8c60d"><span class="id" title="notation">X_i</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#cde0c417a2306d50158e89540db8c60d"><span class="id" title="notation">,</span></a> <span class="id" title="var">f1</span>) ⇒ <a class="idref" href="mathcomp.algebra.ssralg.html#cde0c417a2306d50158e89540db8c60d"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#cde0c417a2306d50158e89540db8c60d"><span class="id" title="notation">∃</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#cde0c417a2306d50158e89540db8c60d"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#cde0c417a2306d50158e89540db8c60d"><span class="id" title="notation">X_i</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#cde0c417a2306d50158e89540db8c60d"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#to_rform"><span class="id" title="definition">to_rform</span></a> <span class="id" title="var">f1</span><br/> - | (<a class="idref" href="mathcomp.algebra.ssralg.html#bc08eb662d28e6715d9720beafd75750"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#bc08eb662d28e6715d9720beafd75750"><span class="id" title="notation">∀</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#bc08eb662d28e6715d9720beafd75750"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#bc08eb662d28e6715d9720beafd75750"><span class="id" title="notation">X_i</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#bc08eb662d28e6715d9720beafd75750"><span class="id" title="notation">,</span></a> <span class="id" title="var">f1</span>) ⇒ <a class="idref" href="mathcomp.algebra.ssralg.html#bc08eb662d28e6715d9720beafd75750"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#bc08eb662d28e6715d9720beafd75750"><span class="id" title="notation">∀</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#bc08eb662d28e6715d9720beafd75750"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#bc08eb662d28e6715d9720beafd75750"><span class="id" title="notation">X_i</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#bc08eb662d28e6715d9720beafd75750"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#to_rform"><span class="id" title="definition">to_rform</span></a> <span class="id" title="var">f1</span><br/> + | <span class="id" title="var">t1</span> <a class="idref" href="mathcomp.algebra.ssralg.html#e6bce7853a73484fa8c54c3b3d0fe8f6"><span class="id" title="notation">==</span></a> <span class="id" title="var">t2</span> ⇒ <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.eq0_rform"><span class="id" title="definition">eq0_rform</span></a> (<span class="id" title="var">t1</span> <a class="idref" href="mathcomp.algebra.ssralg.html#cb78c0285370423798e088d285c922f5"><span class="id" title="notation">-</span></a> <span class="id" title="var">t2</span>)<br/> + | <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Unit"><span class="id" title="constructor">Unit</span></a> <span class="id" title="var">t1</span> ⇒ <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.eq0_rform"><span class="id" title="definition">eq0_rform</span></a> (<span class="id" title="var">t1</span> <a class="idref" href="mathcomp.algebra.ssralg.html#a9e0394c049f1992b539cb7717095281"><span class="id" title="notation">×</span></a> <span class="id" title="var">t1</span><a class="idref" href="mathcomp.algebra.ssralg.html#ae816e3b24c797f519ce51141978e695"><span class="id" title="notation">^-1</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#cb78c0285370423798e088d285c922f5"><span class="id" title="notation">-</span></a> 1)<br/> + | <span class="id" title="var">f1</span> <a class="idref" href="mathcomp.algebra.ssralg.html#ab32bd0aebe6dabd4efe45ce35759537"><span class="id" title="notation">∧</span></a> <span class="id" title="var">f2</span> ⇒ <a class="idref" href="mathcomp.algebra.ssralg.html#to_rform"><span class="id" title="definition">to_rform</span></a> <span class="id" title="var">f1</span> <a class="idref" href="mathcomp.algebra.ssralg.html#ab32bd0aebe6dabd4efe45ce35759537"><span class="id" title="notation">∧</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#to_rform"><span class="id" title="definition">to_rform</span></a> <span class="id" title="var">f2</span><br/> + | <span class="id" title="var">f1</span> <a class="idref" href="mathcomp.algebra.ssralg.html#bef44b50d3f3917949ecad5e3e01309c"><span class="id" title="notation">∨</span></a> <span class="id" title="var">f2</span> ⇒ <a class="idref" href="mathcomp.algebra.ssralg.html#to_rform"><span class="id" title="definition">to_rform</span></a> <span class="id" title="var">f1</span> <a class="idref" href="mathcomp.algebra.ssralg.html#bef44b50d3f3917949ecad5e3e01309c"><span class="id" title="notation">∨</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#to_rform"><span class="id" title="definition">to_rform</span></a> <span class="id" title="var">f2</span><br/> + | <span class="id" title="var">f1</span> <a class="idref" href="mathcomp.algebra.ssralg.html#33d69901017412abb2c3513a87e991c1"><span class="id" title="notation">==></span></a> <span class="id" title="var">f2</span> ⇒ <a class="idref" href="mathcomp.algebra.ssralg.html#to_rform"><span class="id" title="definition">to_rform</span></a> <span class="id" title="var">f1</span> <a class="idref" href="mathcomp.algebra.ssralg.html#33d69901017412abb2c3513a87e991c1"><span class="id" title="notation">==></span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#to_rform"><span class="id" title="definition">to_rform</span></a> <span class="id" title="var">f2</span><br/> + | <a class="idref" href="mathcomp.algebra.ssralg.html#8fd8345f0bd0f50ba5171cc7c1b45aca"><span class="id" title="notation">¬</span></a> <span class="id" title="var">f1</span> ⇒ <a class="idref" href="mathcomp.algebra.ssralg.html#8fd8345f0bd0f50ba5171cc7c1b45aca"><span class="id" title="notation">¬</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#to_rform"><span class="id" title="definition">to_rform</span></a> <span class="id" title="var">f1</span><br/> + | (<a class="idref" href="mathcomp.algebra.ssralg.html#3a3c189a0c88aa572171a0bae2912beb"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#3a3c189a0c88aa572171a0bae2912beb"><span class="id" title="notation">∃</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#3a3c189a0c88aa572171a0bae2912beb"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#3a3c189a0c88aa572171a0bae2912beb"><span class="id" title="notation">X_i</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#3a3c189a0c88aa572171a0bae2912beb"><span class="id" title="notation">,</span></a> <span class="id" title="var">f1</span>) ⇒ <a class="idref" href="mathcomp.algebra.ssralg.html#3a3c189a0c88aa572171a0bae2912beb"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#3a3c189a0c88aa572171a0bae2912beb"><span class="id" title="notation">∃</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#3a3c189a0c88aa572171a0bae2912beb"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#3a3c189a0c88aa572171a0bae2912beb"><span class="id" title="notation">X_i</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#3a3c189a0c88aa572171a0bae2912beb"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#to_rform"><span class="id" title="definition">to_rform</span></a> <span class="id" title="var">f1</span><br/> + | (<a class="idref" href="mathcomp.algebra.ssralg.html#662c07b5d0726d21c8edce4d5fbaa087"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#662c07b5d0726d21c8edce4d5fbaa087"><span class="id" title="notation">∀</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#662c07b5d0726d21c8edce4d5fbaa087"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#662c07b5d0726d21c8edce4d5fbaa087"><span class="id" title="notation">X_i</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#662c07b5d0726d21c8edce4d5fbaa087"><span class="id" title="notation">,</span></a> <span class="id" title="var">f1</span>) ⇒ <a class="idref" href="mathcomp.algebra.ssralg.html#662c07b5d0726d21c8edce4d5fbaa087"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#662c07b5d0726d21c8edce4d5fbaa087"><span class="id" title="notation">∀</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#662c07b5d0726d21c8edce4d5fbaa087"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#662c07b5d0726d21c8edce4d5fbaa087"><span class="id" title="notation">X_i</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#662c07b5d0726d21c8edce4d5fbaa087"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#to_rform"><span class="id" title="definition">to_rform</span></a> <span class="id" title="var">f1</span><br/> <span class="id" title="keyword">end</span>%<span class="id" title="var">T</span>.<br/> <br/> @@ -4209,7 +4224,7 @@ Correctness of the transformation. </div> <div class="code"> -<span class="id" title="keyword">Lemma</span> <a name="GRing.to_rformP"><span class="id" title="lemma">to_rformP</span></a> <span class="id" title="var">e</span> <span class="id" title="var">f</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.holds"><span class="id" title="definition">holds</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#e"><span class="id" title="variable">e</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.to_rform"><span class="id" title="definition">to_rform</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#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#df1ced36fc33ce188051218bca314374"><span class="id" title="notation">↔</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.holds"><span class="id" title="definition">holds</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#e"><span class="id" title="variable">e</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f"><span class="id" title="variable">f</span></a>.<br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.to_rformP"><span class="id" title="lemma">to_rformP</span></a> <span class="id" title="var">e</span> <span class="id" title="var">f</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.holds"><span class="id" title="definition">holds</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#e"><span class="id" title="variable">e</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.to_rform"><span class="id" title="definition">to_rform</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f"><span class="id" title="variable">f</span></a>) <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#4bfb4f2d0721ba668e3a802ab1b745a1"><span class="id" title="notation">↔</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.holds"><span class="id" title="definition">holds</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#e"><span class="id" title="variable">e</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f"><span class="id" title="variable">f</span></a>.<br/> <br/> </div> @@ -4224,10 +4239,10 @@ <div class="code"> <span class="id" title="keyword">Fixpoint</span> <a name="GRing.qf_form"><span class="id" title="definition">qf_form</span></a> (<span class="id" title="var">f</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.formula"><span class="id" title="inductive">formula</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.EvalTerm.R"><span class="id" title="variable">R</span></a>) :=<br/> <span class="id" title="keyword">match</span> <a class="idref" href="mathcomp.algebra.ssralg.html#f"><span class="id" title="variable">f</span></a> <span class="id" title="keyword">with</span><br/> - | <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Bool"><span class="id" title="constructor">Bool</span></a> <span class="id" title="var">_</span> | <span class="id" title="var">_</span> <a class="idref" href="mathcomp.algebra.ssralg.html#1a6fbc7f80506595657605bb77bac252"><span class="id" title="notation">==</span></a> <span class="id" title="var">_</span> | <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Unit"><span class="id" title="constructor">Unit</span></a> <span class="id" title="var">_</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/> - | <span class="id" title="var">f1</span> <a class="idref" href="mathcomp.algebra.ssralg.html#421c9c3c51833f1724975feaafb4b744"><span class="id" title="notation">∧</span></a> <span class="id" title="var">f2</span> | <span class="id" title="var">f1</span> <a class="idref" href="mathcomp.algebra.ssralg.html#00b8327e04e2b6f2d979016edbc0c67a"><span class="id" title="notation">∨</span></a> <span class="id" title="var">f2</span> | <span class="id" title="var">f1</span> <a class="idref" href="mathcomp.algebra.ssralg.html#0686cd1bb1af98b02865ebbedcf70bd7"><span class="id" title="notation">==></span></a> <span class="id" title="var">f2</span> ⇒ <a class="idref" href="mathcomp.algebra.ssralg.html#qf_form"><span class="id" title="definition">qf_form</span></a> <span class="id" title="var">f1</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="mathcomp.algebra.ssralg.html#qf_form"><span class="id" title="definition">qf_form</span></a> <span class="id" title="var">f2</span><br/> - | <a class="idref" href="mathcomp.algebra.ssralg.html#bf1935aa3f28dfd45301897795b397a5"><span class="id" title="notation">¬</span></a> <span class="id" title="var">f1</span> ⇒ <a class="idref" href="mathcomp.algebra.ssralg.html#qf_form"><span class="id" title="definition">qf_form</span></a> <span class="id" title="var">f1</span><br/> - | <span class="id" title="var">_</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/> + | <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Bool"><span class="id" title="constructor">Bool</span></a> <span class="id" title="var">_</span> | <span class="id" title="var">_</span> <a class="idref" href="mathcomp.algebra.ssralg.html#e6bce7853a73484fa8c54c3b3d0fe8f6"><span class="id" title="notation">==</span></a> <span class="id" title="var">_</span> | <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Unit"><span class="id" title="constructor">Unit</span></a> <span class="id" title="var">_</span> ⇒ <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#true"><span class="id" title="constructor">true</span></a><br/> + | <span class="id" title="var">f1</span> <a class="idref" href="mathcomp.algebra.ssralg.html#ab32bd0aebe6dabd4efe45ce35759537"><span class="id" title="notation">∧</span></a> <span class="id" title="var">f2</span> | <span class="id" title="var">f1</span> <a class="idref" href="mathcomp.algebra.ssralg.html#bef44b50d3f3917949ecad5e3e01309c"><span class="id" title="notation">∨</span></a> <span class="id" title="var">f2</span> | <span class="id" title="var">f1</span> <a class="idref" href="mathcomp.algebra.ssralg.html#33d69901017412abb2c3513a87e991c1"><span class="id" title="notation">==></span></a> <span class="id" title="var">f2</span> ⇒ <a class="idref" href="mathcomp.algebra.ssralg.html#qf_form"><span class="id" title="definition">qf_form</span></a> <span class="id" title="var">f1</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#9ddeac0ab66152bd1d64bedb507a795e"><span class="id" title="notation">&&</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#qf_form"><span class="id" title="definition">qf_form</span></a> <span class="id" title="var">f2</span><br/> + | <a class="idref" href="mathcomp.algebra.ssralg.html#8fd8345f0bd0f50ba5171cc7c1b45aca"><span class="id" title="notation">¬</span></a> <span class="id" title="var">f1</span> ⇒ <a class="idref" href="mathcomp.algebra.ssralg.html#qf_form"><span class="id" title="definition">qf_form</span></a> <span class="id" title="var">f1</span><br/> + | <span class="id" title="var">_</span> ⇒ <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#false"><span class="id" title="constructor">false</span></a><br/> <span class="id" title="keyword">end</span>%<span class="id" title="var">T</span>.<br/> <br/> @@ -4237,16 +4252,16 @@ Boolean holds predicate for quantifier free formulas </div> <div class="code"> -<span class="id" title="keyword">Definition</span> <a name="GRing.qf_eval"><span class="id" title="definition">qf_eval</span></a> <span class="id" title="var">e</span> := <span class="id" title="keyword">fix</span> <span class="id" title="var">loop</span> (<span class="id" title="var">f</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.formula"><span class="id" title="inductive">formula</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.EvalTerm.R"><span class="id" title="variable">R</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/> +<span class="id" title="keyword">Definition</span> <a name="GRing.qf_eval"><span class="id" title="definition">qf_eval</span></a> <span class="id" title="var">e</span> := <span class="id" title="keyword">fix</span> <span class="id" title="var">loop</span> (<span class="id" title="var">f</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.formula"><span class="id" title="inductive">formula</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.EvalTerm.R"><span class="id" title="variable">R</span></a>) : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#bool"><span class="id" title="inductive">bool</span></a> :=<br/> <span class="id" title="keyword">match</span> <a class="idref" href="mathcomp.algebra.ssralg.html#f"><span class="id" title="variable">f</span></a> <span class="id" title="keyword">with</span><br/> | <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Bool"><span class="id" title="constructor">Bool</span></a> <span class="id" title="var">b</span> ⇒ <span class="id" title="var">b</span><br/> - | <span class="id" title="var">t1</span> <a class="idref" href="mathcomp.algebra.ssralg.html#1a6fbc7f80506595657605bb77bac252"><span class="id" title="notation">==</span></a> <span class="id" title="var">t2</span> ⇒ (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.eval"><span class="id" title="definition">eval</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#e"><span class="id" title="variable">e</span></a> <span class="id" title="var">t1</span> <a class="idref" href="mathcomp.ssreflect.eqtype.html#17d28d004d0863cb022d4ce832ddaaae"><span class="id" title="notation">==</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.eval"><span class="id" title="definition">eval</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#e"><span class="id" title="variable">e</span></a> <span class="id" title="var">t2</span>)%<span class="id" title="var">bool</span><br/> - | <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Unit"><span class="id" title="constructor">Unit</span></a> <span class="id" title="var">t1</span> ⇒ <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.eval"><span class="id" title="definition">eval</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#e"><span class="id" title="variable">e</span></a> <span class="id" title="var">t1</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.unit"><span class="id" title="definition">unit</span></a><br/> - | <span class="id" title="var">f1</span> <a class="idref" href="mathcomp.algebra.ssralg.html#421c9c3c51833f1724975feaafb4b744"><span class="id" title="notation">∧</span></a> <span class="id" title="var">f2</span> ⇒ <a class="idref" href="mathcomp.algebra.ssralg.html#loop"><span class="id" title="variable">loop</span></a> <span class="id" title="var">f1</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="mathcomp.algebra.ssralg.html#loop"><span class="id" title="variable">loop</span></a> <span class="id" title="var">f2</span><br/> - | <span class="id" title="var">f1</span> <a class="idref" href="mathcomp.algebra.ssralg.html#00b8327e04e2b6f2d979016edbc0c67a"><span class="id" title="notation">∨</span></a> <span class="id" title="var">f2</span> ⇒ <a class="idref" href="mathcomp.algebra.ssralg.html#loop"><span class="id" title="variable">loop</span></a> <span class="id" title="var">f1</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.ssralg.html#loop"><span class="id" title="variable">loop</span></a> <span class="id" title="var">f2</span><br/> - | <span class="id" title="var">f1</span> <a class="idref" href="mathcomp.algebra.ssralg.html#0686cd1bb1af98b02865ebbedcf70bd7"><span class="id" title="notation">==></span></a> <span class="id" title="var">f2</span> ⇒ (<a class="idref" href="mathcomp.algebra.ssralg.html#loop"><span class="id" title="variable">loop</span></a> <span class="id" title="var">f1</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#3b17cb5f3a16fa64a62421f68786f750"><span class="id" title="notation">==></span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#loop"><span class="id" title="variable">loop</span></a> <span class="id" title="var">f2</span>)%<span class="id" title="var">bool</span><br/> - | <a class="idref" href="mathcomp.algebra.ssralg.html#bf1935aa3f28dfd45301897795b397a5"><span class="id" title="notation">¬</span></a> <span class="id" title="var">f1</span> ⇒ <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#4b80c70cdb231351c5e129ba61f7f956"><span class="id" title="notation">~~</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#loop"><span class="id" title="variable">loop</span></a> <span class="id" title="var">f1</span><br/> - |<span class="id" title="var">_</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/> + | <span class="id" title="var">t1</span> <a class="idref" href="mathcomp.algebra.ssralg.html#e6bce7853a73484fa8c54c3b3d0fe8f6"><span class="id" title="notation">==</span></a> <span class="id" title="var">t2</span> ⇒ (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.eval"><span class="id" title="definition">eval</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#e"><span class="id" title="variable">e</span></a> <span class="id" title="var">t1</span> <a class="idref" href="mathcomp.ssreflect.eqtype.html#df45e8c2e8370fd4f0f7c4fdaf208180"><span class="id" title="notation">==</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.eval"><span class="id" title="definition">eval</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#e"><span class="id" title="variable">e</span></a> <span class="id" title="var">t2</span>)%<span class="id" title="var">bool</span><br/> + | <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Unit"><span class="id" title="constructor">Unit</span></a> <span class="id" title="var">t1</span> ⇒ <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.eval"><span class="id" title="definition">eval</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#e"><span class="id" title="variable">e</span></a> <span class="id" title="var">t1</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.unit"><span class="id" title="definition">unit</span></a><br/> + | <span class="id" title="var">f1</span> <a class="idref" href="mathcomp.algebra.ssralg.html#ab32bd0aebe6dabd4efe45ce35759537"><span class="id" title="notation">∧</span></a> <span class="id" title="var">f2</span> ⇒ <a class="idref" href="mathcomp.algebra.ssralg.html#loop"><span class="id" title="variable">loop</span></a> <span class="id" title="var">f1</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#9ddeac0ab66152bd1d64bedb507a795e"><span class="id" title="notation">&&</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#loop"><span class="id" title="variable">loop</span></a> <span class="id" title="var">f2</span><br/> + | <span class="id" title="var">f1</span> <a class="idref" href="mathcomp.algebra.ssralg.html#bef44b50d3f3917949ecad5e3e01309c"><span class="id" title="notation">∨</span></a> <span class="id" title="var">f2</span> ⇒ <a class="idref" href="mathcomp.algebra.ssralg.html#loop"><span class="id" title="variable">loop</span></a> <span class="id" title="var">f1</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#081ff67d3116402bb680e8692aa39185"><span class="id" title="notation">||</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#loop"><span class="id" title="variable">loop</span></a> <span class="id" title="var">f2</span><br/> + | <span class="id" title="var">f1</span> <a class="idref" href="mathcomp.algebra.ssralg.html#33d69901017412abb2c3513a87e991c1"><span class="id" title="notation">==></span></a> <span class="id" title="var">f2</span> ⇒ (<a class="idref" href="mathcomp.algebra.ssralg.html#loop"><span class="id" title="variable">loop</span></a> <span class="id" title="var">f1</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#a133e82bab56729f895f9b2b31e837cd"><span class="id" title="notation">==></span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#loop"><span class="id" title="variable">loop</span></a> <span class="id" title="var">f2</span>)%<span class="id" title="var">bool</span><br/> + | <a class="idref" href="mathcomp.algebra.ssralg.html#8fd8345f0bd0f50ba5171cc7c1b45aca"><span class="id" title="notation">¬</span></a> <span class="id" title="var">f1</span> ⇒ <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b3ebd0deddd84fd60e149cb5ef719351"><span class="id" title="notation">~~</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#loop"><span class="id" title="variable">loop</span></a> <span class="id" title="var">f1</span><br/> + |<span class="id" title="var">_</span> ⇒ <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#false"><span class="id" title="constructor">false</span></a><br/> <span class="id" title="keyword">end</span>%<span class="id" title="var">T</span>.<br/> <br/> @@ -4256,10 +4271,10 @@ qf_eval is equivalent to holds </div> <div class="code"> -<span class="id" title="keyword">Lemma</span> <a name="GRing.qf_evalP"><span class="id" title="lemma">qf_evalP</span></a> <span class="id" title="var">e</span> <span class="id" title="var">f</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.qf_form"><span class="id" title="definition">qf_form</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#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="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#reflect"><span class="id" title="abbreviation">reflect</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.holds"><span class="id" title="definition">holds</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#e"><span class="id" title="variable">e</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f"><span class="id" title="variable">f</span></a>) (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.qf_eval"><span class="id" title="definition">qf_eval</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#e"><span class="id" title="variable">e</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f"><span class="id" title="variable">f</span></a>).<br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.qf_evalP"><span class="id" title="lemma">qf_evalP</span></a> <span class="id" title="var">e</span> <span class="id" title="var">f</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.qf_form"><span class="id" title="definition">qf_form</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#reflect"><span class="id" title="abbreviation">reflect</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.holds"><span class="id" title="definition">holds</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#e"><span class="id" title="variable">e</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f"><span class="id" title="variable">f</span></a>) (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.qf_eval"><span class="id" title="definition">qf_eval</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#e"><span class="id" title="variable">e</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f"><span class="id" title="variable">f</span></a>).<br/> <br/> -<span class="id" title="keyword">Implicit</span> <span class="id" title="keyword">Type</span> <span class="id" title="var">bc</span> : <a class="idref" href="mathcomp.ssreflect.seq.html#seq"><span class="id" title="abbreviation">seq</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.term"><span class="id" title="inductive">term</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.EvalTerm.R"><span class="id" title="variable">R</span></a>) <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#d19c7eafd0e2d195d10df94b392087b5"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.ssreflect.seq.html#seq"><span class="id" title="abbreviation">seq</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.term"><span class="id" title="inductive">term</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.EvalTerm.R"><span class="id" title="variable">R</span></a>).<br/> +<span class="id" title="keyword">Implicit</span> <span class="id" title="keyword">Type</span> <span class="id" title="var">bc</span> : <a class="idref" href="mathcomp.ssreflect.seq.html#seq"><span class="id" title="abbreviation">seq</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.term"><span class="id" title="inductive">term</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.EvalTerm.R"><span class="id" title="variable">R</span></a>) <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#11c698c8685bb8ab1cf725545c085ac4"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.ssreflect.seq.html#seq"><span class="id" title="abbreviation">seq</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.term"><span class="id" title="inductive">term</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.EvalTerm.R"><span class="id" title="variable">R</span></a>).<br/> <br/> </div> @@ -4274,8 +4289,8 @@ </div> <div class="code"> <span class="id" title="keyword">Definition</span> <a name="GRing.and_dnf"><span class="id" title="definition">and_dnf</span></a> <span class="id" title="var">bcs1</span> <span class="id" title="var">bcs2</span> :=<br/> - <a class="idref" href="mathcomp.ssreflect.bigop.html#30705c25db0a97e8b1b08168f9199b27"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#30705c25db0a97e8b1b08168f9199b27"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#30705c25db0a97e8b1b08168f9199b27"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.seq.html#cat"><span class="id" title="definition">cat</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#30705c25db0a97e8b1b08168f9199b27"><span class="id" title="notation">/</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#nil"><span class="id" title="constructor">nil</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#30705c25db0a97e8b1b08168f9199b27"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#30705c25db0a97e8b1b08168f9199b27"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#30705c25db0a97e8b1b08168f9199b27"><span class="id" title="notation">(</span></a><span class="id" title="var">bc1</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#30705c25db0a97e8b1b08168f9199b27"><span class="id" title="notation"><-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#bcs1"><span class="id" title="variable">bcs1</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#30705c25db0a97e8b1b08168f9199b27"><span class="id" title="notation">)</span></a><br/> - <a class="idref" href="mathcomp.ssreflect.seq.html#map"><span class="id" title="definition">map</span></a> (<span class="id" title="keyword">fun</span> <span class="id" title="var">bc2</span> ⇒ <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#44400027531d4bc3f586a1997dc874c0"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#bc1"><span class="id" title="variable">bc1</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#c4877bbfe60d8f22b47ac99ace86216a"><span class="id" title="notation">.1</span></a> <a class="idref" href="mathcomp.ssreflect.seq.html#2ac9001c05ad5bd2f6d5f68e59f48fbb"><span class="id" title="notation">++</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#bc2"><span class="id" title="variable">bc2</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#c4877bbfe60d8f22b47ac99ace86216a"><span class="id" title="notation">.1</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#44400027531d4bc3f586a1997dc874c0"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#bc1"><span class="id" title="variable">bc1</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#f4827404159513e7fd691b60b7877737"><span class="id" title="notation">.2</span></a> <a class="idref" href="mathcomp.ssreflect.seq.html#2ac9001c05ad5bd2f6d5f68e59f48fbb"><span class="id" title="notation">++</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#bc2"><span class="id" title="variable">bc2</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#f4827404159513e7fd691b60b7877737"><span class="id" title="notation">.2</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#44400027531d4bc3f586a1997dc874c0"><span class="id" title="notation">)</span></a>) <a class="idref" href="mathcomp.algebra.ssralg.html#bcs2"><span class="id" title="variable">bcs2</span></a>.<br/> + <a class="idref" href="mathcomp.ssreflect.bigop.html#93a42d9430a115f2544a09cba4cf05ca"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#93a42d9430a115f2544a09cba4cf05ca"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#93a42d9430a115f2544a09cba4cf05ca"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.seq.html#cat"><span class="id" title="definition">cat</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#93a42d9430a115f2544a09cba4cf05ca"><span class="id" title="notation">/</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#nil"><span class="id" title="constructor">nil</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#93a42d9430a115f2544a09cba4cf05ca"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#93a42d9430a115f2544a09cba4cf05ca"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#93a42d9430a115f2544a09cba4cf05ca"><span class="id" title="notation">(</span></a><span class="id" title="var">bc1</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#93a42d9430a115f2544a09cba4cf05ca"><span class="id" title="notation"><-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#bcs1"><span class="id" title="variable">bcs1</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#93a42d9430a115f2544a09cba4cf05ca"><span class="id" title="notation">)</span></a><br/> + <a class="idref" href="mathcomp.ssreflect.seq.html#map"><span class="id" title="definition">map</span></a> (<span class="id" title="keyword">fun</span> <span class="id" title="var">bc2</span> ⇒ <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#e6756e10c36f149b18b4a8741ed83079"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#bc1"><span class="id" title="variable">bc1</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#e0817251e7d67ad994b4d9b1aa82a412"><span class="id" title="notation">.1</span></a> <a class="idref" href="mathcomp.ssreflect.seq.html#93e0a78b945d3f9f22195c004c67aa36"><span class="id" title="notation">++</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#bc2"><span class="id" title="variable">bc2</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#e0817251e7d67ad994b4d9b1aa82a412"><span class="id" title="notation">.1</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#e6756e10c36f149b18b4a8741ed83079"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#bc1"><span class="id" title="variable">bc1</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#675082cc4d4538da052b547bdc6ea4c9"><span class="id" title="notation">.2</span></a> <a class="idref" href="mathcomp.ssreflect.seq.html#93e0a78b945d3f9f22195c004c67aa36"><span class="id" title="notation">++</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#bc2"><span class="id" title="variable">bc2</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#675082cc4d4538da052b547bdc6ea4c9"><span class="id" title="notation">.2</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#e6756e10c36f149b18b4a8741ed83079"><span class="id" title="notation">)</span></a>) <a class="idref" href="mathcomp.algebra.ssralg.html#bcs2"><span class="id" title="variable">bcs2</span></a>.<br/> <br/> </div> @@ -4284,16 +4299,16 @@ Computes a DNF from a qf ring formula </div> <div class="code"> -<span class="id" title="keyword">Fixpoint</span> <a name="GRing.qf_to_dnf"><span class="id" title="definition">qf_to_dnf</span></a> (<span class="id" title="var">f</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.formula"><span class="id" title="inductive">formula</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.EvalTerm.R"><span class="id" title="variable">R</span></a>) (<span class="id" title="var">neg</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>) {<span class="id" title="keyword">struct</span> <span class="id" title="var">f</span>} :=<br/> +<span class="id" title="keyword">Fixpoint</span> <a name="GRing.qf_to_dnf"><span class="id" title="definition">qf_to_dnf</span></a> (<span class="id" title="var">f</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.formula"><span class="id" title="inductive">formula</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.EvalTerm.R"><span class="id" title="variable">R</span></a>) (<span class="id" title="var">neg</span> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#bool"><span class="id" title="inductive">bool</span></a>) {<span class="id" title="keyword">struct</span> <span class="id" title="var">f</span>} :=<br/> <span class="id" title="keyword">match</span> <a class="idref" href="mathcomp.algebra.ssralg.html#f"><span class="id" title="variable">f</span></a> <span class="id" title="keyword">with</span><br/> - | <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Bool"><span class="id" title="constructor">Bool</span></a> <span class="id" title="var">b</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">b</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#ef177bde7d01ae97c98f9cba81f6c95b"><span class="id" title="notation">(+)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#neg"><span class="id" title="variable">neg</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.ssreflect.seq.html#36229928b54642a4a7da943ccf8f9612"><span class="id" title="notation">[::</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.ssreflect.seq.html#747e2b5d553b2dfe76e024e1f8fb39d1"><span class="id" title="notation">[::]</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.ssreflect.seq.html#747e2b5d553b2dfe76e024e1f8fb39d1"><span class="id" title="notation">[::]</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.ssreflect.seq.html#36229928b54642a4a7da943ccf8f9612"><span class="id" title="notation">]</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssreflect.html#0348819abaa88c2cd747e8fa60dde7ae"><span class="id" title="notation">else</span></a> <a class="idref" href="mathcomp.ssreflect.seq.html#747e2b5d553b2dfe76e024e1f8fb39d1"><span class="id" title="notation">[::]</span></a><br/> - | <span class="id" title="var">t1</span> <a class="idref" href="mathcomp.algebra.ssralg.html#1a6fbc7f80506595657605bb77bac252"><span class="id" title="notation">==</span></a> <span class="id" title="var">t2</span> ⇒ <a class="idref" href="mathcomp.ssreflect.seq.html#36229928b54642a4a7da943ccf8f9612"><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.ssralg.html#neg"><span class="id" title="variable">neg</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="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#44400027531d4bc3f586a1997dc874c0"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.seq.html#747e2b5d553b2dfe76e024e1f8fb39d1"><span class="id" title="notation">[::]</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.ssreflect.seq.html#36229928b54642a4a7da943ccf8f9612"><span class="id" title="notation">[::</span></a> <span class="id" title="var">t1</span> <a class="idref" href="mathcomp.algebra.ssralg.html#18e2ce36b5b2614b64eb5d1e85d95826"><span class="id" title="notation">-</span></a> <span class="id" title="var">t2</span><a class="idref" href="mathcomp.ssreflect.seq.html#36229928b54642a4a7da943ccf8f9612"><span class="id" title="notation">]</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="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.Init.Datatypes.html#44400027531d4bc3f586a1997dc874c0"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.seq.html#36229928b54642a4a7da943ccf8f9612"><span class="id" title="notation">[::</span></a> <span class="id" title="var">t1</span> <a class="idref" href="mathcomp.algebra.ssralg.html#18e2ce36b5b2614b64eb5d1e85d95826"><span class="id" title="notation">-</span></a> <span class="id" title="var">t2</span><a class="idref" href="mathcomp.ssreflect.seq.html#36229928b54642a4a7da943ccf8f9612"><span class="id" title="notation">]</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.ssreflect.seq.html#747e2b5d553b2dfe76e024e1f8fb39d1"><span class="id" title="notation">[::]</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.ssreflect.seq.html#36229928b54642a4a7da943ccf8f9612"><span class="id" title="notation">]</span></a><br/> - | <span class="id" title="var">f1</span> <a class="idref" href="mathcomp.algebra.ssralg.html#421c9c3c51833f1724975feaafb4b744"><span class="id" title="notation">∧</span></a> <span class="id" title="var">f2</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> <a class="idref" href="mathcomp.algebra.ssralg.html#neg"><span class="id" title="variable">neg</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.ssreflect.seq.html#cat"><span class="id" title="definition">cat</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.ssralg.html#GRing.and_dnf"><span class="id" title="definition">and_dnf</span></a>) <a class="idref" href="mathcomp.algebra.ssralg.html#532298027342e33d4d5bcb7293144f7f"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#532298027342e33d4d5bcb7293144f7f"><span class="id" title="notation">rec</span></a> <span class="id" title="var">f1</span><a class="idref" href="mathcomp.algebra.ssralg.html#532298027342e33d4d5bcb7293144f7f"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#neg"><span class="id" title="variable">neg</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#532298027342e33d4d5bcb7293144f7f"><span class="id" title="notation">]</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#532298027342e33d4d5bcb7293144f7f"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#532298027342e33d4d5bcb7293144f7f"><span class="id" title="notation">rec</span></a> <span class="id" title="var">f2</span><a class="idref" href="mathcomp.algebra.ssralg.html#532298027342e33d4d5bcb7293144f7f"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#neg"><span class="id" title="variable">neg</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#532298027342e33d4d5bcb7293144f7f"><span class="id" title="notation">]</span></a><br/> - | <span class="id" title="var">f1</span> <a class="idref" href="mathcomp.algebra.ssralg.html#00b8327e04e2b6f2d979016edbc0c67a"><span class="id" title="notation">∨</span></a> <span class="id" title="var">f2</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> <a class="idref" href="mathcomp.algebra.ssralg.html#neg"><span class="id" title="variable">neg</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.ssralg.html#GRing.and_dnf"><span class="id" title="definition">and_dnf</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.ssreflect.seq.html#cat"><span class="id" title="definition">cat</span></a>) <a class="idref" href="mathcomp.algebra.ssralg.html#532298027342e33d4d5bcb7293144f7f"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#532298027342e33d4d5bcb7293144f7f"><span class="id" title="notation">rec</span></a> <span class="id" title="var">f1</span><a class="idref" href="mathcomp.algebra.ssralg.html#532298027342e33d4d5bcb7293144f7f"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#neg"><span class="id" title="variable">neg</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#532298027342e33d4d5bcb7293144f7f"><span class="id" title="notation">]</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#532298027342e33d4d5bcb7293144f7f"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#532298027342e33d4d5bcb7293144f7f"><span class="id" title="notation">rec</span></a> <span class="id" title="var">f2</span><a class="idref" href="mathcomp.algebra.ssralg.html#532298027342e33d4d5bcb7293144f7f"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#neg"><span class="id" title="variable">neg</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#532298027342e33d4d5bcb7293144f7f"><span class="id" title="notation">]</span></a><br/> - | <span class="id" title="var">f1</span> <a class="idref" href="mathcomp.algebra.ssralg.html#0686cd1bb1af98b02865ebbedcf70bd7"><span class="id" title="notation">==></span></a> <span class="id" title="var">f2</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> <a class="idref" href="mathcomp.algebra.ssralg.html#neg"><span class="id" title="variable">neg</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.ssralg.html#GRing.and_dnf"><span class="id" title="definition">and_dnf</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.ssreflect.seq.html#cat"><span class="id" title="definition">cat</span></a>) <a class="idref" href="mathcomp.algebra.ssralg.html#532298027342e33d4d5bcb7293144f7f"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#532298027342e33d4d5bcb7293144f7f"><span class="id" title="notation">rec</span></a> <span class="id" title="var">f1</span><a class="idref" href="mathcomp.algebra.ssralg.html#532298027342e33d4d5bcb7293144f7f"><span class="id" title="notation">,</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#4b80c70cdb231351c5e129ba61f7f956"><span class="id" title="notation">~~</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#neg"><span class="id" title="variable">neg</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#532298027342e33d4d5bcb7293144f7f"><span class="id" title="notation">]</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#532298027342e33d4d5bcb7293144f7f"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#532298027342e33d4d5bcb7293144f7f"><span class="id" title="notation">rec</span></a> <span class="id" title="var">f2</span><a class="idref" href="mathcomp.algebra.ssralg.html#532298027342e33d4d5bcb7293144f7f"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#neg"><span class="id" title="variable">neg</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#532298027342e33d4d5bcb7293144f7f"><span class="id" title="notation">]</span></a><br/> - | <a class="idref" href="mathcomp.algebra.ssralg.html#bf1935aa3f28dfd45301897795b397a5"><span class="id" title="notation">¬</span></a> <span class="id" title="var">f1</span> ⇒ <a class="idref" href="mathcomp.algebra.ssralg.html#532298027342e33d4d5bcb7293144f7f"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#532298027342e33d4d5bcb7293144f7f"><span class="id" title="notation">rec</span></a> <span class="id" title="var">f1</span><a class="idref" href="mathcomp.algebra.ssralg.html#532298027342e33d4d5bcb7293144f7f"><span class="id" title="notation">,</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#4b80c70cdb231351c5e129ba61f7f956"><span class="id" title="notation">~~</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#neg"><span class="id" title="variable">neg</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#532298027342e33d4d5bcb7293144f7f"><span class="id" title="notation">]</span></a><br/> - | <span class="id" title="var">_</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> <a class="idref" href="mathcomp.algebra.ssralg.html#neg"><span class="id" title="variable">neg</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.ssreflect.seq.html#36229928b54642a4a7da943ccf8f9612"><span class="id" title="notation">[::</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.ssreflect.seq.html#747e2b5d553b2dfe76e024e1f8fb39d1"><span class="id" title="notation">[::]</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.ssreflect.seq.html#747e2b5d553b2dfe76e024e1f8fb39d1"><span class="id" title="notation">[::]</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.ssreflect.seq.html#36229928b54642a4a7da943ccf8f9612"><span class="id" title="notation">]</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssreflect.html#0348819abaa88c2cd747e8fa60dde7ae"><span class="id" title="notation">else</span></a> <a class="idref" href="mathcomp.ssreflect.seq.html#747e2b5d553b2dfe76e024e1f8fb39d1"><span class="id" title="notation">[::]</span></a><br/> - <span class="id" title="keyword">end</span>%<span class="id" title="var">T</span> <span class="id" title="keyword">where</span> <a name="532298027342e33d4d5bcb7293144f7f"><span class="id" title="notation">"</span></a>[ 'rec' f , neg ]" := (<a class="idref" href="mathcomp.algebra.ssralg.html#qf_to_dnf"><span class="id" title="definition">qf_to_dnf</span></a> <span class="id" title="var">f</span> <span class="id" title="var">neg</span>).<br/> + | <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Bool"><span class="id" title="constructor">Bool</span></a> <span class="id" title="var">b</span> ⇒ <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssreflect.html#00a1a5b58aac8f1e3f1abff064a39f9d"><span class="id" title="notation">if</span></a> <span class="id" title="var">b</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#a60537c464e134477471443dd91ae651"><span class="id" title="notation">(+)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#neg"><span class="id" title="variable">neg</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssreflect.html#00a1a5b58aac8f1e3f1abff064a39f9d"><span class="id" title="notation">then</span></a> <a class="idref" href="mathcomp.ssreflect.seq.html#506674b18256ef8f50efed43fa1dfd7d"><span class="id" title="notation">[::</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#e6756e10c36f149b18b4a8741ed83079"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.seq.html#0a934e621391740b862762275992e626"><span class="id" title="notation">[::]</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#e6756e10c36f149b18b4a8741ed83079"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.ssreflect.seq.html#0a934e621391740b862762275992e626"><span class="id" title="notation">[::]</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#e6756e10c36f149b18b4a8741ed83079"><span class="id" title="notation">)</span></a><a class="idref" href="mathcomp.ssreflect.seq.html#506674b18256ef8f50efed43fa1dfd7d"><span class="id" title="notation">]</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssreflect.html#00a1a5b58aac8f1e3f1abff064a39f9d"><span class="id" title="notation">else</span></a> <a class="idref" href="mathcomp.ssreflect.seq.html#0a934e621391740b862762275992e626"><span class="id" title="notation">[::]</span></a><br/> + | <span class="id" title="var">t1</span> <a class="idref" href="mathcomp.algebra.ssralg.html#e6bce7853a73484fa8c54c3b3d0fe8f6"><span class="id" title="notation">==</span></a> <span class="id" title="var">t2</span> ⇒ <a class="idref" href="mathcomp.ssreflect.seq.html#506674b18256ef8f50efed43fa1dfd7d"><span class="id" title="notation">[::</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssreflect.html#00a1a5b58aac8f1e3f1abff064a39f9d"><span class="id" title="notation">if</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#neg"><span class="id" title="variable">neg</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssreflect.html#00a1a5b58aac8f1e3f1abff064a39f9d"><span class="id" title="notation">then</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#e6756e10c36f149b18b4a8741ed83079"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.seq.html#0a934e621391740b862762275992e626"><span class="id" title="notation">[::]</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#e6756e10c36f149b18b4a8741ed83079"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.ssreflect.seq.html#506674b18256ef8f50efed43fa1dfd7d"><span class="id" title="notation">[::</span></a> <span class="id" title="var">t1</span> <a class="idref" href="mathcomp.algebra.ssralg.html#cb78c0285370423798e088d285c922f5"><span class="id" title="notation">-</span></a> <span class="id" title="var">t2</span><a class="idref" href="mathcomp.ssreflect.seq.html#506674b18256ef8f50efed43fa1dfd7d"><span class="id" title="notation">]</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#e6756e10c36f149b18b4a8741ed83079"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssreflect.html#00a1a5b58aac8f1e3f1abff064a39f9d"><span class="id" title="notation">else</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#e6756e10c36f149b18b4a8741ed83079"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.seq.html#506674b18256ef8f50efed43fa1dfd7d"><span class="id" title="notation">[::</span></a> <span class="id" title="var">t1</span> <a class="idref" href="mathcomp.algebra.ssralg.html#cb78c0285370423798e088d285c922f5"><span class="id" title="notation">-</span></a> <span class="id" title="var">t2</span><a class="idref" href="mathcomp.ssreflect.seq.html#506674b18256ef8f50efed43fa1dfd7d"><span class="id" title="notation">]</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#e6756e10c36f149b18b4a8741ed83079"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.ssreflect.seq.html#0a934e621391740b862762275992e626"><span class="id" title="notation">[::]</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#e6756e10c36f149b18b4a8741ed83079"><span class="id" title="notation">)</span></a><a class="idref" href="mathcomp.ssreflect.seq.html#506674b18256ef8f50efed43fa1dfd7d"><span class="id" title="notation">]</span></a><br/> + | <span class="id" title="var">f1</span> <a class="idref" href="mathcomp.algebra.ssralg.html#ab32bd0aebe6dabd4efe45ce35759537"><span class="id" title="notation">∧</span></a> <span class="id" title="var">f2</span> ⇒ (<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssreflect.html#00a1a5b58aac8f1e3f1abff064a39f9d"><span class="id" title="notation">if</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#neg"><span class="id" title="variable">neg</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssreflect.html#00a1a5b58aac8f1e3f1abff064a39f9d"><span class="id" title="notation">then</span></a> <a class="idref" href="mathcomp.ssreflect.seq.html#cat"><span class="id" title="definition">cat</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssreflect.html#00a1a5b58aac8f1e3f1abff064a39f9d"><span class="id" title="notation">else</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.and_dnf"><span class="id" title="definition">and_dnf</span></a>) <a class="idref" href="mathcomp.algebra.ssralg.html#ad32e01476f8d2c74998482c543d7f39"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#ad32e01476f8d2c74998482c543d7f39"><span class="id" title="notation">rec</span></a> <span class="id" title="var">f1</span><a class="idref" href="mathcomp.algebra.ssralg.html#ad32e01476f8d2c74998482c543d7f39"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#neg"><span class="id" title="variable">neg</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#ad32e01476f8d2c74998482c543d7f39"><span class="id" title="notation">]</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#ad32e01476f8d2c74998482c543d7f39"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#ad32e01476f8d2c74998482c543d7f39"><span class="id" title="notation">rec</span></a> <span class="id" title="var">f2</span><a class="idref" href="mathcomp.algebra.ssralg.html#ad32e01476f8d2c74998482c543d7f39"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#neg"><span class="id" title="variable">neg</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#ad32e01476f8d2c74998482c543d7f39"><span class="id" title="notation">]</span></a><br/> + | <span class="id" title="var">f1</span> <a class="idref" href="mathcomp.algebra.ssralg.html#bef44b50d3f3917949ecad5e3e01309c"><span class="id" title="notation">∨</span></a> <span class="id" title="var">f2</span> ⇒ (<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssreflect.html#00a1a5b58aac8f1e3f1abff064a39f9d"><span class="id" title="notation">if</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#neg"><span class="id" title="variable">neg</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssreflect.html#00a1a5b58aac8f1e3f1abff064a39f9d"><span class="id" title="notation">then</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.and_dnf"><span class="id" title="definition">and_dnf</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssreflect.html#00a1a5b58aac8f1e3f1abff064a39f9d"><span class="id" title="notation">else</span></a> <a class="idref" href="mathcomp.ssreflect.seq.html#cat"><span class="id" title="definition">cat</span></a>) <a class="idref" href="mathcomp.algebra.ssralg.html#ad32e01476f8d2c74998482c543d7f39"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#ad32e01476f8d2c74998482c543d7f39"><span class="id" title="notation">rec</span></a> <span class="id" title="var">f1</span><a class="idref" href="mathcomp.algebra.ssralg.html#ad32e01476f8d2c74998482c543d7f39"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#neg"><span class="id" title="variable">neg</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#ad32e01476f8d2c74998482c543d7f39"><span class="id" title="notation">]</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#ad32e01476f8d2c74998482c543d7f39"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#ad32e01476f8d2c74998482c543d7f39"><span class="id" title="notation">rec</span></a> <span class="id" title="var">f2</span><a class="idref" href="mathcomp.algebra.ssralg.html#ad32e01476f8d2c74998482c543d7f39"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#neg"><span class="id" title="variable">neg</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#ad32e01476f8d2c74998482c543d7f39"><span class="id" title="notation">]</span></a><br/> + | <span class="id" title="var">f1</span> <a class="idref" href="mathcomp.algebra.ssralg.html#33d69901017412abb2c3513a87e991c1"><span class="id" title="notation">==></span></a> <span class="id" title="var">f2</span> ⇒ (<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssreflect.html#00a1a5b58aac8f1e3f1abff064a39f9d"><span class="id" title="notation">if</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#neg"><span class="id" title="variable">neg</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssreflect.html#00a1a5b58aac8f1e3f1abff064a39f9d"><span class="id" title="notation">then</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.and_dnf"><span class="id" title="definition">and_dnf</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssreflect.html#00a1a5b58aac8f1e3f1abff064a39f9d"><span class="id" title="notation">else</span></a> <a class="idref" href="mathcomp.ssreflect.seq.html#cat"><span class="id" title="definition">cat</span></a>) <a class="idref" href="mathcomp.algebra.ssralg.html#ad32e01476f8d2c74998482c543d7f39"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#ad32e01476f8d2c74998482c543d7f39"><span class="id" title="notation">rec</span></a> <span class="id" title="var">f1</span><a class="idref" href="mathcomp.algebra.ssralg.html#ad32e01476f8d2c74998482c543d7f39"><span class="id" title="notation">,</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b3ebd0deddd84fd60e149cb5ef719351"><span class="id" title="notation">~~</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#neg"><span class="id" title="variable">neg</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#ad32e01476f8d2c74998482c543d7f39"><span class="id" title="notation">]</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#ad32e01476f8d2c74998482c543d7f39"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#ad32e01476f8d2c74998482c543d7f39"><span class="id" title="notation">rec</span></a> <span class="id" title="var">f2</span><a class="idref" href="mathcomp.algebra.ssralg.html#ad32e01476f8d2c74998482c543d7f39"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#neg"><span class="id" title="variable">neg</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#ad32e01476f8d2c74998482c543d7f39"><span class="id" title="notation">]</span></a><br/> + | <a class="idref" href="mathcomp.algebra.ssralg.html#8fd8345f0bd0f50ba5171cc7c1b45aca"><span class="id" title="notation">¬</span></a> <span class="id" title="var">f1</span> ⇒ <a class="idref" href="mathcomp.algebra.ssralg.html#ad32e01476f8d2c74998482c543d7f39"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#ad32e01476f8d2c74998482c543d7f39"><span class="id" title="notation">rec</span></a> <span class="id" title="var">f1</span><a class="idref" href="mathcomp.algebra.ssralg.html#ad32e01476f8d2c74998482c543d7f39"><span class="id" title="notation">,</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b3ebd0deddd84fd60e149cb5ef719351"><span class="id" title="notation">~~</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#neg"><span class="id" title="variable">neg</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#ad32e01476f8d2c74998482c543d7f39"><span class="id" title="notation">]</span></a><br/> + | <span class="id" title="var">_</span> ⇒ <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssreflect.html#00a1a5b58aac8f1e3f1abff064a39f9d"><span class="id" title="notation">if</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#neg"><span class="id" title="variable">neg</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssreflect.html#00a1a5b58aac8f1e3f1abff064a39f9d"><span class="id" title="notation">then</span></a> <a class="idref" href="mathcomp.ssreflect.seq.html#506674b18256ef8f50efed43fa1dfd7d"><span class="id" title="notation">[::</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#e6756e10c36f149b18b4a8741ed83079"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.seq.html#0a934e621391740b862762275992e626"><span class="id" title="notation">[::]</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#e6756e10c36f149b18b4a8741ed83079"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.ssreflect.seq.html#0a934e621391740b862762275992e626"><span class="id" title="notation">[::]</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#e6756e10c36f149b18b4a8741ed83079"><span class="id" title="notation">)</span></a><a class="idref" href="mathcomp.ssreflect.seq.html#506674b18256ef8f50efed43fa1dfd7d"><span class="id" title="notation">]</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssreflect.html#00a1a5b58aac8f1e3f1abff064a39f9d"><span class="id" title="notation">else</span></a> <a class="idref" href="mathcomp.ssreflect.seq.html#0a934e621391740b862762275992e626"><span class="id" title="notation">[::]</span></a><br/> + <span class="id" title="keyword">end</span>%<span class="id" title="var">T</span> <span class="id" title="keyword">where</span> <a name="ad32e01476f8d2c74998482c543d7f39"><span class="id" title="notation">"</span></a>[ 'rec' f , neg ]" := (<a class="idref" href="mathcomp.algebra.ssralg.html#qf_to_dnf"><span class="id" title="definition">qf_to_dnf</span></a> <span class="id" title="var">f</span> <span class="id" title="var">neg</span>).<br/> <br/> </div> @@ -4303,8 +4318,8 @@ </div> <div class="code"> <span class="id" title="keyword">Definition</span> <a name="GRing.dnf_to_form"><span class="id" title="definition">dnf_to_form</span></a> :=<br/> - <span class="id" title="keyword">let</span> <span class="id" title="var">pos_lit</span> <span class="id" title="var">t</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.And"><span class="id" title="constructor">And</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#t"><span class="id" title="variable">t</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#1a6fbc7f80506595657605bb77bac252"><span class="id" title="notation">==</span></a> 0) <span class="id" title="tactic">in</span> <span class="id" title="keyword">let</span> <span class="id" title="var">neg_lit</span> <span class="id" title="var">t</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.And"><span class="id" title="constructor">And</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#t"><span class="id" title="variable">t</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#5df5d3023a888489ad7cff86e72ea2fd"><span class="id" title="notation">!=</span></a> 0) <span class="id" title="tactic">in</span> <br/> - <span class="id" title="keyword">let</span> <span class="id" title="var">cls</span> <span class="id" title="var">bc</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Or"><span class="id" title="constructor">Or</span></a> (<a class="idref" href="mathcomp.ssreflect.seq.html#foldr"><span class="id" title="definition">foldr</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#pos_lit"><span class="id" title="variable">pos_lit</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.True"><span class="id" title="abbreviation">True</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#bc"><span class="id" title="variable">bc</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#c4877bbfe60d8f22b47ac99ace86216a"><span class="id" title="notation">.1</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#421c9c3c51833f1724975feaafb4b744"><span class="id" title="notation">∧</span></a> <a class="idref" href="mathcomp.ssreflect.seq.html#foldr"><span class="id" title="definition">foldr</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#neg_lit"><span class="id" title="variable">neg_lit</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.True"><span class="id" title="abbreviation">True</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#bc"><span class="id" title="variable">bc</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#f4827404159513e7fd691b60b7877737"><span class="id" title="notation">.2</span></a>) <span class="id" title="tactic">in</span><br/> + <span class="id" title="keyword">let</span> <span class="id" title="var">pos_lit</span> <span class="id" title="var">t</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.And"><span class="id" title="constructor">And</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#t"><span class="id" title="variable">t</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#e6bce7853a73484fa8c54c3b3d0fe8f6"><span class="id" title="notation">==</span></a> 0) <span class="id" title="tactic">in</span> <span class="id" title="keyword">let</span> <span class="id" title="var">neg_lit</span> <span class="id" title="var">t</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.And"><span class="id" title="constructor">And</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#t"><span class="id" title="variable">t</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#0097d74fdc44ca768502e9edebe7e195"><span class="id" title="notation">!=</span></a> 0) <span class="id" title="tactic">in</span> <br/> + <span class="id" title="keyword">let</span> <span class="id" title="var">cls</span> <span class="id" title="var">bc</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Or"><span class="id" title="constructor">Or</span></a> (<a class="idref" href="mathcomp.ssreflect.seq.html#foldr"><span class="id" title="definition">foldr</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#pos_lit"><span class="id" title="variable">pos_lit</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.True"><span class="id" title="abbreviation">True</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#bc"><span class="id" title="variable">bc</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#e0817251e7d67ad994b4d9b1aa82a412"><span class="id" title="notation">.1</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#ab32bd0aebe6dabd4efe45ce35759537"><span class="id" title="notation">∧</span></a> <a class="idref" href="mathcomp.ssreflect.seq.html#foldr"><span class="id" title="definition">foldr</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#neg_lit"><span class="id" title="variable">neg_lit</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.True"><span class="id" title="abbreviation">True</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#bc"><span class="id" title="variable">bc</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#675082cc4d4538da052b547bdc6ea4c9"><span class="id" title="notation">.2</span></a>) <span class="id" title="tactic">in</span><br/> <a class="idref" href="mathcomp.ssreflect.seq.html#foldr"><span class="id" title="definition">foldr</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#cls"><span class="id" title="variable">cls</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.False"><span class="id" title="abbreviation">False</span></a>.<br/> <br/> @@ -4315,8 +4330,8 @@ </div> <div class="code"> <span class="id" title="keyword">Lemma</span> <a name="GRing.cat_dnfP"><span class="id" title="lemma">cat_dnfP</span></a> <span class="id" title="var">e</span> <span class="id" title="var">bcs1</span> <span class="id" title="var">bcs2</span> :<br/> - <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.qf_eval"><span class="id" title="definition">qf_eval</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#e"><span class="id" title="variable">e</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.dnf_to_form"><span class="id" title="definition">dnf_to_form</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#bcs1"><span class="id" title="variable">bcs1</span></a> <a class="idref" href="mathcomp.ssreflect.seq.html#2ac9001c05ad5bd2f6d5f68e59f48fbb"><span class="id" title="notation">++</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#bcs2"><span class="id" title="variable">bcs2</span></a>))<br/> - <a class="idref" href="http://coq.inria.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#GRing.qf_eval"><span class="id" title="definition">qf_eval</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#e"><span class="id" title="variable">e</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.dnf_to_form"><span class="id" title="definition">dnf_to_form</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#bcs1"><span class="id" title="variable">bcs1</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#00b8327e04e2b6f2d979016edbc0c67a"><span class="id" title="notation">∨</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.dnf_to_form"><span class="id" title="definition">dnf_to_form</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#bcs2"><span class="id" title="variable">bcs2</span></a>).<br/> + <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.qf_eval"><span class="id" title="definition">qf_eval</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#e"><span class="id" title="variable">e</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.dnf_to_form"><span class="id" title="definition">dnf_to_form</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#bcs1"><span class="id" title="variable">bcs1</span></a> <a class="idref" href="mathcomp.ssreflect.seq.html#93e0a78b945d3f9f22195c004c67aa36"><span class="id" title="notation">++</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#bcs2"><span class="id" title="variable">bcs2</span></a>))<br/> + <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.qf_eval"><span class="id" title="definition">qf_eval</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#e"><span class="id" title="variable">e</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.dnf_to_form"><span class="id" title="definition">dnf_to_form</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#bcs1"><span class="id" title="variable">bcs1</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#bef44b50d3f3917949ecad5e3e01309c"><span class="id" title="notation">∨</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.dnf_to_form"><span class="id" title="definition">dnf_to_form</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#bcs2"><span class="id" title="variable">bcs2</span></a>).<br/> <br/> </div> @@ -4327,24 +4342,24 @@ <div class="code"> <span class="id" title="keyword">Lemma</span> <a name="GRing.and_dnfP"><span class="id" title="lemma">and_dnfP</span></a> <span class="id" title="var">e</span> <span class="id" title="var">bcs1</span> <span class="id" title="var">bcs2</span> :<br/> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.qf_eval"><span class="id" title="definition">qf_eval</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#e"><span class="id" title="variable">e</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.dnf_to_form"><span class="id" title="definition">dnf_to_form</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.and_dnf"><span class="id" title="definition">and_dnf</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#bcs1"><span class="id" title="variable">bcs1</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#bcs2"><span class="id" title="variable">bcs2</span></a>))<br/> - <a class="idref" href="http://coq.inria.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#GRing.qf_eval"><span class="id" title="definition">qf_eval</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#e"><span class="id" title="variable">e</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.dnf_to_form"><span class="id" title="definition">dnf_to_form</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#bcs1"><span class="id" title="variable">bcs1</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#421c9c3c51833f1724975feaafb4b744"><span class="id" title="notation">∧</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.dnf_to_form"><span class="id" title="definition">dnf_to_form</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#bcs2"><span class="id" title="variable">bcs2</span></a>).<br/> + <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.qf_eval"><span class="id" title="definition">qf_eval</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#e"><span class="id" title="variable">e</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.dnf_to_form"><span class="id" title="definition">dnf_to_form</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#bcs1"><span class="id" title="variable">bcs1</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#ab32bd0aebe6dabd4efe45ce35759537"><span class="id" title="notation">∧</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.dnf_to_form"><span class="id" title="definition">dnf_to_form</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#bcs2"><span class="id" title="variable">bcs2</span></a>).<br/> <br/> <span class="id" title="keyword">Lemma</span> <a name="GRing.qf_to_dnfP"><span class="id" title="lemma">qf_to_dnfP</span></a> <span class="id" title="var">e</span> :<br/> <span class="id" title="keyword">let</span> <span class="id" title="var">qev</span> <span class="id" title="var">f</span> <span class="id" title="var">b</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.qf_eval"><span class="id" title="definition">qf_eval</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#e"><span class="id" title="variable">e</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.dnf_to_form"><span class="id" title="definition">dnf_to_form</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.qf_to_dnf"><span class="id" title="definition">qf_to_dnf</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b"><span class="id" title="variable">b</span></a>)) <span class="id" title="tactic">in</span><br/> - <span class="id" title="keyword">∀</span> <span class="id" title="var">f</span>, <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.qf_form"><span class="id" title="definition">qf_form</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f"><span class="id" title="variable">f</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.ssralg.html#GRing.rformula"><span class="id" title="definition">rformula</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#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.ssralg.html#qev"><span class="id" title="variable">qev</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f"><span class="id" title="variable">f</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.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.qf_eval"><span class="id" title="definition">qf_eval</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#e"><span class="id" title="variable">e</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f"><span class="id" title="variable">f</span></a>.<br/> + <span class="id" title="keyword">∀</span> <span class="id" title="var">f</span>, <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.qf_form"><span class="id" title="definition">qf_form</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#9ddeac0ab66152bd1d64bedb507a795e"><span class="id" title="notation">&&</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.rformula"><span class="id" title="definition">rformula</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#qev"><span class="id" title="variable">qev</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#false"><span class="id" title="constructor">false</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.qf_eval"><span class="id" title="definition">qf_eval</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#e"><span class="id" title="variable">e</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f"><span class="id" title="variable">f</span></a>.<br/> <br/> <span class="id" title="keyword">Lemma</span> <a name="GRing.dnf_to_form_qf"><span class="id" title="lemma">dnf_to_form_qf</span></a> <span class="id" title="var">bcs</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.qf_form"><span class="id" title="definition">qf_form</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.dnf_to_form"><span class="id" title="definition">dnf_to_form</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#bcs"><span class="id" title="variable">bcs</span></a>).<br/> <br/> -<span class="id" title="keyword">Definition</span> <a name="GRing.dnf_rterm"><span class="id" title="definition">dnf_rterm</span></a> <span class="id" title="var">cl</span> := <a class="idref" href="mathcomp.ssreflect.seq.html#all"><span class="id" title="definition">all</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.rterm"><span class="id" title="definition">rterm</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#cl"><span class="id" title="variable">cl</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#c4877bbfe60d8f22b47ac99ace86216a"><span class="id" title="notation">.1</span></a> <a class="idref" href="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.seq.html#all"><span class="id" title="definition">all</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.rterm"><span class="id" title="definition">rterm</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#cl"><span class="id" title="variable">cl</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#f4827404159513e7fd691b60b7877737"><span class="id" title="notation">.2</span></a>.<br/> +<span class="id" title="keyword">Definition</span> <a name="GRing.dnf_rterm"><span class="id" title="definition">dnf_rterm</span></a> <span class="id" title="var">cl</span> := <a class="idref" href="mathcomp.ssreflect.seq.html#all"><span class="id" title="definition">all</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.rterm"><span class="id" title="definition">rterm</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#cl"><span class="id" title="variable">cl</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#e0817251e7d67ad994b4d9b1aa82a412"><span class="id" title="notation">.1</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#9ddeac0ab66152bd1d64bedb507a795e"><span class="id" title="notation">&&</span></a> <a class="idref" href="mathcomp.ssreflect.seq.html#all"><span class="id" title="definition">all</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.rterm"><span class="id" title="definition">rterm</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#cl"><span class="id" title="variable">cl</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#675082cc4d4538da052b547bdc6ea4c9"><span class="id" title="notation">.2</span></a>.<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.qf_to_dnf_rterm"><span class="id" title="lemma">qf_to_dnf_rterm</span></a> <span class="id" title="var">f</span> <span class="id" title="var">b</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.rformula"><span class="id" title="definition">rformula</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#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.ssreflect.seq.html#all"><span class="id" title="definition">all</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.dnf_rterm"><span class="id" title="definition">dnf_rterm</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.qf_to_dnf"><span class="id" title="definition">qf_to_dnf</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b"><span class="id" title="variable">b</span></a>).<br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.qf_to_dnf_rterm"><span class="id" title="lemma">qf_to_dnf_rterm</span></a> <span class="id" title="var">f</span> <span class="id" title="var">b</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.rformula"><span class="id" title="definition">rformula</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.ssreflect.seq.html#all"><span class="id" title="definition">all</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.dnf_rterm"><span class="id" title="definition">dnf_rterm</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.qf_to_dnf"><span class="id" title="definition">qf_to_dnf</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b"><span class="id" title="variable">b</span></a>).<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.dnf_to_rform"><span class="id" title="lemma">dnf_to_rform</span></a> <span class="id" title="var">bcs</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.rformula"><span class="id" title="definition">rformula</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.dnf_to_form"><span class="id" title="definition">dnf_to_form</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#bcs"><span class="id" title="variable">bcs</span></a>) <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.ssreflect.seq.html#all"><span class="id" title="definition">all</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.dnf_rterm"><span class="id" title="definition">dnf_rterm</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#bcs"><span class="id" title="variable">bcs</span></a>.<br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.dnf_to_rform"><span class="id" title="lemma">dnf_to_rform</span></a> <span class="id" title="var">bcs</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.rformula"><span class="id" title="definition">rformula</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.dnf_to_form"><span class="id" title="definition">dnf_to_form</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#bcs"><span class="id" title="variable">bcs</span></a>) <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.ssreflect.seq.html#all"><span class="id" title="definition">all</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.dnf_rterm"><span class="id" title="definition">dnf_rterm</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#bcs"><span class="id" title="variable">bcs</span></a>.<br/> <br/> <span class="id" title="keyword">Section</span> <a name="GRing.EvalTerm.If"><span class="id" title="section">If</span></a>.<br/> @@ -4353,19 +4368,19 @@ <span class="id" title="keyword">Variables</span> (<a name="GRing.EvalTerm.If.pred_f"><span class="id" title="variable">pred_f</span></a> <a name="GRing.EvalTerm.If.then_f"><span class="id" title="variable">then_f</span></a> <a name="GRing.EvalTerm.If.else_f"><span class="id" title="variable">else_f</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.formula"><span class="id" title="inductive">formula</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.EvalTerm.R"><span class="id" title="variable">R</span></a>).<br/> <br/> -<span class="id" title="keyword">Definition</span> <a name="GRing.If"><span class="id" title="definition">If</span></a> := (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.EvalTerm.If.pred_f"><span class="id" title="variable">pred_f</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#421c9c3c51833f1724975feaafb4b744"><span class="id" title="notation">∧</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.EvalTerm.If.then_f"><span class="id" title="variable">then_f</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#00b8327e04e2b6f2d979016edbc0c67a"><span class="id" title="notation">∨</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#bf1935aa3f28dfd45301897795b397a5"><span class="id" title="notation">¬</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.EvalTerm.If.pred_f"><span class="id" title="variable">pred_f</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#421c9c3c51833f1724975feaafb4b744"><span class="id" title="notation">∧</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.EvalTerm.If.else_f"><span class="id" title="variable">else_f</span></a>)%<span class="id" title="var">T</span>.<br/> +<span class="id" title="keyword">Definition</span> <a name="GRing.If"><span class="id" title="definition">If</span></a> := (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.EvalTerm.If.pred_f"><span class="id" title="variable">pred_f</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#ab32bd0aebe6dabd4efe45ce35759537"><span class="id" title="notation">∧</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.EvalTerm.If.then_f"><span class="id" title="variable">then_f</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#bef44b50d3f3917949ecad5e3e01309c"><span class="id" title="notation">∨</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#8fd8345f0bd0f50ba5171cc7c1b45aca"><span class="id" title="notation">¬</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.EvalTerm.If.pred_f"><span class="id" title="variable">pred_f</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#ab32bd0aebe6dabd4efe45ce35759537"><span class="id" title="notation">∧</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.EvalTerm.If.else_f"><span class="id" title="variable">else_f</span></a>)%<span class="id" title="var">T</span>.<br/> <br/> <span class="id" title="keyword">Lemma</span> <a name="GRing.If_form_qf"><span class="id" title="lemma">If_form_qf</span></a> :<br/> - <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.qf_form"><span class="id" title="definition">qf_form</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.EvalTerm.If.pred_f"><span class="id" title="variable">pred_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.ssralg.html#GRing.qf_form"><span class="id" title="definition">qf_form</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.EvalTerm.If.then_f"><span class="id" title="variable">then_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.ssralg.html#GRing.qf_form"><span class="id" title="definition">qf_form</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.EvalTerm.If.else_f"><span class="id" title="variable">else_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.ssralg.html#GRing.qf_form"><span class="id" title="definition">qf_form</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.If"><span class="id" title="definition">If</span></a>.<br/> + <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.qf_form"><span class="id" title="definition">qf_form</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.EvalTerm.If.pred_f"><span class="id" title="variable">pred_f</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.qf_form"><span class="id" title="definition">qf_form</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.EvalTerm.If.then_f"><span class="id" title="variable">then_f</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.qf_form"><span class="id" title="definition">qf_form</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.EvalTerm.If.else_f"><span class="id" title="variable">else_f</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.qf_form"><span class="id" title="definition">qf_form</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.If"><span class="id" title="definition">If</span></a>.<br/> <br/> <span class="id" title="keyword">Lemma</span> <a name="GRing.If_form_rf"><span class="id" title="lemma">If_form_rf</span></a> :<br/> - <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.rformula"><span class="id" title="definition">rformula</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.EvalTerm.If.pred_f"><span class="id" title="variable">pred_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.ssralg.html#GRing.rformula"><span class="id" title="definition">rformula</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.EvalTerm.If.then_f"><span class="id" title="variable">then_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.ssralg.html#GRing.rformula"><span class="id" title="definition">rformula</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.EvalTerm.If.else_f"><span class="id" title="variable">else_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.ssralg.html#GRing.rformula"><span class="id" title="definition">rformula</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.If"><span class="id" title="definition">If</span></a>.<br/> + <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.rformula"><span class="id" title="definition">rformula</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.EvalTerm.If.pred_f"><span class="id" title="variable">pred_f</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.rformula"><span class="id" title="definition">rformula</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.EvalTerm.If.then_f"><span class="id" title="variable">then_f</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.rformula"><span class="id" title="definition">rformula</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.EvalTerm.If.else_f"><span class="id" title="variable">else_f</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.rformula"><span class="id" title="definition">rformula</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.If"><span class="id" title="definition">If</span></a>.<br/> <br/> <span class="id" title="keyword">Lemma</span> <a name="GRing.eval_If"><span class="id" title="lemma">eval_If</span></a> <span class="id" title="var">e</span> :<br/> - <span class="id" title="keyword">let</span> <span class="id" title="var">ev</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.qf_eval"><span class="id" title="definition">qf_eval</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#e"><span class="id" title="variable">e</span></a> <span class="id" title="tactic">in</span> <a class="idref" href="mathcomp.algebra.ssralg.html#ev"><span class="id" title="variable">ev</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.If"><span class="id" title="definition">If</span></a> <a class="idref" href="http://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.ssralg.html#ev"><span class="id" title="variable">ev</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.EvalTerm.If.pred_f"><span class="id" title="variable">pred_f</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.ssralg.html#ev"><span class="id" title="variable">ev</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.EvalTerm.If.then_f"><span class="id" title="variable">then_f</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.ssralg.html#ev"><span class="id" title="variable">ev</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.EvalTerm.If.else_f"><span class="id" title="variable">else_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>.<br/> + <span class="id" title="keyword">let</span> <span class="id" title="var">ev</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.qf_eval"><span class="id" title="definition">qf_eval</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#e"><span class="id" title="variable">e</span></a> <span class="id" title="tactic">in</span> <a class="idref" href="mathcomp.algebra.ssralg.html#ev"><span class="id" title="variable">ev</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.If"><span class="id" title="definition">If</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">(</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssreflect.html#00a1a5b58aac8f1e3f1abff064a39f9d"><span class="id" title="notation">if</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#ev"><span class="id" title="variable">ev</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.EvalTerm.If.pred_f"><span class="id" title="variable">pred_f</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssreflect.html#00a1a5b58aac8f1e3f1abff064a39f9d"><span class="id" title="notation">then</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#ev"><span class="id" title="variable">ev</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.EvalTerm.If.then_f"><span class="id" title="variable">then_f</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssreflect.html#00a1a5b58aac8f1e3f1abff064a39f9d"><span class="id" title="notation">else</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#ev"><span class="id" title="variable">ev</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.EvalTerm.If.else_f"><span class="id" title="variable">else_f</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">)</span></a>.<br/> <br/> <span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.EvalTerm.If"><span class="id" title="section">If</span></a>.<br/> @@ -4374,25 +4389,25 @@ <span class="id" title="keyword">Section</span> <a name="GRing.EvalTerm.Pick"><span class="id" title="section">Pick</span></a>.<br/> <br/> -<span class="id" title="keyword">Variables</span> (<a name="GRing.EvalTerm.Pick.I"><span class="id" title="variable">I</span></a> : <a class="idref" href="mathcomp.ssreflect.fintype.html#Finite.Exports.finType"><span class="id" title="abbreviation">finType</span></a>) (<a name="GRing.EvalTerm.Pick.pred_f"><span class="id" title="variable">pred_f</span></a> <a name="GRing.EvalTerm.Pick.then_f"><span class="id" title="variable">then_f</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.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.ssralg.html#GRing.formula"><span class="id" title="inductive">formula</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.EvalTerm.R"><span class="id" title="variable">R</span></a>) (<a name="GRing.EvalTerm.Pick.else_f"><span class="id" title="variable">else_f</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.formula"><span class="id" title="inductive">formula</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.EvalTerm.R"><span class="id" title="variable">R</span></a>).<br/> +<span class="id" title="keyword">Variables</span> (<a name="GRing.EvalTerm.Pick.I"><span class="id" title="variable">I</span></a> : <a class="idref" href="mathcomp.ssreflect.fintype.html#Finite.Exports.finType"><span class="id" title="abbreviation">finType</span></a>) (<a name="GRing.EvalTerm.Pick.pred_f"><span class="id" title="variable">pred_f</span></a> <a name="GRing.EvalTerm.Pick.then_f"><span class="id" title="variable">then_f</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#I"><span class="id" title="variable">I</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.formula"><span class="id" title="inductive">formula</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.EvalTerm.R"><span class="id" title="variable">R</span></a>) (<a name="GRing.EvalTerm.Pick.else_f"><span class="id" title="variable">else_f</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.formula"><span class="id" title="inductive">formula</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.EvalTerm.R"><span class="id" title="variable">R</span></a>).<br/> <br/> <span class="id" title="keyword">Definition</span> <a name="GRing.Pick"><span class="id" title="definition">Pick</span></a> :=<br/> - <a class="idref" href="mathcomp.ssreflect.bigop.html#7c24ccda1da6510c0183e6d456463b39"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#7c24ccda1da6510c0183e6d456463b39"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#7c24ccda1da6510c0183e6d456463b39"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Or"><span class="id" title="constructor">Or</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#7c24ccda1da6510c0183e6d456463b39"><span class="id" title="notation">/</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#GRing.False"><span class="id" title="abbreviation">False</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#7c24ccda1da6510c0183e6d456463b39"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#7c24ccda1da6510c0183e6d456463b39"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#7c24ccda1da6510c0183e6d456463b39"><span class="id" title="notation">(</span></a><span class="id" title="var">p</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#7c24ccda1da6510c0183e6d456463b39"><span class="id" title="notation">:</span></a> <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="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.ssralg.html#GRing.EvalTerm.Pick.I"><span class="id" title="variable">I</span></a><a class="idref" href="mathcomp.ssreflect.finfun.html#9f24a6f16bf73832c2d9aa4e2c16f692"><span class="id" title="notation">}</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#7c24ccda1da6510c0183e6d456463b39"><span class="id" title="notation">)</span></a><br/> - (<a class="idref" href="mathcomp.algebra.ssralg.html#421c9c3c51833f1724975feaafb4b744"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#a0ddbff8fbef0617dd5dab072904e591"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#a0ddbff8fbef0617dd5dab072904e591"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#a0ddbff8fbef0617dd5dab072904e591"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#GRing.And"><span class="id" title="constructor">And</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#a0ddbff8fbef0617dd5dab072904e591"><span class="id" title="notation">/</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#GRing.True"><span class="id" title="abbreviation">True</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#a0ddbff8fbef0617dd5dab072904e591"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#a0ddbff8fbef0617dd5dab072904e591"><span class="id" title="notation">_i</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#a0ddbff8fbef0617dd5dab072904e591"><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.ssralg.html#p"><span class="id" title="variable">p</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</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.ssralg.html#GRing.EvalTerm.Pick.pred_f"><span class="id" title="variable">pred_f</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</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.ssralg.html#bf1935aa3f28dfd45301897795b397a5"><span class="id" title="notation">¬</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.EvalTerm.Pick.pred_f"><span class="id" title="variable">pred_f</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#a0ddbff8fbef0617dd5dab072904e591"><span class="id" title="notation">)</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#421c9c3c51833f1724975feaafb4b744"><span class="id" title="notation">)</span></a><br/> - <a class="idref" href="mathcomp.algebra.ssralg.html#421c9c3c51833f1724975feaafb4b744"><span class="id" title="notation">∧</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#421c9c3c51833f1724975feaafb4b744"><span class="id" title="notation">(</span></a><span class="id" title="keyword">if</span> <a class="idref" href="mathcomp.ssreflect.fintype.html#pick"><span class="id" title="definition">pick</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#p"><span class="id" title="variable">p</span></a> <span class="id" title="keyword">is</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#Some"><span class="id" title="constructor">Some</span></a> <span class="id" title="var">i</span> <span class="id" title="keyword">then</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.EvalTerm.Pick.then_f"><span class="id" title="variable">then_f</span></a> <span class="id" title="var">i</span> <span class="id" title="keyword">else</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.EvalTerm.Pick.else_f"><span class="id" title="variable">else_f</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#421c9c3c51833f1724975feaafb4b744"><span class="id" title="notation">)</span></a>)%<span class="id" title="var">T</span>.<br/> + <a class="idref" href="mathcomp.ssreflect.bigop.html#0a668c1f377e113a6f68dd824f1c2031"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#0a668c1f377e113a6f68dd824f1c2031"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#0a668c1f377e113a6f68dd824f1c2031"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Or"><span class="id" title="constructor">Or</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#0a668c1f377e113a6f68dd824f1c2031"><span class="id" title="notation">/</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#GRing.False"><span class="id" title="abbreviation">False</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#0a668c1f377e113a6f68dd824f1c2031"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#0a668c1f377e113a6f68dd824f1c2031"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#0a668c1f377e113a6f68dd824f1c2031"><span class="id" title="notation">(</span></a><span class="id" title="var">p</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#0a668c1f377e113a6f68dd824f1c2031"><span class="id" title="notation">:</span></a> <a class="idref" href="mathcomp.ssreflect.finfun.html#31493a873acc18a8368490ef56022c0c"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.ssreflect.finfun.html#31493a873acc18a8368490ef56022c0c"><span class="id" title="notation">ffun</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#pred"><span class="id" title="definition">pred</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.EvalTerm.Pick.I"><span class="id" title="variable">I</span></a><a class="idref" href="mathcomp.ssreflect.finfun.html#31493a873acc18a8368490ef56022c0c"><span class="id" title="notation">}</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#0a668c1f377e113a6f68dd824f1c2031"><span class="id" title="notation">)</span></a><br/> + (<a class="idref" href="mathcomp.algebra.ssralg.html#ab32bd0aebe6dabd4efe45ce35759537"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#379a79a86133b2d1cd9cb43efa183ecb"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#379a79a86133b2d1cd9cb43efa183ecb"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#379a79a86133b2d1cd9cb43efa183ecb"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#GRing.And"><span class="id" title="constructor">And</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#379a79a86133b2d1cd9cb43efa183ecb"><span class="id" title="notation">/</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#GRing.True"><span class="id" title="abbreviation">True</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#379a79a86133b2d1cd9cb43efa183ecb"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#379a79a86133b2d1cd9cb43efa183ecb"><span class="id" title="notation">_i</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#379a79a86133b2d1cd9cb43efa183ecb"><span class="id" title="notation">(</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssreflect.html#00a1a5b58aac8f1e3f1abff064a39f9d"><span class="id" title="notation">if</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#p"><span class="id" title="variable">p</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssreflect.html#00a1a5b58aac8f1e3f1abff064a39f9d"><span class="id" title="notation">then</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.EvalTerm.Pick.pred_f"><span class="id" title="variable">pred_f</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssreflect.html#00a1a5b58aac8f1e3f1abff064a39f9d"><span class="id" title="notation">else</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#8fd8345f0bd0f50ba5171cc7c1b45aca"><span class="id" title="notation">¬</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.EvalTerm.Pick.pred_f"><span class="id" title="variable">pred_f</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#379a79a86133b2d1cd9cb43efa183ecb"><span class="id" title="notation">)</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#ab32bd0aebe6dabd4efe45ce35759537"><span class="id" title="notation">)</span></a><br/> + <a class="idref" href="mathcomp.algebra.ssralg.html#ab32bd0aebe6dabd4efe45ce35759537"><span class="id" title="notation">∧</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#ab32bd0aebe6dabd4efe45ce35759537"><span class="id" title="notation">(</span></a><span class="id" title="keyword">if</span> <a class="idref" href="mathcomp.ssreflect.fintype.html#pick"><span class="id" title="definition">pick</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#p"><span class="id" title="variable">p</span></a> <span class="id" title="keyword">is</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#Some"><span class="id" title="constructor">Some</span></a> <span class="id" title="var">i</span> <span class="id" title="keyword">then</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.EvalTerm.Pick.then_f"><span class="id" title="variable">then_f</span></a> <span class="id" title="var">i</span> <span class="id" title="keyword">else</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.EvalTerm.Pick.else_f"><span class="id" title="variable">else_f</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#ab32bd0aebe6dabd4efe45ce35759537"><span class="id" title="notation">)</span></a>)%<span class="id" title="var">T</span>.<br/> <br/> <span class="id" title="keyword">Lemma</span> <a name="GRing.Pick_form_qf"><span class="id" title="lemma">Pick_form_qf</span></a> :<br/> - <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">i</span>, <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.qf_form"><span class="id" title="definition">qf_form</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.EvalTerm.Pick.pred_f"><span class="id" title="variable">pred_f</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a><br/> - <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">i</span>, <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.qf_form"><span class="id" title="definition">qf_form</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.EvalTerm.Pick.then_f"><span class="id" title="variable">then_f</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a><br/> - <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.qf_form"><span class="id" title="definition">qf_form</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.EvalTerm.Pick.else_f"><span class="id" title="variable">else_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><br/> + <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">(</span></a><span class="id" title="keyword">∀</span> <span class="id" title="var">i</span>, <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.qf_form"><span class="id" title="definition">qf_form</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.EvalTerm.Pick.pred_f"><span class="id" title="variable">pred_f</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</span></a>)<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a><br/> + <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">(</span></a><span class="id" title="keyword">∀</span> <span class="id" title="var">i</span>, <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.qf_form"><span class="id" title="definition">qf_form</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.EvalTerm.Pick.then_f"><span class="id" title="variable">then_f</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</span></a>)<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a><br/> + <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.qf_form"><span class="id" title="definition">qf_form</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.EvalTerm.Pick.else_f"><span class="id" title="variable">else_f</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a><br/> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.qf_form"><span class="id" title="definition">qf_form</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Pick"><span class="id" title="definition">Pick</span></a>.<br/> <br/> <span class="id" title="keyword">Lemma</span> <a name="GRing.eval_Pick"><span class="id" title="lemma">eval_Pick</span></a> <span class="id" title="var">e</span> (<span class="id" title="var">qev</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.qf_eval"><span class="id" title="definition">qf_eval</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#e"><span class="id" title="variable">e</span></a>) :<br/> <span class="id" title="keyword">let</span> <span class="id" title="var">P</span> <span class="id" title="var">i</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#qev"><span class="id" title="variable">qev</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.EvalTerm.Pick.pred_f"><span class="id" title="variable">pred_f</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</span></a>) <span class="id" title="tactic">in</span><br/> - <a class="idref" href="mathcomp.algebra.ssralg.html#qev"><span class="id" title="variable">qev</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Pick"><span class="id" title="definition">Pick</span></a> <a class="idref" href="http://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><span class="id" title="keyword">if</span> <a class="idref" href="mathcomp.ssreflect.fintype.html#pick"><span class="id" title="definition">pick</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#P"><span class="id" title="variable">P</span></a> <span class="id" title="keyword">is</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#Some"><span class="id" title="constructor">Some</span></a> <span class="id" title="var">i</span> <span class="id" title="keyword">then</span> <a class="idref" href="mathcomp.algebra.ssralg.html#qev"><span class="id" title="variable">qev</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.EvalTerm.Pick.then_f"><span class="id" title="variable">then_f</span></a> <span class="id" title="var">i</span>) <span class="id" title="keyword">else</span> <a class="idref" href="mathcomp.algebra.ssralg.html#qev"><span class="id" title="variable">qev</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.EvalTerm.Pick.else_f"><span class="id" title="variable">else_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>.<br/> + <a class="idref" href="mathcomp.algebra.ssralg.html#qev"><span class="id" title="variable">qev</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Pick"><span class="id" title="definition">Pick</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">(</span></a><span class="id" title="keyword">if</span> <a class="idref" href="mathcomp.ssreflect.fintype.html#pick"><span class="id" title="definition">pick</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#P"><span class="id" title="variable">P</span></a> <span class="id" title="keyword">is</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#Some"><span class="id" title="constructor">Some</span></a> <span class="id" title="var">i</span> <span class="id" title="keyword">then</span> <a class="idref" href="mathcomp.algebra.ssralg.html#qev"><span class="id" title="variable">qev</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.EvalTerm.Pick.then_f"><span class="id" title="variable">then_f</span></a> <span class="id" title="var">i</span>) <span class="id" title="keyword">else</span> <a class="idref" href="mathcomp.algebra.ssralg.html#qev"><span class="id" title="variable">qev</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.EvalTerm.Pick.else_f"><span class="id" title="variable">else_f</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">)</span></a>.<br/> <br/> <span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.EvalTerm.Pick"><span class="id" title="section">Pick</span></a>.<br/> @@ -4402,17 +4417,17 @@ <br/> <span class="id" title="keyword">Variable</span> <a name="GRing.EvalTerm.MultiQuant.f"><span class="id" title="variable">f</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.formula"><span class="id" title="inductive">formula</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.EvalTerm.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">I</span> : <a class="idref" href="mathcomp.ssreflect.seq.html#seq"><span class="id" title="abbreviation">seq</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>) (<span class="id" title="var">e</span> : <a class="idref" href="mathcomp.ssreflect.seq.html#seq"><span class="id" title="abbreviation">seq</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.EvalTerm.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">I</span> : <a class="idref" href="mathcomp.ssreflect.seq.html#seq"><span class="id" title="abbreviation">seq</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#nat"><span class="id" title="inductive">nat</span></a>) (<span class="id" title="var">e</span> : <a class="idref" href="mathcomp.ssreflect.seq.html#seq"><span class="id" title="abbreviation">seq</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.EvalTerm.R"><span class="id" title="variable">R</span></a>).<br/> <br/> <span class="id" title="keyword">Lemma</span> <a name="GRing.foldExistsP"><span class="id" title="lemma">foldExistsP</span></a> <span class="id" title="var">I</span> <span class="id" title="var">e</span> :<br/> - <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#df1ced36fc33ce188051218bca314374"><span class="id" title="notation">(</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#28b18e493f7cb0bd8447607bdc385ff8"><span class="id" title="notation">exists2</span></a> <span class="id" title="var">e'</span><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#28b18e493f7cb0bd8447607bdc385ff8"><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="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.ssralg.html#I"><span class="id" title="variable">I</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.ssralg.html#GRing.same_env"><span class="id" title="definition">same_env</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#e"><span class="id" title="variable">e</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#e'"><span class="id" title="variable">e'</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.Init.Logic.html#28b18e493f7cb0bd8447607bdc385ff8"><span class="id" title="notation">&</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.holds"><span class="id" title="definition">holds</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#e'"><span class="id" title="variable">e'</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.EvalTerm.MultiQuant.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#df1ced36fc33ce188051218bca314374"><span class="id" title="notation">)</span></a><br/> - <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#df1ced36fc33ce188051218bca314374"><span class="id" title="notation">↔</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.holds"><span class="id" title="definition">holds</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#e"><span class="id" title="variable">e</span></a> (<a class="idref" href="mathcomp.ssreflect.seq.html#foldr"><span class="id" title="definition">foldr</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Exists"><span class="id" title="constructor">Exists</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.EvalTerm.MultiQuant.f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#I"><span class="id" title="variable">I</span></a>).<br/> + <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#4bfb4f2d0721ba668e3a802ab1b745a1"><span class="id" title="notation">(</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#3df228c109f14f0423b4fccc967ee1ac"><span class="id" title="notation">exists2</span></a> <span class="id" title="var">e'</span><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#3df228c109f14f0423b4fccc967ee1ac"><span class="id" title="notation">,</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><span class="id" title="notation">in</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#790b887fcb3f1d578b2c7a5460f7aeb5"><span class="id" title="notation">[</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#790b887fcb3f1d578b2c7a5460f7aeb5"><span class="id" title="notation">predC</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#I"><span class="id" title="variable">I</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#790b887fcb3f1d578b2c7a5460f7aeb5"><span class="id" title="notation">]</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.same_env"><span class="id" title="definition">same_env</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#e"><span class="id" title="variable">e</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#e'"><span class="id" title="variable">e'</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><span class="id" title="notation">}</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#3df228c109f14f0423b4fccc967ee1ac"><span class="id" title="notation">&</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.holds"><span class="id" title="definition">holds</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#e'"><span class="id" title="variable">e'</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.EvalTerm.MultiQuant.f"><span class="id" title="variable">f</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#4bfb4f2d0721ba668e3a802ab1b745a1"><span class="id" title="notation">)</span></a><br/> + <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#4bfb4f2d0721ba668e3a802ab1b745a1"><span class="id" title="notation">↔</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.holds"><span class="id" title="definition">holds</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#e"><span class="id" title="variable">e</span></a> (<a class="idref" href="mathcomp.ssreflect.seq.html#foldr"><span class="id" title="definition">foldr</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Exists"><span class="id" title="constructor">Exists</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.EvalTerm.MultiQuant.f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#I"><span class="id" title="variable">I</span></a>).<br/> <br/> <span class="id" title="keyword">Lemma</span> <a name="GRing.foldForallP"><span class="id" title="lemma">foldForallP</span></a> <span class="id" title="var">I</span> <span class="id" title="var">e</span> :<br/> - <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#df1ced36fc33ce188051218bca314374"><span class="id" title="notation">(</span></a><span class="id" title="keyword">∀</span> <span class="id" title="var">e'</span>, <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.ssralg.html#I"><span class="id" title="variable">I</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.ssralg.html#GRing.same_env"><span class="id" title="definition">same_env</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#e"><span class="id" title="variable">e</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#e'"><span class="id" title="variable">e'</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.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.holds"><span class="id" title="definition">holds</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#e'"><span class="id" title="variable">e'</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.EvalTerm.MultiQuant.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#df1ced36fc33ce188051218bca314374"><span class="id" title="notation">)</span></a><br/> - <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#df1ced36fc33ce188051218bca314374"><span class="id" title="notation">↔</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.holds"><span class="id" title="definition">holds</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#e"><span class="id" title="variable">e</span></a> (<a class="idref" href="mathcomp.ssreflect.seq.html#foldr"><span class="id" title="definition">foldr</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Forall"><span class="id" title="constructor">Forall</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.EvalTerm.MultiQuant.f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#I"><span class="id" title="variable">I</span></a>).<br/> + <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#4bfb4f2d0721ba668e3a802ab1b745a1"><span class="id" title="notation">(</span></a><span class="id" title="keyword">∀</span> <span class="id" title="var">e'</span>, <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><span class="id" title="notation">in</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#790b887fcb3f1d578b2c7a5460f7aeb5"><span class="id" title="notation">[</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#790b887fcb3f1d578b2c7a5460f7aeb5"><span class="id" title="notation">predC</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#I"><span class="id" title="variable">I</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#790b887fcb3f1d578b2c7a5460f7aeb5"><span class="id" title="notation">]</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.same_env"><span class="id" title="definition">same_env</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#e"><span class="id" title="variable">e</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#e'"><span class="id" title="variable">e'</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><span class="id" title="notation">}</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.holds"><span class="id" title="definition">holds</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#e'"><span class="id" title="variable">e'</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.EvalTerm.MultiQuant.f"><span class="id" title="variable">f</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#4bfb4f2d0721ba668e3a802ab1b745a1"><span class="id" title="notation">)</span></a><br/> + <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#4bfb4f2d0721ba668e3a802ab1b745a1"><span class="id" title="notation">↔</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.holds"><span class="id" title="definition">holds</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#e"><span class="id" title="variable">e</span></a> (<a class="idref" href="mathcomp.ssreflect.seq.html#foldr"><span class="id" title="definition">foldr</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Forall"><span class="id" title="constructor">Forall</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.EvalTerm.MultiQuant.f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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.ssralg.html#GRing.EvalTerm.MultiQuant"><span class="id" title="section">MultiQuant</span></a>.<br/> @@ -4427,36 +4442,36 @@ <br/> <span class="id" title="keyword">Definition</span> <a name="GRing.IntegralDomain.axiom"><span class="id" title="definition">axiom</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>) :=<br/> - <span class="id" title="keyword">∀</span> <span class="id" title="var">x</span> <span class="id" title="var">y</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#R"><span class="id" title="variable">R</span></a>, <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#ed99e7035d9a1f8a2c1515be81ac2e5f"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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> 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.ssralg.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.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.ssralg.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="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#14a7a9c7dc61f86bfb664d400fabaf8a"><span class="id" title="notation">)</span></a>.<br/> + <span class="id" title="keyword">∀</span> <span class="id" title="var">x</span> <span class="id" title="var">y</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#R"><span class="id" title="variable">R</span></a>, <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f99a2dc6d143aa8f1021ab57e4a19eee"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> 0 <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#081ff67d3116402bb680e8692aa39185"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#df45e8c2e8370fd4f0f7c4fdaf208180"><span class="id" title="notation">==</span></a> 0<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#081ff67d3116402bb680e8692aa39185"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#081ff67d3116402bb680e8692aa39185"><span class="id" title="notation">||</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#081ff67d3116402bb680e8692aa39185"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#df45e8c2e8370fd4f0f7c4fdaf208180"><span class="id" title="notation">==</span></a> 0<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#081ff67d3116402bb680e8692aa39185"><span class="id" title="notation">)</span></a>.<br/> <br/> <span class="id" title="keyword">Section</span> <a name="GRing.IntegralDomain.ClassDef"><span class="id" title="section">ClassDef</span></a>.<br/> <br/> <span class="id" title="keyword">Record</span> <a name="GRing.IntegralDomain.class_of"><span class="id" title="record">class_of</span></a> (<span class="id" title="var">R</span> : <span class="id" title="keyword">Type</span>) : <span class="id" title="keyword">Type</span> :=<br/> - <a name="GRing.IntegralDomain.Class"><span class="id" title="constructor">Class</span></a> {<a name="GRing.IntegralDomain.base"><span class="id" title="projection">base</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComUnitRing.class_of"><span class="id" title="record">ComUnitRing.class_of</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#R"><span class="id" title="variable">R</span></a>; <a name="GRing.IntegralDomain.mixin"><span class="id" title="projection">mixin</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.IntegralDomain.axiom"><span class="id" title="definition">axiom</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Ring.Pack"><span class="id" title="constructor">Ring.Pack</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#base"><span class="id" title="method">base</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#R"><span class="id" title="variable">R</span></a>)}.<br/> + <a name="GRing.IntegralDomain.Class"><span class="id" title="constructor">Class</span></a> {<a name="GRing.IntegralDomain.base"><span class="id" title="projection">base</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComUnitRing.class_of"><span class="id" title="record">ComUnitRing.class_of</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#R"><span class="id" title="variable">R</span></a>; <a name="GRing.IntegralDomain.mixin"><span class="id" title="projection">mixin</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.IntegralDomain.axiom"><span class="id" title="definition">axiom</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Ring.Pack"><span class="id" title="constructor">Ring.Pack</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#base"><span class="id" title="method">base</span></a>)}.<br/> <br/> -<span class="id" title="keyword">Structure</span> <a name="GRing.IntegralDomain.type"><span class="id" title="record">type</span></a> := <a name="GRing.IntegralDomain.Pack"><span class="id" title="constructor">Pack</span></a> {<a name="GRing.IntegralDomain.sort"><span class="id" title="projection">sort</span></a>; <span class="id" title="var">_</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.IntegralDomain.class_of"><span class="id" title="record">class_of</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#sort"><span class="id" title="method">sort</span></a>; <span class="id" title="var">_</span> : <span class="id" title="keyword">Type</span>}.<br/> +<span class="id" title="keyword">Structure</span> <a name="GRing.IntegralDomain.type"><span class="id" title="record">type</span></a> := <a name="GRing.IntegralDomain.Pack"><span class="id" title="constructor">Pack</span></a> {<a name="GRing.IntegralDomain.sort"><span class="id" title="projection">sort</span></a>; <span class="id" title="var">_</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.IntegralDomain.class_of"><span class="id" title="record">class_of</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#sort"><span class="id" title="method">sort</span></a>}.<br/> <span class="id" title="keyword">Variable</span> (<a name="GRing.IntegralDomain.ClassDef.T"><span class="id" title="variable">T</span></a> : <span class="id" title="keyword">Type</span>) (<a name="GRing.IntegralDomain.ClassDef.cT"><span class="id" title="variable">cT</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.IntegralDomain.type"><span class="id" title="record">type</span></a>).<br/> -<span class="id" title="keyword">Definition</span> <a name="GRing.IntegralDomain.class"><span class="id" title="definition">class</span></a> := <span class="id" title="keyword">let</span>: <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.IntegralDomain.Pack"><span class="id" title="constructor">Pack</span></a> <span class="id" title="var">_</span> <span class="id" title="var">c</span> <span class="id" title="var">_</span> <span class="id" title="keyword">as</span> <span class="id" title="var">cT'</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.IntegralDomain.ClassDef.cT"><span class="id" title="variable">cT</span></a> <span class="id" title="keyword">return</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.IntegralDomain.class_of"><span class="id" title="record">class_of</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#cT'"><span class="id" title="variable">cT'</span></a> <span class="id" title="tactic">in</span> <span class="id" title="var">c</span>.<br/> -<span class="id" title="keyword">Definition</span> <a name="GRing.IntegralDomain.clone"><span class="id" title="definition">clone</span></a> <span class="id" title="var">c</span> <span class="id" title="keyword">of</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#phant_id"><span class="id" title="definition">phant_id</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.IntegralDomain.class"><span class="id" title="definition">class</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#c"><span class="id" title="variable">c</span></a> := @<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.IntegralDomain.Pack"><span class="id" title="constructor">Pack</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.IntegralDomain.ClassDef.T"><span class="id" title="variable">T</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#c"><span class="id" title="variable">c</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.IntegralDomain.ClassDef.T"><span class="id" title="variable">T</span></a>.<br/> -<span class="id" title="keyword">Let</span> <a name="GRing.IntegralDomain.ClassDef.xT"><span class="id" title="variable">xT</span></a> := <span class="id" title="keyword">let</span>: <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.IntegralDomain.Pack"><span class="id" title="constructor">Pack</span></a> <span class="id" title="var">T</span> <span class="id" title="var">_</span> <span class="id" title="var">_</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.IntegralDomain.ClassDef.cT"><span class="id" title="variable">cT</span></a> <span class="id" title="tactic">in</span> <span class="id" title="var">T</span>.<br/> -<span class="id" title="keyword">Notation</span> <a name="GRing.IntegralDomain.xclass"><span class="id" title="abbreviation">xclass</span></a> := (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.IntegralDomain.class"><span class="id" title="definition">class</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.ssralg.html#GRing.IntegralDomain.class_of"><span class="id" title="record">class_of</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.IntegralDomain.ClassDef.xT"><span class="id" title="variable">xT</span></a>).<br/> +<span class="id" title="keyword">Definition</span> <a name="GRing.IntegralDomain.class"><span class="id" title="definition">class</span></a> := <span class="id" title="keyword">let</span>: <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.IntegralDomain.Pack"><span class="id" title="constructor">Pack</span></a> <span class="id" title="var">_</span> <span class="id" title="var">c</span> <span class="id" title="keyword">as</span> <span class="id" title="var">cT'</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.IntegralDomain.ClassDef.cT"><span class="id" title="variable">cT</span></a> <span class="id" title="keyword">return</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.IntegralDomain.class_of"><span class="id" title="record">class_of</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#cT'"><span class="id" title="variable">cT'</span></a> <span class="id" title="tactic">in</span> <span class="id" title="var">c</span>.<br/> +<span class="id" title="keyword">Definition</span> <a name="GRing.IntegralDomain.clone"><span class="id" title="definition">clone</span></a> <span class="id" title="var">c</span> <span class="id" title="keyword">of</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#phant_id"><span class="id" title="definition">phant_id</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.IntegralDomain.class"><span class="id" title="definition">class</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#c"><span class="id" title="variable">c</span></a> := @<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.IntegralDomain.Pack"><span class="id" title="constructor">Pack</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.IntegralDomain.ClassDef.T"><span class="id" title="variable">T</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#c"><span class="id" title="variable">c</span></a>.<br/> +<span class="id" title="keyword">Let</span> <a name="GRing.IntegralDomain.ClassDef.xT"><span class="id" title="variable">xT</span></a> := <span class="id" title="keyword">let</span>: <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.IntegralDomain.Pack"><span class="id" title="constructor">Pack</span></a> <span class="id" title="var">T</span> <span class="id" title="var">_</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.IntegralDomain.ClassDef.cT"><span class="id" title="variable">cT</span></a> <span class="id" title="tactic">in</span> <span class="id" title="var">T</span>.<br/> +<span class="id" title="keyword">Notation</span> <a name="GRing.IntegralDomain.xclass"><span class="id" title="abbreviation">xclass</span></a> := (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.IntegralDomain.class"><span class="id" title="definition">class</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssreflect.html#aed478b27f23b4f753c27c8ac393febc"><span class="id" title="notation">:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.IntegralDomain.class_of"><span class="id" title="record">class_of</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.IntegralDomain.ClassDef.xT"><span class="id" title="variable">xT</span></a>).<br/> <br/> -<span class="id" title="keyword">Definition</span> <a name="GRing.IntegralDomain.pack"><span class="id" title="definition">pack</span></a> <span class="id" title="var">b0</span> (<span class="id" title="var">m0</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.IntegralDomain.axiom"><span class="id" title="definition">axiom</span></a> (@<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Ring.Pack"><span class="id" title="constructor">Ring.Pack</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.IntegralDomain.ClassDef.T"><span class="id" title="variable">T</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b0"><span class="id" title="variable">b0</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.IntegralDomain.ClassDef.T"><span class="id" title="variable">T</span></a>)) :=<br/> - <span class="id" title="keyword">fun</span> <span class="id" title="var">bT</span> <span class="id" title="var">b</span> & <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#phant_id"><span class="id" title="definition">phant_id</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComUnitRing.class"><span class="id" title="definition">ComUnitRing.class</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#bT"><span class="id" title="variable">bT</span></a>) <a class="idref" href="mathcomp.algebra.ssralg.html#b"><span class="id" title="variable">b</span></a> ⇒<br/> - <span class="id" title="keyword">fun</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#phant_id"><span class="id" title="definition">phant_id</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#m0"><span class="id" title="variable">m0</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#m"><span class="id" title="variable">m</span></a> ⇒ <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.IntegralDomain.Pack"><span class="id" title="constructor">Pack</span></a> (@<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.IntegralDomain.Class"><span class="id" title="constructor">Class</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.IntegralDomain.ClassDef.T"><span class="id" title="variable">T</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b"><span class="id" title="variable">b</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#m"><span class="id" title="variable">m</span></a>) <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.IntegralDomain.ClassDef.T"><span class="id" title="variable">T</span></a>.<br/> +<span class="id" title="keyword">Definition</span> <a name="GRing.IntegralDomain.pack"><span class="id" title="definition">pack</span></a> <span class="id" title="var">b0</span> (<span class="id" title="var">m0</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.IntegralDomain.axiom"><span class="id" title="definition">axiom</span></a> (@<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Ring.Pack"><span class="id" title="constructor">Ring.Pack</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.IntegralDomain.ClassDef.T"><span class="id" title="variable">T</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b0"><span class="id" title="variable">b0</span></a>)) :=<br/> + <span class="id" title="keyword">fun</span> <span class="id" title="var">bT</span> <span class="id" title="var">b</span> & <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#phant_id"><span class="id" title="definition">phant_id</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComUnitRing.class"><span class="id" title="definition">ComUnitRing.class</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#bT"><span class="id" title="variable">bT</span></a>) <a class="idref" href="mathcomp.algebra.ssralg.html#b"><span class="id" title="variable">b</span></a> ⇒<br/> + <span class="id" title="keyword">fun</span> <span class="id" title="var">m</span> & <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#phant_id"><span class="id" title="definition">phant_id</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#m0"><span class="id" title="variable">m0</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#m"><span class="id" title="variable">m</span></a> ⇒ <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.IntegralDomain.Pack"><span class="id" title="constructor">Pack</span></a> (@<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.IntegralDomain.Class"><span class="id" title="constructor">Class</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.IntegralDomain.ClassDef.T"><span class="id" title="variable">T</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b"><span class="id" title="variable">b</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#m"><span class="id" title="variable">m</span></a>).<br/> <br/> -<span class="id" title="keyword">Definition</span> <a name="GRing.IntegralDomain.eqType"><span class="id" title="definition">eqType</span></a> := @<a class="idref" href="mathcomp.ssreflect.eqtype.html#Equality.Pack"><span class="id" title="constructor">Equality.Pack</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.IntegralDomain.ClassDef.cT"><span class="id" title="variable">cT</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.IntegralDomain.xclass"><span class="id" title="abbreviation">xclass</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.IntegralDomain.ClassDef.xT"><span class="id" title="variable">xT</span></a>.<br/> -<span class="id" title="keyword">Definition</span> <a name="GRing.IntegralDomain.choiceType"><span class="id" title="definition">choiceType</span></a> := @<a class="idref" href="mathcomp.ssreflect.choice.html#Choice.Pack"><span class="id" title="constructor">Choice.Pack</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.IntegralDomain.ClassDef.cT"><span class="id" title="variable">cT</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.IntegralDomain.xclass"><span class="id" title="abbreviation">xclass</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.IntegralDomain.ClassDef.xT"><span class="id" title="variable">xT</span></a>.<br/> -<span class="id" title="keyword">Definition</span> <a name="GRing.IntegralDomain.zmodType"><span class="id" title="definition">zmodType</span></a> := @<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Zmodule.Pack"><span class="id" title="constructor">Zmodule.Pack</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.IntegralDomain.ClassDef.cT"><span class="id" title="variable">cT</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.IntegralDomain.xclass"><span class="id" title="abbreviation">xclass</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.IntegralDomain.ClassDef.xT"><span class="id" title="variable">xT</span></a>.<br/> -<span class="id" title="keyword">Definition</span> <a name="GRing.IntegralDomain.ringType"><span class="id" title="definition">ringType</span></a> := @<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Ring.Pack"><span class="id" title="constructor">Ring.Pack</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.IntegralDomain.ClassDef.cT"><span class="id" title="variable">cT</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.IntegralDomain.xclass"><span class="id" title="abbreviation">xclass</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.IntegralDomain.ClassDef.xT"><span class="id" title="variable">xT</span></a>.<br/> -<span class="id" title="keyword">Definition</span> <a name="GRing.IntegralDomain.comRingType"><span class="id" title="definition">comRingType</span></a> := @<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComRing.Pack"><span class="id" title="constructor">ComRing.Pack</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.IntegralDomain.ClassDef.cT"><span class="id" title="variable">cT</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.IntegralDomain.xclass"><span class="id" title="abbreviation">xclass</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.IntegralDomain.ClassDef.xT"><span class="id" title="variable">xT</span></a>.<br/> -<span class="id" title="keyword">Definition</span> <a name="GRing.IntegralDomain.unitRingType"><span class="id" title="definition">unitRingType</span></a> := @<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitRing.Pack"><span class="id" title="constructor">UnitRing.Pack</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.IntegralDomain.ClassDef.cT"><span class="id" title="variable">cT</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.IntegralDomain.xclass"><span class="id" title="abbreviation">xclass</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.IntegralDomain.ClassDef.xT"><span class="id" title="variable">xT</span></a>.<br/> -<span class="id" title="keyword">Definition</span> <a name="GRing.IntegralDomain.comUnitRingType"><span class="id" title="definition">comUnitRingType</span></a> := @<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComUnitRing.Pack"><span class="id" title="constructor">ComUnitRing.Pack</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.IntegralDomain.ClassDef.cT"><span class="id" title="variable">cT</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.IntegralDomain.xclass"><span class="id" title="abbreviation">xclass</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.IntegralDomain.ClassDef.xT"><span class="id" title="variable">xT</span></a>.<br/> +<span class="id" title="keyword">Definition</span> <a name="GRing.IntegralDomain.eqType"><span class="id" title="definition">eqType</span></a> := @<a class="idref" href="mathcomp.ssreflect.eqtype.html#Equality.Pack"><span class="id" title="constructor">Equality.Pack</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.IntegralDomain.ClassDef.cT"><span class="id" title="variable">cT</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.IntegralDomain.xclass"><span class="id" title="abbreviation">xclass</span></a>.<br/> +<span class="id" title="keyword">Definition</span> <a name="GRing.IntegralDomain.choiceType"><span class="id" title="definition">choiceType</span></a> := @<a class="idref" href="mathcomp.ssreflect.choice.html#Choice.Pack"><span class="id" title="constructor">Choice.Pack</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.IntegralDomain.ClassDef.cT"><span class="id" title="variable">cT</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.IntegralDomain.xclass"><span class="id" title="abbreviation">xclass</span></a>.<br/> +<span class="id" title="keyword">Definition</span> <a name="GRing.IntegralDomain.zmodType"><span class="id" title="definition">zmodType</span></a> := @<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Zmodule.Pack"><span class="id" title="constructor">Zmodule.Pack</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.IntegralDomain.ClassDef.cT"><span class="id" title="variable">cT</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.IntegralDomain.xclass"><span class="id" title="abbreviation">xclass</span></a>.<br/> +<span class="id" title="keyword">Definition</span> <a name="GRing.IntegralDomain.ringType"><span class="id" title="definition">ringType</span></a> := @<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Ring.Pack"><span class="id" title="constructor">Ring.Pack</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.IntegralDomain.ClassDef.cT"><span class="id" title="variable">cT</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.IntegralDomain.xclass"><span class="id" title="abbreviation">xclass</span></a>.<br/> +<span class="id" title="keyword">Definition</span> <a name="GRing.IntegralDomain.comRingType"><span class="id" title="definition">comRingType</span></a> := @<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComRing.Pack"><span class="id" title="constructor">ComRing.Pack</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.IntegralDomain.ClassDef.cT"><span class="id" title="variable">cT</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.IntegralDomain.xclass"><span class="id" title="abbreviation">xclass</span></a>.<br/> +<span class="id" title="keyword">Definition</span> <a name="GRing.IntegralDomain.unitRingType"><span class="id" title="definition">unitRingType</span></a> := @<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitRing.Pack"><span class="id" title="constructor">UnitRing.Pack</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.IntegralDomain.ClassDef.cT"><span class="id" title="variable">cT</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.IntegralDomain.xclass"><span class="id" title="abbreviation">xclass</span></a>.<br/> +<span class="id" title="keyword">Definition</span> <a name="GRing.IntegralDomain.comUnitRingType"><span class="id" title="definition">comUnitRingType</span></a> := @<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComUnitRing.Pack"><span class="id" title="constructor">ComUnitRing.Pack</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.IntegralDomain.ClassDef.cT"><span class="id" title="variable">cT</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.IntegralDomain.xclass"><span class="id" title="abbreviation">xclass</span></a>.<br/> <br/> <span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.IntegralDomain.ClassDef"><span class="id" title="section">ClassDef</span></a>.<br/> @@ -4481,10 +4496,10 @@ <span class="id" title="keyword">Coercion</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.IntegralDomain.comUnitRingType"><span class="id" title="definition">comUnitRingType</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.IntegralDomain.comUnitRingType"><span class="id" title="definition">:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.IntegralDomain.comUnitRingType"><span class="id" title="definition">type</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.IntegralDomain.comUnitRingType"><span class="id" title="definition">>-></span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.IntegralDomain.comUnitRingType"><span class="id" title="definition">ComUnitRing.type</span></a>.<br/> <span class="id" title="keyword">Canonical</span> <span class="id" title="var">comUnitRingType</span>.<br/> <span class="id" title="keyword">Notation</span> <a name="GRing.IntegralDomain.Exports.idomainType"><span class="id" title="abbreviation">idomainType</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.IntegralDomain.type"><span class="id" title="record">type</span></a>.<br/> -<span class="id" title="keyword">Notation</span> <a name="GRing.IntegralDomain.Exports.IdomainType"><span class="id" title="abbreviation">IdomainType</span></a> <span class="id" title="var">T</span> <span class="id" title="var">m</span> := (@<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.IntegralDomain.pack"><span class="id" title="definition">pack</span></a> <span class="id" title="var">T</span> <span class="id" title="var">_</span> <span class="id" title="var">m</span> <span class="id" title="var">_</span> <span class="id" title="var">_</span> <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> <span class="id" title="var">_</span> <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>).<br/> -<span class="id" title="keyword">Notation</span> <a name="29ac7480dfde2720a0c36d25103fa4a7"><span class="id" title="notation">"</span></a>[ 'idomainType' 'of' T 'for' cT ]" := (@<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.IntegralDomain.clone"><span class="id" title="definition">clone</span></a> <span class="id" title="var">T</span> <span class="id" title="var">cT</span> <span class="id" title="var">_</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#idfun"><span class="id" title="abbreviation">idfun</span></a>)<br/> +<span class="id" title="keyword">Notation</span> <a name="GRing.IntegralDomain.Exports.IdomainType"><span class="id" title="abbreviation">IdomainType</span></a> <span class="id" title="var">T</span> <span class="id" title="var">m</span> := (@<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.IntegralDomain.pack"><span class="id" title="definition">pack</span></a> <span class="id" title="var">T</span> <span class="id" title="var">_</span> <span class="id" title="var">m</span> <span class="id" title="var">_</span> <span class="id" title="var">_</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#id"><span class="id" title="abbreviation">id</span></a> <span class="id" title="var">_</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#id"><span class="id" title="abbreviation">id</span></a>).<br/> +<span class="id" title="keyword">Notation</span> <a name="d2f06a45025b5a16ce20033996a7b507"><span class="id" title="notation">"</span></a>[ 'idomainType' 'of' T 'for' cT ]" := (@<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.IntegralDomain.clone"><span class="id" title="definition">clone</span></a> <span class="id" title="var">T</span> <span class="id" title="var">cT</span> <span class="id" title="var">_</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#idfun"><span class="id" title="abbreviation">idfun</span></a>)<br/> (<span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 0, <span class="id" title="var">format</span> "[ 'idomainType' 'of' T 'for' cT ]") : <span class="id" title="var">form_scope</span>.<br/> -<span class="id" title="keyword">Notation</span> <a name="9894f8fff6e44a40eb9fd9cfcbde7780"><span class="id" title="notation">"</span></a>[ 'idomainType' 'of' T ]" := (@<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.IntegralDomain.clone"><span class="id" title="definition">clone</span></a> <span class="id" title="var">T</span> <span class="id" title="var">_</span> <span class="id" title="var">_</span> <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>)<br/> +<span class="id" title="keyword">Notation</span> <a name="b10128495340407de3c7b321ce0c78de"><span class="id" title="notation">"</span></a>[ 'idomainType' 'of' T ]" := (@<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.IntegralDomain.clone"><span class="id" title="definition">clone</span></a> <span class="id" title="var">T</span> <span class="id" title="var">_</span> <span class="id" title="var">_</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#id"><span class="id" title="abbreviation">id</span></a>)<br/> (<span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 0, <span class="id" title="var">format</span> "[ 'idomainType' 'of' T ]") : <span class="id" title="var">form_scope</span>.<br/> <span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.IntegralDomain.Exports"><span class="id" title="module">Exports</span></a>.<br/> @@ -4500,78 +4515,78 @@ <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.ssralg.html#GRing.IntegralDomainTheory.R"><span class="id" title="variable">R</span></a>.<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.mulf_eq0"><span class="id" title="lemma">mulf_eq0</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.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#ed99e7035d9a1f8a2c1515be81ac2e5f"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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="http://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.ssralg.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.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.ssralg.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="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#14a7a9c7dc61f86bfb664d400fabaf8a"><span class="id" title="notation">)</span></a>.<br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.mulf_eq0"><span class="id" title="lemma">mulf_eq0</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/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f99a2dc6d143aa8f1021ab57e4a19eee"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#df45e8c2e8370fd4f0f7c4fdaf208180"><span class="id" title="notation">==</span></a> 0<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#081ff67d3116402bb680e8692aa39185"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#df45e8c2e8370fd4f0f7c4fdaf208180"><span class="id" title="notation">==</span></a> 0<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#081ff67d3116402bb680e8692aa39185"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#081ff67d3116402bb680e8692aa39185"><span class="id" title="notation">||</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#081ff67d3116402bb680e8692aa39185"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#df45e8c2e8370fd4f0f7c4fdaf208180"><span class="id" title="notation">==</span></a> 0<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#081ff67d3116402bb680e8692aa39185"><span class="id" title="notation">)</span></a>.<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.prodf_eq0"><span class="id" title="lemma">prodf_eq0</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">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.ssralg.html#I"><span class="id" title="variable">I</span></a>) (<span class="id" title="var">F</span> : <a class="idref" href="mathcomp.algebra.ssralg.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.ssralg.html#GRing.IntegralDomainTheory.R"><span class="id" title="variable">R</span></a>) :<br/> - <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#28b18e493f7cb0bd8447607bdc385ff8"><span class="id" title="notation">exists2</span></a> <span class="id" title="var">i</span><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#28b18e493f7cb0bd8447607bdc385ff8"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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#28b18e493f7cb0bd8447607bdc385ff8"><span class="id" title="notation">&</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#28b18e493f7cb0bd8447607bdc385ff8"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</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#28b18e493f7cb0bd8447607bdc385ff8"><span class="id" title="notation">)</span></a>) (<a class="idref" href="mathcomp.algebra.ssralg.html#939d2f6b3eeb99c97ee97374f97463ee"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#939d2f6b3eeb99c97ee97374f97463ee"><span class="id" title="notation">prod_</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#939d2f6b3eeb99c97ee97374f97463ee"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.algebra.ssralg.html#939d2f6b3eeb99c97ee97374f97463ee"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#939d2f6b3eeb99c97ee97374f97463ee"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#17d28d004d0863cb022d4ce832ddaaae"><span class="id" title="notation">==</span></a> 0).<br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.prodf_eq0"><span class="id" title="lemma">prodf_eq0</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">P</span> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#pred"><span class="id" title="definition">pred</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#I"><span class="id" title="variable">I</span></a>) (<span class="id" title="var">F</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#I"><span class="id" title="variable">I</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.IntegralDomainTheory.R"><span class="id" title="variable">R</span></a>) :<br/> + <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#reflect"><span class="id" title="abbreviation">reflect</span></a> (<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#3df228c109f14f0423b4fccc967ee1ac"><span class="id" title="notation">exists2</span></a> <span class="id" title="var">i</span><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#3df228c109f14f0423b4fccc967ee1ac"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#3df228c109f14f0423b4fccc967ee1ac"><span class="id" title="notation">&</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#3df228c109f14f0423b4fccc967ee1ac"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#df45e8c2e8370fd4f0f7c4fdaf208180"><span class="id" title="notation">==</span></a> 0<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#3df228c109f14f0423b4fccc967ee1ac"><span class="id" title="notation">)</span></a>) (<a class="idref" href="mathcomp.algebra.ssralg.html#ba1581e43a210b25c8f779050e03b92e"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#ba1581e43a210b25c8f779050e03b92e"><span class="id" title="notation">prod_</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#ba1581e43a210b25c8f779050e03b92e"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.algebra.ssralg.html#ba1581e43a210b25c8f779050e03b92e"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#ba1581e43a210b25c8f779050e03b92e"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#df45e8c2e8370fd4f0f7c4fdaf208180"><span class="id" title="notation">==</span></a> 0).<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.prodf_seq_eq0"><span class="id" title="lemma">prodf_seq_eq0</span></a> <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.ssralg.html#I"><span class="id" title="variable">I</span></a>) (<span class="id" title="var">F</span> : <a class="idref" href="mathcomp.algebra.ssralg.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.ssralg.html#GRing.IntegralDomainTheory.R"><span class="id" title="variable">R</span></a>) :<br/> - <a class="idref" href="http://coq.inria.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#3f1a950be6bcb72c9434150471b42417"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#3f1a950be6bcb72c9434150471b42417"><span class="id" title="notation">prod_</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#3f1a950be6bcb72c9434150471b42417"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.algebra.ssralg.html#3f1a950be6bcb72c9434150471b42417"><span class="id" title="notation"><-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#r"><span class="id" title="variable">r</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#3f1a950be6bcb72c9434150471b42417"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#3f1a950be6bcb72c9434150471b42417"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</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="mathcomp.ssreflect.seq.html#has"><span class="id" title="definition">has</span></a> (<span class="id" title="keyword">fun</span> <span class="id" title="var">i</span> ⇒ <a class="idref" href="mathcomp.algebra.ssralg.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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.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">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#17d28d004d0863cb022d4ce832ddaaae"><span class="id" title="notation">==</span></a> 0<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#49ac24efa716d8b0ee8943bc1d1769a9"><span class="id" title="notation">)</span></a>) <a class="idref" href="mathcomp.algebra.ssralg.html#r"><span class="id" title="variable">r</span></a>.<br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.prodf_seq_eq0"><span class="id" title="lemma">prodf_seq_eq0</span></a> <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/V8.9.0/stdlib//Coq.ssr.ssrbool.html#pred"><span class="id" title="definition">pred</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#I"><span class="id" title="variable">I</span></a>) (<span class="id" title="var">F</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#I"><span class="id" title="variable">I</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.IntegralDomainTheory.R"><span class="id" title="variable">R</span></a>) :<br/> + <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#5e0b538209a51fa2bd900767b9312dd8"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#5e0b538209a51fa2bd900767b9312dd8"><span class="id" title="notation">prod_</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#5e0b538209a51fa2bd900767b9312dd8"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.algebra.ssralg.html#5e0b538209a51fa2bd900767b9312dd8"><span class="id" title="notation"><-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#r"><span class="id" title="variable">r</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#5e0b538209a51fa2bd900767b9312dd8"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#5e0b538209a51fa2bd900767b9312dd8"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#df45e8c2e8370fd4f0f7c4fdaf208180"><span class="id" title="notation">==</span></a> 0<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.ssreflect.seq.html#has"><span class="id" title="definition">has</span></a> (<span class="id" title="keyword">fun</span> <span class="id" title="var">i</span> ⇒ <a class="idref" href="mathcomp.algebra.ssralg.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#9ddeac0ab66152bd1d64bedb507a795e"><span class="id" title="notation">&&</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#9ddeac0ab66152bd1d64bedb507a795e"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#df45e8c2e8370fd4f0f7c4fdaf208180"><span class="id" title="notation">==</span></a> 0<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#9ddeac0ab66152bd1d64bedb507a795e"><span class="id" title="notation">)</span></a>) <a class="idref" href="mathcomp.algebra.ssralg.html#r"><span class="id" title="variable">r</span></a>.<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.mulf_neq0"><span class="id" title="lemma">mulf_neq0</span></a> <span class="id" title="var">x</span> <span class="id" title="var">y</span> : <a class="idref" href="mathcomp.algebra.ssralg.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#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> 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#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#ed99e7035d9a1f8a2c1515be81ac2e5f"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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> 0.<br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.mulf_neq0"><span class="id" title="lemma">mulf_neq0</span></a> <span class="id" title="var">x</span> <span class="id" title="var">y</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#c385a484ee9d1b4e0615924561a9b75e"><span class="id" title="notation">!=</span></a> 0 <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#c385a484ee9d1b4e0615924561a9b75e"><span class="id" title="notation">!=</span></a> 0 <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f99a2dc6d143aa8f1021ab57e4a19eee"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#c385a484ee9d1b4e0615924561a9b75e"><span class="id" title="notation">!=</span></a> 0.<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.prodf_neq0"><span class="id" title="lemma">prodf_neq0</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">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.ssralg.html#I"><span class="id" title="variable">I</span></a>) (<span class="id" title="var">F</span> : <a class="idref" href="mathcomp.algebra.ssralg.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.ssralg.html#GRing.IntegralDomainTheory.R"><span class="id" title="variable">R</span></a>) :<br/> - <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> (<span class="id" title="keyword">∀</span> <span class="id" title="var">i</span>, <a class="idref" href="mathcomp.algebra.ssralg.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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="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#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</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#939d2f6b3eeb99c97ee97374f97463ee"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#939d2f6b3eeb99c97ee97374f97463ee"><span class="id" title="notation">prod_</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#939d2f6b3eeb99c97ee97374f97463ee"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.algebra.ssralg.html#939d2f6b3eeb99c97ee97374f97463ee"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#939d2f6b3eeb99c97ee97374f97463ee"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#b1eeadc2feabc7422252baa895418c7b"><span class="id" title="notation">!=</span></a> 0).<br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.prodf_neq0"><span class="id" title="lemma">prodf_neq0</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">P</span> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#pred"><span class="id" title="definition">pred</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#I"><span class="id" title="variable">I</span></a>) (<span class="id" title="var">F</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#I"><span class="id" title="variable">I</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.IntegralDomainTheory.R"><span class="id" title="variable">R</span></a>) :<br/> + <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#reflect"><span class="id" title="abbreviation">reflect</span></a> (<span class="id" title="keyword">∀</span> <span class="id" title="var">i</span>, <a class="idref" href="mathcomp.algebra.ssralg.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#c385a484ee9d1b4e0615924561a9b75e"><span class="id" title="notation">!=</span></a> 0<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">)</span></a>) (<a class="idref" href="mathcomp.algebra.ssralg.html#ba1581e43a210b25c8f779050e03b92e"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#ba1581e43a210b25c8f779050e03b92e"><span class="id" title="notation">prod_</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#ba1581e43a210b25c8f779050e03b92e"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.algebra.ssralg.html#ba1581e43a210b25c8f779050e03b92e"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#ba1581e43a210b25c8f779050e03b92e"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#c385a484ee9d1b4e0615924561a9b75e"><span class="id" title="notation">!=</span></a> 0).<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.prodf_seq_neq0"><span class="id" title="lemma">prodf_seq_neq0</span></a> <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.ssralg.html#I"><span class="id" title="variable">I</span></a>) (<span class="id" title="var">F</span> : <a class="idref" href="mathcomp.algebra.ssralg.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.ssralg.html#GRing.IntegralDomainTheory.R"><span class="id" title="variable">R</span></a>) :<br/> - <a class="idref" href="http://coq.inria.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#3f1a950be6bcb72c9434150471b42417"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#3f1a950be6bcb72c9434150471b42417"><span class="id" title="notation">prod_</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#3f1a950be6bcb72c9434150471b42417"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.algebra.ssralg.html#3f1a950be6bcb72c9434150471b42417"><span class="id" title="notation"><-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#r"><span class="id" title="variable">r</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#3f1a950be6bcb72c9434150471b42417"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#3f1a950be6bcb72c9434150471b42417"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</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="mathcomp.ssreflect.seq.html#all"><span class="id" title="definition">all</span></a> (<span class="id" title="keyword">fun</span> <span class="id" title="var">i</span> ⇒ <a class="idref" href="mathcomp.algebra.ssralg.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#3b17cb5f3a16fa64a62421f68786f750"><span class="id" title="notation">==></span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#3b17cb5f3a16fa64a62421f68786f750"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</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#3b17cb5f3a16fa64a62421f68786f750"><span class="id" title="notation">)</span></a>) <a class="idref" href="mathcomp.algebra.ssralg.html#r"><span class="id" title="variable">r</span></a>.<br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.prodf_seq_neq0"><span class="id" title="lemma">prodf_seq_neq0</span></a> <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/V8.9.0/stdlib//Coq.ssr.ssrbool.html#pred"><span class="id" title="definition">pred</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#I"><span class="id" title="variable">I</span></a>) (<span class="id" title="var">F</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#I"><span class="id" title="variable">I</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.IntegralDomainTheory.R"><span class="id" title="variable">R</span></a>) :<br/> + <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#5e0b538209a51fa2bd900767b9312dd8"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#5e0b538209a51fa2bd900767b9312dd8"><span class="id" title="notation">prod_</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#5e0b538209a51fa2bd900767b9312dd8"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.algebra.ssralg.html#5e0b538209a51fa2bd900767b9312dd8"><span class="id" title="notation"><-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#r"><span class="id" title="variable">r</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#5e0b538209a51fa2bd900767b9312dd8"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#5e0b538209a51fa2bd900767b9312dd8"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#c385a484ee9d1b4e0615924561a9b75e"><span class="id" title="notation">!=</span></a> 0<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.ssreflect.seq.html#all"><span class="id" title="definition">all</span></a> (<span class="id" title="keyword">fun</span> <span class="id" title="var">i</span> ⇒ <a class="idref" href="mathcomp.algebra.ssralg.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#a133e82bab56729f895f9b2b31e837cd"><span class="id" title="notation">==></span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#a133e82bab56729f895f9b2b31e837cd"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#c385a484ee9d1b4e0615924561a9b75e"><span class="id" title="notation">!=</span></a> 0<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#a133e82bab56729f895f9b2b31e837cd"><span class="id" title="notation">)</span></a>) <a class="idref" href="mathcomp.algebra.ssralg.html#r"><span class="id" title="variable">r</span></a>.<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.expf_eq0"><span class="id" title="lemma">expf_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.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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.ssralg.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#19ab5cfd7e4f60fa14f22b576013bd96"><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">&&</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.ssralg.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/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.expf_eq0"><span class="id" title="lemma">expf_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/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#df45e8c2e8370fd4f0f7c4fdaf208180"><span class="id" title="notation">==</span></a> 0<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#9ddeac0ab66152bd1d64bedb507a795e"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#7f2a7ef2c63af7359b22787a9daf336e"><span class="id" title="notation">></span></a> 0<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#9ddeac0ab66152bd1d64bedb507a795e"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#9ddeac0ab66152bd1d64bedb507a795e"><span class="id" title="notation">&&</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#9ddeac0ab66152bd1d64bedb507a795e"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#df45e8c2e8370fd4f0f7c4fdaf208180"><span class="id" title="notation">==</span></a> 0<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#9ddeac0ab66152bd1d64bedb507a795e"><span class="id" title="notation">)</span></a>.<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.sqrf_eq0"><span class="id" title="lemma">sqrf_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.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">^+</span></a> 2 <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.ssralg.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/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.sqrf_eq0"><span class="id" title="lemma">sqrf_eq0</span></a> <span class="id" title="var">x</span> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">^+</span></a> 2 <a class="idref" href="mathcomp.ssreflect.eqtype.html#df45e8c2e8370fd4f0f7c4fdaf208180"><span class="id" title="notation">==</span></a> 0<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#df45e8c2e8370fd4f0f7c4fdaf208180"><span class="id" title="notation">==</span></a> 0<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">)</span></a>. <br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.expf_neq0"><span class="id" title="lemma">expf_neq0</span></a> <span class="id" title="var">x</span> <span class="id" title="var">m</span> : <a class="idref" href="mathcomp.algebra.ssralg.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#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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.<br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.expf_neq0"><span class="id" title="lemma">expf_neq0</span></a> <span class="id" title="var">x</span> <span class="id" title="var">m</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#c385a484ee9d1b4e0615924561a9b75e"><span class="id" title="notation">!=</span></a> 0 <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#c385a484ee9d1b4e0615924561a9b75e"><span class="id" title="notation">!=</span></a> 0.<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.natf_neq0"><span class="id" title="lemma">natf_neq0</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.ssralg.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#c191333b9c7c034282647fbffacc9d18"><span class="id" title="notation">%:</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#c191333b9c7c034282647fbffacc9d18"><span class="id" title="notation">R</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#9e45f909d1732d6d9e153b650829bccf"><span class="id" title="notation">!=</span></a> 0 <a class="idref" href="mathcomp.ssreflect.eqtype.html#9e45f909d1732d6d9e153b650829bccf"><span class="id" title="notation">:></span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.IntegralDomainTheory.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="mathcomp.algebra.ssralg.html#51fab11b73193ca5e8e7a62cac129ebc"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#51fab11b73193ca5e8e7a62cac129ebc"><span class="id" title="notation">char</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.IntegralDomainTheory.R"><span class="id" title="variable">R</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#51fab11b73193ca5e8e7a62cac129ebc"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.prime.html#233366c70a33ee49ba3eedb41626d66a"><span class="id" title="notation">^'</span></a><a class="idref" href="mathcomp.ssreflect.prime.html#8663a77d1d910826e10ba42d1e8d2a02"><span class="id" title="notation">.-</span></a><a class="idref" href="mathcomp.ssreflect.prime.html#8663a77d1d910826e10ba42d1e8d2a02"><span class="id" title="notation">nat</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a>.<br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.natf_neq0"><span class="id" title="lemma">natf_neq0</span></a> <span class="id" title="var">n</span> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#512a31305e556a90e0ad0550ee623cbc"><span class="id" title="notation">%:</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#512a31305e556a90e0ad0550ee623cbc"><span class="id" title="notation">R</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#228e85e3c31a939cba019f255574c875"><span class="id" title="notation">!=</span></a> 0 <a class="idref" href="mathcomp.ssreflect.eqtype.html#228e85e3c31a939cba019f255574c875"><span class="id" title="notation">:></span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.IntegralDomainTheory.R"><span class="id" title="variable">R</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#7cf08e2f41bbb95903802050d3919698"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#7cf08e2f41bbb95903802050d3919698"><span class="id" title="notation">char</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.IntegralDomainTheory.R"><span class="id" title="variable">R</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#7cf08e2f41bbb95903802050d3919698"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.prime.html#ca29ecf9a3780bf15fe608e2d2c00594"><span class="id" title="notation">^'</span></a><a class="idref" href="mathcomp.ssreflect.prime.html#31aa0776b2fdb88da5b5ba70544862a1"><span class="id" title="notation">.-</span></a><a class="idref" href="mathcomp.ssreflect.prime.html#31aa0776b2fdb88da5b5ba70544862a1"><span class="id" title="notation">nat</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a>.<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.natf0_char"><span class="id" title="lemma">natf0_char</span></a> <span class="id" title="var">n</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#19ab5cfd7e4f60fa14f22b576013bd96"><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#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#c191333b9c7c034282647fbffacc9d18"><span class="id" title="notation">%:</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#c191333b9c7c034282647fbffacc9d18"><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">:></span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.IntegralDomainTheory.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="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">p</span><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#84eb6d2849dbf3581b1c0c05add5f2d8"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#p"><span class="id" title="variable">p</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#51fab11b73193ca5e8e7a62cac129ebc"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#51fab11b73193ca5e8e7a62cac129ebc"><span class="id" title="notation">char</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.IntegralDomainTheory.R"><span class="id" title="variable">R</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#51fab11b73193ca5e8e7a62cac129ebc"><span class="id" title="notation">]</span></a>.<br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.natf0_char"><span class="id" title="lemma">natf0_char</span></a> <span class="id" title="var">n</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#7f2a7ef2c63af7359b22787a9daf336e"><span class="id" title="notation">></span></a> 0 <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#512a31305e556a90e0ad0550ee623cbc"><span class="id" title="notation">%:</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#512a31305e556a90e0ad0550ee623cbc"><span class="id" title="notation">R</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#28a3089bb29d95d7bdc98c2c73b31552"><span class="id" title="notation">==</span></a> 0 <a class="idref" href="mathcomp.ssreflect.eqtype.html#28a3089bb29d95d7bdc98c2c73b31552"><span class="id" title="notation">:></span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.IntegralDomainTheory.R"><span class="id" title="variable">R</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#a883bdd010993579f99d60b3775bcf54"><span class="id" title="notation">∃</span></a> <span class="id" title="var">p</span><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#a883bdd010993579f99d60b3775bcf54"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#p"><span class="id" title="variable">p</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#7cf08e2f41bbb95903802050d3919698"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#7cf08e2f41bbb95903802050d3919698"><span class="id" title="notation">char</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.IntegralDomainTheory.R"><span class="id" title="variable">R</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#7cf08e2f41bbb95903802050d3919698"><span class="id" title="notation">]</span></a>.<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.charf'_nat"><span class="id" title="lemma">charf'_nat</span></a> <span class="id" title="var">n</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#51fab11b73193ca5e8e7a62cac129ebc"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#51fab11b73193ca5e8e7a62cac129ebc"><span class="id" title="notation">char</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.IntegralDomainTheory.R"><span class="id" title="variable">R</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#51fab11b73193ca5e8e7a62cac129ebc"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.prime.html#233366c70a33ee49ba3eedb41626d66a"><span class="id" title="notation">^'</span></a><a class="idref" href="mathcomp.ssreflect.prime.html#8663a77d1d910826e10ba42d1e8d2a02"><span class="id" title="notation">.-</span></a><a class="idref" href="mathcomp.ssreflect.prime.html#8663a77d1d910826e10ba42d1e8d2a02"><span class="id" title="notation">nat</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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.ssralg.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#c191333b9c7c034282647fbffacc9d18"><span class="id" title="notation">%:</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#c191333b9c7c034282647fbffacc9d18"><span class="id" title="notation">R</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#9e45f909d1732d6d9e153b650829bccf"><span class="id" title="notation">!=</span></a> 0 <a class="idref" href="mathcomp.ssreflect.eqtype.html#9e45f909d1732d6d9e153b650829bccf"><span class="id" title="notation">:></span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.IntegralDomainTheory.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>.<br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.charf'_nat"><span class="id" title="lemma">charf'_nat</span></a> <span class="id" title="var">n</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#7cf08e2f41bbb95903802050d3919698"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#7cf08e2f41bbb95903802050d3919698"><span class="id" title="notation">char</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.IntegralDomainTheory.R"><span class="id" title="variable">R</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#7cf08e2f41bbb95903802050d3919698"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.prime.html#ca29ecf9a3780bf15fe608e2d2c00594"><span class="id" title="notation">^'</span></a><a class="idref" href="mathcomp.ssreflect.prime.html#31aa0776b2fdb88da5b5ba70544862a1"><span class="id" title="notation">.-</span></a><a class="idref" href="mathcomp.ssreflect.prime.html#31aa0776b2fdb88da5b5ba70544862a1"><span class="id" title="notation">nat</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#512a31305e556a90e0ad0550ee623cbc"><span class="id" title="notation">%:</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#512a31305e556a90e0ad0550ee623cbc"><span class="id" title="notation">R</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#228e85e3c31a939cba019f255574c875"><span class="id" title="notation">!=</span></a> 0 <a class="idref" href="mathcomp.ssreflect.eqtype.html#228e85e3c31a939cba019f255574c875"><span class="id" title="notation">:></span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.IntegralDomainTheory.R"><span class="id" title="variable">R</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">)</span></a>.<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.charf0P"><span class="id" title="lemma">charf0P</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#51fab11b73193ca5e8e7a62cac129ebc"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#51fab11b73193ca5e8e7a62cac129ebc"><span class="id" title="notation">char</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.IntegralDomainTheory.R"><span class="id" title="variable">R</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#51fab11b73193ca5e8e7a62cac129ebc"><span class="id" title="notation">]</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#20bf07099d6d8cf369383b22fd37862e"><span class="id" title="notation">=</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#20bf07099d6d8cf369383b22fd37862e"><span class="id" title="notation">i</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#pred0"><span class="id" title="definition">pred0</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#df1ced36fc33ce188051218bca314374"><span class="id" title="notation">↔</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#df1ced36fc33ce188051218bca314374"><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.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#c191333b9c7c034282647fbffacc9d18"><span class="id" title="notation">%:</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#c191333b9c7c034282647fbffacc9d18"><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">:></span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.IntegralDomainTheory.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="mathcomp.algebra.ssralg.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.Logic.html#df1ced36fc33ce188051218bca314374"><span class="id" title="notation">)</span></a>.<br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.charf0P"><span class="id" title="lemma">charf0P</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#7cf08e2f41bbb95903802050d3919698"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#7cf08e2f41bbb95903802050d3919698"><span class="id" title="notation">char</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.IntegralDomainTheory.R"><span class="id" title="variable">R</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#7cf08e2f41bbb95903802050d3919698"><span class="id" title="notation">]</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#1e6a438ff685c38fcd9034a94f271777"><span class="id" title="notation">=</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#1e6a438ff685c38fcd9034a94f271777"><span class="id" title="notation">i</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#pred0"><span class="id" title="definition">pred0</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#4bfb4f2d0721ba668e3a802ab1b745a1"><span class="id" title="notation">↔</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#4bfb4f2d0721ba668e3a802ab1b745a1"><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/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#512a31305e556a90e0ad0550ee623cbc"><span class="id" title="notation">%:</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#512a31305e556a90e0ad0550ee623cbc"><span class="id" title="notation">R</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#28a3089bb29d95d7bdc98c2c73b31552"><span class="id" title="notation">==</span></a> 0 <a class="idref" href="mathcomp.ssreflect.eqtype.html#28a3089bb29d95d7bdc98c2c73b31552"><span class="id" title="notation">:></span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.IntegralDomainTheory.R"><span class="id" title="variable">R</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#df45e8c2e8370fd4f0f7c4fdaf208180"><span class="id" title="notation">==</span></a> 0)%<span class="id" title="var">N</span><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#4bfb4f2d0721ba668e3a802ab1b745a1"><span class="id" title="notation">)</span></a>.<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.eqf_sqr"><span class="id" title="lemma">eqf_sqr</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.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">^+</span></a> 2 <a class="idref" href="mathcomp.ssreflect.eqtype.html#17d28d004d0863cb022d4ce832ddaaae"><span class="id" title="notation">==</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><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="http://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.ssralg.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#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="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.ssralg.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#eefae7eea8ed2b8fccf150cb653d7a7b"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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>.<br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.eqf_sqr"><span class="id" title="lemma">eqf_sqr</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/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">^+</span></a> 2 <a class="idref" href="mathcomp.ssreflect.eqtype.html#df45e8c2e8370fd4f0f7c4fdaf208180"><span class="id" title="notation">==</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">^+</span></a> 2<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#081ff67d3116402bb680e8692aa39185"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#df45e8c2e8370fd4f0f7c4fdaf208180"><span class="id" title="notation">==</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#081ff67d3116402bb680e8692aa39185"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#081ff67d3116402bb680e8692aa39185"><span class="id" title="notation">||</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#081ff67d3116402bb680e8692aa39185"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#df45e8c2e8370fd4f0f7c4fdaf208180"><span class="id" title="notation">==</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#aa58dfcfb323e1f070c38e31f9efddbe"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#081ff67d3116402bb680e8692aa39185"><span class="id" title="notation">)</span></a>.<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.mulfI"><span class="id" title="lemma">mulfI</span></a> <span class="id" title="var">x</span> : <a class="idref" href="mathcomp.algebra.ssralg.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="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.ssralg.html#6498e6e308d8a143464cf2d2ba603d36"><span class="id" title="notation">*%</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#6498e6e308d8a143464cf2d2ba603d36"><span class="id" title="notation">R</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#6498e6e308d8a143464cf2d2ba603d36"><span class="id" title="notation">x</span></a>).<br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.mulfI"><span class="id" title="lemma">mulfI</span></a> <span class="id" title="var">x</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#c385a484ee9d1b4e0615924561a9b75e"><span class="id" title="notation">!=</span></a> 0 <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#injective"><span class="id" title="definition">injective</span></a> ( <a class="idref" href="mathcomp.algebra.ssralg.html#bae191a5c954d16cccd67244cf8a6ceb"><span class="id" title="notation">*%</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#bae191a5c954d16cccd67244cf8a6ceb"><span class="id" title="notation">R</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#bae191a5c954d16cccd67244cf8a6ceb"><span class="id" title="notation">x</span></a>).<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.mulIf"><span class="id" title="lemma">mulIf</span></a> <span class="id" title="var">x</span> : <a class="idref" href="mathcomp.algebra.ssralg.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="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.ssralg.html#6498e6e308d8a143464cf2d2ba603d36"><span class="id" title="notation">*%</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#6498e6e308d8a143464cf2d2ba603d36"><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.ssralg.html#x"><span class="id" title="variable">x</span></a>).<br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.mulIf"><span class="id" title="lemma">mulIf</span></a> <span class="id" title="var">x</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#c385a484ee9d1b4e0615924561a9b75e"><span class="id" title="notation">!=</span></a> 0 <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#injective"><span class="id" title="definition">injective</span></a> ( <a class="idref" href="mathcomp.algebra.ssralg.html#bae191a5c954d16cccd67244cf8a6ceb"><span class="id" title="notation">*%</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#bae191a5c954d16cccd67244cf8a6ceb"><span class="id" title="notation">R</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#d89396f990d6b54d736cfe259e498cf4"><span class="id" title="notation">^~</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a>).<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.divfI"><span class="id" title="lemma">divfI</span></a> <span class="id" title="var">x</span> : <a class="idref" href="mathcomp.algebra.ssralg.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="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#injective"><span class="id" title="definition">injective</span></a> (<span class="id" title="keyword">fun</span> <span class="id" title="var">y</span> ⇒ <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#1adb36345c2607a4dd991537de5ddba3"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a>).<br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.divfI"><span class="id" title="lemma">divfI</span></a> <span class="id" title="var">x</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#c385a484ee9d1b4e0615924561a9b75e"><span class="id" title="notation">!=</span></a> 0 <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#injective"><span class="id" title="definition">injective</span></a> (<span class="id" title="keyword">fun</span> <span class="id" title="var">y</span> ⇒ <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#705c00ff5a03bf84d6828df21a7a7942"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a>).<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.divIf"><span class="id" title="lemma">divIf</span></a> <span class="id" title="var">y</span> : <a class="idref" href="mathcomp.algebra.ssralg.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> 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.ssr.ssrfun.html#injective"><span class="id" title="definition">injective</span></a> (<span class="id" title="keyword">fun</span> <span class="id" title="var">x</span> ⇒ <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#1adb36345c2607a4dd991537de5ddba3"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a>).<br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.divIf"><span class="id" title="lemma">divIf</span></a> <span class="id" title="var">y</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#c385a484ee9d1b4e0615924561a9b75e"><span class="id" title="notation">!=</span></a> 0 <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#injective"><span class="id" title="definition">injective</span></a> (<span class="id" title="keyword">fun</span> <span class="id" title="var">x</span> ⇒ <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#705c00ff5a03bf84d6828df21a7a7942"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a>).<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.sqrf_eq1"><span class="id" title="lemma">sqrf_eq1</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.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">^+</span></a> 2 <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#14a7a9c7dc61f86bfb664d400fabaf8a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.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.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.ssralg.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>.<br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.sqrf_eq1"><span class="id" title="lemma">sqrf_eq1</span></a> <span class="id" title="var">x</span> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">^+</span></a> 2 <a class="idref" href="mathcomp.ssreflect.eqtype.html#df45e8c2e8370fd4f0f7c4fdaf208180"><span class="id" title="notation">==</span></a> 1<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#081ff67d3116402bb680e8692aa39185"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#df45e8c2e8370fd4f0f7c4fdaf208180"><span class="id" title="notation">==</span></a> 1<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#081ff67d3116402bb680e8692aa39185"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#081ff67d3116402bb680e8692aa39185"><span class="id" title="notation">||</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#081ff67d3116402bb680e8692aa39185"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#df45e8c2e8370fd4f0f7c4fdaf208180"><span class="id" title="notation">==</span></a> -1<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#081ff67d3116402bb680e8692aa39185"><span class="id" title="notation">)</span></a>.<br/> <br/> <span class="id" title="keyword">Lemma</span> <a name="GRing.expfS_eq1"><span class="id" title="lemma">expfS_eq1</span></a> <span class="id" title="var">x</span> <span class="id" title="var">n</span> :<br/> - <a class="idref" href="http://coq.inria.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#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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.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#14a7a9c7dc61f86bfb664d400fabaf8a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.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.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.ssralg.html#33f78485f60ea5a637d17f41367f37d2"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#33f78485f60ea5a637d17f41367f37d2"><span class="id" title="notation">sum_</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#33f78485f60ea5a637d17f41367f37d2"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.algebra.ssralg.html#33f78485f60ea5a637d17f41367f37d2"><span class="id" title="notation"><</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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#33f78485f60ea5a637d17f41367f37d2"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</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/> + <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.ssreflect.ssrnat.html#bda89d73ec4a8f23ae92b565ffb5aaa6"><span class="id" title="notation">.+1</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#df45e8c2e8370fd4f0f7c4fdaf208180"><span class="id" title="notation">==</span></a> 1<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#081ff67d3116402bb680e8692aa39185"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#df45e8c2e8370fd4f0f7c4fdaf208180"><span class="id" title="notation">==</span></a> 1<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#081ff67d3116402bb680e8692aa39185"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#081ff67d3116402bb680e8692aa39185"><span class="id" title="notation">||</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#081ff67d3116402bb680e8692aa39185"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#2212b29e1a046120b3e8fdf5f4fbcd1f"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#2212b29e1a046120b3e8fdf5f4fbcd1f"><span class="id" title="notation">sum_</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#2212b29e1a046120b3e8fdf5f4fbcd1f"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.algebra.ssralg.html#2212b29e1a046120b3e8fdf5f4fbcd1f"><span class="id" title="notation"><</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.ssreflect.ssrnat.html#bda89d73ec4a8f23ae92b565ffb5aaa6"><span class="id" title="notation">.+1</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#2212b29e1a046120b3e8fdf5f4fbcd1f"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#df45e8c2e8370fd4f0f7c4fdaf208180"><span class="id" title="notation">==</span></a> 0<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#081ff67d3116402bb680e8692aa39185"><span class="id" title="notation">)</span></a>.<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.lregP"><span class="id" title="lemma">lregP</span></a> <span class="id" title="var">x</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#reflect"><span class="id" title="abbreviation">reflect</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.lreg"><span class="id" title="definition">lreg</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a>) (<a class="idref" href="mathcomp.algebra.ssralg.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).<br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.lregP"><span class="id" title="lemma">lregP</span></a> <span class="id" title="var">x</span> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#reflect"><span class="id" title="abbreviation">reflect</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.lreg"><span class="id" title="definition">lreg</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a>) (<a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#c385a484ee9d1b4e0615924561a9b75e"><span class="id" title="notation">!=</span></a> 0).<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.rregP"><span class="id" title="lemma">rregP</span></a> <span class="id" title="var">x</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#reflect"><span class="id" title="abbreviation">reflect</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.rreg"><span class="id" title="definition">rreg</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a>) (<a class="idref" href="mathcomp.algebra.ssralg.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).<br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.rregP"><span class="id" title="lemma">rregP</span></a> <span class="id" title="var">x</span> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#reflect"><span class="id" title="abbreviation">reflect</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.rreg"><span class="id" title="definition">rreg</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a>) (<a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#c385a484ee9d1b4e0615924561a9b75e"><span class="id" title="notation">!=</span></a> 0).<br/> <br/> -<span class="id" title="keyword">Canonical</span> <span class="id" title="var">regular_idomainType</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#9894f8fff6e44a40eb9fd9cfcbde7780"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#9894f8fff6e44a40eb9fd9cfcbde7780"><span class="id" title="notation">idomainType</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#9894f8fff6e44a40eb9fd9cfcbde7780"><span class="id" title="notation">of</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.IntegralDomainTheory.R"><span class="id" title="variable">R</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#44fd865ce10e1d30970d09bdd85a0c8e"><span class="id" title="notation">^</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#44fd865ce10e1d30970d09bdd85a0c8e"><span class="id" title="notation">o</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#9894f8fff6e44a40eb9fd9cfcbde7780"><span class="id" title="notation">]</span></a>.<br/> +<span class="id" title="keyword">Canonical</span> <span class="id" title="var">regular_idomainType</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#b10128495340407de3c7b321ce0c78de"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#b10128495340407de3c7b321ce0c78de"><span class="id" title="notation">idomainType</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b10128495340407de3c7b321ce0c78de"><span class="id" title="notation">of</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.IntegralDomainTheory.R"><span class="id" title="variable">R</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#44117511dc5f0eff9d2bcbcfcdd33874"><span class="id" title="notation">^</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#44117511dc5f0eff9d2bcbcfcdd33874"><span class="id" title="notation">o</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#b10128495340407de3c7b321ce0c78de"><span class="id" title="notation">]</span></a>.<br/> <br/> <span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.IntegralDomainTheory"><span class="id" title="section">IntegralDomainTheory</span></a>.<br/> @@ -4582,34 +4597,40 @@ <span class="id" title="keyword">Module</span> <a name="GRing.Field"><span class="id" title="module">Field</span></a>.<br/> <br/> -<span class="id" title="keyword">Definition</span> <a name="GRing.Field.mixin_of"><span class="id" title="definition">mixin_of</span></a> (<span class="id" title="var">F</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="keyword">∀</span> <span class="id" title="var">x</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#F"><span class="id" title="variable">F</span></a>, <a class="idref" href="mathcomp.algebra.ssralg.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#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.ssralg.html#GRing.unit"><span class="id" title="definition">unit</span></a>.<br/> +<span class="id" title="keyword">Definition</span> <a name="GRing.Field.mixin_of"><span class="id" title="definition">mixin_of</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="keyword">∀</span> <span class="id" title="var">x</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#R"><span class="id" title="variable">R</span></a>, <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#c385a484ee9d1b4e0615924561a9b75e"><span class="id" title="notation">!=</span></a> 0 <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.unit"><span class="id" title="definition">unit</span></a>.<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.Field.IdomainMixin"><span class="id" title="lemma">IdomainMixin</span></a> <span class="id" title="var">R</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Field.mixin_of"><span class="id" title="definition">mixin_of</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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.ssralg.html#GRing.IntegralDomain.axiom"><span class="id" title="definition">IntegralDomain.axiom</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#R"><span class="id" title="variable">R</span></a>.<br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.Field.IdomainMixin"><span class="id" title="lemma">IdomainMixin</span></a> <span class="id" title="var">R</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Field.mixin_of"><span class="id" title="definition">mixin_of</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#R"><span class="id" title="variable">R</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.IntegralDomain.axiom"><span class="id" title="definition">IntegralDomain.axiom</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#R"><span class="id" title="variable">R</span></a>.<br/> <br/> <span class="id" title="keyword">Section</span> <a name="GRing.Field.Mixins"><span class="id" title="section">Mixins</span></a>.<br/> <br/> -<span class="id" title="keyword">Variables</span> (<a name="GRing.Field.Mixins.R"><span class="id" title="variable">R</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComRing.Exports.comRingType"><span class="id" title="abbreviation">comRingType</span></a>) (<a name="GRing.Field.Mixins.inv"><span class="id" title="variable">inv</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.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.ssralg.html#R"><span class="id" title="variable">R</span></a>).<br/> +<span class="id" title="keyword">Definition</span> <a name="GRing.Field.axiom"><span class="id" title="definition">axiom</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">inv</span> := <span class="id" title="keyword">∀</span> <span class="id" title="var">x</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#R"><span class="id" title="variable">R</span></a>, <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#c385a484ee9d1b4e0615924561a9b75e"><span class="id" title="notation">!=</span></a> 0 <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#inv"><span class="id" title="variable">inv</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f99a2dc6d143aa8f1021ab57e4a19eee"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> 1.<br/> <br/> -<span class="id" title="keyword">Definition</span> <a name="GRing.Field.axiom"><span class="id" title="definition">axiom</span></a> := <span class="id" title="keyword">∀</span> <span class="id" title="var">x</span>, <a class="idref" href="mathcomp.algebra.ssralg.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#GRing.Field.Mixins.inv"><span class="id" title="variable">inv</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#ed99e7035d9a1f8a2c1515be81ac2e5f"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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/> -<span class="id" title="keyword">Hypothesis</span> <a name="GRing.Field.Mixins.mulVx"><span class="id" title="variable">mulVx</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Field.axiom"><span class="id" title="definition">axiom</span></a>.<br/> -<span class="id" title="keyword">Hypothesis</span> <a name="GRing.Field.Mixins.inv0"><span class="id" title="variable">inv0</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Field.Mixins.inv"><span class="id" title="variable">inv</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/> +<span class="id" title="keyword">Variables</span> (<a name="GRing.Field.Mixins.R"><span class="id" title="variable">R</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComRing.Exports.comRingType"><span class="id" title="abbreviation">comRingType</span></a>) (<a name="GRing.Field.Mixins.inv"><span class="id" title="variable">inv</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#R"><span class="id" title="variable">R</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#R"><span class="id" title="variable">R</span></a>).<br/> +<span class="id" title="keyword">Hypotheses</span> (<a name="GRing.Field.Mixins.mulVf"><span class="id" title="variable">mulVf</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Field.axiom"><span class="id" title="definition">axiom</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Field.Mixins.inv"><span class="id" title="variable">inv</span></a>) (<a name="GRing.Field.Mixins.inv0"><span class="id" title="variable">inv0</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Field.Mixins.inv"><span class="id" title="variable">inv</span></a> 0 <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> 0).<br/> <br/> -<span class="id" title="keyword">Fact</span> <a name="GRing.Field.intro_unit"><span class="id" title="lemma">intro_unit</span></a> (<span class="id" title="var">x</span> <span class="id" title="var">y</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Field.Mixins.R"><span class="id" title="variable">R</span></a>) : <a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#ed99e7035d9a1f8a2c1515be81ac2e5f"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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 <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#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.<br/> +<span class="id" title="keyword">Fact</span> <a name="GRing.Field.intro_unit"><span class="id" title="lemma">intro_unit</span></a> (<span class="id" title="var">x</span> <span class="id" title="var">y</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Field.Mixins.R"><span class="id" title="variable">R</span></a>) : <a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f99a2dc6d143aa8f1021ab57e4a19eee"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> 1 <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#c385a484ee9d1b4e0615924561a9b75e"><span class="id" title="notation">!=</span></a> 0.<br/> <br/> -<span class="id" title="keyword">Fact</span> <a name="GRing.Field.inv_out"><span class="id" title="lemma">inv_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#predC"><span class="id" title="definition">predC</span></a> (<a class="idref" href="mathcomp.ssreflect.eqtype.html#predC1"><span class="id" title="definition">predC1</span></a> 0)<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.ssralg.html#GRing.Field.Mixins.inv"><span class="id" title="variable">inv</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/> +<span class="id" title="keyword">Fact</span> <a name="GRing.Field.inv_out"><span class="id" title="lemma">inv_out</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><span class="id" title="notation">in</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#predC"><span class="id" title="definition">predC</span></a> (<a class="idref" href="mathcomp.ssreflect.eqtype.html#predC1"><span class="id" title="definition">predC1</span></a> 0)<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Field.Mixins.inv"><span class="id" title="variable">inv</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#876aa133fb3472bffd492f74ff496035"><span class="id" title="notation">=1</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#id"><span class="id" title="abbreviation">id</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><span class="id" title="notation">}</span></a>.<br/> <br/> -<span class="id" title="keyword">Definition</span> <a name="GRing.Field.UnitMixin"><span class="id" title="definition">UnitMixin</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComUnitRing.Mixin"><span class="id" title="definition">ComUnitRing.Mixin</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Field.Mixins.mulVx"><span class="id" title="variable">mulVx</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Field.intro_unit"><span class="id" title="lemma">intro_unit</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Field.inv_out"><span class="id" title="lemma">inv_out</span></a>.<br/> +<span class="id" title="keyword">Definition</span> <a name="GRing.Field.UnitMixin"><span class="id" title="definition">UnitMixin</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComUnitRing.Mixin"><span class="id" title="definition">ComUnitRing.Mixin</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Field.Mixins.mulVf"><span class="id" title="variable">mulVf</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Field.intro_unit"><span class="id" title="lemma">intro_unit</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Field.inv_out"><span class="id" title="lemma">inv_out</span></a>.<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.Field.Mixin"><span class="id" title="lemma">Mixin</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Field.mixin_of"><span class="id" title="definition">mixin_of</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitRing.Pack"><span class="id" title="constructor">UnitRing.Pack</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitRing.Class"><span class="id" title="constructor">UnitRing.Class</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Field.UnitMixin"><span class="id" title="definition">UnitMixin</span></a>) <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Field.Mixins.R"><span class="id" title="variable">R</span></a>).<br/> - +<span class="id" title="keyword">Definition</span> <a name="GRing.Field.UnitRingType"><span class="id" title="definition">UnitRingType</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#2dfeb3fb2088b370ad93742d4f23a0dc"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#2dfeb3fb2088b370ad93742d4f23a0dc"><span class="id" title="notation">comUnitRingType</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#2dfeb3fb2088b370ad93742d4f23a0dc"><span class="id" title="notation">of</span></a> <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.ssralg.html#GRing.Field.Mixins.R"><span class="id" title="variable">R</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Field.UnitMixin"><span class="id" title="definition">UnitMixin</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#2dfeb3fb2088b370ad93742d4f23a0dc"><span class="id" title="notation">]</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Definition</span> <a name="GRing.Field.IdomainType"><span class="id" title="definition">IdomainType</span></a> :=<br/> + <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.ssralg.html#GRing.Field.UnitRingType"><span class="id" title="definition">UnitRingType</span></a> (@<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Field.IdomainMixin"><span class="id" title="lemma">IdomainMixin</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Field.UnitRingType"><span class="id" title="definition">UnitRingType</span></a> (<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#94502d422d70bbaf4f390946d9885b7c"><span class="id" title="notation">fun</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#94502d422d70bbaf4f390946d9885b7c"><span class="id" title="notation">⇒</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#id"><span class="id" title="abbreviation">id</span></a>)).<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.Field.Mixin"><span class="id" title="lemma">Mixin</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Field.mixin_of"><span class="id" title="definition">mixin_of</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Field.IdomainType"><span class="id" title="definition">IdomainType</span></a>. <br/> + <br/> <span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Field.Mixins"><span class="id" title="section">Mixins</span></a>.<br/> @@ -4619,31 +4640,31 @@ <br/> <span class="id" title="keyword">Record</span> <a name="GRing.Field.class_of"><span class="id" title="record">class_of</span></a> (<span class="id" title="var">F</span> : <span class="id" title="keyword">Type</span>) : <span class="id" title="keyword">Type</span> := <a name="GRing.Field.Class"><span class="id" title="constructor">Class</span></a> {<br/> <a name="GRing.Field.base"><span class="id" title="projection">base</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.IntegralDomain.class_of"><span class="id" title="record">IntegralDomain.class_of</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#F"><span class="id" title="variable">F</span></a>;<br/> - <a name="GRing.Field.mixin"><span class="id" title="projection">mixin</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Field.mixin_of"><span class="id" title="definition">mixin_of</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitRing.Pack"><span class="id" title="constructor">UnitRing.Pack</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#base"><span class="id" title="method">base</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#F"><span class="id" title="variable">F</span></a>)<br/> + <a name="GRing.Field.mixin"><span class="id" title="projection">mixin</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Field.mixin_of"><span class="id" title="definition">mixin_of</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitRing.Pack"><span class="id" title="constructor">UnitRing.Pack</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#base"><span class="id" title="method">base</span></a>)<br/> }.<br/> <br/> -<span class="id" title="keyword">Structure</span> <a name="GRing.Field.type"><span class="id" title="record">type</span></a> := <a name="GRing.Field.Pack"><span class="id" title="constructor">Pack</span></a> {<a name="GRing.Field.sort"><span class="id" title="projection">sort</span></a>; <span class="id" title="var">_</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Field.class_of"><span class="id" title="record">class_of</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#sort"><span class="id" title="method">sort</span></a>; <span class="id" title="var">_</span> : <span class="id" title="keyword">Type</span>}.<br/> +<span class="id" title="keyword">Structure</span> <a name="GRing.Field.type"><span class="id" title="record">type</span></a> := <a name="GRing.Field.Pack"><span class="id" title="constructor">Pack</span></a> {<a name="GRing.Field.sort"><span class="id" title="projection">sort</span></a>; <span class="id" title="var">_</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Field.class_of"><span class="id" title="record">class_of</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#sort"><span class="id" title="method">sort</span></a>}.<br/> <span class="id" title="keyword">Variable</span> (<a name="GRing.Field.ClassDef.T"><span class="id" title="variable">T</span></a> : <span class="id" title="keyword">Type</span>) (<a name="GRing.Field.ClassDef.cT"><span class="id" title="variable">cT</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Field.type"><span class="id" title="record">type</span></a>).<br/> -<span class="id" title="keyword">Definition</span> <a name="GRing.Field.class"><span class="id" title="definition">class</span></a> := <span class="id" title="keyword">let</span>: <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Field.Pack"><span class="id" title="constructor">Pack</span></a> <span class="id" title="var">_</span> <span class="id" title="var">c</span> <span class="id" title="var">_</span> <span class="id" title="keyword">as</span> <span class="id" title="var">cT'</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Field.ClassDef.cT"><span class="id" title="variable">cT</span></a> <span class="id" title="keyword">return</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Field.class_of"><span class="id" title="record">class_of</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#cT'"><span class="id" title="variable">cT'</span></a> <span class="id" title="tactic">in</span> <span class="id" title="var">c</span>.<br/> -<span class="id" title="keyword">Definition</span> <a name="GRing.Field.clone"><span class="id" title="definition">clone</span></a> <span class="id" title="var">c</span> <span class="id" title="keyword">of</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#phant_id"><span class="id" title="definition">phant_id</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Field.class"><span class="id" title="definition">class</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#c"><span class="id" title="variable">c</span></a> := @<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Field.Pack"><span class="id" title="constructor">Pack</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Field.ClassDef.T"><span class="id" title="variable">T</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#c"><span class="id" title="variable">c</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Field.ClassDef.T"><span class="id" title="variable">T</span></a>.<br/> -<span class="id" title="keyword">Let</span> <a name="GRing.Field.ClassDef.xT"><span class="id" title="variable">xT</span></a> := <span class="id" title="keyword">let</span>: <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Field.Pack"><span class="id" title="constructor">Pack</span></a> <span class="id" title="var">T</span> <span class="id" title="var">_</span> <span class="id" title="var">_</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Field.ClassDef.cT"><span class="id" title="variable">cT</span></a> <span class="id" title="tactic">in</span> <span class="id" title="var">T</span>.<br/> -<span class="id" title="keyword">Notation</span> <a name="GRing.Field.xclass"><span class="id" title="abbreviation">xclass</span></a> := (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Field.class"><span class="id" title="definition">class</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.ssralg.html#GRing.Field.class_of"><span class="id" title="record">class_of</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Field.ClassDef.xT"><span class="id" title="variable">xT</span></a>).<br/> +<span class="id" title="keyword">Definition</span> <a name="GRing.Field.class"><span class="id" title="definition">class</span></a> := <span class="id" title="keyword">let</span>: <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Field.Pack"><span class="id" title="constructor">Pack</span></a> <span class="id" title="var">_</span> <span class="id" title="var">c</span> <span class="id" title="keyword">as</span> <span class="id" title="var">cT'</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Field.ClassDef.cT"><span class="id" title="variable">cT</span></a> <span class="id" title="keyword">return</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Field.class_of"><span class="id" title="record">class_of</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#cT'"><span class="id" title="variable">cT'</span></a> <span class="id" title="tactic">in</span> <span class="id" title="var">c</span>.<br/> +<span class="id" title="keyword">Definition</span> <a name="GRing.Field.clone"><span class="id" title="definition">clone</span></a> <span class="id" title="var">c</span> <span class="id" title="keyword">of</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#phant_id"><span class="id" title="definition">phant_id</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Field.class"><span class="id" title="definition">class</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#c"><span class="id" title="variable">c</span></a> := @<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Field.Pack"><span class="id" title="constructor">Pack</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Field.ClassDef.T"><span class="id" title="variable">T</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#c"><span class="id" title="variable">c</span></a>.<br/> +<span class="id" title="keyword">Let</span> <a name="GRing.Field.ClassDef.xT"><span class="id" title="variable">xT</span></a> := <span class="id" title="keyword">let</span>: <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Field.Pack"><span class="id" title="constructor">Pack</span></a> <span class="id" title="var">T</span> <span class="id" title="var">_</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Field.ClassDef.cT"><span class="id" title="variable">cT</span></a> <span class="id" title="tactic">in</span> <span class="id" title="var">T</span>.<br/> +<span class="id" title="keyword">Notation</span> <a name="GRing.Field.xclass"><span class="id" title="abbreviation">xclass</span></a> := (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Field.class"><span class="id" title="definition">class</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssreflect.html#aed478b27f23b4f753c27c8ac393febc"><span class="id" title="notation">:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Field.class_of"><span class="id" title="record">class_of</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Field.ClassDef.xT"><span class="id" title="variable">xT</span></a>).<br/> <br/> -<span class="id" title="keyword">Definition</span> <a name="GRing.Field.pack"><span class="id" title="definition">pack</span></a> <span class="id" title="var">b0</span> (<span class="id" title="var">m0</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Field.mixin_of"><span class="id" title="definition">mixin_of</span></a> (@<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitRing.Pack"><span class="id" title="constructor">UnitRing.Pack</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Field.ClassDef.T"><span class="id" title="variable">T</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b0"><span class="id" title="variable">b0</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Field.ClassDef.T"><span class="id" title="variable">T</span></a>)) :=<br/> - <span class="id" title="keyword">fun</span> <span class="id" title="var">bT</span> <span class="id" title="var">b</span> & <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#phant_id"><span class="id" title="definition">phant_id</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.IntegralDomain.class"><span class="id" title="definition">IntegralDomain.class</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#bT"><span class="id" title="variable">bT</span></a>) <a class="idref" href="mathcomp.algebra.ssralg.html#b"><span class="id" title="variable">b</span></a> ⇒<br/> - <span class="id" title="keyword">fun</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#phant_id"><span class="id" title="definition">phant_id</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#m0"><span class="id" title="variable">m0</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#m"><span class="id" title="variable">m</span></a> ⇒ <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Field.Pack"><span class="id" title="constructor">Pack</span></a> (@<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Field.Class"><span class="id" title="constructor">Class</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Field.ClassDef.T"><span class="id" title="variable">T</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b"><span class="id" title="variable">b</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#m"><span class="id" title="variable">m</span></a>) <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Field.ClassDef.T"><span class="id" title="variable">T</span></a>.<br/> +<span class="id" title="keyword">Definition</span> <a name="GRing.Field.pack"><span class="id" title="definition">pack</span></a> <span class="id" title="var">b0</span> (<span class="id" title="var">m0</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Field.mixin_of"><span class="id" title="definition">mixin_of</span></a> (@<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitRing.Pack"><span class="id" title="constructor">UnitRing.Pack</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Field.ClassDef.T"><span class="id" title="variable">T</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b0"><span class="id" title="variable">b0</span></a>)) :=<br/> + <span class="id" title="keyword">fun</span> <span class="id" title="var">bT</span> <span class="id" title="var">b</span> & <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#phant_id"><span class="id" title="definition">phant_id</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.IntegralDomain.class"><span class="id" title="definition">IntegralDomain.class</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#bT"><span class="id" title="variable">bT</span></a>) <a class="idref" href="mathcomp.algebra.ssralg.html#b"><span class="id" title="variable">b</span></a> ⇒<br/> + <span class="id" title="keyword">fun</span> <span class="id" title="var">m</span> & <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#phant_id"><span class="id" title="definition">phant_id</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#m0"><span class="id" title="variable">m0</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#m"><span class="id" title="variable">m</span></a> ⇒ <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Field.Pack"><span class="id" title="constructor">Pack</span></a> (@<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Field.Class"><span class="id" title="constructor">Class</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Field.ClassDef.T"><span class="id" title="variable">T</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b"><span class="id" title="variable">b</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#m"><span class="id" title="variable">m</span></a>).<br/> <br/> -<span class="id" title="keyword">Definition</span> <a name="GRing.Field.eqType"><span class="id" title="definition">eqType</span></a> := @<a class="idref" href="mathcomp.ssreflect.eqtype.html#Equality.Pack"><span class="id" title="constructor">Equality.Pack</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Field.ClassDef.cT"><span class="id" title="variable">cT</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Field.xclass"><span class="id" title="abbreviation">xclass</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Field.ClassDef.xT"><span class="id" title="variable">xT</span></a>.<br/> -<span class="id" title="keyword">Definition</span> <a name="GRing.Field.choiceType"><span class="id" title="definition">choiceType</span></a> := @<a class="idref" href="mathcomp.ssreflect.choice.html#Choice.Pack"><span class="id" title="constructor">Choice.Pack</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Field.ClassDef.cT"><span class="id" title="variable">cT</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Field.xclass"><span class="id" title="abbreviation">xclass</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Field.ClassDef.xT"><span class="id" title="variable">xT</span></a>.<br/> -<span class="id" title="keyword">Definition</span> <a name="GRing.Field.zmodType"><span class="id" title="definition">zmodType</span></a> := @<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Zmodule.Pack"><span class="id" title="constructor">Zmodule.Pack</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Field.ClassDef.cT"><span class="id" title="variable">cT</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Field.xclass"><span class="id" title="abbreviation">xclass</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Field.ClassDef.xT"><span class="id" title="variable">xT</span></a>.<br/> -<span class="id" title="keyword">Definition</span> <a name="GRing.Field.ringType"><span class="id" title="definition">ringType</span></a> := @<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Ring.Pack"><span class="id" title="constructor">Ring.Pack</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Field.ClassDef.cT"><span class="id" title="variable">cT</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Field.xclass"><span class="id" title="abbreviation">xclass</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Field.ClassDef.xT"><span class="id" title="variable">xT</span></a>.<br/> -<span class="id" title="keyword">Definition</span> <a name="GRing.Field.comRingType"><span class="id" title="definition">comRingType</span></a> := @<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComRing.Pack"><span class="id" title="constructor">ComRing.Pack</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Field.ClassDef.cT"><span class="id" title="variable">cT</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Field.xclass"><span class="id" title="abbreviation">xclass</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Field.ClassDef.xT"><span class="id" title="variable">xT</span></a>.<br/> -<span class="id" title="keyword">Definition</span> <a name="GRing.Field.unitRingType"><span class="id" title="definition">unitRingType</span></a> := @<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitRing.Pack"><span class="id" title="constructor">UnitRing.Pack</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Field.ClassDef.cT"><span class="id" title="variable">cT</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Field.xclass"><span class="id" title="abbreviation">xclass</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Field.ClassDef.xT"><span class="id" title="variable">xT</span></a>.<br/> -<span class="id" title="keyword">Definition</span> <a name="GRing.Field.comUnitRingType"><span class="id" title="definition">comUnitRingType</span></a> := @<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComUnitRing.Pack"><span class="id" title="constructor">ComUnitRing.Pack</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Field.ClassDef.cT"><span class="id" title="variable">cT</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Field.xclass"><span class="id" title="abbreviation">xclass</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Field.ClassDef.xT"><span class="id" title="variable">xT</span></a>.<br/> -<span class="id" title="keyword">Definition</span> <a name="GRing.Field.idomainType"><span class="id" title="definition">idomainType</span></a> := @<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.IntegralDomain.Pack"><span class="id" title="constructor">IntegralDomain.Pack</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Field.ClassDef.cT"><span class="id" title="variable">cT</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Field.xclass"><span class="id" title="abbreviation">xclass</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Field.ClassDef.xT"><span class="id" title="variable">xT</span></a>.<br/> +<span class="id" title="keyword">Definition</span> <a name="GRing.Field.eqType"><span class="id" title="definition">eqType</span></a> := @<a class="idref" href="mathcomp.ssreflect.eqtype.html#Equality.Pack"><span class="id" title="constructor">Equality.Pack</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Field.ClassDef.cT"><span class="id" title="variable">cT</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Field.xclass"><span class="id" title="abbreviation">xclass</span></a>.<br/> +<span class="id" title="keyword">Definition</span> <a name="GRing.Field.choiceType"><span class="id" title="definition">choiceType</span></a> := @<a class="idref" href="mathcomp.ssreflect.choice.html#Choice.Pack"><span class="id" title="constructor">Choice.Pack</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Field.ClassDef.cT"><span class="id" title="variable">cT</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Field.xclass"><span class="id" title="abbreviation">xclass</span></a>.<br/> +<span class="id" title="keyword">Definition</span> <a name="GRing.Field.zmodType"><span class="id" title="definition">zmodType</span></a> := @<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Zmodule.Pack"><span class="id" title="constructor">Zmodule.Pack</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Field.ClassDef.cT"><span class="id" title="variable">cT</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Field.xclass"><span class="id" title="abbreviation">xclass</span></a>.<br/> +<span class="id" title="keyword">Definition</span> <a name="GRing.Field.ringType"><span class="id" title="definition">ringType</span></a> := @<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Ring.Pack"><span class="id" title="constructor">Ring.Pack</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Field.ClassDef.cT"><span class="id" title="variable">cT</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Field.xclass"><span class="id" title="abbreviation">xclass</span></a>.<br/> +<span class="id" title="keyword">Definition</span> <a name="GRing.Field.comRingType"><span class="id" title="definition">comRingType</span></a> := @<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComRing.Pack"><span class="id" title="constructor">ComRing.Pack</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Field.ClassDef.cT"><span class="id" title="variable">cT</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Field.xclass"><span class="id" title="abbreviation">xclass</span></a>.<br/> +<span class="id" title="keyword">Definition</span> <a name="GRing.Field.unitRingType"><span class="id" title="definition">unitRingType</span></a> := @<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitRing.Pack"><span class="id" title="constructor">UnitRing.Pack</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Field.ClassDef.cT"><span class="id" title="variable">cT</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Field.xclass"><span class="id" title="abbreviation">xclass</span></a>.<br/> +<span class="id" title="keyword">Definition</span> <a name="GRing.Field.comUnitRingType"><span class="id" title="definition">comUnitRingType</span></a> := @<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComUnitRing.Pack"><span class="id" title="constructor">ComUnitRing.Pack</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Field.ClassDef.cT"><span class="id" title="variable">cT</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Field.xclass"><span class="id" title="abbreviation">xclass</span></a>.<br/> +<span class="id" title="keyword">Definition</span> <a name="GRing.Field.idomainType"><span class="id" title="definition">idomainType</span></a> := @<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.IntegralDomain.Pack"><span class="id" title="constructor">IntegralDomain.Pack</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Field.ClassDef.cT"><span class="id" title="variable">cT</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Field.xclass"><span class="id" title="abbreviation">xclass</span></a>.<br/> <br/> <span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Field.ClassDef"><span class="id" title="section">ClassDef</span></a>.<br/> @@ -4670,13 +4691,13 @@ <span class="id" title="keyword">Coercion</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Field.idomainType"><span class="id" title="definition">idomainType</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Field.idomainType"><span class="id" title="definition">:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Field.idomainType"><span class="id" title="definition">type</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Field.idomainType"><span class="id" title="definition">>-></span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Field.idomainType"><span class="id" title="definition">IntegralDomain.type</span></a>.<br/> <span class="id" title="keyword">Canonical</span> <span class="id" title="var">idomainType</span>.<br/> <span class="id" title="keyword">Notation</span> <a name="GRing.Field.Exports.fieldType"><span class="id" title="abbreviation">fieldType</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Field.type"><span class="id" title="record">type</span></a>.<br/> -<span class="id" title="keyword">Notation</span> <a name="GRing.Field.Exports.FieldType"><span class="id" title="abbreviation">FieldType</span></a> <span class="id" title="var">T</span> <span class="id" title="var">m</span> := (@<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Field.pack"><span class="id" title="definition">pack</span></a> <span class="id" title="var">T</span> <span class="id" title="var">_</span> <span class="id" title="var">m</span> <span class="id" title="var">_</span> <span class="id" title="var">_</span> <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> <span class="id" title="var">_</span> <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>).<br/> +<span class="id" title="keyword">Notation</span> <a name="GRing.Field.Exports.FieldType"><span class="id" title="abbreviation">FieldType</span></a> <span class="id" title="var">T</span> <span class="id" title="var">m</span> := (@<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Field.pack"><span class="id" title="definition">pack</span></a> <span class="id" title="var">T</span> <span class="id" title="var">_</span> <span class="id" title="var">m</span> <span class="id" title="var">_</span> <span class="id" title="var">_</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#id"><span class="id" title="abbreviation">id</span></a> <span class="id" title="var">_</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#id"><span class="id" title="abbreviation">id</span></a>).<br/> <span class="id" title="keyword">Notation</span> <a name="GRing.Field.Exports.FieldUnitMixin"><span class="id" title="abbreviation">FieldUnitMixin</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Field.UnitMixin"><span class="id" title="definition">UnitMixin</span></a>.<br/> <span class="id" title="keyword">Notation</span> <a name="GRing.Field.Exports.FieldIdomainMixin"><span class="id" title="abbreviation">FieldIdomainMixin</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Field.IdomainMixin"><span class="id" title="lemma">IdomainMixin</span></a>.<br/> <span class="id" title="keyword">Notation</span> <a name="GRing.Field.Exports.FieldMixin"><span class="id" title="abbreviation">FieldMixin</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Field.Mixin"><span class="id" title="lemma">Mixin</span></a>.<br/> -<span class="id" title="keyword">Notation</span> <a name="8c9c50e5199526a82960ff32ca0ae688"><span class="id" title="notation">"</span></a>[ 'fieldType' 'of' T 'for' cT ]" := (@<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Field.clone"><span class="id" title="definition">clone</span></a> <span class="id" title="var">T</span> <span class="id" title="var">cT</span> <span class="id" title="var">_</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#idfun"><span class="id" title="abbreviation">idfun</span></a>)<br/> +<span class="id" title="keyword">Notation</span> <a name="47ab34bf5497a33543a0c8593815a525"><span class="id" title="notation">"</span></a>[ 'fieldType' 'of' T 'for' cT ]" := (@<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Field.clone"><span class="id" title="definition">clone</span></a> <span class="id" title="var">T</span> <span class="id" title="var">cT</span> <span class="id" title="var">_</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#idfun"><span class="id" title="abbreviation">idfun</span></a>)<br/> (<span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 0, <span class="id" title="var">format</span> "[ 'fieldType' 'of' T 'for' cT ]") : <span class="id" title="var">form_scope</span>.<br/> -<span class="id" title="keyword">Notation</span> <a name="005edfce3bb0bbe988e3333ca30adc0f"><span class="id" title="notation">"</span></a>[ 'fieldType' 'of' T ]" := (@<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Field.clone"><span class="id" title="definition">clone</span></a> <span class="id" title="var">T</span> <span class="id" title="var">_</span> <span class="id" title="var">_</span> <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>)<br/> +<span class="id" title="keyword">Notation</span> <a name="be36f4c61e9a82f836d531a63f34e6c2"><span class="id" title="notation">"</span></a>[ 'fieldType' 'of' T ]" := (@<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Field.clone"><span class="id" title="definition">clone</span></a> <span class="id" title="var">T</span> <span class="id" title="var">_</span> <span class="id" title="var">_</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#id"><span class="id" title="abbreviation">id</span></a>)<br/> (<span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 0, <span class="id" title="var">format</span> "[ 'fieldType' 'of' T ]") : <span class="id" title="var">form_scope</span>.<br/> <span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Field.Exports"><span class="id" title="module">Exports</span></a>.<br/> @@ -4695,75 +4716,75 @@ <span class="id" title="keyword">Lemma</span> <a name="GRing.fieldP"><span class="id" title="lemma">fieldP</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.mixin_of"><span class="id" title="definition">Field.mixin_of</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.FieldTheory.F"><span class="id" title="variable">F</span></a>. <br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.unitfE"><span class="id" title="lemma">unitfE</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.ssralg.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.ssralg.html#GRing.unit"><span class="id" title="definition">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.ssralg.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/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.unitfE"><span class="id" title="lemma">unitfE</span></a> <span class="id" title="var">x</span> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.unit"><span class="id" title="definition">unit</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#c385a484ee9d1b4e0615924561a9b75e"><span class="id" title="notation">!=</span></a> 0<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">)</span></a>.<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.mulVf"><span class="id" title="lemma">mulVf</span></a> <span class="id" title="var">x</span> : <a class="idref" href="mathcomp.algebra.ssralg.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#x"><span class="id" title="variable">x</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#7f97e90bec2e67d9beef5851649e3fb1"><span class="id" title="notation">^-1</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#ed99e7035d9a1f8a2c1515be81ac2e5f"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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/> - <span class="id" title="keyword">Lemma</span> <a name="GRing.divff"><span class="id" title="lemma">divff</span></a> <span class="id" title="var">x</span> : <a class="idref" href="mathcomp.algebra.ssralg.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#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#1adb36345c2607a4dd991537de5ddba3"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.mulVf"><span class="id" title="lemma">mulVf</span></a> <span class="id" title="var">x</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#c385a484ee9d1b4e0615924561a9b75e"><span class="id" title="notation">!=</span></a> 0 <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#139f286ff80df5d41ea22851b1826860"><span class="id" title="notation">^-1</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f99a2dc6d143aa8f1021ab57e4a19eee"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> 1.<br/> + <span class="id" title="keyword">Lemma</span> <a name="GRing.divff"><span class="id" title="lemma">divff</span></a> <span class="id" title="var">x</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#c385a484ee9d1b4e0615924561a9b75e"><span class="id" title="notation">!=</span></a> 0 <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#705c00ff5a03bf84d6828df21a7a7942"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> 1.<br/> <span class="id" title="keyword">Definition</span> <a name="GRing.mulfV"><span class="id" title="definition">mulfV</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.divff"><span class="id" title="lemma">divff</span></a>.<br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.mulKf"><span class="id" title="lemma">mulKf</span></a> <span class="id" title="var">x</span> : <a class="idref" href="mathcomp.algebra.ssralg.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="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.ssralg.html#6498e6e308d8a143464cf2d2ba603d36"><span class="id" title="notation">*%</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#6498e6e308d8a143464cf2d2ba603d36"><span class="id" title="notation">R</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#6498e6e308d8a143464cf2d2ba603d36"><span class="id" title="notation">x</span></a>) ( <a class="idref" href="mathcomp.algebra.ssralg.html#6498e6e308d8a143464cf2d2ba603d36"><span class="id" title="notation">*%</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#6498e6e308d8a143464cf2d2ba603d36"><span class="id" title="notation">R</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#6498e6e308d8a143464cf2d2ba603d36"><span class="id" title="notation">x</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#6498e6e308d8a143464cf2d2ba603d36"><span class="id" title="notation">^-1</span></a>).<br/> - <span class="id" title="keyword">Lemma</span> <a name="GRing.mulVKf"><span class="id" title="lemma">mulVKf</span></a> <span class="id" title="var">x</span> : <a class="idref" href="mathcomp.algebra.ssralg.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="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.ssralg.html#6498e6e308d8a143464cf2d2ba603d36"><span class="id" title="notation">*%</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#6498e6e308d8a143464cf2d2ba603d36"><span class="id" title="notation">R</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#6498e6e308d8a143464cf2d2ba603d36"><span class="id" title="notation">x</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#6498e6e308d8a143464cf2d2ba603d36"><span class="id" title="notation">^-1</span></a>) ( <a class="idref" href="mathcomp.algebra.ssralg.html#6498e6e308d8a143464cf2d2ba603d36"><span class="id" title="notation">*%</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#6498e6e308d8a143464cf2d2ba603d36"><span class="id" title="notation">R</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#6498e6e308d8a143464cf2d2ba603d36"><span class="id" title="notation">x</span></a>).<br/> - <span class="id" title="keyword">Lemma</span> <a name="GRing.mulfK"><span class="id" title="lemma">mulfK</span></a> <span class="id" title="var">x</span> : <a class="idref" href="mathcomp.algebra.ssralg.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="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.ssralg.html#6498e6e308d8a143464cf2d2ba603d36"><span class="id" title="notation">*%</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#6498e6e308d8a143464cf2d2ba603d36"><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.ssralg.html#x"><span class="id" title="variable">x</span></a>) ( <a class="idref" href="mathcomp.algebra.ssralg.html#6498e6e308d8a143464cf2d2ba603d36"><span class="id" title="notation">*%</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#6498e6e308d8a143464cf2d2ba603d36"><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.ssralg.html#x"><span class="id" title="variable">x</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#7f97e90bec2e67d9beef5851649e3fb1"><span class="id" title="notation">^-1</span></a>).<br/> - <span class="id" title="keyword">Lemma</span> <a name="GRing.mulfVK"><span class="id" title="lemma">mulfVK</span></a> <span class="id" title="var">x</span> : <a class="idref" href="mathcomp.algebra.ssralg.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="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.ssralg.html#6498e6e308d8a143464cf2d2ba603d36"><span class="id" title="notation">*%</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#6498e6e308d8a143464cf2d2ba603d36"><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.ssralg.html#x"><span class="id" title="variable">x</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#7f97e90bec2e67d9beef5851649e3fb1"><span class="id" title="notation">^-1</span></a>) ( <a class="idref" href="mathcomp.algebra.ssralg.html#6498e6e308d8a143464cf2d2ba603d36"><span class="id" title="notation">*%</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#6498e6e308d8a143464cf2d2ba603d36"><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.ssralg.html#x"><span class="id" title="variable">x</span></a>).<br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.mulKf"><span class="id" title="lemma">mulKf</span></a> <span class="id" title="var">x</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#c385a484ee9d1b4e0615924561a9b75e"><span class="id" title="notation">!=</span></a> 0 <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#cancel"><span class="id" title="definition">cancel</span></a> ( <a class="idref" href="mathcomp.algebra.ssralg.html#bae191a5c954d16cccd67244cf8a6ceb"><span class="id" title="notation">*%</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#bae191a5c954d16cccd67244cf8a6ceb"><span class="id" title="notation">R</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#bae191a5c954d16cccd67244cf8a6ceb"><span class="id" title="notation">x</span></a>) ( <a class="idref" href="mathcomp.algebra.ssralg.html#bae191a5c954d16cccd67244cf8a6ceb"><span class="id" title="notation">*%</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#bae191a5c954d16cccd67244cf8a6ceb"><span class="id" title="notation">R</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#bae191a5c954d16cccd67244cf8a6ceb"><span class="id" title="notation">x</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#bae191a5c954d16cccd67244cf8a6ceb"><span class="id" title="notation">^-1</span></a>).<br/> + <span class="id" title="keyword">Lemma</span> <a name="GRing.mulVKf"><span class="id" title="lemma">mulVKf</span></a> <span class="id" title="var">x</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#c385a484ee9d1b4e0615924561a9b75e"><span class="id" title="notation">!=</span></a> 0 <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#cancel"><span class="id" title="definition">cancel</span></a> ( <a class="idref" href="mathcomp.algebra.ssralg.html#bae191a5c954d16cccd67244cf8a6ceb"><span class="id" title="notation">*%</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#bae191a5c954d16cccd67244cf8a6ceb"><span class="id" title="notation">R</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#bae191a5c954d16cccd67244cf8a6ceb"><span class="id" title="notation">x</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#bae191a5c954d16cccd67244cf8a6ceb"><span class="id" title="notation">^-1</span></a>) ( <a class="idref" href="mathcomp.algebra.ssralg.html#bae191a5c954d16cccd67244cf8a6ceb"><span class="id" title="notation">*%</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#bae191a5c954d16cccd67244cf8a6ceb"><span class="id" title="notation">R</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#bae191a5c954d16cccd67244cf8a6ceb"><span class="id" title="notation">x</span></a>).<br/> + <span class="id" title="keyword">Lemma</span> <a name="GRing.mulfK"><span class="id" title="lemma">mulfK</span></a> <span class="id" title="var">x</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#c385a484ee9d1b4e0615924561a9b75e"><span class="id" title="notation">!=</span></a> 0 <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#cancel"><span class="id" title="definition">cancel</span></a> ( <a class="idref" href="mathcomp.algebra.ssralg.html#bae191a5c954d16cccd67244cf8a6ceb"><span class="id" title="notation">*%</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#bae191a5c954d16cccd67244cf8a6ceb"><span class="id" title="notation">R</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#d89396f990d6b54d736cfe259e498cf4"><span class="id" title="notation">^~</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a>) ( <a class="idref" href="mathcomp.algebra.ssralg.html#bae191a5c954d16cccd67244cf8a6ceb"><span class="id" title="notation">*%</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#bae191a5c954d16cccd67244cf8a6ceb"><span class="id" title="notation">R</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#d89396f990d6b54d736cfe259e498cf4"><span class="id" title="notation">^~</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#139f286ff80df5d41ea22851b1826860"><span class="id" title="notation">^-1</span></a>).<br/> + <span class="id" title="keyword">Lemma</span> <a name="GRing.mulfVK"><span class="id" title="lemma">mulfVK</span></a> <span class="id" title="var">x</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#c385a484ee9d1b4e0615924561a9b75e"><span class="id" title="notation">!=</span></a> 0 <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#cancel"><span class="id" title="definition">cancel</span></a> ( <a class="idref" href="mathcomp.algebra.ssralg.html#bae191a5c954d16cccd67244cf8a6ceb"><span class="id" title="notation">*%</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#bae191a5c954d16cccd67244cf8a6ceb"><span class="id" title="notation">R</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#d89396f990d6b54d736cfe259e498cf4"><span class="id" title="notation">^~</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#139f286ff80df5d41ea22851b1826860"><span class="id" title="notation">^-1</span></a>) ( <a class="idref" href="mathcomp.algebra.ssralg.html#bae191a5c954d16cccd67244cf8a6ceb"><span class="id" title="notation">*%</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#bae191a5c954d16cccd67244cf8a6ceb"><span class="id" title="notation">R</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#d89396f990d6b54d736cfe259e498cf4"><span class="id" title="notation">^~</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a>).<br/> <span class="id" title="keyword">Definition</span> <a name="GRing.divfK"><span class="id" title="definition">divfK</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.mulfVK"><span class="id" title="lemma">mulfVK</span></a>.<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.invfM"><span class="id" title="lemma">invfM</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.ssralg.html#GRing.inv"><span class="id" title="definition">inv</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.FieldTheory.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#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.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#ed99e7035d9a1f8a2c1515be81ac2e5f"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.invfM"><span class="id" title="lemma">invfM</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#e69c60b553f06d3463460a9f4cee3c01"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#e69c60b553f06d3463460a9f4cee3c01"><span class="id" title="notation">morph</span></a> @<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.inv"><span class="id" title="definition">inv</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.FieldTheory.F"><span class="id" title="variable">F</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#e69c60b553f06d3463460a9f4cee3c01"><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/V8.9.0/stdlib//Coq.ssr.ssrfun.html#e69c60b553f06d3463460a9f4cee3c01"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f99a2dc6d143aa8f1021ab57e4a19eee"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#e69c60b553f06d3463460a9f4cee3c01"><span class="id" title="notation">}</span></a>.<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.invf_div"><span class="id" title="lemma">invf_div</span></a> <span class="id" title="var">x</span> <span class="id" title="var">y</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#7f97e90bec2e67d9beef5851649e3fb1"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#1adb36345c2607a4dd991537de5ddba3"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#7f97e90bec2e67d9beef5851649e3fb1"><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.ssralg.html#y"><span class="id" title="variable">y</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#1adb36345c2607a4dd991537de5ddba3"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a>.<br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.invf_div"><span class="id" title="lemma">invf_div</span></a> <span class="id" title="var">x</span> <span class="id" title="var">y</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#139f286ff80df5d41ea22851b1826860"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#705c00ff5a03bf84d6828df21a7a7942"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#139f286ff80df5d41ea22851b1826860"><span class="id" title="notation">)^-1</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#705c00ff5a03bf84d6828df21a7a7942"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a>.<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.divKf"><span class="id" title="lemma">divKf</span></a> <span class="id" title="var">x</span> : <a class="idref" href="mathcomp.algebra.ssralg.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="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#involutive"><span class="id" title="definition">involutive</span></a> (<span class="id" title="keyword">fun</span> <span class="id" title="var">y</span> ⇒ <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#1adb36345c2607a4dd991537de5ddba3"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a>).<br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.divKf"><span class="id" title="lemma">divKf</span></a> <span class="id" title="var">x</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#c385a484ee9d1b4e0615924561a9b75e"><span class="id" title="notation">!=</span></a> 0 <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#involutive"><span class="id" title="definition">involutive</span></a> (<span class="id" title="keyword">fun</span> <span class="id" title="var">y</span> ⇒ <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#705c00ff5a03bf84d6828df21a7a7942"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a>).<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.expfB_cond"><span class="id" title="lemma">expfB_cond</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.ssreflect.ssrnat.html#b3eea360671e1b32b18a26e15b3aace3"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.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.ssrnat.html#b3eea360671e1b32b18a26e15b3aace3"><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.ssralg.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.ssralg.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.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.ssralg.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><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#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#1adb36345c2607a4dd991537de5ddba3"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a>.<br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.expfB_cond"><span class="id" title="lemma">expfB_cond</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.ssreflect.ssrnat.html#0dacc1786c5ba797d47dd85006231633"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#df45e8c2e8370fd4f0f7c4fdaf208180"><span class="id" title="notation">==</span></a> 0<a class="idref" href="mathcomp.ssreflect.ssrnat.html#0dacc1786c5ba797d47dd85006231633"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#0dacc1786c5ba797d47dd85006231633"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#cb53cf0ee22c036a03b4a9281c68b5a3"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#7825ccc99f23b0d30c9d40c317ba7af0"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#705c00ff5a03bf84d6828df21a7a7942"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a>.<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.expfB"><span class="id" title="lemma">expfB</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.ssralg.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#989c98e7ddd65d5bf37c334ff2076de8"><span class="id" title="notation"><</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.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.ssralg.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><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#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#1adb36345c2607a4dd991537de5ddba3"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a>.<br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.expfB"><span class="id" title="lemma">expfB</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.ssralg.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#00fe0eaf5e6949f0a31725357afa4bba"><span class="id" title="notation"><</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#7825ccc99f23b0d30c9d40c317ba7af0"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#705c00ff5a03bf84d6828df21a7a7942"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a>.<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.prodfV"><span class="id" title="lemma">prodfV</span></a> <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.ssralg.html#I"><span class="id" title="variable">I</span></a>) (<span class="id" title="var">E</span> : <a class="idref" href="mathcomp.algebra.ssralg.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.ssralg.html#GRing.FieldTheory.F"><span class="id" title="variable">F</span></a>) :<br/> - <a class="idref" href="mathcomp.algebra.ssralg.html#3f1a950be6bcb72c9434150471b42417"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#3f1a950be6bcb72c9434150471b42417"><span class="id" title="notation">prod_</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#3f1a950be6bcb72c9434150471b42417"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.algebra.ssralg.html#3f1a950be6bcb72c9434150471b42417"><span class="id" title="notation"><-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#r"><span class="id" title="variable">r</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#3f1a950be6bcb72c9434150471b42417"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#3f1a950be6bcb72c9434150471b42417"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#7f97e90bec2e67d9beef5851649e3fb1"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#E"><span class="id" title="variable">E</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#7f97e90bec2e67d9beef5851649e3fb1"><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.ssralg.html#7f97e90bec2e67d9beef5851649e3fb1"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#3f1a950be6bcb72c9434150471b42417"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#3f1a950be6bcb72c9434150471b42417"><span class="id" title="notation">prod_</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#3f1a950be6bcb72c9434150471b42417"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.algebra.ssralg.html#3f1a950be6bcb72c9434150471b42417"><span class="id" title="notation"><-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#r"><span class="id" title="variable">r</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#3f1a950be6bcb72c9434150471b42417"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#3f1a950be6bcb72c9434150471b42417"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#E"><span class="id" title="variable">E</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#7f97e90bec2e67d9beef5851649e3fb1"><span class="id" title="notation">)^-1</span></a>.<br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.prodfV"><span class="id" title="lemma">prodfV</span></a> <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/V8.9.0/stdlib//Coq.ssr.ssrbool.html#pred"><span class="id" title="definition">pred</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#I"><span class="id" title="variable">I</span></a>) (<span class="id" title="var">E</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#I"><span class="id" title="variable">I</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.FieldTheory.F"><span class="id" title="variable">F</span></a>) :<br/> + <a class="idref" href="mathcomp.algebra.ssralg.html#5e0b538209a51fa2bd900767b9312dd8"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#5e0b538209a51fa2bd900767b9312dd8"><span class="id" title="notation">prod_</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#5e0b538209a51fa2bd900767b9312dd8"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.algebra.ssralg.html#5e0b538209a51fa2bd900767b9312dd8"><span class="id" title="notation"><-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#r"><span class="id" title="variable">r</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#5e0b538209a51fa2bd900767b9312dd8"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#5e0b538209a51fa2bd900767b9312dd8"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#139f286ff80df5d41ea22851b1826860"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#E"><span class="id" title="variable">E</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#139f286ff80df5d41ea22851b1826860"><span class="id" title="notation">)^-1</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#139f286ff80df5d41ea22851b1826860"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#5e0b538209a51fa2bd900767b9312dd8"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#5e0b538209a51fa2bd900767b9312dd8"><span class="id" title="notation">prod_</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#5e0b538209a51fa2bd900767b9312dd8"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.algebra.ssralg.html#5e0b538209a51fa2bd900767b9312dd8"><span class="id" title="notation"><-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#r"><span class="id" title="variable">r</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#5e0b538209a51fa2bd900767b9312dd8"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#5e0b538209a51fa2bd900767b9312dd8"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#E"><span class="id" title="variable">E</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#139f286ff80df5d41ea22851b1826860"><span class="id" title="notation">)^-1</span></a>.<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.prodf_div"><span class="id" title="lemma">prodf_div</span></a> <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.ssralg.html#I"><span class="id" title="variable">I</span></a>) (<span class="id" title="var">E</span> <span class="id" title="var">D</span> : <a class="idref" href="mathcomp.algebra.ssralg.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.ssralg.html#GRing.FieldTheory.F"><span class="id" title="variable">F</span></a>) :<br/> - <a class="idref" href="mathcomp.algebra.ssralg.html#3f1a950be6bcb72c9434150471b42417"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#3f1a950be6bcb72c9434150471b42417"><span class="id" title="notation">prod_</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#3f1a950be6bcb72c9434150471b42417"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.algebra.ssralg.html#3f1a950be6bcb72c9434150471b42417"><span class="id" title="notation"><-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#r"><span class="id" title="variable">r</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#3f1a950be6bcb72c9434150471b42417"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#3f1a950be6bcb72c9434150471b42417"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#3f1a950be6bcb72c9434150471b42417"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#E"><span class="id" title="variable">E</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#1adb36345c2607a4dd991537de5ddba3"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#D"><span class="id" title="variable">D</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#3f1a950be6bcb72c9434150471b42417"><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/> - <a class="idref" href="mathcomp.algebra.ssralg.html#3f1a950be6bcb72c9434150471b42417"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#3f1a950be6bcb72c9434150471b42417"><span class="id" title="notation">prod_</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#3f1a950be6bcb72c9434150471b42417"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.algebra.ssralg.html#3f1a950be6bcb72c9434150471b42417"><span class="id" title="notation"><-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#r"><span class="id" title="variable">r</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#3f1a950be6bcb72c9434150471b42417"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#3f1a950be6bcb72c9434150471b42417"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#E"><span class="id" title="variable">E</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#1adb36345c2607a4dd991537de5ddba3"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#3f1a950be6bcb72c9434150471b42417"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#3f1a950be6bcb72c9434150471b42417"><span class="id" title="notation">prod_</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#3f1a950be6bcb72c9434150471b42417"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.algebra.ssralg.html#3f1a950be6bcb72c9434150471b42417"><span class="id" title="notation"><-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#r"><span class="id" title="variable">r</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#3f1a950be6bcb72c9434150471b42417"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#3f1a950be6bcb72c9434150471b42417"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#D"><span class="id" title="variable">D</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</span></a>.<br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.prodf_div"><span class="id" title="lemma">prodf_div</span></a> <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/V8.9.0/stdlib//Coq.ssr.ssrbool.html#pred"><span class="id" title="definition">pred</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#I"><span class="id" title="variable">I</span></a>) (<span class="id" title="var">E</span> <span class="id" title="var">D</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#I"><span class="id" title="variable">I</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.FieldTheory.F"><span class="id" title="variable">F</span></a>) :<br/> + <a class="idref" href="mathcomp.algebra.ssralg.html#5e0b538209a51fa2bd900767b9312dd8"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#5e0b538209a51fa2bd900767b9312dd8"><span class="id" title="notation">prod_</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#5e0b538209a51fa2bd900767b9312dd8"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.algebra.ssralg.html#5e0b538209a51fa2bd900767b9312dd8"><span class="id" title="notation"><-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#r"><span class="id" title="variable">r</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#5e0b538209a51fa2bd900767b9312dd8"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#5e0b538209a51fa2bd900767b9312dd8"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#5e0b538209a51fa2bd900767b9312dd8"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#E"><span class="id" title="variable">E</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#705c00ff5a03bf84d6828df21a7a7942"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#D"><span class="id" title="variable">D</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#5e0b538209a51fa2bd900767b9312dd8"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a><br/> + <a class="idref" href="mathcomp.algebra.ssralg.html#5e0b538209a51fa2bd900767b9312dd8"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#5e0b538209a51fa2bd900767b9312dd8"><span class="id" title="notation">prod_</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#5e0b538209a51fa2bd900767b9312dd8"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.algebra.ssralg.html#5e0b538209a51fa2bd900767b9312dd8"><span class="id" title="notation"><-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#r"><span class="id" title="variable">r</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#5e0b538209a51fa2bd900767b9312dd8"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#5e0b538209a51fa2bd900767b9312dd8"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#E"><span class="id" title="variable">E</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#705c00ff5a03bf84d6828df21a7a7942"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#5e0b538209a51fa2bd900767b9312dd8"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#5e0b538209a51fa2bd900767b9312dd8"><span class="id" title="notation">prod_</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#5e0b538209a51fa2bd900767b9312dd8"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.algebra.ssralg.html#5e0b538209a51fa2bd900767b9312dd8"><span class="id" title="notation"><-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#r"><span class="id" title="variable">r</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#5e0b538209a51fa2bd900767b9312dd8"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#5e0b538209a51fa2bd900767b9312dd8"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#D"><span class="id" title="variable">D</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</span></a>.<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.telescope_prodf"><span class="id" title="lemma">telescope_prodf</span></a> <span class="id" title="var">n</span> <span class="id" title="var">m</span> (<span class="id" title="var">f</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#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.FieldTheory.F"><span class="id" title="variable">F</span></a>) :<br/> - <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">k</span>, <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#432e31800fc09abd260feb634dbbd1af"><span class="id" title="notation"><</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#k"><span class="id" title="variable">k</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#432e31800fc09abd260feb634dbbd1af"><span class="id" title="notation"><</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#k"><span class="id" title="variable">k</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#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#989c98e7ddd65d5bf37c334ff2076de8"><span class="id" title="notation"><</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a><br/> - <a class="idref" href="mathcomp.algebra.ssralg.html#0efa7b1cdb084a1541f915d91ff051e5"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#0efa7b1cdb084a1541f915d91ff051e5"><span class="id" title="notation">prod_</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#0efa7b1cdb084a1541f915d91ff051e5"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#0efa7b1cdb084a1541f915d91ff051e5"><span class="id" title="notation">≤</span></a> <span class="id" title="var">k</span> <a class="idref" href="mathcomp.algebra.ssralg.html#0efa7b1cdb084a1541f915d91ff051e5"><span class="id" title="notation"><</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#m"><span class="id" title="variable">m</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#0efa7b1cdb084a1541f915d91ff051e5"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#0efa7b1cdb084a1541f915d91ff051e5"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#k"><span class="id" title="variable">k</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#1adb36345c2607a4dd991537de5ddba3"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#k"><span class="id" title="variable">k</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#0efa7b1cdb084a1541f915d91ff051e5"><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#f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#1adb36345c2607a4dd991537de5ddba3"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a>.<br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.telescope_prodf"><span class="id" title="lemma">telescope_prodf</span></a> <span class="id" title="var">n</span> <span class="id" title="var">m</span> (<span class="id" title="var">f</span> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#nat"><span class="id" title="inductive">nat</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.FieldTheory.F"><span class="id" title="variable">F</span></a>) :<br/> + <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">(</span></a><span class="id" title="keyword">∀</span> <span class="id" title="var">k</span>, <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#cf4676be165a6295cd8b63fc45b45d8a"><span class="id" title="notation"><</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#k"><span class="id" title="variable">k</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#cf4676be165a6295cd8b63fc45b45d8a"><span class="id" title="notation"><</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#k"><span class="id" title="variable">k</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#c385a484ee9d1b4e0615924561a9b75e"><span class="id" title="notation">!=</span></a> 0<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#00fe0eaf5e6949f0a31725357afa4bba"><span class="id" title="notation"><</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a><br/> + <a class="idref" href="mathcomp.algebra.ssralg.html#483796999382d9671d4ef0e14aab5328"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#483796999382d9671d4ef0e14aab5328"><span class="id" title="notation">prod_</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#483796999382d9671d4ef0e14aab5328"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#483796999382d9671d4ef0e14aab5328"><span class="id" title="notation">≤</span></a> <span class="id" title="var">k</span> <a class="idref" href="mathcomp.algebra.ssralg.html#483796999382d9671d4ef0e14aab5328"><span class="id" title="notation"><</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#m"><span class="id" title="variable">m</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#483796999382d9671d4ef0e14aab5328"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#483796999382d9671d4ef0e14aab5328"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#k"><span class="id" title="variable">k</span></a><a class="idref" href="mathcomp.ssreflect.ssrnat.html#bda89d73ec4a8f23ae92b565ffb5aaa6"><span class="id" title="notation">.+1</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#705c00ff5a03bf84d6828df21a7a7942"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#k"><span class="id" title="variable">k</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#483796999382d9671d4ef0e14aab5328"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#705c00ff5a03bf84d6828df21a7a7942"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a>.<br/> <br/> <span class="id" title="keyword">Lemma</span> <a name="GRing.addf_div"><span class="id" title="lemma">addf_div</span></a> <span class="id" title="var">x1</span> <span class="id" title="var">y1</span> <span class="id" title="var">x2</span> <span class="id" title="var">y2</span> :<br/> - <a class="idref" href="mathcomp.algebra.ssralg.html#y1"><span class="id" title="variable">y1</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#y2"><span class="id" title="variable">y2</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#x1"><span class="id" title="variable">x1</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#1adb36345c2607a4dd991537de5ddba3"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#y1"><span class="id" title="variable">y1</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#338c5345074fd3586073fd29273c138a"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x2"><span class="id" title="variable">x2</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#1adb36345c2607a4dd991537de5ddba3"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#y2"><span class="id" title="variable">y2</span></a> <a class="idref" href="http://coq.inria.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#1adb36345c2607a4dd991537de5ddba3"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#x1"><span class="id" title="variable">x1</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#ed99e7035d9a1f8a2c1515be81ac2e5f"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#y2"><span class="id" title="variable">y2</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#338c5345074fd3586073fd29273c138a"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x2"><span class="id" title="variable">x2</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#ed99e7035d9a1f8a2c1515be81ac2e5f"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#y1"><span class="id" title="variable">y1</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#1adb36345c2607a4dd991537de5ddba3"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#1adb36345c2607a4dd991537de5ddba3"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#1adb36345c2607a4dd991537de5ddba3"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#y1"><span class="id" title="variable">y1</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#ed99e7035d9a1f8a2c1515be81ac2e5f"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#y2"><span class="id" title="variable">y2</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#1adb36345c2607a4dd991537de5ddba3"><span class="id" title="notation">)</span></a>.<br/> + <a class="idref" href="mathcomp.algebra.ssralg.html#y1"><span class="id" title="variable">y1</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#c385a484ee9d1b4e0615924561a9b75e"><span class="id" title="notation">!=</span></a> 0 <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#y2"><span class="id" title="variable">y2</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#c385a484ee9d1b4e0615924561a9b75e"><span class="id" title="notation">!=</span></a> 0 <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x1"><span class="id" title="variable">x1</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#705c00ff5a03bf84d6828df21a7a7942"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#y1"><span class="id" title="variable">y1</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#730bbb3cf1092122fa1a208d3879e5e8"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x2"><span class="id" title="variable">x2</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#705c00ff5a03bf84d6828df21a7a7942"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#y2"><span class="id" title="variable">y2</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#705c00ff5a03bf84d6828df21a7a7942"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#x1"><span class="id" title="variable">x1</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f99a2dc6d143aa8f1021ab57e4a19eee"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#y2"><span class="id" title="variable">y2</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#730bbb3cf1092122fa1a208d3879e5e8"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x2"><span class="id" title="variable">x2</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f99a2dc6d143aa8f1021ab57e4a19eee"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#y1"><span class="id" title="variable">y1</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#705c00ff5a03bf84d6828df21a7a7942"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#705c00ff5a03bf84d6828df21a7a7942"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#705c00ff5a03bf84d6828df21a7a7942"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#y1"><span class="id" title="variable">y1</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f99a2dc6d143aa8f1021ab57e4a19eee"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#y2"><span class="id" title="variable">y2</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#705c00ff5a03bf84d6828df21a7a7942"><span class="id" title="notation">)</span></a>.<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.mulf_div"><span class="id" title="lemma">mulf_div</span></a> <span class="id" title="var">x1</span> <span class="id" title="var">y1</span> <span class="id" title="var">x2</span> <span class="id" title="var">y2</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#ed99e7035d9a1f8a2c1515be81ac2e5f"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#x1"><span class="id" title="variable">x1</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#1adb36345c2607a4dd991537de5ddba3"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#y1"><span class="id" title="variable">y1</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#ed99e7035d9a1f8a2c1515be81ac2e5f"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#ed99e7035d9a1f8a2c1515be81ac2e5f"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#ed99e7035d9a1f8a2c1515be81ac2e5f"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#x2"><span class="id" title="variable">x2</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#1adb36345c2607a4dd991537de5ddba3"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#y2"><span class="id" title="variable">y2</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#ed99e7035d9a1f8a2c1515be81ac2e5f"><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#1adb36345c2607a4dd991537de5ddba3"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#x1"><span class="id" title="variable">x1</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#ed99e7035d9a1f8a2c1515be81ac2e5f"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x2"><span class="id" title="variable">x2</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#1adb36345c2607a4dd991537de5ddba3"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#1adb36345c2607a4dd991537de5ddba3"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#1adb36345c2607a4dd991537de5ddba3"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#y1"><span class="id" title="variable">y1</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#ed99e7035d9a1f8a2c1515be81ac2e5f"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#y2"><span class="id" title="variable">y2</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#1adb36345c2607a4dd991537de5ddba3"><span class="id" title="notation">)</span></a>.<br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.mulf_div"><span class="id" title="lemma">mulf_div</span></a> <span class="id" title="var">x1</span> <span class="id" title="var">y1</span> <span class="id" title="var">x2</span> <span class="id" title="var">y2</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#f99a2dc6d143aa8f1021ab57e4a19eee"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#x1"><span class="id" title="variable">x1</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#705c00ff5a03bf84d6828df21a7a7942"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#y1"><span class="id" title="variable">y1</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#f99a2dc6d143aa8f1021ab57e4a19eee"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f99a2dc6d143aa8f1021ab57e4a19eee"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f99a2dc6d143aa8f1021ab57e4a19eee"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#x2"><span class="id" title="variable">x2</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#705c00ff5a03bf84d6828df21a7a7942"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#y2"><span class="id" title="variable">y2</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#f99a2dc6d143aa8f1021ab57e4a19eee"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#705c00ff5a03bf84d6828df21a7a7942"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#x1"><span class="id" title="variable">x1</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f99a2dc6d143aa8f1021ab57e4a19eee"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x2"><span class="id" title="variable">x2</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#705c00ff5a03bf84d6828df21a7a7942"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#705c00ff5a03bf84d6828df21a7a7942"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#705c00ff5a03bf84d6828df21a7a7942"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#y1"><span class="id" title="variable">y1</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f99a2dc6d143aa8f1021ab57e4a19eee"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#y2"><span class="id" title="variable">y2</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#705c00ff5a03bf84d6828df21a7a7942"><span class="id" title="notation">)</span></a>.<br/> <br/> <span class="id" title="keyword">Lemma</span> <a name="GRing.char0_natf_div"><span class="id" title="lemma">char0_natf_div</span></a> :<br/> - <a class="idref" href="mathcomp.algebra.ssralg.html#51fab11b73193ca5e8e7a62cac129ebc"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#51fab11b73193ca5e8e7a62cac129ebc"><span class="id" title="notation">char</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.FieldTheory.F"><span class="id" title="variable">F</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#51fab11b73193ca5e8e7a62cac129ebc"><span class="id" title="notation">]</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#20bf07099d6d8cf369383b22fd37862e"><span class="id" title="notation">=</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#20bf07099d6d8cf369383b22fd37862e"><span class="id" title="notation">i</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#pred0"><span class="id" title="definition">pred0</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">m</span> <span class="id" title="var">d</span>, <a class="idref" href="mathcomp.algebra.ssralg.html#d"><span class="id" title="variable">d</span></a> <a class="idref" href="mathcomp.ssreflect.div.html#aa34fd1c61c5cf0a3356b624a5d2afed"><span class="id" title="notation">%|</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#c191333b9c7c034282647fbffacc9d18"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.ssreflect.div.html#df17451da28eb630dbb51b12706ba39e"><span class="id" title="notation">%/</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#d"><span class="id" title="variable">d</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#c191333b9c7c034282647fbffacc9d18"><span class="id" title="notation">)%:</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#c191333b9c7c034282647fbffacc9d18"><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#m"><span class="id" title="variable">m</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#c191333b9c7c034282647fbffacc9d18"><span class="id" title="notation">%:</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#c191333b9c7c034282647fbffacc9d18"><span class="id" title="notation">R</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#1adb36345c2607a4dd991537de5ddba3"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#d"><span class="id" title="variable">d</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#c191333b9c7c034282647fbffacc9d18"><span class="id" title="notation">%:</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#c191333b9c7c034282647fbffacc9d18"><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#GRing.FieldTheory.F"><span class="id" title="variable">F</span></a>.<br/> + <a class="idref" href="mathcomp.algebra.ssralg.html#7cf08e2f41bbb95903802050d3919698"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#7cf08e2f41bbb95903802050d3919698"><span class="id" title="notation">char</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.FieldTheory.F"><span class="id" title="variable">F</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#7cf08e2f41bbb95903802050d3919698"><span class="id" title="notation">]</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#1e6a438ff685c38fcd9034a94f271777"><span class="id" title="notation">=</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#1e6a438ff685c38fcd9034a94f271777"><span class="id" title="notation">i</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#pred0"><span class="id" title="definition">pred0</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <span class="id" title="keyword">∀</span> <span class="id" title="var">m</span> <span class="id" title="var">d</span>, <a class="idref" href="mathcomp.algebra.ssralg.html#d"><span class="id" title="variable">d</span></a> <a class="idref" href="mathcomp.ssreflect.div.html#bde82eab2fe4a0799bc2419e587505d4"><span class="id" title="notation">%|</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#512a31305e556a90e0ad0550ee623cbc"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.ssreflect.div.html#2242f6721707980eca939ec29164eab3"><span class="id" title="notation">%/</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#d"><span class="id" title="variable">d</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#512a31305e556a90e0ad0550ee623cbc"><span class="id" title="notation">)%:</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#512a31305e556a90e0ad0550ee623cbc"><span class="id" title="notation">R</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#b8b2ebc8e1a8b9aa935c0702efb5dccf"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#m"><span class="id" title="variable">m</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#512a31305e556a90e0ad0550ee623cbc"><span class="id" title="notation">%:</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#512a31305e556a90e0ad0550ee623cbc"><span class="id" title="notation">R</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#705c00ff5a03bf84d6828df21a7a7942"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#d"><span class="id" title="variable">d</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#512a31305e556a90e0ad0550ee623cbc"><span class="id" title="notation">%:</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#512a31305e556a90e0ad0550ee623cbc"><span class="id" title="notation">R</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#b8b2ebc8e1a8b9aa935c0702efb5dccf"><span class="id" title="notation">:></span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.FieldTheory.F"><span class="id" title="variable">F</span></a>.<br/> <br/> <span class="id" title="keyword">Section</span> <a name="GRing.FieldTheory.FieldMorphismInj"><span class="id" title="section">FieldMorphismInj</span></a>.<br/> <br/> -<span class="id" title="keyword">Variables</span> (<a name="GRing.FieldTheory.FieldMorphismInj.R"><span class="id" title="variable">R</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ringType"><span class="id" title="abbreviation">ringType</span></a>) (<a name="GRing.FieldTheory.FieldMorphismInj.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.ssralg.html#GRing.FieldTheory.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.ssralg.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>).<br/> +<span class="id" title="keyword">Variables</span> (<a name="GRing.FieldTheory.FieldMorphismInj.R"><span class="id" title="variable">R</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ringType"><span class="id" title="abbreviation">ringType</span></a>) (<a name="GRing.FieldTheory.FieldMorphismInj.f"><span class="id" title="variable">f</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#d531732ed602c7af62b88c7cfce824e5"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#d531732ed602c7af62b88c7cfce824e5"><span class="id" title="notation">rmorphism</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.FieldTheory.F"><span class="id" title="variable">F</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#R"><span class="id" title="variable">R</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#d531732ed602c7af62b88c7cfce824e5"><span class="id" title="notation">}</span></a>).<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.fmorph_eq0"><span class="id" title="lemma">fmorph_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.ssralg.html#GRing.FieldTheory.FieldMorphismInj.f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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.ssralg.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/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.fmorph_eq0"><span class="id" title="lemma">fmorph_eq0</span></a> <span class="id" title="var">x</span> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#GRing.FieldTheory.FieldMorphismInj.f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#df45e8c2e8370fd4f0f7c4fdaf208180"><span class="id" title="notation">==</span></a> 0<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#df45e8c2e8370fd4f0f7c4fdaf208180"><span class="id" title="notation">==</span></a> 0<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">)</span></a>.<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.fmorph_inj"><span class="id" title="lemma">fmorph_inj</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="mathcomp.algebra.ssralg.html#GRing.FieldTheory.FieldMorphismInj.f"><span class="id" title="variable">f</span></a>.<br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.fmorph_inj"><span class="id" title="lemma">fmorph_inj</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#injective"><span class="id" title="definition">injective</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.FieldTheory.FieldMorphismInj.f"><span class="id" title="variable">f</span></a>.<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.fmorph_eq1"><span class="id" title="lemma">fmorph_eq1</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.ssralg.html#GRing.FieldTheory.FieldMorphismInj.f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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.ssralg.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>.<br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.fmorph_eq1"><span class="id" title="lemma">fmorph_eq1</span></a> <span class="id" title="var">x</span> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#GRing.FieldTheory.FieldMorphismInj.f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#df45e8c2e8370fd4f0f7c4fdaf208180"><span class="id" title="notation">==</span></a> 1<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#df45e8c2e8370fd4f0f7c4fdaf208180"><span class="id" title="notation">==</span></a> 1<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">)</span></a>.<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.fmorph_char"><span class="id" title="lemma">fmorph_char</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#51fab11b73193ca5e8e7a62cac129ebc"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#51fab11b73193ca5e8e7a62cac129ebc"><span class="id" title="notation">char</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.FieldTheory.FieldMorphismInj.R"><span class="id" title="variable">R</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#51fab11b73193ca5e8e7a62cac129ebc"><span class="id" title="notation">]</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#20bf07099d6d8cf369383b22fd37862e"><span class="id" title="notation">=</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#20bf07099d6d8cf369383b22fd37862e"><span class="id" title="notation">i</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#51fab11b73193ca5e8e7a62cac129ebc"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#51fab11b73193ca5e8e7a62cac129ebc"><span class="id" title="notation">char</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.FieldTheory.F"><span class="id" title="variable">F</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#51fab11b73193ca5e8e7a62cac129ebc"><span class="id" title="notation">]</span></a>.<br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.fmorph_char"><span class="id" title="lemma">fmorph_char</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#7cf08e2f41bbb95903802050d3919698"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#7cf08e2f41bbb95903802050d3919698"><span class="id" title="notation">char</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.FieldTheory.FieldMorphismInj.R"><span class="id" title="variable">R</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#7cf08e2f41bbb95903802050d3919698"><span class="id" title="notation">]</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#1e6a438ff685c38fcd9034a94f271777"><span class="id" title="notation">=</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#1e6a438ff685c38fcd9034a94f271777"><span class="id" title="notation">i</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#7cf08e2f41bbb95903802050d3919698"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#7cf08e2f41bbb95903802050d3919698"><span class="id" title="notation">char</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.FieldTheory.F"><span class="id" title="variable">F</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#7cf08e2f41bbb95903802050d3919698"><span class="id" title="notation">]</span></a>.<br/> <br/> <span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.FieldTheory.FieldMorphismInj"><span class="id" title="section">FieldMorphismInj</span></a>.<br/> @@ -4772,22 +4793,22 @@ <span class="id" title="keyword">Section</span> <a name="GRing.FieldTheory.FieldMorphismInv"><span class="id" title="section">FieldMorphismInv</span></a>.<br/> <br/> -<span class="id" title="keyword">Variables</span> (<a name="GRing.FieldTheory.FieldMorphismInv.R"><span class="id" title="variable">R</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.unitRingType"><span class="id" title="abbreviation">unitRingType</span></a>) (<a name="GRing.FieldTheory.FieldMorphismInv.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.ssralg.html#GRing.FieldTheory.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.ssralg.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>).<br/> +<span class="id" title="keyword">Variables</span> (<a name="GRing.FieldTheory.FieldMorphismInv.R"><span class="id" title="variable">R</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.unitRingType"><span class="id" title="abbreviation">unitRingType</span></a>) (<a name="GRing.FieldTheory.FieldMorphismInv.f"><span class="id" title="variable">f</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#d531732ed602c7af62b88c7cfce824e5"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#d531732ed602c7af62b88c7cfce824e5"><span class="id" title="notation">rmorphism</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.FieldTheory.F"><span class="id" title="variable">F</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#R"><span class="id" title="variable">R</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#d531732ed602c7af62b88c7cfce824e5"><span class="id" title="notation">}</span></a>).<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.fmorph_unit"><span class="id" title="lemma">fmorph_unit</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.ssralg.html#GRing.FieldTheory.FieldMorphismInv.f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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.ssralg.html#GRing.unit"><span class="id" title="definition">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.ssralg.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/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.fmorph_unit"><span class="id" title="lemma">fmorph_unit</span></a> <span class="id" title="var">x</span> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#GRing.FieldTheory.FieldMorphismInv.f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.unit"><span class="id" title="definition">unit</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#c385a484ee9d1b4e0615924561a9b75e"><span class="id" title="notation">!=</span></a> 0<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">)</span></a>.<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.fmorphV"><span class="id" title="lemma">fmorphV</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.ssralg.html#GRing.FieldTheory.FieldMorphismInv.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.ssralg.html#x"><span class="id" title="variable">x</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#7f97e90bec2e67d9beef5851649e3fb1"><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#c3c88e2b30b681cd767a54649faf5973"><span class="id" title="notation">}</span></a>.<br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.fmorphV"><span class="id" title="lemma">fmorphV</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#3d6621e6eef40dcc7dc9a612222d0b4e"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#3d6621e6eef40dcc7dc9a612222d0b4e"><span class="id" title="notation">morph</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.FieldTheory.FieldMorphismInv.f"><span class="id" title="variable">f</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#3d6621e6eef40dcc7dc9a612222d0b4e"><span class="id" title="notation">:</span></a> <span class="id" title="var">x</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#3d6621e6eef40dcc7dc9a612222d0b4e"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#139f286ff80df5d41ea22851b1826860"><span class="id" title="notation">^-1</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#3d6621e6eef40dcc7dc9a612222d0b4e"><span class="id" title="notation">}</span></a>.<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.fmorph_div"><span class="id" title="lemma">fmorph_div</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.ssralg.html#GRing.FieldTheory.FieldMorphismInv.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#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.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#1adb36345c2607a4dd991537de5ddba3"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.fmorph_div"><span class="id" title="lemma">fmorph_div</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#e69c60b553f06d3463460a9f4cee3c01"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#e69c60b553f06d3463460a9f4cee3c01"><span class="id" title="notation">morph</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.FieldTheory.FieldMorphismInv.f"><span class="id" title="variable">f</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#e69c60b553f06d3463460a9f4cee3c01"><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/V8.9.0/stdlib//Coq.ssr.ssrfun.html#e69c60b553f06d3463460a9f4cee3c01"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#705c00ff5a03bf84d6828df21a7a7942"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#e69c60b553f06d3463460a9f4cee3c01"><span class="id" title="notation">}</span></a>.<br/> <br/> <span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.FieldTheory.FieldMorphismInv"><span class="id" title="section">FieldMorphismInv</span></a>.<br/> <br/> -<span class="id" title="keyword">Canonical</span> <span class="id" title="var">regular_fieldType</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#005edfce3bb0bbe988e3333ca30adc0f"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#005edfce3bb0bbe988e3333ca30adc0f"><span class="id" title="notation">fieldType</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#005edfce3bb0bbe988e3333ca30adc0f"><span class="id" title="notation">of</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.FieldTheory.F"><span class="id" title="variable">F</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#44fd865ce10e1d30970d09bdd85a0c8e"><span class="id" title="notation">^</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#44fd865ce10e1d30970d09bdd85a0c8e"><span class="id" title="notation">o</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#005edfce3bb0bbe988e3333ca30adc0f"><span class="id" title="notation">]</span></a>.<br/> +<span class="id" title="keyword">Canonical</span> <span class="id" title="var">regular_fieldType</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#be36f4c61e9a82f836d531a63f34e6c2"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#be36f4c61e9a82f836d531a63f34e6c2"><span class="id" title="notation">fieldType</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#be36f4c61e9a82f836d531a63f34e6c2"><span class="id" title="notation">of</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.FieldTheory.F"><span class="id" title="variable">F</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#44117511dc5f0eff9d2bcbcfcdd33874"><span class="id" title="notation">^</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#44117511dc5f0eff9d2bcbcfcdd33874"><span class="id" title="notation">o</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#be36f4c61e9a82f836d531a63f34e6c2"><span class="id" title="notation">]</span></a>.<br/> <br/> <span class="id" title="keyword">Section</span> <a name="GRing.FieldTheory.ModuleTheory"><span class="id" title="section">ModuleTheory</span></a>.<br/> @@ -4797,44 +4818,44 @@ <span class="id" title="keyword">Implicit</span> <span class="id" title="keyword">Types</span> (<span class="id" title="var">a</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.FieldTheory.F"><span class="id" title="variable">F</span></a>) (<span class="id" title="var">v</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.FieldTheory.ModuleTheory.V"><span class="id" title="variable">V</span></a>).<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.scalerK"><span class="id" title="lemma">scalerK</span></a> <span class="id" title="var">a</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#a"><span class="id" title="variable">a</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#b1eeadc2feabc7422252baa895418c7b"><span class="id" title="notation">!=</span></a> 0 <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="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.ssralg.html#9d4bc68f8a37455428efb931e05d31ce"><span class="id" title="notation">*:%</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#9d4bc68f8a37455428efb931e05d31ce"><span class="id" title="notation">R</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#9d4bc68f8a37455428efb931e05d31ce"><span class="id" title="notation">a</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.ssralg.html#GRing.FieldTheory.ModuleTheory.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#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.FieldTheory.ModuleTheory.V"><span class="id" title="variable">V</span></a>) ( <a class="idref" href="mathcomp.algebra.ssralg.html#9d4bc68f8a37455428efb931e05d31ce"><span class="id" title="notation">*:%</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#9d4bc68f8a37455428efb931e05d31ce"><span class="id" title="notation">R</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#9d4bc68f8a37455428efb931e05d31ce"><span class="id" title="notation">a</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#9d4bc68f8a37455428efb931e05d31ce"><span class="id" title="notation">^-1</span></a>).<br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.scalerK"><span class="id" title="lemma">scalerK</span></a> <span class="id" title="var">a</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#a"><span class="id" title="variable">a</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#c385a484ee9d1b4e0615924561a9b75e"><span class="id" title="notation">!=</span></a> 0 <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#cancel"><span class="id" title="definition">cancel</span></a> ( <a class="idref" href="mathcomp.algebra.ssralg.html#38480d07e3193b4bc897687500c6bc9c"><span class="id" title="notation">*:%</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#38480d07e3193b4bc897687500c6bc9c"><span class="id" title="notation">R</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#38480d07e3193b4bc897687500c6bc9c"><span class="id" title="notation">a</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssreflect.html#aed478b27f23b4f753c27c8ac393febc"><span class="id" title="notation">:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.FieldTheory.ModuleTheory.V"><span class="id" title="variable">V</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.FieldTheory.ModuleTheory.V"><span class="id" title="variable">V</span></a>) ( <a class="idref" href="mathcomp.algebra.ssralg.html#38480d07e3193b4bc897687500c6bc9c"><span class="id" title="notation">*:%</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#38480d07e3193b4bc897687500c6bc9c"><span class="id" title="notation">R</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#38480d07e3193b4bc897687500c6bc9c"><span class="id" title="notation">a</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#38480d07e3193b4bc897687500c6bc9c"><span class="id" title="notation">^-1</span></a>).<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.scalerKV"><span class="id" title="lemma">scalerKV</span></a> <span class="id" title="var">a</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#a"><span class="id" title="variable">a</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#b1eeadc2feabc7422252baa895418c7b"><span class="id" title="notation">!=</span></a> 0 <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="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.ssralg.html#9d4bc68f8a37455428efb931e05d31ce"><span class="id" title="notation">*:%</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#9d4bc68f8a37455428efb931e05d31ce"><span class="id" title="notation">R</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#9d4bc68f8a37455428efb931e05d31ce"><span class="id" title="notation">a</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#9d4bc68f8a37455428efb931e05d31ce"><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#4509b22bf26e3d6d771897e22bd8bc8f"><span class="id" title="notation">:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.FieldTheory.ModuleTheory.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#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.FieldTheory.ModuleTheory.V"><span class="id" title="variable">V</span></a>) ( <a class="idref" href="mathcomp.algebra.ssralg.html#9d4bc68f8a37455428efb931e05d31ce"><span class="id" title="notation">*:%</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#9d4bc68f8a37455428efb931e05d31ce"><span class="id" title="notation">R</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#9d4bc68f8a37455428efb931e05d31ce"><span class="id" title="notation">a</span></a>).<br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.scalerKV"><span class="id" title="lemma">scalerKV</span></a> <span class="id" title="var">a</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#a"><span class="id" title="variable">a</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#c385a484ee9d1b4e0615924561a9b75e"><span class="id" title="notation">!=</span></a> 0 <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#cancel"><span class="id" title="definition">cancel</span></a> ( <a class="idref" href="mathcomp.algebra.ssralg.html#38480d07e3193b4bc897687500c6bc9c"><span class="id" title="notation">*:%</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#38480d07e3193b4bc897687500c6bc9c"><span class="id" title="notation">R</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#38480d07e3193b4bc897687500c6bc9c"><span class="id" title="notation">a</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#38480d07e3193b4bc897687500c6bc9c"><span class="id" title="notation">^-1</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssreflect.html#aed478b27f23b4f753c27c8ac393febc"><span class="id" title="notation">:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.FieldTheory.ModuleTheory.V"><span class="id" title="variable">V</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.FieldTheory.ModuleTheory.V"><span class="id" title="variable">V</span></a>) ( <a class="idref" href="mathcomp.algebra.ssralg.html#38480d07e3193b4bc897687500c6bc9c"><span class="id" title="notation">*:%</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#38480d07e3193b4bc897687500c6bc9c"><span class="id" title="notation">R</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#38480d07e3193b4bc897687500c6bc9c"><span class="id" title="notation">a</span></a>).<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.scalerI"><span class="id" title="lemma">scalerI</span></a> <span class="id" title="var">a</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#a"><span class="id" title="variable">a</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#b1eeadc2feabc7422252baa895418c7b"><span class="id" title="notation">!=</span></a> 0 <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="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.ssralg.html#9d4bc68f8a37455428efb931e05d31ce"><span class="id" title="notation">*:%</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#9d4bc68f8a37455428efb931e05d31ce"><span class="id" title="notation">R</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#9d4bc68f8a37455428efb931e05d31ce"><span class="id" title="notation">a</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.ssralg.html#GRing.FieldTheory.ModuleTheory.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#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.FieldTheory.ModuleTheory.V"><span class="id" title="variable">V</span></a>).<br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.scalerI"><span class="id" title="lemma">scalerI</span></a> <span class="id" title="var">a</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#a"><span class="id" title="variable">a</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#c385a484ee9d1b4e0615924561a9b75e"><span class="id" title="notation">!=</span></a> 0 <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#injective"><span class="id" title="definition">injective</span></a> ( <a class="idref" href="mathcomp.algebra.ssralg.html#38480d07e3193b4bc897687500c6bc9c"><span class="id" title="notation">*:%</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#38480d07e3193b4bc897687500c6bc9c"><span class="id" title="notation">R</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#38480d07e3193b4bc897687500c6bc9c"><span class="id" title="notation">a</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssreflect.html#aed478b27f23b4f753c27c8ac393febc"><span class="id" title="notation">:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.FieldTheory.ModuleTheory.V"><span class="id" title="variable">V</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.FieldTheory.ModuleTheory.V"><span class="id" title="variable">V</span></a>).<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.scaler_eq0"><span class="id" title="lemma">scaler_eq0</span></a> <span class="id" title="var">a</span> <span class="id" title="var">v</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#a"><span class="id" title="variable">a</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#5aa7bcc9ac922e77482767d325fdbb69"><span class="id" title="notation">*:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#v"><span class="id" title="variable">v</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#14a7a9c7dc61f86bfb664d400fabaf8a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#a"><span class="id" title="variable">a</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.ssralg.html#v"><span class="id" title="variable">v</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/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.scaler_eq0"><span class="id" title="lemma">scaler_eq0</span></a> <span class="id" title="var">a</span> <span class="id" title="var">v</span> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#a"><span class="id" title="variable">a</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#10f331d2d40399852634935b8aa18b88"><span class="id" title="notation">*:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#v"><span class="id" title="variable">v</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#df45e8c2e8370fd4f0f7c4fdaf208180"><span class="id" title="notation">==</span></a> 0<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#081ff67d3116402bb680e8692aa39185"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#a"><span class="id" title="variable">a</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#df45e8c2e8370fd4f0f7c4fdaf208180"><span class="id" title="notation">==</span></a> 0<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#081ff67d3116402bb680e8692aa39185"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#081ff67d3116402bb680e8692aa39185"><span class="id" title="notation">||</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#081ff67d3116402bb680e8692aa39185"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#v"><span class="id" title="variable">v</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#df45e8c2e8370fd4f0f7c4fdaf208180"><span class="id" title="notation">==</span></a> 0<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#081ff67d3116402bb680e8692aa39185"><span class="id" title="notation">)</span></a>.<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.rpredZeq"><span class="id" title="lemma">rpredZeq</span></a> <span class="id" title="var">S</span> (<span class="id" title="var">modS</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.submodPred"><span class="id" title="abbreviation">submodPred</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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.ssralg.html#modS"><span class="id" title="variable">modS</span></a>) <span class="id" title="var">a</span> <span class="id" title="var">v</span> :<br/> - <a class="idref" href="http://coq.inria.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#a"><span class="id" title="variable">a</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#5aa7bcc9ac922e77482767d325fdbb69"><span class="id" title="notation">*:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#v"><span class="id" title="variable">v</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#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.Datatypes.html#14a7a9c7dc61f86bfb664d400fabaf8a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#a"><span class="id" title="variable">a</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.ssralg.html#v"><span class="id" title="variable">v</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#kS"><span class="id" title="variable">kS</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/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.rpredZeq"><span class="id" title="lemma">rpredZeq</span></a> <span class="id" title="var">S</span> (<span class="id" title="var">modS</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.submodPred"><span class="id" title="abbreviation">submodPred</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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/V8.9.0/stdlib//Coq.ssr.ssrbool.html#keyed_pred"><span class="id" title="record">keyed_pred</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#modS"><span class="id" title="variable">modS</span></a>) <span class="id" title="var">a</span> <span class="id" title="var">v</span> :<br/> + <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#a"><span class="id" title="variable">a</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#10f331d2d40399852634935b8aa18b88"><span class="id" title="notation">*:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#v"><span class="id" title="variable">v</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#kS"><span class="id" title="variable">kS</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#081ff67d3116402bb680e8692aa39185"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#a"><span class="id" title="variable">a</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#df45e8c2e8370fd4f0f7c4fdaf208180"><span class="id" title="notation">==</span></a> 0<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#081ff67d3116402bb680e8692aa39185"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#081ff67d3116402bb680e8692aa39185"><span class="id" title="notation">||</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#081ff67d3116402bb680e8692aa39185"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#v"><span class="id" title="variable">v</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#kS"><span class="id" title="variable">kS</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#081ff67d3116402bb680e8692aa39185"><span class="id" title="notation">)</span></a>.<br/> <br/> <span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.FieldTheory.ModuleTheory"><span class="id" title="section">ModuleTheory</span></a>.<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.char_lalg"><span class="id" title="lemma">char_lalg</span></a> (<span class="id" title="var">A</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.lalgType"><span class="id" title="abbreviation">lalgType</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.FieldTheory.F"><span class="id" title="variable">F</span></a>) : <a class="idref" href="mathcomp.algebra.ssralg.html#51fab11b73193ca5e8e7a62cac129ebc"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#51fab11b73193ca5e8e7a62cac129ebc"><span class="id" title="notation">char</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#51fab11b73193ca5e8e7a62cac129ebc"><span class="id" title="notation">]</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#20bf07099d6d8cf369383b22fd37862e"><span class="id" title="notation">=</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#20bf07099d6d8cf369383b22fd37862e"><span class="id" title="notation">i</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#51fab11b73193ca5e8e7a62cac129ebc"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#51fab11b73193ca5e8e7a62cac129ebc"><span class="id" title="notation">char</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.FieldTheory.F"><span class="id" title="variable">F</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#51fab11b73193ca5e8e7a62cac129ebc"><span class="id" title="notation">]</span></a>.<br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.char_lalg"><span class="id" title="lemma">char_lalg</span></a> (<span class="id" title="var">A</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.lalgType"><span class="id" title="abbreviation">lalgType</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.FieldTheory.F"><span class="id" title="variable">F</span></a>) : <a class="idref" href="mathcomp.algebra.ssralg.html#7cf08e2f41bbb95903802050d3919698"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#7cf08e2f41bbb95903802050d3919698"><span class="id" title="notation">char</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#7cf08e2f41bbb95903802050d3919698"><span class="id" title="notation">]</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#1e6a438ff685c38fcd9034a94f271777"><span class="id" title="notation">=</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#1e6a438ff685c38fcd9034a94f271777"><span class="id" title="notation">i</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#7cf08e2f41bbb95903802050d3919698"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#7cf08e2f41bbb95903802050d3919698"><span class="id" title="notation">char</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.FieldTheory.F"><span class="id" title="variable">F</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#7cf08e2f41bbb95903802050d3919698"><span class="id" title="notation">]</span></a>.<br/> <br/> <span class="id" title="keyword">Section</span> <a name="GRing.FieldTheory.Predicates"><span class="id" title="section">Predicates</span></a>.<br/> <br/> -<span class="id" title="keyword">Context</span> (<span class="id" title="var">S</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#pred_class"><span class="id" title="abbreviation">pred_class</span></a>) (<span class="id" title="var">divS</span> : @<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.divrPred"><span class="id" title="abbreviation">divrPred</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.FieldTheory.F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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.ssralg.html#divS"><span class="id" title="variable">divS</span></a>).<br/> +<span class="id" title="keyword">Context</span> (<span class="id" title="var">S</span> : <a class="idref" href="mathcomp.ssreflect.ssrbool.html#64f8873130736b599801d4930af00e74"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.ssreflect.ssrbool.html#64f8873130736b599801d4930af00e74"><span class="id" title="notation">pred</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.FieldTheory.F"><span class="id" title="variable">F</span></a><a class="idref" href="mathcomp.ssreflect.ssrbool.html#64f8873130736b599801d4930af00e74"><span class="id" title="notation">}</span></a>) (<span class="id" title="var">divS</span> : @<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.divrPred"><span class="id" title="abbreviation">divrPred</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.FieldTheory.F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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/V8.9.0/stdlib//Coq.ssr.ssrbool.html#keyed_pred"><span class="id" title="record">keyed_pred</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#divS"><span class="id" title="variable">divS</span></a>).<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.fpredMl"><span class="id" title="lemma">fpredMl</span></a> <span class="id" title="var">x</span> <span class="id" title="var">y</span> : <a class="idref" href="mathcomp.algebra.ssralg.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.ssralg.html#GRing.FieldTheory.Predicates.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#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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="http://coq.inria.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#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#ed99e7035d9a1f8a2c1515be81ac2e5f"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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#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#GRing.FieldTheory.Predicates.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.ssralg.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#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#GRing.FieldTheory.Predicates.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/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.fpredMl"><span class="id" title="lemma">fpredMl</span></a> <span class="id" title="var">x</span> <span class="id" title="var">y</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.FieldTheory.Predicates.kS"><span class="id" title="variable">kS</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#c385a484ee9d1b4e0615924561a9b75e"><span class="id" title="notation">!=</span></a> 0 <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f99a2dc6d143aa8f1021ab57e4a19eee"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.FieldTheory.Predicates.kS"><span class="id" title="variable">kS</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.FieldTheory.Predicates.kS"><span class="id" title="variable">kS</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">)</span></a>.<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.fpredMr"><span class="id" title="lemma">fpredMr</span></a> <span class="id" title="var">x</span> <span class="id" title="var">y</span> : <a class="idref" href="mathcomp.algebra.ssralg.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.ssralg.html#GRing.FieldTheory.Predicates.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#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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="http://coq.inria.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#y"><span class="id" title="variable">y</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#ed99e7035d9a1f8a2c1515be81ac2e5f"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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.ssralg.html#GRing.FieldTheory.Predicates.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.ssralg.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#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#GRing.FieldTheory.Predicates.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/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.fpredMr"><span class="id" title="lemma">fpredMr</span></a> <span class="id" title="var">x</span> <span class="id" title="var">y</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.FieldTheory.Predicates.kS"><span class="id" title="variable">kS</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#c385a484ee9d1b4e0615924561a9b75e"><span class="id" title="notation">!=</span></a> 0 <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f99a2dc6d143aa8f1021ab57e4a19eee"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.FieldTheory.Predicates.kS"><span class="id" title="variable">kS</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.FieldTheory.Predicates.kS"><span class="id" title="variable">kS</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">)</span></a>.<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.fpred_divl"><span class="id" title="lemma">fpred_divl</span></a> <span class="id" title="var">x</span> <span class="id" title="var">y</span> : <a class="idref" href="mathcomp.algebra.ssralg.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.ssralg.html#GRing.FieldTheory.Predicates.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#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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="http://coq.inria.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#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#1adb36345c2607a4dd991537de5ddba3"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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#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#GRing.FieldTheory.Predicates.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.ssralg.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#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#GRing.FieldTheory.Predicates.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/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.fpred_divl"><span class="id" title="lemma">fpred_divl</span></a> <span class="id" title="var">x</span> <span class="id" title="var">y</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.FieldTheory.Predicates.kS"><span class="id" title="variable">kS</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#c385a484ee9d1b4e0615924561a9b75e"><span class="id" title="notation">!=</span></a> 0 <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#705c00ff5a03bf84d6828df21a7a7942"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.FieldTheory.Predicates.kS"><span class="id" title="variable">kS</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.FieldTheory.Predicates.kS"><span class="id" title="variable">kS</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">)</span></a>.<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.fpred_divr"><span class="id" title="lemma">fpred_divr</span></a> <span class="id" title="var">x</span> <span class="id" title="var">y</span> : <a class="idref" href="mathcomp.algebra.ssralg.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.ssralg.html#GRing.FieldTheory.Predicates.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#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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="http://coq.inria.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#y"><span class="id" title="variable">y</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#1adb36345c2607a4dd991537de5ddba3"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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.ssralg.html#GRing.FieldTheory.Predicates.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.ssralg.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#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#GRing.FieldTheory.Predicates.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/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.fpred_divr"><span class="id" title="lemma">fpred_divr</span></a> <span class="id" title="var">x</span> <span class="id" title="var">y</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.FieldTheory.Predicates.kS"><span class="id" title="variable">kS</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#c385a484ee9d1b4e0615924561a9b75e"><span class="id" title="notation">!=</span></a> 0 <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#705c00ff5a03bf84d6828df21a7a7942"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.FieldTheory.Predicates.kS"><span class="id" title="variable">kS</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.FieldTheory.Predicates.kS"><span class="id" title="variable">kS</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">)</span></a>.<br/> <br/> <span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.FieldTheory.Predicates"><span class="id" title="section">Predicates</span></a>.<br/> @@ -4848,43 +4869,43 @@ <span class="id" title="keyword">Module</span> <a name="GRing.DecidableField"><span class="id" title="module">DecidableField</span></a>.<br/> <br/> -<span class="id" title="keyword">Definition</span> <a name="GRing.DecidableField.axiom"><span class="id" title="definition">axiom</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">s</span> : <a class="idref" href="mathcomp.ssreflect.seq.html#seq"><span class="id" title="abbreviation">seq</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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="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.ssralg.html#GRing.formula"><span class="id" title="inductive">formula</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#R"><span class="id" title="variable">R</span></a>)) :=<br/> - <span class="id" title="keyword">∀</span> <span class="id" title="var">e</span> <span class="id" title="var">f</span>, <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#reflect"><span class="id" title="abbreviation">reflect</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.holds"><span class="id" title="definition">holds</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#e"><span class="id" title="variable">e</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f"><span class="id" title="variable">f</span></a>) (<a class="idref" href="mathcomp.algebra.ssralg.html#s"><span class="id" title="variable">s</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#e"><span class="id" title="variable">e</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f"><span class="id" title="variable">f</span></a>).<br/> +<span class="id" title="keyword">Definition</span> <a name="GRing.DecidableField.axiom"><span class="id" title="definition">axiom</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">s</span> : <a class="idref" href="mathcomp.ssreflect.seq.html#seq"><span class="id" title="abbreviation">seq</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#R"><span class="id" title="variable">R</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#pred"><span class="id" title="definition">pred</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.formula"><span class="id" title="inductive">formula</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#R"><span class="id" title="variable">R</span></a>)) :=<br/> + <span class="id" title="keyword">∀</span> <span class="id" title="var">e</span> <span class="id" title="var">f</span>, <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#reflect"><span class="id" title="abbreviation">reflect</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.holds"><span class="id" title="definition">holds</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#e"><span class="id" title="variable">e</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f"><span class="id" title="variable">f</span></a>) (<a class="idref" href="mathcomp.algebra.ssralg.html#s"><span class="id" title="variable">s</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#e"><span class="id" title="variable">e</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f"><span class="id" title="variable">f</span></a>).<br/> <br/> <span class="id" title="keyword">Record</span> <a name="GRing.DecidableField.mixin_of"><span class="id" title="record">mixin_of</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="keyword">Type</span> :=<br/> - <a name="GRing.DecidableField.Mixin"><span class="id" title="constructor">Mixin</span></a> { <a name="GRing.DecidableField.sat"><span class="id" title="projection">sat</span></a> : <a class="idref" href="mathcomp.ssreflect.seq.html#seq"><span class="id" title="abbreviation">seq</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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="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.ssralg.html#GRing.formula"><span class="id" title="inductive">formula</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#R"><span class="id" title="variable">R</span></a>); <a name="GRing.DecidableField.satP"><span class="id" title="projection">satP</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.DecidableField.axiom"><span class="id" title="definition">axiom</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#sat"><span class="id" title="method">sat</span></a>}.<br/> + <a name="GRing.DecidableField.Mixin"><span class="id" title="constructor">Mixin</span></a> { <a name="GRing.DecidableField.sat"><span class="id" title="projection">sat</span></a> : <a class="idref" href="mathcomp.ssreflect.seq.html#seq"><span class="id" title="abbreviation">seq</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#R"><span class="id" title="variable">R</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#pred"><span class="id" title="definition">pred</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.formula"><span class="id" title="inductive">formula</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#R"><span class="id" title="variable">R</span></a>); <a name="GRing.DecidableField.satP"><span class="id" title="projection">satP</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.DecidableField.axiom"><span class="id" title="definition">axiom</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#sat"><span class="id" title="method">sat</span></a>}.<br/> <br/> <span class="id" title="keyword">Section</span> <a name="GRing.DecidableField.ClassDef"><span class="id" title="section">ClassDef</span></a>.<br/> <br/> <span class="id" title="keyword">Record</span> <a name="GRing.DecidableField.class_of"><span class="id" title="record">class_of</span></a> (<span class="id" title="var">F</span> : <span class="id" title="keyword">Type</span>) : <span class="id" title="keyword">Type</span> :=<br/> - <a name="GRing.DecidableField.Class"><span class="id" title="constructor">Class</span></a> {<a name="GRing.DecidableField.base"><span class="id" title="projection">base</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Field.class_of"><span class="id" title="record">Field.class_of</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#F"><span class="id" title="variable">F</span></a>; <a name="GRing.DecidableField.mixin"><span class="id" title="projection">mixin</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.DecidableField.mixin_of"><span class="id" title="record">mixin_of</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitRing.Pack"><span class="id" title="constructor">UnitRing.Pack</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#base"><span class="id" title="method">base</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#F"><span class="id" title="variable">F</span></a>)}.<br/> + <a name="GRing.DecidableField.Class"><span class="id" title="constructor">Class</span></a> {<a name="GRing.DecidableField.base"><span class="id" title="projection">base</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Field.class_of"><span class="id" title="record">Field.class_of</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#F"><span class="id" title="variable">F</span></a>; <a name="GRing.DecidableField.mixin"><span class="id" title="projection">mixin</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.DecidableField.mixin_of"><span class="id" title="record">mixin_of</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitRing.Pack"><span class="id" title="constructor">UnitRing.Pack</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#base"><span class="id" title="method">base</span></a>)}.<br/> <br/> -<span class="id" title="keyword">Structure</span> <a name="GRing.DecidableField.type"><span class="id" title="record">type</span></a> := <a name="GRing.DecidableField.Pack"><span class="id" title="constructor">Pack</span></a> {<a name="GRing.DecidableField.sort"><span class="id" title="projection">sort</span></a>; <span class="id" title="var">_</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.DecidableField.class_of"><span class="id" title="record">class_of</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#sort"><span class="id" title="method">sort</span></a>; <span class="id" title="var">_</span> : <span class="id" title="keyword">Type</span>}.<br/> +<span class="id" title="keyword">Structure</span> <a name="GRing.DecidableField.type"><span class="id" title="record">type</span></a> := <a name="GRing.DecidableField.Pack"><span class="id" title="constructor">Pack</span></a> {<a name="GRing.DecidableField.sort"><span class="id" title="projection">sort</span></a>; <span class="id" title="var">_</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.DecidableField.class_of"><span class="id" title="record">class_of</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#sort"><span class="id" title="method">sort</span></a>}.<br/> <span class="id" title="keyword">Variable</span> (<a name="GRing.DecidableField.ClassDef.T"><span class="id" title="variable">T</span></a> : <span class="id" title="keyword">Type</span>) (<a name="GRing.DecidableField.ClassDef.cT"><span class="id" title="variable">cT</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.DecidableField.type"><span class="id" title="record">type</span></a>).<br/> -<span class="id" title="keyword">Definition</span> <a name="GRing.DecidableField.class"><span class="id" title="definition">class</span></a> := <span class="id" title="keyword">let</span>: <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.DecidableField.Pack"><span class="id" title="constructor">Pack</span></a> <span class="id" title="var">_</span> <span class="id" title="var">c</span> <span class="id" title="var">_</span> <span class="id" title="keyword">as</span> <span class="id" title="var">cT'</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.DecidableField.ClassDef.cT"><span class="id" title="variable">cT</span></a> <span class="id" title="keyword">return</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.DecidableField.class_of"><span class="id" title="record">class_of</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#cT'"><span class="id" title="variable">cT'</span></a> <span class="id" title="tactic">in</span> <span class="id" title="var">c</span>.<br/> -<span class="id" title="keyword">Definition</span> <a name="GRing.DecidableField.clone"><span class="id" title="definition">clone</span></a> <span class="id" title="var">c</span> <span class="id" title="keyword">of</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#phant_id"><span class="id" title="definition">phant_id</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.DecidableField.class"><span class="id" title="definition">class</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#c"><span class="id" title="variable">c</span></a> := @<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.DecidableField.Pack"><span class="id" title="constructor">Pack</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.DecidableField.ClassDef.T"><span class="id" title="variable">T</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#c"><span class="id" title="variable">c</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.DecidableField.ClassDef.T"><span class="id" title="variable">T</span></a>.<br/> -<span class="id" title="keyword">Let</span> <a name="GRing.DecidableField.ClassDef.xT"><span class="id" title="variable">xT</span></a> := <span class="id" title="keyword">let</span>: <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.DecidableField.Pack"><span class="id" title="constructor">Pack</span></a> <span class="id" title="var">T</span> <span class="id" title="var">_</span> <span class="id" title="var">_</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.DecidableField.ClassDef.cT"><span class="id" title="variable">cT</span></a> <span class="id" title="tactic">in</span> <span class="id" title="var">T</span>.<br/> -<span class="id" title="keyword">Notation</span> <a name="GRing.DecidableField.xclass"><span class="id" title="abbreviation">xclass</span></a> := (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.DecidableField.class"><span class="id" title="definition">class</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.ssralg.html#GRing.DecidableField.class_of"><span class="id" title="record">class_of</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.DecidableField.ClassDef.xT"><span class="id" title="variable">xT</span></a>).<br/> +<span class="id" title="keyword">Definition</span> <a name="GRing.DecidableField.class"><span class="id" title="definition">class</span></a> := <span class="id" title="keyword">let</span>: <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.DecidableField.Pack"><span class="id" title="constructor">Pack</span></a> <span class="id" title="var">_</span> <span class="id" title="var">c</span> <span class="id" title="keyword">as</span> <span class="id" title="var">cT'</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.DecidableField.ClassDef.cT"><span class="id" title="variable">cT</span></a> <span class="id" title="keyword">return</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.DecidableField.class_of"><span class="id" title="record">class_of</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#cT'"><span class="id" title="variable">cT'</span></a> <span class="id" title="tactic">in</span> <span class="id" title="var">c</span>.<br/> +<span class="id" title="keyword">Definition</span> <a name="GRing.DecidableField.clone"><span class="id" title="definition">clone</span></a> <span class="id" title="var">c</span> <span class="id" title="keyword">of</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#phant_id"><span class="id" title="definition">phant_id</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.DecidableField.class"><span class="id" title="definition">class</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#c"><span class="id" title="variable">c</span></a> := @<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.DecidableField.Pack"><span class="id" title="constructor">Pack</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.DecidableField.ClassDef.T"><span class="id" title="variable">T</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#c"><span class="id" title="variable">c</span></a>.<br/> +<span class="id" title="keyword">Let</span> <a name="GRing.DecidableField.ClassDef.xT"><span class="id" title="variable">xT</span></a> := <span class="id" title="keyword">let</span>: <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.DecidableField.Pack"><span class="id" title="constructor">Pack</span></a> <span class="id" title="var">T</span> <span class="id" title="var">_</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.DecidableField.ClassDef.cT"><span class="id" title="variable">cT</span></a> <span class="id" title="tactic">in</span> <span class="id" title="var">T</span>.<br/> +<span class="id" title="keyword">Notation</span> <a name="GRing.DecidableField.xclass"><span class="id" title="abbreviation">xclass</span></a> := (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.DecidableField.class"><span class="id" title="definition">class</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssreflect.html#aed478b27f23b4f753c27c8ac393febc"><span class="id" title="notation">:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.DecidableField.class_of"><span class="id" title="record">class_of</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.DecidableField.ClassDef.xT"><span class="id" title="variable">xT</span></a>).<br/> <br/> -<span class="id" title="keyword">Definition</span> <a name="GRing.DecidableField.pack"><span class="id" title="definition">pack</span></a> <span class="id" title="var">b0</span> (<span class="id" title="var">m0</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.DecidableField.mixin_of"><span class="id" title="record">mixin_of</span></a> (@<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitRing.Pack"><span class="id" title="constructor">UnitRing.Pack</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.DecidableField.ClassDef.T"><span class="id" title="variable">T</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b0"><span class="id" title="variable">b0</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.DecidableField.ClassDef.T"><span class="id" title="variable">T</span></a>)) :=<br/> - <span class="id" title="keyword">fun</span> <span class="id" title="var">bT</span> <span class="id" title="var">b</span> & <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#phant_id"><span class="id" title="definition">phant_id</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Field.class"><span class="id" title="definition">Field.class</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#bT"><span class="id" title="variable">bT</span></a>) <a class="idref" href="mathcomp.algebra.ssralg.html#b"><span class="id" title="variable">b</span></a> ⇒<br/> - <span class="id" title="keyword">fun</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#phant_id"><span class="id" title="definition">phant_id</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#m0"><span class="id" title="variable">m0</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#m"><span class="id" title="variable">m</span></a> ⇒ <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.DecidableField.Pack"><span class="id" title="constructor">Pack</span></a> (@<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.DecidableField.Class"><span class="id" title="constructor">Class</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.DecidableField.ClassDef.T"><span class="id" title="variable">T</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b"><span class="id" title="variable">b</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#m"><span class="id" title="variable">m</span></a>) <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.DecidableField.ClassDef.T"><span class="id" title="variable">T</span></a>.<br/> +<span class="id" title="keyword">Definition</span> <a name="GRing.DecidableField.pack"><span class="id" title="definition">pack</span></a> <span class="id" title="var">b0</span> (<span class="id" title="var">m0</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.DecidableField.mixin_of"><span class="id" title="record">mixin_of</span></a> (@<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitRing.Pack"><span class="id" title="constructor">UnitRing.Pack</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.DecidableField.ClassDef.T"><span class="id" title="variable">T</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b0"><span class="id" title="variable">b0</span></a>)) :=<br/> + <span class="id" title="keyword">fun</span> <span class="id" title="var">bT</span> <span class="id" title="var">b</span> & <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#phant_id"><span class="id" title="definition">phant_id</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Field.class"><span class="id" title="definition">Field.class</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#bT"><span class="id" title="variable">bT</span></a>) <a class="idref" href="mathcomp.algebra.ssralg.html#b"><span class="id" title="variable">b</span></a> ⇒<br/> + <span class="id" title="keyword">fun</span> <span class="id" title="var">m</span> & <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#phant_id"><span class="id" title="definition">phant_id</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#m0"><span class="id" title="variable">m0</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#m"><span class="id" title="variable">m</span></a> ⇒ <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.DecidableField.Pack"><span class="id" title="constructor">Pack</span></a> (@<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.DecidableField.Class"><span class="id" title="constructor">Class</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.DecidableField.ClassDef.T"><span class="id" title="variable">T</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b"><span class="id" title="variable">b</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#m"><span class="id" title="variable">m</span></a>).<br/> <br/> -<span class="id" title="keyword">Definition</span> <a name="GRing.DecidableField.eqType"><span class="id" title="definition">eqType</span></a> := @<a class="idref" href="mathcomp.ssreflect.eqtype.html#Equality.Pack"><span class="id" title="constructor">Equality.Pack</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.DecidableField.ClassDef.cT"><span class="id" title="variable">cT</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.DecidableField.xclass"><span class="id" title="abbreviation">xclass</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.DecidableField.ClassDef.xT"><span class="id" title="variable">xT</span></a>.<br/> -<span class="id" title="keyword">Definition</span> <a name="GRing.DecidableField.choiceType"><span class="id" title="definition">choiceType</span></a> := @<a class="idref" href="mathcomp.ssreflect.choice.html#Choice.Pack"><span class="id" title="constructor">Choice.Pack</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.DecidableField.ClassDef.cT"><span class="id" title="variable">cT</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.DecidableField.xclass"><span class="id" title="abbreviation">xclass</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.DecidableField.ClassDef.xT"><span class="id" title="variable">xT</span></a>.<br/> -<span class="id" title="keyword">Definition</span> <a name="GRing.DecidableField.zmodType"><span class="id" title="definition">zmodType</span></a> := @<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Zmodule.Pack"><span class="id" title="constructor">Zmodule.Pack</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.DecidableField.ClassDef.cT"><span class="id" title="variable">cT</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.DecidableField.xclass"><span class="id" title="abbreviation">xclass</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.DecidableField.ClassDef.xT"><span class="id" title="variable">xT</span></a>.<br/> -<span class="id" title="keyword">Definition</span> <a name="GRing.DecidableField.ringType"><span class="id" title="definition">ringType</span></a> := @<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Ring.Pack"><span class="id" title="constructor">Ring.Pack</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.DecidableField.ClassDef.cT"><span class="id" title="variable">cT</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.DecidableField.xclass"><span class="id" title="abbreviation">xclass</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.DecidableField.ClassDef.xT"><span class="id" title="variable">xT</span></a>.<br/> -<span class="id" title="keyword">Definition</span> <a name="GRing.DecidableField.comRingType"><span class="id" title="definition">comRingType</span></a> := @<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComRing.Pack"><span class="id" title="constructor">ComRing.Pack</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.DecidableField.ClassDef.cT"><span class="id" title="variable">cT</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.DecidableField.xclass"><span class="id" title="abbreviation">xclass</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.DecidableField.ClassDef.xT"><span class="id" title="variable">xT</span></a>.<br/> -<span class="id" title="keyword">Definition</span> <a name="GRing.DecidableField.unitRingType"><span class="id" title="definition">unitRingType</span></a> := @<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitRing.Pack"><span class="id" title="constructor">UnitRing.Pack</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.DecidableField.ClassDef.cT"><span class="id" title="variable">cT</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.DecidableField.xclass"><span class="id" title="abbreviation">xclass</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.DecidableField.ClassDef.xT"><span class="id" title="variable">xT</span></a>.<br/> -<span class="id" title="keyword">Definition</span> <a name="GRing.DecidableField.comUnitRingType"><span class="id" title="definition">comUnitRingType</span></a> := @<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComUnitRing.Pack"><span class="id" title="constructor">ComUnitRing.Pack</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.DecidableField.ClassDef.cT"><span class="id" title="variable">cT</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.DecidableField.xclass"><span class="id" title="abbreviation">xclass</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.DecidableField.ClassDef.xT"><span class="id" title="variable">xT</span></a>.<br/> -<span class="id" title="keyword">Definition</span> <a name="GRing.DecidableField.idomainType"><span class="id" title="definition">idomainType</span></a> := @<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.IntegralDomain.Pack"><span class="id" title="constructor">IntegralDomain.Pack</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.DecidableField.ClassDef.cT"><span class="id" title="variable">cT</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.DecidableField.xclass"><span class="id" title="abbreviation">xclass</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.DecidableField.ClassDef.xT"><span class="id" title="variable">xT</span></a>.<br/> -<span class="id" title="keyword">Definition</span> <a name="GRing.DecidableField.fieldType"><span class="id" title="definition">fieldType</span></a> := @<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Field.Pack"><span class="id" title="constructor">Field.Pack</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.DecidableField.ClassDef.cT"><span class="id" title="variable">cT</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.DecidableField.xclass"><span class="id" title="abbreviation">xclass</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.DecidableField.ClassDef.xT"><span class="id" title="variable">xT</span></a>.<br/> +<span class="id" title="keyword">Definition</span> <a name="GRing.DecidableField.eqType"><span class="id" title="definition">eqType</span></a> := @<a class="idref" href="mathcomp.ssreflect.eqtype.html#Equality.Pack"><span class="id" title="constructor">Equality.Pack</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.DecidableField.ClassDef.cT"><span class="id" title="variable">cT</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.DecidableField.xclass"><span class="id" title="abbreviation">xclass</span></a>.<br/> +<span class="id" title="keyword">Definition</span> <a name="GRing.DecidableField.choiceType"><span class="id" title="definition">choiceType</span></a> := @<a class="idref" href="mathcomp.ssreflect.choice.html#Choice.Pack"><span class="id" title="constructor">Choice.Pack</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.DecidableField.ClassDef.cT"><span class="id" title="variable">cT</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.DecidableField.xclass"><span class="id" title="abbreviation">xclass</span></a>.<br/> +<span class="id" title="keyword">Definition</span> <a name="GRing.DecidableField.zmodType"><span class="id" title="definition">zmodType</span></a> := @<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Zmodule.Pack"><span class="id" title="constructor">Zmodule.Pack</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.DecidableField.ClassDef.cT"><span class="id" title="variable">cT</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.DecidableField.xclass"><span class="id" title="abbreviation">xclass</span></a>.<br/> +<span class="id" title="keyword">Definition</span> <a name="GRing.DecidableField.ringType"><span class="id" title="definition">ringType</span></a> := @<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Ring.Pack"><span class="id" title="constructor">Ring.Pack</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.DecidableField.ClassDef.cT"><span class="id" title="variable">cT</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.DecidableField.xclass"><span class="id" title="abbreviation">xclass</span></a>.<br/> +<span class="id" title="keyword">Definition</span> <a name="GRing.DecidableField.comRingType"><span class="id" title="definition">comRingType</span></a> := @<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComRing.Pack"><span class="id" title="constructor">ComRing.Pack</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.DecidableField.ClassDef.cT"><span class="id" title="variable">cT</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.DecidableField.xclass"><span class="id" title="abbreviation">xclass</span></a>.<br/> +<span class="id" title="keyword">Definition</span> <a name="GRing.DecidableField.unitRingType"><span class="id" title="definition">unitRingType</span></a> := @<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitRing.Pack"><span class="id" title="constructor">UnitRing.Pack</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.DecidableField.ClassDef.cT"><span class="id" title="variable">cT</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.DecidableField.xclass"><span class="id" title="abbreviation">xclass</span></a>.<br/> +<span class="id" title="keyword">Definition</span> <a name="GRing.DecidableField.comUnitRingType"><span class="id" title="definition">comUnitRingType</span></a> := @<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComUnitRing.Pack"><span class="id" title="constructor">ComUnitRing.Pack</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.DecidableField.ClassDef.cT"><span class="id" title="variable">cT</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.DecidableField.xclass"><span class="id" title="abbreviation">xclass</span></a>.<br/> +<span class="id" title="keyword">Definition</span> <a name="GRing.DecidableField.idomainType"><span class="id" title="definition">idomainType</span></a> := @<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.IntegralDomain.Pack"><span class="id" title="constructor">IntegralDomain.Pack</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.DecidableField.ClassDef.cT"><span class="id" title="variable">cT</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.DecidableField.xclass"><span class="id" title="abbreviation">xclass</span></a>.<br/> +<span class="id" title="keyword">Definition</span> <a name="GRing.DecidableField.fieldType"><span class="id" title="definition">fieldType</span></a> := @<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Field.Pack"><span class="id" title="constructor">Field.Pack</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.DecidableField.ClassDef.cT"><span class="id" title="variable">cT</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.DecidableField.xclass"><span class="id" title="abbreviation">xclass</span></a>.<br/> <br/> <span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.DecidableField.ClassDef"><span class="id" title="section">ClassDef</span></a>.<br/> @@ -4913,11 +4934,11 @@ <span class="id" title="keyword">Coercion</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.DecidableField.fieldType"><span class="id" title="definition">fieldType</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.DecidableField.fieldType"><span class="id" title="definition">:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.DecidableField.fieldType"><span class="id" title="definition">type</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.DecidableField.fieldType"><span class="id" title="definition">>-></span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.DecidableField.fieldType"><span class="id" title="definition">Field.type</span></a>.<br/> <span class="id" title="keyword">Canonical</span> <span class="id" title="var">fieldType</span>.<br/> <span class="id" title="keyword">Notation</span> <a name="GRing.DecidableField.Exports.decFieldType"><span class="id" title="abbreviation">decFieldType</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.DecidableField.type"><span class="id" title="record">type</span></a>.<br/> -<span class="id" title="keyword">Notation</span> <a name="GRing.DecidableField.Exports.DecFieldType"><span class="id" title="abbreviation">DecFieldType</span></a> <span class="id" title="var">T</span> <span class="id" title="var">m</span> := (@<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.DecidableField.pack"><span class="id" title="definition">pack</span></a> <span class="id" title="var">T</span> <span class="id" title="var">_</span> <span class="id" title="var">m</span> <span class="id" title="var">_</span> <span class="id" title="var">_</span> <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> <span class="id" title="var">_</span> <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>).<br/> +<span class="id" title="keyword">Notation</span> <a name="GRing.DecidableField.Exports.DecFieldType"><span class="id" title="abbreviation">DecFieldType</span></a> <span class="id" title="var">T</span> <span class="id" title="var">m</span> := (@<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.DecidableField.pack"><span class="id" title="definition">pack</span></a> <span class="id" title="var">T</span> <span class="id" title="var">_</span> <span class="id" title="var">m</span> <span class="id" title="var">_</span> <span class="id" title="var">_</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#id"><span class="id" title="abbreviation">id</span></a> <span class="id" title="var">_</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#id"><span class="id" title="abbreviation">id</span></a>).<br/> <span class="id" title="keyword">Notation</span> <a name="GRing.DecidableField.Exports.DecFieldMixin"><span class="id" title="abbreviation">DecFieldMixin</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.DecidableField.Mixin"><span class="id" title="constructor">Mixin</span></a>.<br/> -<span class="id" title="keyword">Notation</span> <a name="571e046df0f3cfb95cda10363e01c19e"><span class="id" title="notation">"</span></a>[ 'decFieldType' 'of' T 'for' cT ]" := (@<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.DecidableField.clone"><span class="id" title="definition">clone</span></a> <span class="id" title="var">T</span> <span class="id" title="var">cT</span> <span class="id" title="var">_</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#idfun"><span class="id" title="abbreviation">idfun</span></a>)<br/> +<span class="id" title="keyword">Notation</span> <a name="29a9c5427a3ebd772d1548a40a20219d"><span class="id" title="notation">"</span></a>[ 'decFieldType' 'of' T 'for' cT ]" := (@<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.DecidableField.clone"><span class="id" title="definition">clone</span></a> <span class="id" title="var">T</span> <span class="id" title="var">cT</span> <span class="id" title="var">_</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#idfun"><span class="id" title="abbreviation">idfun</span></a>)<br/> (<span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 0, <span class="id" title="var">format</span> "[ 'decFieldType' 'of' T 'for' cT ]") : <span class="id" title="var">form_scope</span>.<br/> -<span class="id" title="keyword">Notation</span> <a name="69397cdbaa48460ee270e9344cbfe301"><span class="id" title="notation">"</span></a>[ 'decFieldType' 'of' T ]" := (@<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.DecidableField.clone"><span class="id" title="definition">clone</span></a> <span class="id" title="var">T</span> <span class="id" title="var">_</span> <span class="id" title="var">_</span> <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>)<br/> +<span class="id" title="keyword">Notation</span> <a name="e40d136c069cdf352d78bc69141aeefa"><span class="id" title="notation">"</span></a>[ 'decFieldType' 'of' T ]" := (@<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.DecidableField.clone"><span class="id" title="definition">clone</span></a> <span class="id" title="var">T</span> <span class="id" title="var">_</span> <span class="id" title="var">_</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#id"><span class="id" title="abbreviation">id</span></a>)<br/> (<span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 0, <span class="id" title="var">format</span> "[ 'decFieldType' 'of' T ]") : <span class="id" title="var">form_scope</span>.<br/> <span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.DecidableField.Exports"><span class="id" title="module">Exports</span></a>.<br/> @@ -4939,26 +4960,26 @@ <br/> <span class="id" title="keyword">Fact</span> <a name="GRing.sol_subproof"><span class="id" title="lemma">sol_subproof</span></a> <span class="id" title="var">n</span> <span class="id" title="var">f</span> :<br/> - <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">s</span><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#84eb6d2849dbf3581b1c0c05add5f2d8"><span class="id" title="notation">,</span></a> <a class="idref" href="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.seq.html#size"><span class="id" title="definition">size</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#s"><span class="id" title="variable">s</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#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#49ac24efa716d8b0ee8943bc1d1769a9"><span class="id" title="notation">&&</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.sat"><span class="id" title="definition">sat</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#s"><span class="id" title="variable">s</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f"><span class="id" title="variable">f</span></a>)<br/> - (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.sat"><span class="id" title="definition">sat</span></a> <a class="idref" href="mathcomp.ssreflect.seq.html#747e2b5d553b2dfe76e024e1f8fb39d1"><span class="id" title="notation">[::]</span></a> (<a class="idref" href="mathcomp.ssreflect.seq.html#foldr"><span class="id" title="definition">foldr</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Exists"><span class="id" title="constructor">Exists</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f"><span class="id" title="variable">f</span></a> (<a class="idref" href="mathcomp.ssreflect.seq.html#iota"><span class="id" title="definition">iota</span></a> 0 <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a>))).<br/> + <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#reflect"><span class="id" title="abbreviation">reflect</span></a> (<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#a883bdd010993579f99d60b3775bcf54"><span class="id" title="notation">∃</span></a> <span class="id" title="var">s</span><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#a883bdd010993579f99d60b3775bcf54"><span class="id" title="notation">,</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#9ddeac0ab66152bd1d64bedb507a795e"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.seq.html#size"><span class="id" title="definition">size</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#s"><span class="id" title="variable">s</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#df45e8c2e8370fd4f0f7c4fdaf208180"><span class="id" title="notation">==</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#9ddeac0ab66152bd1d64bedb507a795e"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#9ddeac0ab66152bd1d64bedb507a795e"><span class="id" title="notation">&&</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.sat"><span class="id" title="definition">sat</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#s"><span class="id" title="variable">s</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f"><span class="id" title="variable">f</span></a>)<br/> + (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.sat"><span class="id" title="definition">sat</span></a> <a class="idref" href="mathcomp.ssreflect.seq.html#0a934e621391740b862762275992e626"><span class="id" title="notation">[::]</span></a> (<a class="idref" href="mathcomp.ssreflect.seq.html#foldr"><span class="id" title="definition">foldr</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Exists"><span class="id" title="constructor">Exists</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f"><span class="id" title="variable">f</span></a> (<a class="idref" href="mathcomp.ssreflect.seq.html#iota"><span class="id" title="definition">iota</span></a> 0 <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a>))).<br/> <br/> <span class="id" title="keyword">Definition</span> <a name="GRing.sol"><span class="id" title="definition">sol</span></a> <span class="id" title="var">n</span> <span class="id" title="var">f</span> :=<br/> <span class="id" title="keyword">if</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.sol_subproof"><span class="id" title="lemma">sol_subproof</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f"><span class="id" title="variable">f</span></a> <span class="id" title="keyword">is</span> <span class="id" title="var">ReflectT</span> <span class="id" title="var">sP</span> <span class="id" title="keyword">then</span> <a class="idref" href="mathcomp.ssreflect.choice.html#xchoose"><span class="id" title="definition">xchoose</span></a> <span class="id" title="var">sP</span> <span class="id" title="keyword">else</span> <a class="idref" href="mathcomp.ssreflect.seq.html#nseq"><span class="id" title="definition">nseq</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a> 0.<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.size_sol"><span class="id" title="lemma">size_sol</span></a> <span class="id" title="var">n</span> <span class="id" title="var">f</span> : <a class="idref" href="mathcomp.ssreflect.seq.html#size"><span class="id" title="definition">size</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.sol"><span class="id" title="definition">sol</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#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#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a>.<br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.size_sol"><span class="id" title="lemma">size_sol</span></a> <span class="id" title="var">n</span> <span class="id" title="var">f</span> : <a class="idref" href="mathcomp.ssreflect.seq.html#size"><span class="id" title="definition">size</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.sol"><span class="id" title="definition">sol</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f"><span class="id" title="variable">f</span></a>) <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a>.<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.solP"><span class="id" title="lemma">solP</span></a> <span class="id" title="var">n</span> <span class="id" title="var">f</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#reflect"><span class="id" title="abbreviation">reflect</span></a> (<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#28b18e493f7cb0bd8447607bdc385ff8"><span class="id" title="notation">exists2</span></a> <span class="id" title="var">s</span><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#28b18e493f7cb0bd8447607bdc385ff8"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.ssreflect.seq.html#size"><span class="id" title="definition">size</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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#28b18e493f7cb0bd8447607bdc385ff8"><span class="id" title="notation">&</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.holds"><span class="id" title="definition">holds</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#s"><span class="id" title="variable">s</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f"><span class="id" title="variable">f</span></a>) (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.sat"><span class="id" title="definition">sat</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.sol"><span class="id" title="definition">sol</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f"><span class="id" title="variable">f</span></a>) <a class="idref" href="mathcomp.algebra.ssralg.html#f"><span class="id" title="variable">f</span></a>).<br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.solP"><span class="id" title="lemma">solP</span></a> <span class="id" title="var">n</span> <span class="id" title="var">f</span> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#reflect"><span class="id" title="abbreviation">reflect</span></a> (<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#3df228c109f14f0423b4fccc967ee1ac"><span class="id" title="notation">exists2</span></a> <span class="id" title="var">s</span><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#3df228c109f14f0423b4fccc967ee1ac"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.ssreflect.seq.html#size"><span class="id" title="definition">size</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#s"><span class="id" title="variable">s</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#3df228c109f14f0423b4fccc967ee1ac"><span class="id" title="notation">&</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.holds"><span class="id" title="definition">holds</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#s"><span class="id" title="variable">s</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f"><span class="id" title="variable">f</span></a>) (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.sat"><span class="id" title="definition">sat</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.sol"><span class="id" title="definition">sol</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f"><span class="id" title="variable">f</span></a>) <a class="idref" href="mathcomp.algebra.ssralg.html#f"><span class="id" title="variable">f</span></a>).<br/> <br/> <span class="id" title="keyword">Lemma</span> <a name="GRing.eq_sat"><span class="id" title="lemma">eq_sat</span></a> <span class="id" title="var">f1</span> <span class="id" title="var">f2</span> :<br/> - <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">e</span>, <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.holds"><span class="id" title="definition">holds</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#e"><span class="id" title="variable">e</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f1"><span class="id" title="variable">f1</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#df1ced36fc33ce188051218bca314374"><span class="id" title="notation">↔</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.holds"><span class="id" title="definition">holds</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#e"><span class="id" title="variable">e</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f2"><span class="id" title="variable">f2</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.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.sat"><span class="id" title="definition">sat</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.ssralg.html#f1"><span class="id" title="variable">f1</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="mathcomp.algebra.ssralg.html#GRing.sat"><span class="id" title="definition">sat</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.ssralg.html#f2"><span class="id" title="variable">f2</span></a>.<br/> + <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">(</span></a><span class="id" title="keyword">∀</span> <span class="id" title="var">e</span>, <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.holds"><span class="id" title="definition">holds</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#e"><span class="id" title="variable">e</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f1"><span class="id" title="variable">f1</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#4bfb4f2d0721ba668e3a802ab1b745a1"><span class="id" title="notation">↔</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.holds"><span class="id" title="definition">holds</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#e"><span class="id" title="variable">e</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f2"><span class="id" title="variable">f2</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.sat"><span class="id" title="definition">sat</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#d89396f990d6b54d736cfe259e498cf4"><span class="id" title="notation">^~</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f1"><span class="id" title="variable">f1</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#876aa133fb3472bffd492f74ff496035"><span class="id" title="notation">=1</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.sat"><span class="id" title="definition">sat</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#d89396f990d6b54d736cfe259e498cf4"><span class="id" title="notation">^~</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f2"><span class="id" title="variable">f2</span></a>.<br/> <br/> <span class="id" title="keyword">Lemma</span> <a name="GRing.eq_sol"><span class="id" title="lemma">eq_sol</span></a> <span class="id" title="var">f1</span> <span class="id" title="var">f2</span> :<br/> - <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">e</span>, <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.holds"><span class="id" title="definition">holds</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#e"><span class="id" title="variable">e</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f1"><span class="id" title="variable">f1</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#df1ced36fc33ce188051218bca314374"><span class="id" title="notation">↔</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.holds"><span class="id" title="definition">holds</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#e"><span class="id" title="variable">e</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f2"><span class="id" title="variable">f2</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.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.sol"><span class="id" title="definition">sol</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.ssralg.html#f1"><span class="id" title="variable">f1</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="mathcomp.algebra.ssralg.html#GRing.sol"><span class="id" title="definition">sol</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.ssralg.html#f2"><span class="id" title="variable">f2</span></a>.<br/> + <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">(</span></a><span class="id" title="keyword">∀</span> <span class="id" title="var">e</span>, <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.holds"><span class="id" title="definition">holds</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#e"><span class="id" title="variable">e</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f1"><span class="id" title="variable">f1</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#4bfb4f2d0721ba668e3a802ab1b745a1"><span class="id" title="notation">↔</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.holds"><span class="id" title="definition">holds</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#e"><span class="id" title="variable">e</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f2"><span class="id" title="variable">f2</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.sol"><span class="id" title="definition">sol</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#d89396f990d6b54d736cfe259e498cf4"><span class="id" title="notation">^~</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f1"><span class="id" title="variable">f1</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#876aa133fb3472bffd492f74ff496035"><span class="id" title="notation">=1</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.sol"><span class="id" title="definition">sol</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#d89396f990d6b54d736cfe259e498cf4"><span class="id" title="notation">^~</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f2"><span class="id" title="variable">f2</span></a>.<br/> <br/> <span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.DecidableFieldTheory"><span class="id" title="section">DecidableFieldTheory</span></a>.<br/> @@ -4973,7 +4994,7 @@ <span class="id" title="keyword">Implicit</span> <span class="id" title="keyword">Type</span> <span class="id" title="var">f</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.formula"><span class="id" title="inductive">formula</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.QE_Mixin.F"><span class="id" title="variable">F</span></a>.<br/> <br/> -<span class="id" title="keyword">Variable</span> <a name="GRing.QE_Mixin.proj"><span class="id" title="variable">proj</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#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.ssreflect.seq.html#seq"><span class="id" title="abbreviation">seq</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.term"><span class="id" title="inductive">term</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.QE_Mixin.F"><span class="id" title="variable">F</span></a>) <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#d19c7eafd0e2d195d10df94b392087b5"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.ssreflect.seq.html#seq"><span class="id" title="abbreviation">seq</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.term"><span class="id" title="inductive">term</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.QE_Mixin.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.ssralg.html#GRing.formula"><span class="id" title="inductive">formula</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.QE_Mixin.F"><span class="id" title="variable">F</span></a>.<br/> +<span class="id" title="keyword">Variable</span> <a name="GRing.QE_Mixin.proj"><span class="id" title="variable">proj</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#nat"><span class="id" title="inductive">nat</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.ssreflect.seq.html#seq"><span class="id" title="abbreviation">seq</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.term"><span class="id" title="inductive">term</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.QE_Mixin.F"><span class="id" title="variable">F</span></a>) <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#11c698c8685bb8ab1cf725545c085ac4"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.ssreflect.seq.html#seq"><span class="id" title="abbreviation">seq</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.term"><span class="id" title="inductive">term</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.QE_Mixin.F"><span class="id" title="variable">F</span></a>) <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.formula"><span class="id" title="inductive">formula</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.QE_Mixin.F"><span class="id" title="variable">F</span></a>.<br/> </div> <div class="doc"> @@ -4985,7 +5006,7 @@ <div class="code"> <span class="id" title="keyword">Definition</span> <a name="GRing.wf_QE_proj"><span class="id" title="definition">wf_QE_proj</span></a> :=<br/> <span class="id" title="keyword">∀</span> <span class="id" title="var">i</span> <span class="id" title="var">bc</span> (<span class="id" title="var">bc_i</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.QE_Mixin.proj"><span class="id" title="variable">proj</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#bc"><span class="id" title="variable">bc</span></a>),<br/> - <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.dnf_rterm"><span class="id" title="definition">dnf_rterm</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#bc"><span class="id" title="variable">bc</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.qf_form"><span class="id" title="definition">qf_form</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#bc_i"><span class="id" title="variable">bc_i</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.ssralg.html#GRing.rformula"><span class="id" title="definition">rformula</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#bc_i"><span class="id" title="variable">bc_i</span></a>.<br/> + <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.dnf_rterm"><span class="id" title="definition">dnf_rterm</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#bc"><span class="id" title="variable">bc</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.qf_form"><span class="id" title="definition">qf_form</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#bc_i"><span class="id" title="variable">bc_i</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#9ddeac0ab66152bd1d64bedb507a795e"><span class="id" title="notation">&&</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.rformula"><span class="id" title="definition">rformula</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#bc_i"><span class="id" title="variable">bc_i</span></a>.<br/> <br/> </div> @@ -4995,34 +5016,34 @@ </div> <div class="code"> <span class="id" title="keyword">Definition</span> <a name="GRing.valid_QE_proj"><span class="id" title="definition">valid_QE_proj</span></a> :=<br/> - <span class="id" title="keyword">∀</span> <span class="id" title="var">i</span> <span class="id" title="var">bc</span> (<span class="id" title="var">ex_i_bc</span> := (<a class="idref" href="mathcomp.algebra.ssralg.html#cde0c417a2306d50158e89540db8c60d"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#cde0c417a2306d50158e89540db8c60d"><span class="id" title="notation">∃</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#cde0c417a2306d50158e89540db8c60d"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#cde0c417a2306d50158e89540db8c60d"><span class="id" title="notation">X_i</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#cde0c417a2306d50158e89540db8c60d"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.dnf_to_form"><span class="id" title="definition">dnf_to_form</span></a> <a class="idref" href="mathcomp.ssreflect.seq.html#36229928b54642a4a7da943ccf8f9612"><span class="id" title="notation">[::</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#bc"><span class="id" title="variable">bc</span></a><a class="idref" href="mathcomp.ssreflect.seq.html#36229928b54642a4a7da943ccf8f9612"><span class="id" title="notation">]</span></a>)%<span class="id" title="var">T</span>) <span class="id" title="var">e</span>,<br/> - <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.dnf_rterm"><span class="id" title="definition">dnf_rterm</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#bc"><span class="id" title="variable">bc</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#reflect"><span class="id" title="abbreviation">reflect</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.holds"><span class="id" title="definition">holds</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#e"><span class="id" title="variable">e</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#ex_i_bc"><span class="id" title="variable">ex_i_bc</span></a>) (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.qf_eval"><span class="id" title="definition">qf_eval</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#e"><span class="id" title="variable">e</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.QE_Mixin.proj"><span class="id" title="variable">proj</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#bc"><span class="id" title="variable">bc</span></a>)).<br/> + <span class="id" title="keyword">∀</span> <span class="id" title="var">i</span> <span class="id" title="var">bc</span> (<span class="id" title="var">ex_i_bc</span> := (<a class="idref" href="mathcomp.algebra.ssralg.html#3a3c189a0c88aa572171a0bae2912beb"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#3a3c189a0c88aa572171a0bae2912beb"><span class="id" title="notation">∃</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#3a3c189a0c88aa572171a0bae2912beb"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#3a3c189a0c88aa572171a0bae2912beb"><span class="id" title="notation">X_i</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#3a3c189a0c88aa572171a0bae2912beb"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.dnf_to_form"><span class="id" title="definition">dnf_to_form</span></a> <a class="idref" href="mathcomp.ssreflect.seq.html#506674b18256ef8f50efed43fa1dfd7d"><span class="id" title="notation">[::</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#bc"><span class="id" title="variable">bc</span></a><a class="idref" href="mathcomp.ssreflect.seq.html#506674b18256ef8f50efed43fa1dfd7d"><span class="id" title="notation">]</span></a>)%<span class="id" title="var">T</span>) <span class="id" title="var">e</span>,<br/> + <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.dnf_rterm"><span class="id" title="definition">dnf_rterm</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#bc"><span class="id" title="variable">bc</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#reflect"><span class="id" title="abbreviation">reflect</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.holds"><span class="id" title="definition">holds</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#e"><span class="id" title="variable">e</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#ex_i_bc"><span class="id" title="variable">ex_i_bc</span></a>) (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.qf_eval"><span class="id" title="definition">qf_eval</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#e"><span class="id" title="variable">e</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.QE_Mixin.proj"><span class="id" title="variable">proj</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#bc"><span class="id" title="variable">bc</span></a>)).<br/> <br/> <span class="id" title="keyword">Hypotheses</span> (<a name="GRing.QE_Mixin.wf_proj"><span class="id" title="variable">wf_proj</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.wf_QE_proj"><span class="id" title="definition">wf_QE_proj</span></a>) (<a name="GRing.QE_Mixin.ok_proj"><span class="id" title="variable">ok_proj</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.valid_QE_proj"><span class="id" title="definition">valid_QE_proj</span></a>).<br/> <br/> -<span class="id" title="keyword">Let</span> <a name="GRing.QE_Mixin.elim_aux"><span class="id" title="variable">elim_aux</span></a> <span class="id" title="var">f</span> <span class="id" title="var">n</span> := <a class="idref" href="mathcomp.ssreflect.seq.html#foldr"><span class="id" title="definition">foldr</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Or"><span class="id" title="constructor">Or</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.False"><span class="id" title="abbreviation">False</span></a> (<a class="idref" href="mathcomp.ssreflect.seq.html#map"><span class="id" title="definition">map</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.QE_Mixin.proj"><span class="id" title="variable">proj</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a>) (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.qf_to_dnf"><span class="id" title="definition">qf_to_dnf</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f"><span class="id" title="variable">f</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/> +<span class="id" title="keyword">Let</span> <a name="GRing.QE_Mixin.elim_aux"><span class="id" title="variable">elim_aux</span></a> <span class="id" title="var">f</span> <span class="id" title="var">n</span> := <a class="idref" href="mathcomp.ssreflect.seq.html#foldr"><span class="id" title="definition">foldr</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Or"><span class="id" title="constructor">Or</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.False"><span class="id" title="abbreviation">False</span></a> (<a class="idref" href="mathcomp.ssreflect.seq.html#map"><span class="id" title="definition">map</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.QE_Mixin.proj"><span class="id" title="variable">proj</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a>) (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.qf_to_dnf"><span class="id" title="definition">qf_to_dnf</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#false"><span class="id" title="constructor">false</span></a>)).<br/> <br/> <span class="id" title="keyword">Fixpoint</span> <a name="GRing.quantifier_elim"><span class="id" title="definition">quantifier_elim</span></a> <span class="id" title="var">f</span> :=<br/> <span class="id" title="keyword">match</span> <a class="idref" href="mathcomp.algebra.ssralg.html#f"><span class="id" title="variable">f</span></a> <span class="id" title="keyword">with</span><br/> - | <span class="id" title="var">f1</span> <a class="idref" href="mathcomp.algebra.ssralg.html#421c9c3c51833f1724975feaafb4b744"><span class="id" title="notation">∧</span></a> <span class="id" title="var">f2</span> ⇒ <a class="idref" href="mathcomp.algebra.ssralg.html#421c9c3c51833f1724975feaafb4b744"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#quantifier_elim"><span class="id" title="definition">quantifier_elim</span></a> <span class="id" title="var">f1</span><a class="idref" href="mathcomp.algebra.ssralg.html#421c9c3c51833f1724975feaafb4b744"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#421c9c3c51833f1724975feaafb4b744"><span class="id" title="notation">∧</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#421c9c3c51833f1724975feaafb4b744"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#quantifier_elim"><span class="id" title="definition">quantifier_elim</span></a> <span class="id" title="var">f2</span><a class="idref" href="mathcomp.algebra.ssralg.html#421c9c3c51833f1724975feaafb4b744"><span class="id" title="notation">)</span></a><br/> - | <span class="id" title="var">f1</span> <a class="idref" href="mathcomp.algebra.ssralg.html#00b8327e04e2b6f2d979016edbc0c67a"><span class="id" title="notation">∨</span></a> <span class="id" title="var">f2</span> ⇒ <a class="idref" href="mathcomp.algebra.ssralg.html#00b8327e04e2b6f2d979016edbc0c67a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#quantifier_elim"><span class="id" title="definition">quantifier_elim</span></a> <span class="id" title="var">f1</span><a class="idref" href="mathcomp.algebra.ssralg.html#00b8327e04e2b6f2d979016edbc0c67a"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#00b8327e04e2b6f2d979016edbc0c67a"><span class="id" title="notation">∨</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#00b8327e04e2b6f2d979016edbc0c67a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#quantifier_elim"><span class="id" title="definition">quantifier_elim</span></a> <span class="id" title="var">f2</span><a class="idref" href="mathcomp.algebra.ssralg.html#00b8327e04e2b6f2d979016edbc0c67a"><span class="id" title="notation">)</span></a><br/> - | <span class="id" title="var">f1</span> <a class="idref" href="mathcomp.algebra.ssralg.html#0686cd1bb1af98b02865ebbedcf70bd7"><span class="id" title="notation">==></span></a> <span class="id" title="var">f2</span> ⇒ <a class="idref" href="mathcomp.algebra.ssralg.html#00b8327e04e2b6f2d979016edbc0c67a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#bf1935aa3f28dfd45301897795b397a5"><span class="id" title="notation">¬</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#quantifier_elim"><span class="id" title="definition">quantifier_elim</span></a> <span class="id" title="var">f1</span><a class="idref" href="mathcomp.algebra.ssralg.html#00b8327e04e2b6f2d979016edbc0c67a"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#00b8327e04e2b6f2d979016edbc0c67a"><span class="id" title="notation">∨</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#00b8327e04e2b6f2d979016edbc0c67a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#quantifier_elim"><span class="id" title="definition">quantifier_elim</span></a> <span class="id" title="var">f2</span><a class="idref" href="mathcomp.algebra.ssralg.html#00b8327e04e2b6f2d979016edbc0c67a"><span class="id" title="notation">)</span></a><br/> - | <a class="idref" href="mathcomp.algebra.ssralg.html#bf1935aa3f28dfd45301897795b397a5"><span class="id" title="notation">¬</span></a> <span class="id" title="var">f</span> ⇒ <a class="idref" href="mathcomp.algebra.ssralg.html#bf1935aa3f28dfd45301897795b397a5"><span class="id" title="notation">¬</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#quantifier_elim"><span class="id" title="definition">quantifier_elim</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f"><span class="id" title="variable">f</span></a><br/> - | (<a class="idref" href="mathcomp.algebra.ssralg.html#cde0c417a2306d50158e89540db8c60d"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#cde0c417a2306d50158e89540db8c60d"><span class="id" title="notation">∃</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#cde0c417a2306d50158e89540db8c60d"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#cde0c417a2306d50158e89540db8c60d"><span class="id" title="notation">X_n</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#cde0c417a2306d50158e89540db8c60d"><span class="id" title="notation">,</span></a> <span class="id" title="var">f</span>) ⇒ <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.QE_Mixin.elim_aux"><span class="id" title="variable">elim_aux</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#quantifier_elim"><span class="id" title="definition">quantifier_elim</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f"><span class="id" title="variable">f</span></a>) <span class="id" title="var">n</span><br/> - | (<a class="idref" href="mathcomp.algebra.ssralg.html#bc08eb662d28e6715d9720beafd75750"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#bc08eb662d28e6715d9720beafd75750"><span class="id" title="notation">∀</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#bc08eb662d28e6715d9720beafd75750"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#bc08eb662d28e6715d9720beafd75750"><span class="id" title="notation">X_n</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#bc08eb662d28e6715d9720beafd75750"><span class="id" title="notation">,</span></a> <span class="id" title="var">f</span>) ⇒ <a class="idref" href="mathcomp.algebra.ssralg.html#bf1935aa3f28dfd45301897795b397a5"><span class="id" title="notation">¬</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.QE_Mixin.elim_aux"><span class="id" title="variable">elim_aux</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#bf1935aa3f28dfd45301897795b397a5"><span class="id" title="notation">¬</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#quantifier_elim"><span class="id" title="definition">quantifier_elim</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f"><span class="id" title="variable">f</span></a>) <span class="id" title="var">n</span><br/> + | <span class="id" title="var">f1</span> <a class="idref" href="mathcomp.algebra.ssralg.html#ab32bd0aebe6dabd4efe45ce35759537"><span class="id" title="notation">∧</span></a> <span class="id" title="var">f2</span> ⇒ <a class="idref" href="mathcomp.algebra.ssralg.html#ab32bd0aebe6dabd4efe45ce35759537"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#quantifier_elim"><span class="id" title="definition">quantifier_elim</span></a> <span class="id" title="var">f1</span><a class="idref" href="mathcomp.algebra.ssralg.html#ab32bd0aebe6dabd4efe45ce35759537"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#ab32bd0aebe6dabd4efe45ce35759537"><span class="id" title="notation">∧</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#ab32bd0aebe6dabd4efe45ce35759537"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#quantifier_elim"><span class="id" title="definition">quantifier_elim</span></a> <span class="id" title="var">f2</span><a class="idref" href="mathcomp.algebra.ssralg.html#ab32bd0aebe6dabd4efe45ce35759537"><span class="id" title="notation">)</span></a><br/> + | <span class="id" title="var">f1</span> <a class="idref" href="mathcomp.algebra.ssralg.html#bef44b50d3f3917949ecad5e3e01309c"><span class="id" title="notation">∨</span></a> <span class="id" title="var">f2</span> ⇒ <a class="idref" href="mathcomp.algebra.ssralg.html#bef44b50d3f3917949ecad5e3e01309c"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#quantifier_elim"><span class="id" title="definition">quantifier_elim</span></a> <span class="id" title="var">f1</span><a class="idref" href="mathcomp.algebra.ssralg.html#bef44b50d3f3917949ecad5e3e01309c"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#bef44b50d3f3917949ecad5e3e01309c"><span class="id" title="notation">∨</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#bef44b50d3f3917949ecad5e3e01309c"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#quantifier_elim"><span class="id" title="definition">quantifier_elim</span></a> <span class="id" title="var">f2</span><a class="idref" href="mathcomp.algebra.ssralg.html#bef44b50d3f3917949ecad5e3e01309c"><span class="id" title="notation">)</span></a><br/> + | <span class="id" title="var">f1</span> <a class="idref" href="mathcomp.algebra.ssralg.html#33d69901017412abb2c3513a87e991c1"><span class="id" title="notation">==></span></a> <span class="id" title="var">f2</span> ⇒ <a class="idref" href="mathcomp.algebra.ssralg.html#bef44b50d3f3917949ecad5e3e01309c"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#8fd8345f0bd0f50ba5171cc7c1b45aca"><span class="id" title="notation">¬</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#quantifier_elim"><span class="id" title="definition">quantifier_elim</span></a> <span class="id" title="var">f1</span><a class="idref" href="mathcomp.algebra.ssralg.html#bef44b50d3f3917949ecad5e3e01309c"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#bef44b50d3f3917949ecad5e3e01309c"><span class="id" title="notation">∨</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#bef44b50d3f3917949ecad5e3e01309c"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#quantifier_elim"><span class="id" title="definition">quantifier_elim</span></a> <span class="id" title="var">f2</span><a class="idref" href="mathcomp.algebra.ssralg.html#bef44b50d3f3917949ecad5e3e01309c"><span class="id" title="notation">)</span></a><br/> + | <a class="idref" href="mathcomp.algebra.ssralg.html#8fd8345f0bd0f50ba5171cc7c1b45aca"><span class="id" title="notation">¬</span></a> <span class="id" title="var">f</span> ⇒ <a class="idref" href="mathcomp.algebra.ssralg.html#8fd8345f0bd0f50ba5171cc7c1b45aca"><span class="id" title="notation">¬</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#quantifier_elim"><span class="id" title="definition">quantifier_elim</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f"><span class="id" title="variable">f</span></a><br/> + | (<a class="idref" href="mathcomp.algebra.ssralg.html#3a3c189a0c88aa572171a0bae2912beb"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#3a3c189a0c88aa572171a0bae2912beb"><span class="id" title="notation">∃</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#3a3c189a0c88aa572171a0bae2912beb"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#3a3c189a0c88aa572171a0bae2912beb"><span class="id" title="notation">X_n</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#3a3c189a0c88aa572171a0bae2912beb"><span class="id" title="notation">,</span></a> <span class="id" title="var">f</span>) ⇒ <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.QE_Mixin.elim_aux"><span class="id" title="variable">elim_aux</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#quantifier_elim"><span class="id" title="definition">quantifier_elim</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f"><span class="id" title="variable">f</span></a>) <span class="id" title="var">n</span><br/> + | (<a class="idref" href="mathcomp.algebra.ssralg.html#662c07b5d0726d21c8edce4d5fbaa087"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#662c07b5d0726d21c8edce4d5fbaa087"><span class="id" title="notation">∀</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#662c07b5d0726d21c8edce4d5fbaa087"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#662c07b5d0726d21c8edce4d5fbaa087"><span class="id" title="notation">X_n</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#662c07b5d0726d21c8edce4d5fbaa087"><span class="id" title="notation">,</span></a> <span class="id" title="var">f</span>) ⇒ <a class="idref" href="mathcomp.algebra.ssralg.html#8fd8345f0bd0f50ba5171cc7c1b45aca"><span class="id" title="notation">¬</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.QE_Mixin.elim_aux"><span class="id" title="variable">elim_aux</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#8fd8345f0bd0f50ba5171cc7c1b45aca"><span class="id" title="notation">¬</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#quantifier_elim"><span class="id" title="definition">quantifier_elim</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f"><span class="id" title="variable">f</span></a>) <span class="id" title="var">n</span><br/> | <span class="id" title="var">_</span> ⇒ <a class="idref" href="mathcomp.algebra.ssralg.html#f"><span class="id" title="variable">f</span></a><br/> <span class="id" title="keyword">end</span>%<span class="id" title="var">T</span>.<br/> <br/> <span class="id" title="keyword">Lemma</span> <a name="GRing.quantifier_elim_wf"><span class="id" title="lemma">quantifier_elim_wf</span></a> <span class="id" title="var">f</span> :<br/> - <span class="id" title="keyword">let</span> <span class="id" title="var">qf</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.quantifier_elim"><span class="id" title="definition">quantifier_elim</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f"><span class="id" title="variable">f</span></a> <span class="id" title="tactic">in</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.rformula"><span class="id" title="definition">rformula</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#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.ssralg.html#GRing.qf_form"><span class="id" title="definition">qf_form</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#qf"><span class="id" title="variable">qf</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.ssralg.html#GRing.rformula"><span class="id" title="definition">rformula</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#qf"><span class="id" title="variable">qf</span></a>.<br/> + <span class="id" title="keyword">let</span> <span class="id" title="var">qf</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.quantifier_elim"><span class="id" title="definition">quantifier_elim</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f"><span class="id" title="variable">f</span></a> <span class="id" title="tactic">in</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.rformula"><span class="id" title="definition">rformula</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.qf_form"><span class="id" title="definition">qf_form</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#qf"><span class="id" title="variable">qf</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#9ddeac0ab66152bd1d64bedb507a795e"><span class="id" title="notation">&&</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.rformula"><span class="id" title="definition">rformula</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#qf"><span class="id" title="variable">qf</span></a>.<br/> <br/> <span class="id" title="keyword">Lemma</span> <a name="GRing.quantifier_elim_rformP"><span class="id" title="lemma">quantifier_elim_rformP</span></a> <span class="id" title="var">e</span> <span class="id" title="var">f</span> :<br/> - <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.rformula"><span class="id" title="definition">rformula</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#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="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#reflect"><span class="id" title="abbreviation">reflect</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.holds"><span class="id" title="definition">holds</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#e"><span class="id" title="variable">e</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f"><span class="id" title="variable">f</span></a>) (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.qf_eval"><span class="id" title="definition">qf_eval</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#e"><span class="id" title="variable">e</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.quantifier_elim"><span class="id" title="definition">quantifier_elim</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f"><span class="id" title="variable">f</span></a>)).<br/> + <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.rformula"><span class="id" title="definition">rformula</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#reflect"><span class="id" title="abbreviation">reflect</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.holds"><span class="id" title="definition">holds</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#e"><span class="id" title="variable">e</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f"><span class="id" title="variable">f</span></a>) (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.qf_eval"><span class="id" title="definition">qf_eval</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#e"><span class="id" title="variable">e</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.quantifier_elim"><span class="id" title="definition">quantifier_elim</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f"><span class="id" title="variable">f</span></a>)).<br/> <br/> <span class="id" title="keyword">Definition</span> <a name="GRing.proj_sat"><span class="id" title="definition">proj_sat</span></a> <span class="id" title="var">e</span> <span class="id" title="var">f</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.qf_eval"><span class="id" title="definition">qf_eval</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#e"><span class="id" title="variable">e</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.quantifier_elim"><span class="id" title="definition">quantifier_elim</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.to_rform"><span class="id" title="definition">to_rform</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f"><span class="id" title="variable">f</span></a>)).<br/> @@ -5047,28 +5068,28 @@ </div> <div class="code"> <span class="id" title="keyword">Definition</span> <a name="GRing.ClosedField.axiom"><span class="id" title="definition">axiom</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>) :=<br/> - <span class="id" title="keyword">∀</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> <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#R"><span class="id" title="variable">R</span></a>), <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#19ab5cfd7e4f60fa14f22b576013bd96"><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><br/> - <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">x</span> : <a class="idref" href="mathcomp.algebra.ssralg.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#84eb6d2849dbf3581b1c0c05add5f2d8"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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#33f78485f60ea5a637d17f41367f37d2"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#33f78485f60ea5a637d17f41367f37d2"><span class="id" title="notation">sum_</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#33f78485f60ea5a637d17f41367f37d2"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.algebra.ssralg.html#33f78485f60ea5a637d17f41367f37d2"><span class="id" title="notation"><</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#33f78485f60ea5a637d17f41367f37d2"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#ed99e7035d9a1f8a2c1515be81ac2e5f"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#ed99e7035d9a1f8a2c1515be81ac2e5f"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#ed99e7035d9a1f8a2c1515be81ac2e5f"><span class="id" title="notation">)</span></a>.<br/> + <span class="id" title="keyword">∀</span> <span class="id" title="var">n</span> (<span class="id" title="var">P</span> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#nat"><span class="id" title="inductive">nat</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#R"><span class="id" title="variable">R</span></a>), <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#7f2a7ef2c63af7359b22787a9daf336e"><span class="id" title="notation">></span></a> 0 <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a><br/> + <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#a883bdd010993579f99d60b3775bcf54"><span class="id" title="notation">∃</span></a> <span class="id" title="var">x</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#R"><span class="id" title="variable">R</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#a883bdd010993579f99d60b3775bcf54"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#2212b29e1a046120b3e8fdf5f4fbcd1f"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#2212b29e1a046120b3e8fdf5f4fbcd1f"><span class="id" title="notation">sum_</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#2212b29e1a046120b3e8fdf5f4fbcd1f"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.algebra.ssralg.html#2212b29e1a046120b3e8fdf5f4fbcd1f"><span class="id" title="notation"><</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#2212b29e1a046120b3e8fdf5f4fbcd1f"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f99a2dc6d143aa8f1021ab57e4a19eee"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f99a2dc6d143aa8f1021ab57e4a19eee"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#f99a2dc6d143aa8f1021ab57e4a19eee"><span class="id" title="notation">)</span></a>.<br/> <br/> <span class="id" title="keyword">Section</span> <a name="GRing.ClosedField.ClassDef"><span class="id" title="section">ClassDef</span></a>.<br/> <br/> <span class="id" title="keyword">Record</span> <a name="GRing.ClosedField.class_of"><span class="id" title="record">class_of</span></a> (<span class="id" title="var">F</span> : <span class="id" title="keyword">Type</span>) : <span class="id" title="keyword">Type</span> :=<br/> - <a name="GRing.ClosedField.Class"><span class="id" title="constructor">Class</span></a> {<a name="GRing.ClosedField.base"><span class="id" title="projection">base</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.DecidableField.class_of"><span class="id" title="record">DecidableField.class_of</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#F"><span class="id" title="variable">F</span></a>; <span class="id" title="var">_</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ClosedField.axiom"><span class="id" title="definition">axiom</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Ring.Pack"><span class="id" title="constructor">Ring.Pack</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#base"><span class="id" title="method">base</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#F"><span class="id" title="variable">F</span></a>)}.<br/> + <a name="GRing.ClosedField.Class"><span class="id" title="constructor">Class</span></a> {<a name="GRing.ClosedField.base"><span class="id" title="projection">base</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.DecidableField.class_of"><span class="id" title="record">DecidableField.class_of</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#F"><span class="id" title="variable">F</span></a>; <span class="id" title="var">_</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ClosedField.axiom"><span class="id" title="definition">axiom</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Ring.Pack"><span class="id" title="constructor">Ring.Pack</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#base"><span class="id" title="method">base</span></a>)}.<br/> <br/> -<span class="id" title="keyword">Structure</span> <a name="GRing.ClosedField.type"><span class="id" title="record">type</span></a> := <a name="GRing.ClosedField.Pack"><span class="id" title="constructor">Pack</span></a> {<a name="GRing.ClosedField.sort"><span class="id" title="projection">sort</span></a>; <span class="id" title="var">_</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ClosedField.class_of"><span class="id" title="record">class_of</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#sort"><span class="id" title="method">sort</span></a>; <span class="id" title="var">_</span> : <span class="id" title="keyword">Type</span>}.<br/> +<span class="id" title="keyword">Structure</span> <a name="GRing.ClosedField.type"><span class="id" title="record">type</span></a> := <a name="GRing.ClosedField.Pack"><span class="id" title="constructor">Pack</span></a> {<a name="GRing.ClosedField.sort"><span class="id" title="projection">sort</span></a>; <span class="id" title="var">_</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ClosedField.class_of"><span class="id" title="record">class_of</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#sort"><span class="id" title="method">sort</span></a>}.<br/> <span class="id" title="keyword">Variable</span> (<a name="GRing.ClosedField.ClassDef.T"><span class="id" title="variable">T</span></a> : <span class="id" title="keyword">Type</span>) (<a name="GRing.ClosedField.ClassDef.cT"><span class="id" title="variable">cT</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ClosedField.type"><span class="id" title="record">type</span></a>).<br/> -<span class="id" title="keyword">Definition</span> <a name="GRing.ClosedField.class"><span class="id" title="definition">class</span></a> := <span class="id" title="keyword">let</span>: <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ClosedField.Pack"><span class="id" title="constructor">Pack</span></a> <span class="id" title="var">_</span> <span class="id" title="var">c</span> <span class="id" title="var">_</span> <span class="id" title="keyword">as</span> <span class="id" title="var">cT'</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ClosedField.ClassDef.cT"><span class="id" title="variable">cT</span></a> <span class="id" title="keyword">return</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ClosedField.class_of"><span class="id" title="record">class_of</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#cT'"><span class="id" title="variable">cT'</span></a> <span class="id" title="tactic">in</span> <span class="id" title="var">c</span>.<br/> -<span class="id" title="keyword">Definition</span> <a name="GRing.ClosedField.clone"><span class="id" title="definition">clone</span></a> <span class="id" title="var">c</span> <span class="id" title="keyword">of</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#phant_id"><span class="id" title="definition">phant_id</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ClosedField.class"><span class="id" title="definition">class</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#c"><span class="id" title="variable">c</span></a> := @<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ClosedField.Pack"><span class="id" title="constructor">Pack</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ClosedField.ClassDef.T"><span class="id" title="variable">T</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#c"><span class="id" title="variable">c</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ClosedField.ClassDef.T"><span class="id" title="variable">T</span></a>.<br/> -<span class="id" title="keyword">Let</span> <a name="GRing.ClosedField.ClassDef.xT"><span class="id" title="variable">xT</span></a> := <span class="id" title="keyword">let</span>: <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ClosedField.Pack"><span class="id" title="constructor">Pack</span></a> <span class="id" title="var">T</span> <span class="id" title="var">_</span> <span class="id" title="var">_</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ClosedField.ClassDef.cT"><span class="id" title="variable">cT</span></a> <span class="id" title="tactic">in</span> <span class="id" title="var">T</span>.<br/> -<span class="id" title="keyword">Notation</span> <a name="GRing.ClosedField.xclass"><span class="id" title="abbreviation">xclass</span></a> := (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ClosedField.class"><span class="id" title="definition">class</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.ssralg.html#GRing.ClosedField.class_of"><span class="id" title="record">class_of</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ClosedField.ClassDef.xT"><span class="id" title="variable">xT</span></a>).<br/> +<span class="id" title="keyword">Definition</span> <a name="GRing.ClosedField.class"><span class="id" title="definition">class</span></a> := <span class="id" title="keyword">let</span>: <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ClosedField.Pack"><span class="id" title="constructor">Pack</span></a> <span class="id" title="var">_</span> <span class="id" title="var">c</span> <span class="id" title="keyword">as</span> <span class="id" title="var">cT'</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ClosedField.ClassDef.cT"><span class="id" title="variable">cT</span></a> <span class="id" title="keyword">return</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ClosedField.class_of"><span class="id" title="record">class_of</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#cT'"><span class="id" title="variable">cT'</span></a> <span class="id" title="tactic">in</span> <span class="id" title="var">c</span>.<br/> +<span class="id" title="keyword">Definition</span> <a name="GRing.ClosedField.clone"><span class="id" title="definition">clone</span></a> <span class="id" title="var">c</span> <span class="id" title="keyword">of</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#phant_id"><span class="id" title="definition">phant_id</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ClosedField.class"><span class="id" title="definition">class</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#c"><span class="id" title="variable">c</span></a> := @<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ClosedField.Pack"><span class="id" title="constructor">Pack</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ClosedField.ClassDef.T"><span class="id" title="variable">T</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#c"><span class="id" title="variable">c</span></a>.<br/> +<span class="id" title="keyword">Let</span> <a name="GRing.ClosedField.ClassDef.xT"><span class="id" title="variable">xT</span></a> := <span class="id" title="keyword">let</span>: <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ClosedField.Pack"><span class="id" title="constructor">Pack</span></a> <span class="id" title="var">T</span> <span class="id" title="var">_</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ClosedField.ClassDef.cT"><span class="id" title="variable">cT</span></a> <span class="id" title="tactic">in</span> <span class="id" title="var">T</span>.<br/> +<span class="id" title="keyword">Notation</span> <a name="GRing.ClosedField.xclass"><span class="id" title="abbreviation">xclass</span></a> := (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ClosedField.class"><span class="id" title="definition">class</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssreflect.html#aed478b27f23b4f753c27c8ac393febc"><span class="id" title="notation">:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ClosedField.class_of"><span class="id" title="record">class_of</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ClosedField.ClassDef.xT"><span class="id" title="variable">xT</span></a>).<br/> <br/> -<span class="id" title="keyword">Definition</span> <a name="GRing.ClosedField.pack"><span class="id" title="definition">pack</span></a> <span class="id" title="var">b0</span> (<span class="id" title="var">m0</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ClosedField.axiom"><span class="id" title="definition">axiom</span></a> (@<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Ring.Pack"><span class="id" title="constructor">Ring.Pack</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ClosedField.ClassDef.T"><span class="id" title="variable">T</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b0"><span class="id" title="variable">b0</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ClosedField.ClassDef.T"><span class="id" title="variable">T</span></a>)) :=<br/> - <span class="id" title="keyword">fun</span> <span class="id" title="var">bT</span> <span class="id" title="var">b</span> & <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#phant_id"><span class="id" title="definition">phant_id</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.DecidableField.class"><span class="id" title="definition">DecidableField.class</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#bT"><span class="id" title="variable">bT</span></a>) <a class="idref" href="mathcomp.algebra.ssralg.html#b"><span class="id" title="variable">b</span></a> ⇒<br/> - <span class="id" title="keyword">fun</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#phant_id"><span class="id" title="definition">phant_id</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#m0"><span class="id" title="variable">m0</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#m"><span class="id" title="variable">m</span></a> ⇒ <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ClosedField.Pack"><span class="id" title="constructor">Pack</span></a> (@<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ClosedField.Class"><span class="id" title="constructor">Class</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ClosedField.ClassDef.T"><span class="id" title="variable">T</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b"><span class="id" title="variable">b</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#m"><span class="id" title="variable">m</span></a>) <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ClosedField.ClassDef.T"><span class="id" title="variable">T</span></a>.<br/> +<span class="id" title="keyword">Definition</span> <a name="GRing.ClosedField.pack"><span class="id" title="definition">pack</span></a> <span class="id" title="var">b0</span> (<span class="id" title="var">m0</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ClosedField.axiom"><span class="id" title="definition">axiom</span></a> (@<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Ring.Pack"><span class="id" title="constructor">Ring.Pack</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ClosedField.ClassDef.T"><span class="id" title="variable">T</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b0"><span class="id" title="variable">b0</span></a>)) :=<br/> + <span class="id" title="keyword">fun</span> <span class="id" title="var">bT</span> <span class="id" title="var">b</span> & <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#phant_id"><span class="id" title="definition">phant_id</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.DecidableField.class"><span class="id" title="definition">DecidableField.class</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#bT"><span class="id" title="variable">bT</span></a>) <a class="idref" href="mathcomp.algebra.ssralg.html#b"><span class="id" title="variable">b</span></a> ⇒<br/> + <span class="id" title="keyword">fun</span> <span class="id" title="var">m</span> & <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#phant_id"><span class="id" title="definition">phant_id</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#m0"><span class="id" title="variable">m0</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#m"><span class="id" title="variable">m</span></a> ⇒ <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ClosedField.Pack"><span class="id" title="constructor">Pack</span></a> (@<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ClosedField.Class"><span class="id" title="constructor">Class</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ClosedField.ClassDef.T"><span class="id" title="variable">T</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b"><span class="id" title="variable">b</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#m"><span class="id" title="variable">m</span></a>).<br/> <br/> </div> @@ -5080,16 +5101,16 @@ <div class="code"> <br/> -<span class="id" title="keyword">Definition</span> <a name="GRing.ClosedField.eqType"><span class="id" title="definition">eqType</span></a> := @<a class="idref" href="mathcomp.ssreflect.eqtype.html#Equality.Pack"><span class="id" title="constructor">Equality.Pack</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ClosedField.ClassDef.cT"><span class="id" title="variable">cT</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ClosedField.xclass"><span class="id" title="abbreviation">xclass</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ClosedField.ClassDef.xT"><span class="id" title="variable">xT</span></a>.<br/> -<span class="id" title="keyword">Definition</span> <a name="GRing.ClosedField.choiceType"><span class="id" title="definition">choiceType</span></a> := @<a class="idref" href="mathcomp.ssreflect.choice.html#Choice.Pack"><span class="id" title="constructor">Choice.Pack</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ClosedField.ClassDef.cT"><span class="id" title="variable">cT</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ClosedField.xclass"><span class="id" title="abbreviation">xclass</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ClosedField.ClassDef.xT"><span class="id" title="variable">xT</span></a>.<br/> -<span class="id" title="keyword">Definition</span> <a name="GRing.ClosedField.zmodType"><span class="id" title="definition">zmodType</span></a> := @<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Zmodule.Pack"><span class="id" title="constructor">Zmodule.Pack</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ClosedField.ClassDef.cT"><span class="id" title="variable">cT</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ClosedField.xclass"><span class="id" title="abbreviation">xclass</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ClosedField.ClassDef.xT"><span class="id" title="variable">xT</span></a>.<br/> -<span class="id" title="keyword">Definition</span> <a name="GRing.ClosedField.ringType"><span class="id" title="definition">ringType</span></a> := @<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Ring.Pack"><span class="id" title="constructor">Ring.Pack</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ClosedField.ClassDef.cT"><span class="id" title="variable">cT</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ClosedField.xclass"><span class="id" title="abbreviation">xclass</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ClosedField.ClassDef.xT"><span class="id" title="variable">xT</span></a>.<br/> -<span class="id" title="keyword">Definition</span> <a name="GRing.ClosedField.comRingType"><span class="id" title="definition">comRingType</span></a> := @<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComRing.Pack"><span class="id" title="constructor">ComRing.Pack</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ClosedField.ClassDef.cT"><span class="id" title="variable">cT</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ClosedField.xclass"><span class="id" title="abbreviation">xclass</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ClosedField.ClassDef.xT"><span class="id" title="variable">xT</span></a>.<br/> -<span class="id" title="keyword">Definition</span> <a name="GRing.ClosedField.unitRingType"><span class="id" title="definition">unitRingType</span></a> := @<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitRing.Pack"><span class="id" title="constructor">UnitRing.Pack</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ClosedField.ClassDef.cT"><span class="id" title="variable">cT</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ClosedField.xclass"><span class="id" title="abbreviation">xclass</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ClosedField.ClassDef.xT"><span class="id" title="variable">xT</span></a>.<br/> -<span class="id" title="keyword">Definition</span> <a name="GRing.ClosedField.comUnitRingType"><span class="id" title="definition">comUnitRingType</span></a> := @<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComUnitRing.Pack"><span class="id" title="constructor">ComUnitRing.Pack</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ClosedField.ClassDef.cT"><span class="id" title="variable">cT</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ClosedField.xclass"><span class="id" title="abbreviation">xclass</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ClosedField.ClassDef.xT"><span class="id" title="variable">xT</span></a>.<br/> -<span class="id" title="keyword">Definition</span> <a name="GRing.ClosedField.idomainType"><span class="id" title="definition">idomainType</span></a> := @<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.IntegralDomain.Pack"><span class="id" title="constructor">IntegralDomain.Pack</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ClosedField.ClassDef.cT"><span class="id" title="variable">cT</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ClosedField.xclass"><span class="id" title="abbreviation">xclass</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ClosedField.ClassDef.xT"><span class="id" title="variable">xT</span></a>.<br/> -<span class="id" title="keyword">Definition</span> <a name="GRing.ClosedField.fieldType"><span class="id" title="definition">fieldType</span></a> := @<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Field.Pack"><span class="id" title="constructor">Field.Pack</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ClosedField.ClassDef.cT"><span class="id" title="variable">cT</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ClosedField.xclass"><span class="id" title="abbreviation">xclass</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ClosedField.ClassDef.xT"><span class="id" title="variable">xT</span></a>.<br/> -<span class="id" title="keyword">Definition</span> <a name="GRing.ClosedField.decFieldType"><span class="id" title="definition">decFieldType</span></a> := @<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.DecidableField.Pack"><span class="id" title="constructor">DecidableField.Pack</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ClosedField.ClassDef.cT"><span class="id" title="variable">cT</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ClosedField.class"><span class="id" title="definition">class</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ClosedField.ClassDef.xT"><span class="id" title="variable">xT</span></a>.<br/> +<span class="id" title="keyword">Definition</span> <a name="GRing.ClosedField.eqType"><span class="id" title="definition">eqType</span></a> := @<a class="idref" href="mathcomp.ssreflect.eqtype.html#Equality.Pack"><span class="id" title="constructor">Equality.Pack</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ClosedField.ClassDef.cT"><span class="id" title="variable">cT</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ClosedField.xclass"><span class="id" title="abbreviation">xclass</span></a>.<br/> +<span class="id" title="keyword">Definition</span> <a name="GRing.ClosedField.choiceType"><span class="id" title="definition">choiceType</span></a> := @<a class="idref" href="mathcomp.ssreflect.choice.html#Choice.Pack"><span class="id" title="constructor">Choice.Pack</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ClosedField.ClassDef.cT"><span class="id" title="variable">cT</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ClosedField.xclass"><span class="id" title="abbreviation">xclass</span></a>.<br/> +<span class="id" title="keyword">Definition</span> <a name="GRing.ClosedField.zmodType"><span class="id" title="definition">zmodType</span></a> := @<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Zmodule.Pack"><span class="id" title="constructor">Zmodule.Pack</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ClosedField.ClassDef.cT"><span class="id" title="variable">cT</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ClosedField.xclass"><span class="id" title="abbreviation">xclass</span></a>.<br/> +<span class="id" title="keyword">Definition</span> <a name="GRing.ClosedField.ringType"><span class="id" title="definition">ringType</span></a> := @<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Ring.Pack"><span class="id" title="constructor">Ring.Pack</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ClosedField.ClassDef.cT"><span class="id" title="variable">cT</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ClosedField.xclass"><span class="id" title="abbreviation">xclass</span></a>.<br/> +<span class="id" title="keyword">Definition</span> <a name="GRing.ClosedField.comRingType"><span class="id" title="definition">comRingType</span></a> := @<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComRing.Pack"><span class="id" title="constructor">ComRing.Pack</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ClosedField.ClassDef.cT"><span class="id" title="variable">cT</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ClosedField.xclass"><span class="id" title="abbreviation">xclass</span></a>.<br/> +<span class="id" title="keyword">Definition</span> <a name="GRing.ClosedField.unitRingType"><span class="id" title="definition">unitRingType</span></a> := @<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitRing.Pack"><span class="id" title="constructor">UnitRing.Pack</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ClosedField.ClassDef.cT"><span class="id" title="variable">cT</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ClosedField.xclass"><span class="id" title="abbreviation">xclass</span></a>.<br/> +<span class="id" title="keyword">Definition</span> <a name="GRing.ClosedField.comUnitRingType"><span class="id" title="definition">comUnitRingType</span></a> := @<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComUnitRing.Pack"><span class="id" title="constructor">ComUnitRing.Pack</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ClosedField.ClassDef.cT"><span class="id" title="variable">cT</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ClosedField.xclass"><span class="id" title="abbreviation">xclass</span></a>.<br/> +<span class="id" title="keyword">Definition</span> <a name="GRing.ClosedField.idomainType"><span class="id" title="definition">idomainType</span></a> := @<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.IntegralDomain.Pack"><span class="id" title="constructor">IntegralDomain.Pack</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ClosedField.ClassDef.cT"><span class="id" title="variable">cT</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ClosedField.xclass"><span class="id" title="abbreviation">xclass</span></a>.<br/> +<span class="id" title="keyword">Definition</span> <a name="GRing.ClosedField.fieldType"><span class="id" title="definition">fieldType</span></a> := @<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Field.Pack"><span class="id" title="constructor">Field.Pack</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ClosedField.ClassDef.cT"><span class="id" title="variable">cT</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ClosedField.xclass"><span class="id" title="abbreviation">xclass</span></a>.<br/> +<span class="id" title="keyword">Definition</span> <a name="GRing.ClosedField.decFieldType"><span class="id" title="definition">decFieldType</span></a> := @<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.DecidableField.Pack"><span class="id" title="constructor">DecidableField.Pack</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ClosedField.ClassDef.cT"><span class="id" title="variable">cT</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ClosedField.class"><span class="id" title="definition">class</span></a>.<br/> <br/> <span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ClosedField.ClassDef"><span class="id" title="section">ClassDef</span></a>.<br/> @@ -5119,10 +5140,10 @@ <span class="id" title="keyword">Coercion</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ClosedField.decFieldType"><span class="id" title="definition">decFieldType</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ClosedField.decFieldType"><span class="id" title="definition">:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ClosedField.decFieldType"><span class="id" title="definition">type</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ClosedField.decFieldType"><span class="id" title="definition">>-></span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ClosedField.decFieldType"><span class="id" title="definition">DecidableField.type</span></a>.<br/> <span class="id" title="keyword">Canonical</span> <span class="id" title="var">decFieldType</span>.<br/> <span class="id" title="keyword">Notation</span> <a name="GRing.ClosedField.Exports.closedFieldType"><span class="id" title="abbreviation">closedFieldType</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ClosedField.type"><span class="id" title="record">type</span></a>.<br/> -<span class="id" title="keyword">Notation</span> <a name="GRing.ClosedField.Exports.ClosedFieldType"><span class="id" title="abbreviation">ClosedFieldType</span></a> <span class="id" title="var">T</span> <span class="id" title="var">m</span> := (@<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ClosedField.pack"><span class="id" title="definition">pack</span></a> <span class="id" title="var">T</span> <span class="id" title="var">_</span> <span class="id" title="var">m</span> <span class="id" title="var">_</span> <span class="id" title="var">_</span> <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> <span class="id" title="var">_</span> <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>).<br/> -<span class="id" title="keyword">Notation</span> <a name="65cd3e8351f6b67d79f598a877d53892"><span class="id" title="notation">"</span></a>[ 'closedFieldType' 'of' T 'for' cT ]" := (@<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ClosedField.clone"><span class="id" title="definition">clone</span></a> <span class="id" title="var">T</span> <span class="id" title="var">cT</span> <span class="id" title="var">_</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#idfun"><span class="id" title="abbreviation">idfun</span></a>)<br/> +<span class="id" title="keyword">Notation</span> <a name="GRing.ClosedField.Exports.ClosedFieldType"><span class="id" title="abbreviation">ClosedFieldType</span></a> <span class="id" title="var">T</span> <span class="id" title="var">m</span> := (@<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ClosedField.pack"><span class="id" title="definition">pack</span></a> <span class="id" title="var">T</span> <span class="id" title="var">_</span> <span class="id" title="var">m</span> <span class="id" title="var">_</span> <span class="id" title="var">_</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#id"><span class="id" title="abbreviation">id</span></a> <span class="id" title="var">_</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#id"><span class="id" title="abbreviation">id</span></a>).<br/> +<span class="id" title="keyword">Notation</span> <a name="7337068ceeff2a313d9f8cc737452bc8"><span class="id" title="notation">"</span></a>[ 'closedFieldType' 'of' T 'for' cT ]" := (@<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ClosedField.clone"><span class="id" title="definition">clone</span></a> <span class="id" title="var">T</span> <span class="id" title="var">cT</span> <span class="id" title="var">_</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#idfun"><span class="id" title="abbreviation">idfun</span></a>)<br/> (<span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 0, <span class="id" title="var">format</span> "[ 'closedFieldType' 'of' T 'for' cT ]") : <span class="id" title="var">form_scope</span>.<br/> -<span class="id" title="keyword">Notation</span> <a name="048a114d22ff709784bf346d4799d085"><span class="id" title="notation">"</span></a>[ 'closedFieldType' 'of' T ]" := (@<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ClosedField.clone"><span class="id" title="definition">clone</span></a> <span class="id" title="var">T</span> <span class="id" title="var">_</span> <span class="id" title="var">_</span> <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>)<br/> +<span class="id" title="keyword">Notation</span> <a name="4fcb7e9ad725fb7730e1c5fbb1867235"><span class="id" title="notation">"</span></a>[ 'closedFieldType' 'of' T ]" := (@<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ClosedField.clone"><span class="id" title="definition">clone</span></a> <span class="id" title="var">T</span> <span class="id" title="var">_</span> <span class="id" title="var">_</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#id"><span class="id" title="abbreviation">id</span></a>)<br/> (<span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 0, <span class="id" title="var">format</span> "[ 'closedFieldType' 'of' T ]") : <span class="id" title="var">form_scope</span>.<br/> <span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ClosedField.Exports"><span class="id" title="module">Exports</span></a>.<br/> @@ -5140,7 +5161,7 @@ <span class="id" title="keyword">Lemma</span> <a name="GRing.solve_monicpoly"><span class="id" title="lemma">solve_monicpoly</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.axiom"><span class="id" title="definition">ClosedField.axiom</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ClosedFieldTheory.F"><span class="id" title="variable">F</span></a>.<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.imaginary_exists"><span class="id" title="lemma">imaginary_exists</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Specif.html#72ca3fac4636a1b19c963b12162882cf"><span class="id" title="notation">{</span></a><span class="id" title="var">i</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Specif.html#72ca3fac4636a1b19c963b12162882cf"><span class="id" title="notation">:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ClosedFieldTheory.F"><span class="id" title="variable">F</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Specif.html#72ca3fac4636a1b19c963b12162882cf"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b5a6699e28c97bb33352772cfa3ea869"><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> -1<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Specif.html#72ca3fac4636a1b19c963b12162882cf"><span class="id" title="notation">}</span></a>.<br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.imaginary_exists"><span class="id" title="lemma">imaginary_exists</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Specif.html#6556914db359db999889decec6a4a562"><span class="id" title="notation">{</span></a><span class="id" title="var">i</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Specif.html#6556914db359db999889decec6a4a562"><span class="id" title="notation">:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ClosedFieldTheory.F"><span class="id" title="variable">F</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Specif.html#6556914db359db999889decec6a4a562"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#a1ff23c95130eb62e8ce3bc8a42b5e38"><span class="id" title="notation">^+</span></a> 2 <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> -1<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Specif.html#6556914db359db999889decec6a4a562"><span class="id" title="notation">}</span></a>.<br/> <br/> <span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ClosedFieldTheory"><span class="id" title="section">ClosedFieldTheory</span></a>.<br/> @@ -5152,9 +5173,9 @@ <span class="id" title="keyword">Section</span> <a name="GRing.SubType.Zmodule"><span class="id" title="section">Zmodule</span></a>.<br/> <br/> -<span class="id" title="keyword">Variables</span> (<a name="GRing.SubType.Zmodule.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="GRing.SubType.Zmodule.S"><span class="id" title="variable">S</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#predPredType"><span class="id" title="definition">predPredType</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#V"><span class="id" title="variable">V</span></a>).<br/> -<span class="id" title="keyword">Variables</span> (<a name="GRing.SubType.Zmodule.subS"><span class="id" title="variable">subS</span></a> : <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.ssralg.html#GRing.SubType.Zmodule.S"><span class="id" title="variable">S</span></a>) (<a name="GRing.SubType.Zmodule.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#keyed_pred"><span class="id" title="record">keyed_pred</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#subS"><span class="id" title="variable">subS</span></a>).<br/> -<span class="id" title="keyword">Variable</span> <a name="GRing.SubType.Zmodule.U"><span class="id" title="variable">U</span></a> : <a class="idref" href="mathcomp.ssreflect.eqtype.html#subType"><span class="id" title="record">subType</span></a> (<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#mem"><span class="id" title="definition">mem</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.SubType.Zmodule.kS"><span class="id" title="variable">kS</span></a>).<br/> +<span class="id" title="keyword">Variables</span> (<a name="GRing.SubType.Zmodule.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="GRing.SubType.Zmodule.S"><span class="id" title="variable">S</span></a> : <a class="idref" href="mathcomp.ssreflect.ssrbool.html#64f8873130736b599801d4930af00e74"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.ssreflect.ssrbool.html#64f8873130736b599801d4930af00e74"><span class="id" title="notation">pred</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#V"><span class="id" title="variable">V</span></a><a class="idref" href="mathcomp.ssreflect.ssrbool.html#64f8873130736b599801d4930af00e74"><span class="id" title="notation">}</span></a>).<br/> +<span class="id" title="keyword">Variables</span> (<a name="GRing.SubType.Zmodule.subS"><span class="id" title="variable">subS</span></a> : <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.ssralg.html#GRing.SubType.Zmodule.S"><span class="id" title="variable">S</span></a>) (<a name="GRing.SubType.Zmodule.kS"><span class="id" title="variable">kS</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#keyed_pred"><span class="id" title="record">keyed_pred</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#subS"><span class="id" title="variable">subS</span></a>).<br/> +<span class="id" title="keyword">Variable</span> <a name="GRing.SubType.Zmodule.U"><span class="id" title="variable">U</span></a> : <a class="idref" href="mathcomp.ssreflect.eqtype.html#subType"><span class="id" title="record">subType</span></a> (<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#mem"><span class="id" title="definition">mem</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.SubType.Zmodule.kS"><span class="id" title="variable">kS</span></a>).<br/> <br/> <span class="id" title="keyword">Let</span> <a name="GRing.SubType.Zmodule.inU"><span class="id" title="variable">inU</span></a> <span class="id" title="var">v</span> <span class="id" title="var">Sv</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.SubType.Zmodule.U"><span class="id" title="variable">U</span></a> := <a class="idref" href="mathcomp.ssreflect.eqtype.html#Sub"><span class="id" title="projection">Sub</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#v"><span class="id" title="variable">v</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#Sv"><span class="id" title="variable">Sv</span></a>.<br/> @@ -5165,13 +5186,13 @@ <span class="id" title="keyword">Let</span> <a name="GRing.SubType.Zmodule.addU"><span class="id" title="variable">addU</span></a> (<span class="id" title="var">u1</span> <span class="id" title="var">u2</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.SubType.Zmodule.U"><span class="id" title="variable">U</span></a>) := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.SubType.Zmodule.inU"><span class="id" title="variable">inU</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.rpredD"><span class="id" title="lemma">rpredD</span></a> (<a class="idref" href="mathcomp.ssreflect.eqtype.html#valP"><span class="id" title="lemma">valP</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#u1"><span class="id" title="variable">u1</span></a>) (<a class="idref" href="mathcomp.ssreflect.eqtype.html#valP"><span class="id" title="lemma">valP</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#u2"><span class="id" title="variable">u2</span></a>)).<br/> <br/> -<span class="id" title="keyword">Fact</span> <a name="GRing.SubType.addA"><span class="id" title="lemma">addA</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.ssralg.html#GRing.SubType.Zmodule.addU"><span class="id" title="variable">addU</span></a>.<br/> - <span class="id" title="keyword">Fact</span> <a name="GRing.SubType.addC"><span class="id" title="lemma">addC</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.ssralg.html#GRing.SubType.Zmodule.addU"><span class="id" title="variable">addU</span></a>.<br/> - <span class="id" title="keyword">Fact</span> <a name="GRing.SubType.add0"><span class="id" title="lemma">add0</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> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.SubType.Zmodule.zeroU"><span class="id" title="variable">zeroU</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.SubType.Zmodule.addU"><span class="id" title="variable">addU</span></a>.<br/> - <span class="id" title="keyword">Fact</span> <a name="GRing.SubType.addN"><span class="id" title="lemma">addN</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> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.SubType.Zmodule.zeroU"><span class="id" title="variable">zeroU</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.SubType.Zmodule.oppU"><span class="id" title="variable">oppU</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.SubType.Zmodule.addU"><span class="id" title="variable">addU</span></a>.<br/> +<span class="id" title="keyword">Fact</span> <a name="GRing.SubType.addA"><span class="id" title="lemma">addA</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#associative"><span class="id" title="definition">associative</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.SubType.Zmodule.addU"><span class="id" title="variable">addU</span></a>.<br/> + <span class="id" title="keyword">Fact</span> <a name="GRing.SubType.addC"><span class="id" title="lemma">addC</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#commutative"><span class="id" title="definition">commutative</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.SubType.Zmodule.addU"><span class="id" title="variable">addU</span></a>.<br/> + <span class="id" title="keyword">Fact</span> <a name="GRing.SubType.add0"><span class="id" title="lemma">add0</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#left_id"><span class="id" title="definition">left_id</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.SubType.Zmodule.zeroU"><span class="id" title="variable">zeroU</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.SubType.Zmodule.addU"><span class="id" title="variable">addU</span></a>.<br/> + <span class="id" title="keyword">Fact</span> <a name="GRing.SubType.addN"><span class="id" title="lemma">addN</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#left_inverse"><span class="id" title="definition">left_inverse</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.SubType.Zmodule.zeroU"><span class="id" title="variable">zeroU</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.SubType.Zmodule.oppU"><span class="id" title="variable">oppU</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.SubType.Zmodule.addU"><span class="id" title="variable">addU</span></a>.<br/> <br/> -<span class="id" title="keyword">Definition</span> <a name="GRing.SubType.zmodMixin"><span class="id" title="definition">zmodMixin</span></a> <span class="id" title="keyword">of</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssreflect.html#phant"><span class="id" title="inductive">phant</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.SubType.Zmodule.U"><span class="id" title="variable">U</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.ssralg.html#GRing.SubType.addA"><span class="id" title="lemma">addA</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.SubType.addC"><span class="id" title="lemma">addC</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.SubType.add0"><span class="id" title="lemma">add0</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.SubType.addN"><span class="id" title="lemma">addN</span></a>.<br/> +<span class="id" title="keyword">Definition</span> <a name="GRing.SubType.zmodMixin"><span class="id" title="definition">zmodMixin</span></a> <span class="id" title="keyword">of</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssreflect.html#phant"><span class="id" title="inductive">phant</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.SubType.Zmodule.U"><span class="id" title="variable">U</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.ssralg.html#GRing.SubType.addA"><span class="id" title="lemma">addA</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.SubType.addC"><span class="id" title="lemma">addC</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.SubType.add0"><span class="id" title="lemma">add0</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.SubType.addN"><span class="id" title="lemma">addN</span></a>.<br/> <br/> <span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.SubType.Zmodule"><span class="id" title="section">Zmodule</span></a>.<br/> @@ -5180,16 +5201,16 @@ <span class="id" title="keyword">Section</span> <a name="GRing.SubType.Ring"><span class="id" title="section">Ring</span></a>.<br/> <br/> -<span class="id" title="keyword">Variables</span> (<a name="GRing.SubType.Ring.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>) (<a name="GRing.SubType.Ring.S"><span class="id" title="variable">S</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#predPredType"><span class="id" title="definition">predPredType</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#R"><span class="id" title="variable">R</span></a>).<br/> -<span class="id" title="keyword">Variables</span> (<a name="GRing.SubType.Ring.ringS"><span class="id" title="variable">ringS</span></a> : <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.ssralg.html#GRing.SubType.Ring.S"><span class="id" title="variable">S</span></a>) (<a name="GRing.SubType.Ring.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#keyed_pred"><span class="id" title="record">keyed_pred</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#ringS"><span class="id" title="variable">ringS</span></a>).<br/> +<span class="id" title="keyword">Variables</span> (<a name="GRing.SubType.Ring.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>) (<a name="GRing.SubType.Ring.S"><span class="id" title="variable">S</span></a> : <a class="idref" href="mathcomp.ssreflect.ssrbool.html#64f8873130736b599801d4930af00e74"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.ssreflect.ssrbool.html#64f8873130736b599801d4930af00e74"><span class="id" title="notation">pred</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#R"><span class="id" title="variable">R</span></a><a class="idref" href="mathcomp.ssreflect.ssrbool.html#64f8873130736b599801d4930af00e74"><span class="id" title="notation">}</span></a>).<br/> +<span class="id" title="keyword">Variables</span> (<a name="GRing.SubType.Ring.ringS"><span class="id" title="variable">ringS</span></a> : <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.ssralg.html#GRing.SubType.Ring.S"><span class="id" title="variable">S</span></a>) (<a name="GRing.SubType.Ring.kS"><span class="id" title="variable">kS</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#keyed_pred"><span class="id" title="record">keyed_pred</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#ringS"><span class="id" title="variable">ringS</span></a>).<br/> <br/> -<span class="id" title="keyword">Definition</span> <a name="GRing.SubType.cast_zmodType"><span class="id" title="definition">cast_zmodType</span></a> (<span class="id" title="var">V</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Zmodule.Exports.zmodType"><span class="id" title="abbreviation">zmodType</span></a>) <span class="id" title="var">T</span> (<span class="id" title="var">VeqT</span> : <a class="idref" href="mathcomp.algebra.ssralg.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#8f9364556521ebb498093f28eea2240f"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#T"><span class="id" title="variable">T</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> <span class="id" title="keyword">Type</span>) :=<br/> - <span class="id" title="keyword">let</span> <span class="id" title="var">cast</span> <span class="id" title="var">mV</span> := <span class="id" title="keyword">let</span>: <span class="id" title="var">erefl</span> <span class="id" title="tactic">in</span> <span class="id" title="var">_</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> <span class="id" title="var">T</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#VeqT"><span class="id" title="variable">VeqT</span></a> <span class="id" title="keyword">return</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Zmodule.class_of"><span class="id" title="record">Zmodule.class_of</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#T"><span class="id" title="variable">T</span></a> <span class="id" title="tactic">in</span> <a class="idref" href="mathcomp.algebra.ssralg.html#mV"><span class="id" title="variable">mV</span></a> <span class="id" title="tactic">in</span><br/> - <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Zmodule.Pack"><span class="id" title="constructor">Zmodule.Pack</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#cast"><span class="id" title="variable">cast</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Zmodule.class"><span class="id" title="definition">Zmodule.class</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#V"><span class="id" title="variable">V</span></a>)) <a class="idref" href="mathcomp.algebra.ssralg.html#T"><span class="id" title="variable">T</span></a>.<br/> +<span class="id" title="keyword">Definition</span> <a name="GRing.SubType.cast_zmodType"><span class="id" title="definition">cast_zmodType</span></a> (<span class="id" title="var">V</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Zmodule.Exports.zmodType"><span class="id" title="abbreviation">zmodType</span></a>) <span class="id" title="var">T</span> (<span class="id" title="var">VeqT</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#V"><span class="id" title="variable">V</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#b8b2ebc8e1a8b9aa935c0702efb5dccf"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#T"><span class="id" title="variable">T</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#b8b2ebc8e1a8b9aa935c0702efb5dccf"><span class="id" title="notation">:></span></a> <span class="id" title="keyword">Type</span>) :=<br/> + <span class="id" title="keyword">let</span> <span class="id" title="var">cast</span> <span class="id" title="var">mV</span> := <span class="id" title="keyword">let</span>: <span class="id" title="var">erefl</span> <span class="id" title="tactic">in</span> <span class="id" title="var">_</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <span class="id" title="var">T</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#VeqT"><span class="id" title="variable">VeqT</span></a> <span class="id" title="keyword">return</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Zmodule.class_of"><span class="id" title="record">Zmodule.class_of</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#T"><span class="id" title="variable">T</span></a> <span class="id" title="tactic">in</span> <a class="idref" href="mathcomp.algebra.ssralg.html#mV"><span class="id" title="variable">mV</span></a> <span class="id" title="tactic">in</span><br/> + <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Zmodule.Pack"><span class="id" title="constructor">Zmodule.Pack</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#cast"><span class="id" title="variable">cast</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Zmodule.class"><span class="id" title="definition">Zmodule.class</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#V"><span class="id" title="variable">V</span></a>)).<br/> <br/> -<span class="id" title="keyword">Variable</span> (<a name="GRing.SubType.Ring.T"><span class="id" title="variable">T</span></a> : <a class="idref" href="mathcomp.ssreflect.eqtype.html#subType"><span class="id" title="record">subType</span></a> (<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#mem"><span class="id" title="definition">mem</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.SubType.Ring.kS"><span class="id" title="variable">kS</span></a>)) (<a name="GRing.SubType.Ring.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="GRing.SubType.Ring.VeqT"><span class="id" title="variable">VeqT</span></a>: <a class="idref" href="mathcomp.algebra.ssralg.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#8f9364556521ebb498093f28eea2240f"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#T"><span class="id" title="variable">T</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> <span class="id" title="keyword">Type</span>).<br/> +<span class="id" title="keyword">Variable</span> (<a name="GRing.SubType.Ring.T"><span class="id" title="variable">T</span></a> : <a class="idref" href="mathcomp.ssreflect.eqtype.html#subType"><span class="id" title="record">subType</span></a> (<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#mem"><span class="id" title="definition">mem</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.SubType.Ring.kS"><span class="id" title="variable">kS</span></a>)) (<a name="GRing.SubType.Ring.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="GRing.SubType.Ring.VeqT"><span class="id" title="variable">VeqT</span></a>: <a class="idref" href="mathcomp.algebra.ssralg.html#V"><span class="id" title="variable">V</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#b8b2ebc8e1a8b9aa935c0702efb5dccf"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#T"><span class="id" title="variable">T</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#b8b2ebc8e1a8b9aa935c0702efb5dccf"><span class="id" title="notation">:></span></a> <span class="id" title="keyword">Type</span>).<br/> <br/> <span class="id" title="keyword">Let</span> <a name="GRing.SubType.Ring.inT"><span class="id" title="variable">inT</span></a> <span class="id" title="var">x</span> <span class="id" title="var">Sx</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.SubType.Ring.T"><span class="id" title="variable">T</span></a> := <a class="idref" href="mathcomp.ssreflect.eqtype.html#Sub"><span class="id" title="projection">Sub</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#Sx"><span class="id" title="variable">Sx</span></a>.<br/> @@ -5198,19 +5219,19 @@ <span class="id" title="keyword">Let</span> <a name="GRing.SubType.Ring.T'"><span class="id" title="variable">T'</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.SubType.cast_zmodType"><span class="id" title="definition">cast_zmodType</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.SubType.Ring.VeqT"><span class="id" title="variable">VeqT</span></a>.<br/> <br/> -<span class="id" title="keyword">Hypothesis</span> <a name="GRing.SubType.Ring.valM"><span class="id" title="variable">valM</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><a class="idref" href="mathcomp.ssreflect.eqtype.html#val"><span class="id" title="projection">val</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.ssralg.html#GRing.SubType.Ring.T'"><span class="id" title="variable">T'</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.SubType.Ring.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#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.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#4d4b9697032429ec46472e6332d1356a"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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/> +<span class="id" title="keyword">Hypothesis</span> <a name="GRing.SubType.Ring.valM"><span class="id" title="variable">valM</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#e69c60b553f06d3463460a9f4cee3c01"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#e69c60b553f06d3463460a9f4cee3c01"><span class="id" title="notation">morph</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#e69c60b553f06d3463460a9f4cee3c01"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.eqtype.html#val"><span class="id" title="projection">val</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssreflect.html#aed478b27f23b4f753c27c8ac393febc"><span class="id" title="notation">:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.SubType.Ring.T'"><span class="id" title="variable">T'</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.SubType.Ring.R"><span class="id" title="variable">R</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#e69c60b553f06d3463460a9f4cee3c01"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#e69c60b553f06d3463460a9f4cee3c01"><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/V8.9.0/stdlib//Coq.ssr.ssrfun.html#e69c60b553f06d3463460a9f4cee3c01"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#4a5fc7f0d0a33bc3822357a38c953c9e"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#e69c60b553f06d3463460a9f4cee3c01"><span class="id" title="notation">}</span></a>.<br/> <br/> -<span class="id" title="keyword">Let</span> <a name="GRing.SubType.Ring.val0"><span class="id" title="variable">val0</span></a> : <a class="idref" href="mathcomp.ssreflect.eqtype.html#val"><span class="id" title="projection">val</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.ssralg.html#GRing.SubType.Ring.T'"><span class="id" title="variable">T'</span></a>) <a 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">Let</span> <a name="GRing.SubType.Ring.valD"><span class="id" title="variable">valD</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><a class="idref" href="mathcomp.ssreflect.eqtype.html#val"><span class="id" title="projection">val</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.ssralg.html#GRing.SubType.Ring.T'"><span class="id" title="variable">T'</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.SubType.Ring.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#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.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#338c5345074fd3586073fd29273c138a"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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/> +<span class="id" title="keyword">Let</span> <a name="GRing.SubType.Ring.val0"><span class="id" title="variable">val0</span></a> : <a class="idref" href="mathcomp.ssreflect.eqtype.html#val"><span class="id" title="projection">val</span></a> (0 <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssreflect.html#aed478b27f23b4f753c27c8ac393febc"><span class="id" title="notation">:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.SubType.Ring.T'"><span class="id" title="variable">T'</span></a>) <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> 0.<br/> + <span class="id" title="keyword">Let</span> <a name="GRing.SubType.Ring.valD"><span class="id" title="variable">valD</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#e69c60b553f06d3463460a9f4cee3c01"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#e69c60b553f06d3463460a9f4cee3c01"><span class="id" title="notation">morph</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#e69c60b553f06d3463460a9f4cee3c01"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.eqtype.html#val"><span class="id" title="projection">val</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssreflect.html#aed478b27f23b4f753c27c8ac393febc"><span class="id" title="notation">:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.SubType.Ring.T'"><span class="id" title="variable">T'</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.SubType.Ring.R"><span class="id" title="variable">R</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#e69c60b553f06d3463460a9f4cee3c01"><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/V8.9.0/stdlib//Coq.ssr.ssrfun.html#e69c60b553f06d3463460a9f4cee3c01"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#730bbb3cf1092122fa1a208d3879e5e8"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#e69c60b553f06d3463460a9f4cee3c01"><span class="id" title="notation">}</span></a>.<br/> <br/> -<span class="id" title="keyword">Fact</span> <a name="GRing.SubType.mulA"><span class="id" title="lemma">mulA</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.ssralg.html#GRing.SubType.Ring.T'"><span class="id" title="variable">T'</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.SubType.Ring.mulT"><span class="id" title="variable">mulT</span></a>.<br/> - <span class="id" title="keyword">Fact</span> <a name="GRing.SubType.mul1l"><span class="id" title="lemma">mul1l</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> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.SubType.Ring.oneT"><span class="id" title="variable">oneT</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.SubType.Ring.mulT"><span class="id" title="variable">mulT</span></a>.<br/> - <span class="id" title="keyword">Fact</span> <a name="GRing.SubType.mul1r"><span class="id" title="lemma">mul1r</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#right_id"><span class="id" title="definition">right_id</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.SubType.Ring.oneT"><span class="id" title="variable">oneT</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.SubType.Ring.mulT"><span class="id" title="variable">mulT</span></a>.<br/> - <span class="id" title="keyword">Fact</span> <a name="GRing.SubType.mulDl"><span class="id" title="lemma">mulDl</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.ssralg.html#GRing.SubType.Ring.T'"><span class="id" title="variable">T'</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.SubType.Ring.T'"><span class="id" title="variable">T'</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.SubType.Ring.mulT"><span class="id" title="variable">mulT</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#6c3404a70e11a79a0fa82b3d398aa71f"><span class="id" title="notation">+%</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#6c3404a70e11a79a0fa82b3d398aa71f"><span class="id" title="notation">R</span></a>.<br/> - <span class="id" title="keyword">Fact</span> <a name="GRing.SubType.mulDr"><span class="id" title="lemma">mulDr</span></a> : @<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#right_distributive"><span class="id" title="definition">right_distributive</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.SubType.Ring.T'"><span class="id" title="variable">T'</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.SubType.Ring.T'"><span class="id" title="variable">T'</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.SubType.Ring.mulT"><span class="id" title="variable">mulT</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#6c3404a70e11a79a0fa82b3d398aa71f"><span class="id" title="notation">+%</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#6c3404a70e11a79a0fa82b3d398aa71f"><span class="id" title="notation">R</span></a>.<br/> - <span class="id" title="keyword">Fact</span> <a name="GRing.SubType.nz1"><span class="id" title="lemma">nz1</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.SubType.Ring.oneT"><span class="id" title="variable">oneT</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#9e45f909d1732d6d9e153b650829bccf"><span class="id" title="notation">!=</span></a> 0 <a class="idref" href="mathcomp.ssreflect.eqtype.html#9e45f909d1732d6d9e153b650829bccf"><span class="id" title="notation">:></span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.SubType.Ring.T'"><span class="id" title="variable">T'</span></a>.<br/> +<span class="id" title="keyword">Fact</span> <a name="GRing.SubType.mulA"><span class="id" title="lemma">mulA</span></a> : @<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#associative"><span class="id" title="definition">associative</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.SubType.Ring.T'"><span class="id" title="variable">T'</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.SubType.Ring.mulT"><span class="id" title="variable">mulT</span></a>.<br/> + <span class="id" title="keyword">Fact</span> <a name="GRing.SubType.mul1l"><span class="id" title="lemma">mul1l</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#left_id"><span class="id" title="definition">left_id</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.SubType.Ring.oneT"><span class="id" title="variable">oneT</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.SubType.Ring.mulT"><span class="id" title="variable">mulT</span></a>.<br/> + <span class="id" title="keyword">Fact</span> <a name="GRing.SubType.mul1r"><span class="id" title="lemma">mul1r</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#right_id"><span class="id" title="definition">right_id</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.SubType.Ring.oneT"><span class="id" title="variable">oneT</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.SubType.Ring.mulT"><span class="id" title="variable">mulT</span></a>.<br/> + <span class="id" title="keyword">Fact</span> <a name="GRing.SubType.mulDl"><span class="id" title="lemma">mulDl</span></a> : @<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#left_distributive"><span class="id" title="definition">left_distributive</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.SubType.Ring.T'"><span class="id" title="variable">T'</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.SubType.Ring.T'"><span class="id" title="variable">T'</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.SubType.Ring.mulT"><span class="id" title="variable">mulT</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#89db507031b6d4a3d916a0f1c8eeaac2"><span class="id" title="notation">+%</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#89db507031b6d4a3d916a0f1c8eeaac2"><span class="id" title="notation">R</span></a>.<br/> + <span class="id" title="keyword">Fact</span> <a name="GRing.SubType.mulDr"><span class="id" title="lemma">mulDr</span></a> : @<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#right_distributive"><span class="id" title="definition">right_distributive</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.SubType.Ring.T'"><span class="id" title="variable">T'</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.SubType.Ring.T'"><span class="id" title="variable">T'</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.SubType.Ring.mulT"><span class="id" title="variable">mulT</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#89db507031b6d4a3d916a0f1c8eeaac2"><span class="id" title="notation">+%</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#89db507031b6d4a3d916a0f1c8eeaac2"><span class="id" title="notation">R</span></a>.<br/> + <span class="id" title="keyword">Fact</span> <a name="GRing.SubType.nz1"><span class="id" title="lemma">nz1</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.SubType.Ring.oneT"><span class="id" title="variable">oneT</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#228e85e3c31a939cba019f255574c875"><span class="id" title="notation">!=</span></a> 0 <a class="idref" href="mathcomp.ssreflect.eqtype.html#228e85e3c31a939cba019f255574c875"><span class="id" title="notation">:></span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.SubType.Ring.T'"><span class="id" title="variable">T'</span></a>.<br/> <br/> <span class="id" title="keyword">Definition</span> <a name="GRing.SubType.ringMixin"><span class="id" title="definition">ringMixin</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Ring.Exports.RingMixin"><span class="id" title="abbreviation">RingMixin</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.SubType.mulA"><span class="id" title="lemma">mulA</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.SubType.mul1l"><span class="id" title="lemma">mul1l</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.SubType.mul1r"><span class="id" title="lemma">mul1r</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.SubType.mulDl"><span class="id" title="lemma">mulDl</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.SubType.mulDr"><span class="id" title="lemma">mulDr</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.SubType.nz1"><span class="id" title="lemma">nz1</span></a>.<br/> @@ -5222,22 +5243,22 @@ <span class="id" title="keyword">Section</span> <a name="GRing.SubType.Lmodule"><span class="id" title="section">Lmodule</span></a>.<br/> <br/> -<span class="id" title="keyword">Variables</span> (<a name="GRing.SubType.Lmodule.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>) (<a name="GRing.SubType.Lmodule.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.ssralg.html#R"><span class="id" title="variable">R</span></a>) (<a name="GRing.SubType.Lmodule.S"><span class="id" title="variable">S</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#predPredType"><span class="id" title="definition">predPredType</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#V"><span class="id" title="variable">V</span></a>).<br/> -<span class="id" title="keyword">Variables</span> (<a name="GRing.SubType.Lmodule.linS"><span class="id" title="variable">linS</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Pred.Exports.submodPred"><span class="id" title="abbreviation">submodPred</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.SubType.Lmodule.S"><span class="id" title="variable">S</span></a>) (<a name="GRing.SubType.Lmodule.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#keyed_pred"><span class="id" title="record">keyed_pred</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#linS"><span class="id" title="variable">linS</span></a>).<br/> -<span class="id" title="keyword">Variables</span> (<a name="GRing.SubType.Lmodule.W"><span class="id" title="variable">W</span></a> : <a class="idref" href="mathcomp.ssreflect.eqtype.html#subType"><span class="id" title="record">subType</span></a> (<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#mem"><span class="id" title="definition">mem</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.SubType.Lmodule.kS"><span class="id" title="variable">kS</span></a>)) (<a name="GRing.SubType.Lmodule.Z"><span class="id" title="variable">Z</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Zmodule.Exports.zmodType"><span class="id" title="abbreviation">zmodType</span></a>) (<a name="GRing.SubType.Lmodule.ZeqW"><span class="id" title="variable">ZeqW</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#Z"><span class="id" title="variable">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">=</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#W"><span class="id" title="variable">W</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> <span class="id" title="keyword">Type</span>).<br/> +<span class="id" title="keyword">Variables</span> (<a name="GRing.SubType.Lmodule.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>) (<a name="GRing.SubType.Lmodule.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.ssralg.html#R"><span class="id" title="variable">R</span></a>) (<a name="GRing.SubType.Lmodule.S"><span class="id" title="variable">S</span></a> : <a class="idref" href="mathcomp.ssreflect.ssrbool.html#64f8873130736b599801d4930af00e74"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.ssreflect.ssrbool.html#64f8873130736b599801d4930af00e74"><span class="id" title="notation">pred</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#V"><span class="id" title="variable">V</span></a><a class="idref" href="mathcomp.ssreflect.ssrbool.html#64f8873130736b599801d4930af00e74"><span class="id" title="notation">}</span></a>).<br/> +<span class="id" title="keyword">Variables</span> (<a name="GRing.SubType.Lmodule.linS"><span class="id" title="variable">linS</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Pred.Exports.submodPred"><span class="id" title="abbreviation">submodPred</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.SubType.Lmodule.S"><span class="id" title="variable">S</span></a>) (<a name="GRing.SubType.Lmodule.kS"><span class="id" title="variable">kS</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#keyed_pred"><span class="id" title="record">keyed_pred</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#linS"><span class="id" title="variable">linS</span></a>).<br/> +<span class="id" title="keyword">Variables</span> (<a name="GRing.SubType.Lmodule.W"><span class="id" title="variable">W</span></a> : <a class="idref" href="mathcomp.ssreflect.eqtype.html#subType"><span class="id" title="record">subType</span></a> (<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#mem"><span class="id" title="definition">mem</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.SubType.Lmodule.kS"><span class="id" title="variable">kS</span></a>)) (<a name="GRing.SubType.Lmodule.Z"><span class="id" title="variable">Z</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Zmodule.Exports.zmodType"><span class="id" title="abbreviation">zmodType</span></a>) (<a name="GRing.SubType.Lmodule.ZeqW"><span class="id" title="variable">ZeqW</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#Z"><span class="id" title="variable">Z</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#b8b2ebc8e1a8b9aa935c0702efb5dccf"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#W"><span class="id" title="variable">W</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#b8b2ebc8e1a8b9aa935c0702efb5dccf"><span class="id" title="notation">:></span></a> <span class="id" title="keyword">Type</span>).<br/> <br/> -<span class="id" title="keyword">Let</span> <a name="GRing.SubType.Lmodule.scaleW"><span class="id" title="variable">scaleW</span></a> <span class="id" title="var">a</span> (<span class="id" title="var">w</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.SubType.Lmodule.W"><span class="id" title="variable">W</span></a>) := (<a class="idref" href="mathcomp.ssreflect.eqtype.html#Sub"><span class="id" title="projection">Sub</span></a> <span class="id" title="var">_</span> <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> <span class="id" title="var">_</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.ssralg.html#GRing.SubType.Lmodule.W"><span class="id" title="variable">W</span></a>) (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.rpredZ"><span class="id" title="lemma">rpredZ</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#a"><span class="id" title="variable">a</span></a> (<a class="idref" href="mathcomp.ssreflect.eqtype.html#valP"><span class="id" title="lemma">valP</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#w"><span class="id" title="variable">w</span></a>)).<br/> +<span class="id" title="keyword">Let</span> <a name="GRing.SubType.Lmodule.scaleW"><span class="id" title="variable">scaleW</span></a> <span class="id" title="var">a</span> (<span class="id" title="var">w</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.SubType.Lmodule.W"><span class="id" title="variable">W</span></a>) := (<a class="idref" href="mathcomp.ssreflect.eqtype.html#Sub"><span class="id" title="projection">Sub</span></a> <span class="id" title="var">_</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssreflect.html#aed478b27f23b4f753c27c8ac393febc"><span class="id" title="notation">:</span></a> <span class="id" title="var">_</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.SubType.Lmodule.W"><span class="id" title="variable">W</span></a>) (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.rpredZ"><span class="id" title="lemma">rpredZ</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#a"><span class="id" title="variable">a</span></a> (<a class="idref" href="mathcomp.ssreflect.eqtype.html#valP"><span class="id" title="lemma">valP</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#w"><span class="id" title="variable">w</span></a>)).<br/> <span class="id" title="keyword">Let</span> <a name="GRing.SubType.Lmodule.W'"><span class="id" title="variable">W'</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.SubType.cast_zmodType"><span class="id" title="definition">cast_zmodType</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.SubType.Lmodule.ZeqW"><span class="id" title="variable">ZeqW</span></a>.<br/> <br/> -<span class="id" title="keyword">Hypothesis</span> <a name="GRing.SubType.Lmodule.valD"><span class="id" title="variable">valD</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><a class="idref" href="mathcomp.ssreflect.eqtype.html#val"><span class="id" title="projection">val</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.ssralg.html#GRing.SubType.Lmodule.W'"><span class="id" title="variable">W'</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.SubType.Lmodule.V"><span class="id" title="variable">V</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.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#338c5345074fd3586073fd29273c138a"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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/> +<span class="id" title="keyword">Hypothesis</span> <a name="GRing.SubType.Lmodule.valD"><span class="id" title="variable">valD</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#e69c60b553f06d3463460a9f4cee3c01"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#e69c60b553f06d3463460a9f4cee3c01"><span class="id" title="notation">morph</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#e69c60b553f06d3463460a9f4cee3c01"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.eqtype.html#val"><span class="id" title="projection">val</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssreflect.html#aed478b27f23b4f753c27c8ac393febc"><span class="id" title="notation">:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.SubType.Lmodule.W'"><span class="id" title="variable">W'</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.SubType.Lmodule.V"><span class="id" title="variable">V</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#e69c60b553f06d3463460a9f4cee3c01"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#e69c60b553f06d3463460a9f4cee3c01"><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/V8.9.0/stdlib//Coq.ssr.ssrfun.html#e69c60b553f06d3463460a9f4cee3c01"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#730bbb3cf1092122fa1a208d3879e5e8"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#e69c60b553f06d3463460a9f4cee3c01"><span class="id" title="notation">}</span></a>.<br/> <br/> -<span class="id" title="keyword">Fact</span> <a name="GRing.SubType.scaleA"><span class="id" title="lemma">scaleA</span></a> <span class="id" title="var">a</span> <span class="id" title="var">b</span> (<span class="id" title="var">w</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.SubType.Lmodule.W'"><span class="id" title="variable">W'</span></a>) : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.SubType.Lmodule.scaleW"><span class="id" title="variable">scaleW</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#a"><span class="id" title="variable">a</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.SubType.Lmodule.scaleW"><span class="id" title="variable">scaleW</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b"><span class="id" title="variable">b</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#w"><span class="id" title="variable">w</span></a>) <a class="idref" href="http://coq.inria.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#GRing.SubType.Lmodule.scaleW"><span class="id" title="variable">scaleW</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#a"><span class="id" title="variable">a</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#ed99e7035d9a1f8a2c1515be81ac2e5f"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b"><span class="id" title="variable">b</span></a>) <a class="idref" href="mathcomp.algebra.ssralg.html#w"><span class="id" title="variable">w</span></a>.<br/> - <span class="id" title="keyword">Fact</span> <a name="GRing.SubType.scale1"><span class="id" title="lemma">scale1</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 <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.SubType.Lmodule.scaleW"><span class="id" title="variable">scaleW</span></a>.<br/> - <span class="id" title="keyword">Fact</span> <a name="GRing.SubType.scaleDr"><span class="id" title="lemma">scaleDr</span></a> : @<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#right_distributive"><span class="id" title="definition">right_distributive</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.SubType.Lmodule.R"><span class="id" title="variable">R</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.SubType.Lmodule.W'"><span class="id" title="variable">W'</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.SubType.Lmodule.scaleW"><span class="id" title="variable">scaleW</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#6c3404a70e11a79a0fa82b3d398aa71f"><span class="id" title="notation">+%</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#6c3404a70e11a79a0fa82b3d398aa71f"><span class="id" title="notation">R</span></a>.<br/> - <span class="id" title="keyword">Fact</span> <a name="GRing.SubType.scaleDl"><span class="id" title="lemma">scaleDl</span></a> <span class="id" title="var">w</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.ssralg.html#GRing.SubType.Lmodule.scaleW"><span class="id" title="variable">scaleW</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.ssralg.html#w"><span class="id" title="variable">w</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.ssralg.html#GRing.SubType.Lmodule.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.ssralg.html#GRing.SubType.Lmodule.W'"><span class="id" title="variable">W'</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">a</span> <span class="id" title="var">b</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.ssralg.html#a"><span class="id" title="variable">a</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#338c5345074fd3586073fd29273c138a"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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.ssrfun.html#3014e73af2a90fd800d8681479d76336"><span class="id" title="notation">}</span></a>.<br/> +<span class="id" title="keyword">Fact</span> <a name="GRing.SubType.scaleA"><span class="id" title="lemma">scaleA</span></a> <span class="id" title="var">a</span> <span class="id" title="var">b</span> (<span class="id" title="var">w</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.SubType.Lmodule.W'"><span class="id" title="variable">W'</span></a>) : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.SubType.Lmodule.scaleW"><span class="id" title="variable">scaleW</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#a"><span class="id" title="variable">a</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.SubType.Lmodule.scaleW"><span class="id" title="variable">scaleW</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b"><span class="id" title="variable">b</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#w"><span class="id" title="variable">w</span></a>) <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.SubType.Lmodule.scaleW"><span class="id" title="variable">scaleW</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#a"><span class="id" title="variable">a</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f99a2dc6d143aa8f1021ab57e4a19eee"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b"><span class="id" title="variable">b</span></a>) <a class="idref" href="mathcomp.algebra.ssralg.html#w"><span class="id" title="variable">w</span></a>.<br/> + <span class="id" title="keyword">Fact</span> <a name="GRing.SubType.scale1"><span class="id" title="lemma">scale1</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#left_id"><span class="id" title="definition">left_id</span></a> 1 <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.SubType.Lmodule.scaleW"><span class="id" title="variable">scaleW</span></a>.<br/> + <span class="id" title="keyword">Fact</span> <a name="GRing.SubType.scaleDr"><span class="id" title="lemma">scaleDr</span></a> : @<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#right_distributive"><span class="id" title="definition">right_distributive</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.SubType.Lmodule.R"><span class="id" title="variable">R</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.SubType.Lmodule.W'"><span class="id" title="variable">W'</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.SubType.Lmodule.scaleW"><span class="id" title="variable">scaleW</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#89db507031b6d4a3d916a0f1c8eeaac2"><span class="id" title="notation">+%</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#89db507031b6d4a3d916a0f1c8eeaac2"><span class="id" title="notation">R</span></a>.<br/> + <span class="id" title="keyword">Fact</span> <a name="GRing.SubType.scaleDl"><span class="id" title="lemma">scaleDl</span></a> <span class="id" title="var">w</span> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#e69c60b553f06d3463460a9f4cee3c01"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#e69c60b553f06d3463460a9f4cee3c01"><span class="id" title="notation">morph</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#e69c60b553f06d3463460a9f4cee3c01"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#GRing.SubType.Lmodule.scaleW"><span class="id" title="variable">scaleW</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#d89396f990d6b54d736cfe259e498cf4"><span class="id" title="notation">^~</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#w"><span class="id" title="variable">w</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssreflect.html#aed478b27f23b4f753c27c8ac393febc"><span class="id" title="notation">:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.SubType.Lmodule.R"><span class="id" title="variable">R</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.SubType.Lmodule.W'"><span class="id" title="variable">W'</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#e69c60b553f06d3463460a9f4cee3c01"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#e69c60b553f06d3463460a9f4cee3c01"><span class="id" title="notation">:</span></a> <span class="id" title="var">a</span> <span class="id" title="var">b</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#e69c60b553f06d3463460a9f4cee3c01"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#a"><span class="id" title="variable">a</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#730bbb3cf1092122fa1a208d3879e5e8"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b"><span class="id" title="variable">b</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#e69c60b553f06d3463460a9f4cee3c01"><span class="id" title="notation">}</span></a>.<br/> <br/> <span class="id" title="keyword">Definition</span> <a name="GRing.SubType.lmodMixin"><span class="id" title="definition">lmodMixin</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lmodule.Exports.LmodMixin"><span class="id" title="abbreviation">LmodMixin</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.SubType.scaleA"><span class="id" title="lemma">scaleA</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.SubType.scale1"><span class="id" title="lemma">scale1</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.SubType.scaleDr"><span class="id" title="lemma">scaleDr</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.SubType.scaleDl"><span class="id" title="lemma">scaleDl</span></a>.<br/> @@ -5246,56 +5267,56 @@ <span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.SubType.Lmodule"><span class="id" title="section">Lmodule</span></a>.<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.SubType.lalgMixin"><span class="id" title="lemma">lalgMixin</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">A</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lalgebra.Exports.lalgType"><span class="id" title="abbreviation">lalgType</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#R"><span class="id" title="variable">R</span></a>) (<span class="id" title="var">B</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.ssralg.html#R"><span class="id" title="variable">R</span></a>) (<span class="id" title="var">f</span> : <a class="idref" href="mathcomp.algebra.ssralg.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#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#A"><span class="id" title="variable">A</span></a>) :<br/> - <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssreflect.html#phant"><span class="id" title="inductive">phant</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</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="mathcomp.algebra.ssralg.html#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.ssralg.html#GRing.scalable"><span class="id" title="abbreviation">scalable</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#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> <br/> - <span class="id" title="keyword">∀</span> <span class="id" title="var">mulB</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="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.ssralg.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#a0fd72584f326d7220475d01d3fceccd"><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#a0fd72584f326d7220475d01d3fceccd"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#mulB"><span class="id" title="variable">mulB</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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#a0fd72584f326d7220475d01d3fceccd"><span class="id" title="notation">>-></span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#ed99e7035d9a1f8a2c1515be81ac2e5f"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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#a0fd72584f326d7220475d01d3fceccd"><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.ssralg.html#GRing.Lalgebra.axiom"><span class="id" title="definition">Lalgebra.axiom</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#mulB"><span class="id" title="variable">mulB</span></a>.<br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.SubType.lalgMixin"><span class="id" title="lemma">lalgMixin</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">A</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lalgebra.Exports.lalgType"><span class="id" title="abbreviation">lalgType</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#R"><span class="id" title="variable">R</span></a>) (<span class="id" title="var">B</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.ssralg.html#R"><span class="id" title="variable">R</span></a>) (<span class="id" title="var">f</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#A"><span class="id" title="variable">A</span></a>) :<br/> + <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssreflect.html#phant"><span class="id" title="inductive">phant</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#injective"><span class="id" title="definition">injective</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.scalable"><span class="id" title="abbreviation">scalable</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <br/> + <span class="id" title="keyword">∀</span> <span class="id" title="var">mulB</span>, <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#40d800f6f36c47cb5f4f2f42555867a8"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#40d800f6f36c47cb5f4f2f42555867a8"><span class="id" title="notation">morph</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#40d800f6f36c47cb5f4f2f42555867a8"><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/V8.9.0/stdlib//Coq.ssr.ssrfun.html#40d800f6f36c47cb5f4f2f42555867a8"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#mulB"><span class="id" title="variable">mulB</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#40d800f6f36c47cb5f4f2f42555867a8"><span class="id" title="notation">>-></span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f99a2dc6d143aa8f1021ab57e4a19eee"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#40d800f6f36c47cb5f4f2f42555867a8"><span class="id" title="notation">}</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lalgebra.axiom"><span class="id" title="definition">Lalgebra.axiom</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#mulB"><span class="id" title="variable">mulB</span></a>.<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.SubType.comRingMixin"><span class="id" title="lemma">comRingMixin</span></a> (<span class="id" title="var">R</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComRing.Exports.comRingType"><span class="id" title="abbreviation">comRingType</span></a>) (<span class="id" title="var">T</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">f</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#T"><span class="id" title="variable">T</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#R"><span class="id" title="variable">R</span></a>) :<br/> - <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssreflect.html#phant"><span class="id" title="inductive">phant</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#T"><span class="id" title="variable">T</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#injective"><span class="id" title="definition">injective</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#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="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.ssralg.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#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.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#ed99e7035d9a1f8a2c1515be81ac2e5f"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#commutative"><span class="id" title="definition">commutative</span></a> (@<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.mul"><span class="id" title="definition">mul</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#T"><span class="id" title="variable">T</span></a>).<br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.SubType.comRingMixin"><span class="id" title="lemma">comRingMixin</span></a> (<span class="id" title="var">R</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComRing.Exports.comRingType"><span class="id" title="abbreviation">comRingType</span></a>) (<span class="id" title="var">T</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">f</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#T"><span class="id" title="variable">T</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#R"><span class="id" title="variable">R</span></a>) :<br/> + <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssreflect.html#phant"><span class="id" title="inductive">phant</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#T"><span class="id" title="variable">T</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#injective"><span class="id" title="definition">injective</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#e69c60b553f06d3463460a9f4cee3c01"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#e69c60b553f06d3463460a9f4cee3c01"><span class="id" title="notation">morph</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#e69c60b553f06d3463460a9f4cee3c01"><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/V8.9.0/stdlib//Coq.ssr.ssrfun.html#e69c60b553f06d3463460a9f4cee3c01"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f99a2dc6d143aa8f1021ab57e4a19eee"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#e69c60b553f06d3463460a9f4cee3c01"><span class="id" title="notation">}</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#commutative"><span class="id" title="definition">commutative</span></a> (@<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.mul"><span class="id" title="definition">mul</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#T"><span class="id" title="variable">T</span></a>).<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.SubType.algMixin"><span class="id" title="lemma">algMixin</span></a> (<span class="id" title="var">R</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComRing.Exports.comRingType"><span class="id" title="abbreviation">comRingType</span></a>) (<span class="id" title="var">A</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Algebra.Exports.algType"><span class="id" title="abbreviation">algType</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#R"><span class="id" title="variable">R</span></a>) (<span class="id" title="var">B</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lalgebra.Exports.lalgType"><span class="id" title="abbreviation">lalgType</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#R"><span class="id" title="variable">R</span></a>) (<span class="id" title="var">f</span> : <a class="idref" href="mathcomp.algebra.ssralg.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#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#A"><span class="id" title="variable">A</span></a>) :<br/> - <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssreflect.html#phant"><span class="id" title="inductive">phant</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</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="mathcomp.algebra.ssralg.html#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="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.ssralg.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#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.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#ed99e7035d9a1f8a2c1515be81ac2e5f"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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> <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.scalable"><span class="id" title="abbreviation">scalable</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#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><br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.SubType.algMixin"><span class="id" title="lemma">algMixin</span></a> (<span class="id" title="var">R</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComRing.Exports.comRingType"><span class="id" title="abbreviation">comRingType</span></a>) (<span class="id" title="var">A</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Algebra.Exports.algType"><span class="id" title="abbreviation">algType</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#R"><span class="id" title="variable">R</span></a>) (<span class="id" title="var">B</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lalgebra.Exports.lalgType"><span class="id" title="abbreviation">lalgType</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#R"><span class="id" title="variable">R</span></a>) (<span class="id" title="var">f</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#A"><span class="id" title="variable">A</span></a>) :<br/> + <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssreflect.html#phant"><span class="id" title="inductive">phant</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#injective"><span class="id" title="definition">injective</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#e69c60b553f06d3463460a9f4cee3c01"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#e69c60b553f06d3463460a9f4cee3c01"><span class="id" title="notation">morph</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#e69c60b553f06d3463460a9f4cee3c01"><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/V8.9.0/stdlib//Coq.ssr.ssrfun.html#e69c60b553f06d3463460a9f4cee3c01"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f99a2dc6d143aa8f1021ab57e4a19eee"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#e69c60b553f06d3463460a9f4cee3c01"><span class="id" title="notation">}</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.scalable"><span class="id" title="abbreviation">scalable</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a><br/> @<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Algebra.axiom"><span class="id" title="definition">Algebra.axiom</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#R"><span class="id" title="variable">R</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#B"><span class="id" title="variable">B</span></a>.<br/> <br/> <span class="id" title="keyword">Section</span> <a name="GRing.SubType.UnitRing"><span class="id" title="section">UnitRing</span></a>.<br/> <br/> -<span class="id" title="keyword">Definition</span> <a name="GRing.SubType.cast_ringType"><span class="id" title="definition">cast_ringType</span></a> (<span class="id" title="var">Q</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">T</span> (<span class="id" title="var">QeqT</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#Q"><span class="id" title="variable">Q</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#8f9364556521ebb498093f28eea2240f"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#T"><span class="id" title="variable">T</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> <span class="id" title="keyword">Type</span>) :=<br/> - <span class="id" title="keyword">let</span> <span class="id" title="var">cast</span> <span class="id" title="var">rQ</span> := <span class="id" title="keyword">let</span>: <span class="id" title="var">erefl</span> <span class="id" title="tactic">in</span> <span class="id" title="var">_</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> <span class="id" title="var">T</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#QeqT"><span class="id" title="variable">QeqT</span></a> <span class="id" title="keyword">return</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Ring.class_of"><span class="id" title="record">Ring.class_of</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#T"><span class="id" title="variable">T</span></a> <span class="id" title="tactic">in</span> <a class="idref" href="mathcomp.algebra.ssralg.html#rQ"><span class="id" title="variable">rQ</span></a> <span class="id" title="tactic">in</span><br/> - <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Ring.Pack"><span class="id" title="constructor">Ring.Pack</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#cast"><span class="id" title="variable">cast</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Ring.class"><span class="id" title="definition">Ring.class</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#Q"><span class="id" title="variable">Q</span></a>)) <a class="idref" href="mathcomp.algebra.ssralg.html#T"><span class="id" title="variable">T</span></a>.<br/> +<span class="id" title="keyword">Definition</span> <a name="GRing.SubType.cast_ringType"><span class="id" title="definition">cast_ringType</span></a> (<span class="id" title="var">Q</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">T</span> (<span class="id" title="var">QeqT</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#Q"><span class="id" title="variable">Q</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#b8b2ebc8e1a8b9aa935c0702efb5dccf"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#T"><span class="id" title="variable">T</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#b8b2ebc8e1a8b9aa935c0702efb5dccf"><span class="id" title="notation">:></span></a> <span class="id" title="keyword">Type</span>) :=<br/> + <span class="id" title="keyword">let</span> <span class="id" title="var">cast</span> <span class="id" title="var">rQ</span> := <span class="id" title="keyword">let</span>: <span class="id" title="var">erefl</span> <span class="id" title="tactic">in</span> <span class="id" title="var">_</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <span class="id" title="var">T</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#QeqT"><span class="id" title="variable">QeqT</span></a> <span class="id" title="keyword">return</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Ring.class_of"><span class="id" title="record">Ring.class_of</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#T"><span class="id" title="variable">T</span></a> <span class="id" title="tactic">in</span> <a class="idref" href="mathcomp.algebra.ssralg.html#rQ"><span class="id" title="variable">rQ</span></a> <span class="id" title="tactic">in</span><br/> + <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Ring.Pack"><span class="id" title="constructor">Ring.Pack</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#cast"><span class="id" title="variable">cast</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Ring.class"><span class="id" title="definition">Ring.class</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#Q"><span class="id" title="variable">Q</span></a>)).<br/> <br/> -<span class="id" title="keyword">Variables</span> (<a name="GRing.SubType.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>) (<a name="GRing.SubType.UnitRing.S"><span class="id" title="variable">S</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#predPredType"><span class="id" title="definition">predPredType</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#R"><span class="id" title="variable">R</span></a>).<br/> -<span class="id" title="keyword">Variables</span> (<a name="GRing.SubType.UnitRing.ringS"><span class="id" title="variable">ringS</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Pred.Exports.divringPred"><span class="id" title="abbreviation">divringPred</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.SubType.UnitRing.S"><span class="id" title="variable">S</span></a>) (<a name="GRing.SubType.UnitRing.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#keyed_pred"><span class="id" title="record">keyed_pred</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#ringS"><span class="id" title="variable">ringS</span></a>).<br/> +<span class="id" title="keyword">Variables</span> (<a name="GRing.SubType.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>) (<a name="GRing.SubType.UnitRing.S"><span class="id" title="variable">S</span></a> : <a class="idref" href="mathcomp.ssreflect.ssrbool.html#64f8873130736b599801d4930af00e74"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.ssreflect.ssrbool.html#64f8873130736b599801d4930af00e74"><span class="id" title="notation">pred</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#R"><span class="id" title="variable">R</span></a><a class="idref" href="mathcomp.ssreflect.ssrbool.html#64f8873130736b599801d4930af00e74"><span class="id" title="notation">}</span></a>).<br/> +<span class="id" title="keyword">Variables</span> (<a name="GRing.SubType.UnitRing.ringS"><span class="id" title="variable">ringS</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Pred.Exports.divringPred"><span class="id" title="abbreviation">divringPred</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.SubType.UnitRing.S"><span class="id" title="variable">S</span></a>) (<a name="GRing.SubType.UnitRing.kS"><span class="id" title="variable">kS</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#keyed_pred"><span class="id" title="record">keyed_pred</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#ringS"><span class="id" title="variable">ringS</span></a>).<br/> <br/> -<span class="id" title="keyword">Variables</span> (<a name="GRing.SubType.UnitRing.T"><span class="id" title="variable">T</span></a> : <a class="idref" href="mathcomp.ssreflect.eqtype.html#subType"><span class="id" title="record">subType</span></a> (<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#mem"><span class="id" title="definition">mem</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.SubType.UnitRing.kS"><span class="id" title="variable">kS</span></a>)) (<a name="GRing.SubType.UnitRing.Q"><span class="id" title="variable">Q</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Ring.Exports.ringType"><span class="id" title="abbreviation">ringType</span></a>) (<a name="GRing.SubType.UnitRing.QeqT"><span class="id" title="variable">QeqT</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#Q"><span class="id" title="variable">Q</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#8f9364556521ebb498093f28eea2240f"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#T"><span class="id" title="variable">T</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> <span class="id" title="keyword">Type</span>).<br/> +<span class="id" title="keyword">Variables</span> (<a name="GRing.SubType.UnitRing.T"><span class="id" title="variable">T</span></a> : <a class="idref" href="mathcomp.ssreflect.eqtype.html#subType"><span class="id" title="record">subType</span></a> (<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#mem"><span class="id" title="definition">mem</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.SubType.UnitRing.kS"><span class="id" title="variable">kS</span></a>)) (<a name="GRing.SubType.UnitRing.Q"><span class="id" title="variable">Q</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Ring.Exports.ringType"><span class="id" title="abbreviation">ringType</span></a>) (<a name="GRing.SubType.UnitRing.QeqT"><span class="id" title="variable">QeqT</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#Q"><span class="id" title="variable">Q</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#b8b2ebc8e1a8b9aa935c0702efb5dccf"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#T"><span class="id" title="variable">T</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#b8b2ebc8e1a8b9aa935c0702efb5dccf"><span class="id" title="notation">:></span></a> <span class="id" title="keyword">Type</span>).<br/> <br/> <span class="id" title="keyword">Let</span> <a name="GRing.SubType.UnitRing.inT"><span class="id" title="variable">inT</span></a> <span class="id" title="var">x</span> <span class="id" title="var">Sx</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.SubType.UnitRing.T"><span class="id" title="variable">T</span></a> := <a class="idref" href="mathcomp.ssreflect.eqtype.html#Sub"><span class="id" title="projection">Sub</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#Sx"><span class="id" title="variable">Sx</span></a>.<br/> <span class="id" title="keyword">Let</span> <a name="GRing.SubType.UnitRing.invT"><span class="id" title="variable">invT</span></a> (<span class="id" title="var">u</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.SubType.UnitRing.T"><span class="id" title="variable">T</span></a>) := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.SubType.UnitRing.inT"><span class="id" title="variable">inT</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.rpredVr"><span class="id" title="lemma">rpredVr</span></a> (<a class="idref" href="mathcomp.ssreflect.eqtype.html#valP"><span class="id" title="lemma">valP</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#u"><span class="id" title="variable">u</span></a>)).<br/> -<span class="id" title="keyword">Let</span> <a name="GRing.SubType.UnitRing.unitT"><span class="id" title="variable">unitT</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">u</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.ssralg.html#GRing.SubType.UnitRing.T"><span class="id" title="variable">T</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="mathcomp.ssreflect.eqtype.html#val"><span class="id" title="projection">val</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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#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">unit</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">Let</span> <a name="GRing.SubType.UnitRing.unitT"><span class="id" title="variable">unitT</span></a> := <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#65c8f47ea0daafc83f7bb18bc9eca61f"><span class="id" title="notation">[</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#65c8f47ea0daafc83f7bb18bc9eca61f"><span class="id" title="notation">qualify</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#65c8f47ea0daafc83f7bb18bc9eca61f"><span class="id" title="notation">a</span></a> <span class="id" title="var">u</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#65c8f47ea0daafc83f7bb18bc9eca61f"><span class="id" title="notation">:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.SubType.UnitRing.T"><span class="id" title="variable">T</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#65c8f47ea0daafc83f7bb18bc9eca61f"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#val"><span class="id" title="projection">val</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#u"><span class="id" title="variable">u</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#f6c65697fefaf4504de1d4d641cd4409"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#f6c65697fefaf4504de1d4d641cd4409"><span class="id" title="notation">is</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#f6c65697fefaf4504de1d4d641cd4409"><span class="id" title="notation">a</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.unit"><span class="id" title="definition">unit</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#65c8f47ea0daafc83f7bb18bc9eca61f"><span class="id" title="notation">]</span></a>.<br/> <span class="id" title="keyword">Let</span> <a name="GRing.SubType.UnitRing.T'"><span class="id" title="variable">T'</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.SubType.cast_ringType"><span class="id" title="definition">cast_ringType</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.SubType.UnitRing.QeqT"><span class="id" title="variable">QeqT</span></a>.<br/> <br/> -<span class="id" title="keyword">Hypothesis</span> <a name="GRing.SubType.UnitRing.val1"><span class="id" title="variable">val1</span></a> : <a class="idref" href="mathcomp.ssreflect.eqtype.html#val"><span class="id" title="projection">val</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.ssralg.html#GRing.SubType.UnitRing.T'"><span class="id" title="variable">T'</span></a>) <a 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">Hypothesis</span> <a name="GRing.SubType.UnitRing.valM"><span class="id" title="variable">valM</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><a class="idref" href="mathcomp.ssreflect.eqtype.html#val"><span class="id" title="projection">val</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.ssralg.html#GRing.SubType.UnitRing.T'"><span class="id" title="variable">T'</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.SubType.UnitRing.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#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.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#ed99e7035d9a1f8a2c1515be81ac2e5f"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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/> +<span class="id" title="keyword">Hypothesis</span> <a name="GRing.SubType.UnitRing.val1"><span class="id" title="variable">val1</span></a> : <a class="idref" href="mathcomp.ssreflect.eqtype.html#val"><span class="id" title="projection">val</span></a> (1 <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssreflect.html#aed478b27f23b4f753c27c8ac393febc"><span class="id" title="notation">:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.SubType.UnitRing.T'"><span class="id" title="variable">T'</span></a>) <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> 1.<br/> +<span class="id" title="keyword">Hypothesis</span> <a name="GRing.SubType.UnitRing.valM"><span class="id" title="variable">valM</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#e69c60b553f06d3463460a9f4cee3c01"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#e69c60b553f06d3463460a9f4cee3c01"><span class="id" title="notation">morph</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#e69c60b553f06d3463460a9f4cee3c01"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.eqtype.html#val"><span class="id" title="projection">val</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssreflect.html#aed478b27f23b4f753c27c8ac393febc"><span class="id" title="notation">:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.SubType.UnitRing.T'"><span class="id" title="variable">T'</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.SubType.UnitRing.R"><span class="id" title="variable">R</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#e69c60b553f06d3463460a9f4cee3c01"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#e69c60b553f06d3463460a9f4cee3c01"><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/V8.9.0/stdlib//Coq.ssr.ssrfun.html#e69c60b553f06d3463460a9f4cee3c01"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f99a2dc6d143aa8f1021ab57e4a19eee"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#e69c60b553f06d3463460a9f4cee3c01"><span class="id" title="notation">}</span></a>.<br/> <br/> <span class="id" title="keyword">Fact</span> <a name="GRing.SubType.mulVr"><span class="id" title="lemma">mulVr</span></a> :<br/> - <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#5c59b35a0b51db520cf1fba473ecf127"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#GRing.SubType.UnitRing.unitT"><span class="id" title="variable">unitT</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="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#predPredType"><span class="id" title="definition">predPredType</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.SubType.UnitRing.T'"><span class="id" title="variable">T'</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 <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.ssralg.html#GRing.SubType.UnitRing.T'"><span class="id" title="variable">T'</span></a>) <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.SubType.UnitRing.invT"><span class="id" title="variable">invT</span></a> (@<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.mul"><span class="id" title="definition">mul</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.SubType.UnitRing.T'"><span class="id" title="variable">T'</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/> + <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><span class="id" title="notation">in</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#GRing.SubType.UnitRing.unitT"><span class="id" title="variable">unitT</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssreflect.html#aed478b27f23b4f753c27c8ac393febc"><span class="id" title="notation">:</span></a> <a class="idref" href="mathcomp.ssreflect.ssrbool.html#64f8873130736b599801d4930af00e74"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.ssreflect.ssrbool.html#64f8873130736b599801d4930af00e74"><span class="id" title="notation">pred</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.SubType.UnitRing.T'"><span class="id" title="variable">T'</span></a><a class="idref" href="mathcomp.ssreflect.ssrbool.html#64f8873130736b599801d4930af00e74"><span class="id" title="notation">}</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><span class="id" title="notation">),</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#left_inverse"><span class="id" title="definition">left_inverse</span></a> (1 <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssreflect.html#aed478b27f23b4f753c27c8ac393febc"><span class="id" title="notation">:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.SubType.UnitRing.T'"><span class="id" title="variable">T'</span></a>) <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.SubType.UnitRing.invT"><span class="id" title="variable">invT</span></a> (@<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.mul"><span class="id" title="definition">mul</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.SubType.UnitRing.T'"><span class="id" title="variable">T'</span></a>)<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><span class="id" title="notation">}</span></a>.<br/> <br/> -<span class="id" title="keyword">Fact</span> <a name="GRing.SubType.mulrV"><span class="id" title="lemma">mulrV</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.ssralg.html#GRing.SubType.UnitRing.unitT"><span class="id" title="variable">unitT</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#right_inverse"><span class="id" title="definition">right_inverse</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.ssralg.html#GRing.SubType.UnitRing.T'"><span class="id" title="variable">T'</span></a>) <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.SubType.UnitRing.invT"><span class="id" title="variable">invT</span></a> (@<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.mul"><span class="id" title="definition">mul</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.SubType.UnitRing.T'"><span class="id" title="variable">T'</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/> +<span class="id" title="keyword">Fact</span> <a name="GRing.SubType.mulrV"><span class="id" title="lemma">mulrV</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.SubType.UnitRing.unitT"><span class="id" title="variable">unitT</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><span class="id" title="notation">,</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#right_inverse"><span class="id" title="definition">right_inverse</span></a> (1 <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssreflect.html#aed478b27f23b4f753c27c8ac393febc"><span class="id" title="notation">:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.SubType.UnitRing.T'"><span class="id" title="variable">T'</span></a>) <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.SubType.UnitRing.invT"><span class="id" title="variable">invT</span></a> (@<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.mul"><span class="id" title="definition">mul</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.SubType.UnitRing.T'"><span class="id" title="variable">T'</span></a>)<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><span class="id" title="notation">}</span></a>.<br/> <br/> -<span class="id" title="keyword">Fact</span> <a name="GRing.SubType.unitP"><span class="id" title="lemma">unitP</span></a> (<span class="id" title="var">u</span> <span class="id" title="var">v</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.SubType.UnitRing.T'"><span class="id" title="variable">T'</span></a>) : <a class="idref" href="mathcomp.algebra.ssralg.html#v"><span class="id" title="variable">v</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#ed99e7035d9a1f8a2c1515be81ac2e5f"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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#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#d82a7d96d3659d805ffe732283716822"><span class="id" title="notation">∧</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#u"><span class="id" title="variable">u</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#ed99e7035d9a1f8a2c1515be81ac2e5f"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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> 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.ssralg.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.ssralg.html#GRing.SubType.UnitRing.unitT"><span class="id" title="variable">unitT</span></a>.<br/> +<span class="id" title="keyword">Fact</span> <a name="GRing.SubType.unitP"><span class="id" title="lemma">unitP</span></a> (<span class="id" title="var">u</span> <span class="id" title="var">v</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.SubType.UnitRing.T'"><span class="id" title="variable">T'</span></a>) : <a class="idref" href="mathcomp.algebra.ssralg.html#v"><span class="id" title="variable">v</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f99a2dc6d143aa8f1021ab57e4a19eee"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#u"><span class="id" title="variable">u</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> 1 <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#ba2b0e492d2b4675a0acf3ea92aabadd"><span class="id" title="notation">∧</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#u"><span class="id" title="variable">u</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f99a2dc6d143aa8f1021ab57e4a19eee"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#v"><span class="id" title="variable">v</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> 1 <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#u"><span class="id" title="variable">u</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.SubType.UnitRing.unitT"><span class="id" title="variable">unitT</span></a>.<br/> <br/> -<span class="id" title="keyword">Fact</span> <a name="GRing.SubType.unit_id"><span class="id" title="lemma">unit_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><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.ssralg.html#GRing.SubType.UnitRing.unitT"><span class="id" title="variable">unitT</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.ssralg.html#GRing.SubType.UnitRing.invT"><span class="id" title="variable">invT</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/> +<span class="id" title="keyword">Fact</span> <a name="GRing.SubType.unit_id"><span class="id" title="lemma">unit_id</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><span class="id" title="notation">in</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#790b887fcb3f1d578b2c7a5460f7aeb5"><span class="id" title="notation">[</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#790b887fcb3f1d578b2c7a5460f7aeb5"><span class="id" title="notation">predC</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.SubType.UnitRing.unitT"><span class="id" title="variable">unitT</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#790b887fcb3f1d578b2c7a5460f7aeb5"><span class="id" title="notation">]</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.SubType.UnitRing.invT"><span class="id" title="variable">invT</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#876aa133fb3472bffd492f74ff496035"><span class="id" title="notation">=1</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#id"><span class="id" title="abbreviation">id</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><span class="id" title="notation">}</span></a>.<br/> <br/> <span class="id" title="keyword">Definition</span> <a name="GRing.SubType.unitRingMixin"><span class="id" title="definition">unitRingMixin</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitRing.Exports.UnitRingMixin"><span class="id" title="abbreviation">UnitRingMixin</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.SubType.mulVr"><span class="id" title="lemma">mulVr</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.SubType.mulrV"><span class="id" title="lemma">mulrV</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.SubType.unitP"><span class="id" title="lemma">unitP</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.SubType.unit_id"><span class="id" title="lemma">unit_id</span></a>.<br/> @@ -5304,44 +5325,44 @@ <span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.SubType.UnitRing"><span class="id" title="section">UnitRing</span></a>.<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.SubType.idomainMixin"><span class="id" title="lemma">idomainMixin</span></a> (<span class="id" title="var">R</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.IntegralDomain.Exports.idomainType"><span class="id" title="abbreviation">idomainType</span></a>) (<span class="id" title="var">T</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">f</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#T"><span class="id" title="variable">T</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#R"><span class="id" title="variable">R</span></a>) :<br/> - <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssreflect.html#phant"><span class="id" title="inductive">phant</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#T"><span class="id" title="variable">T</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#injective"><span class="id" title="definition">injective</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#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.ssralg.html#f"><span class="id" title="variable">f</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 <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.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.ssralg.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#3014e73af2a90fd800d8681479d76336"><span class="id" title="notation">:</span></a> <span class="id" title="var">u</span> <span class="id" title="var">v</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.ssralg.html#u"><span class="id" title="variable">u</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#ed99e7035d9a1f8a2c1515be81ac2e5f"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#v"><span class="id" title="variable">v</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.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a><br/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.SubType.idomainMixin"><span class="id" title="lemma">idomainMixin</span></a> (<span class="id" title="var">R</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.IntegralDomain.Exports.idomainType"><span class="id" title="abbreviation">idomainType</span></a>) (<span class="id" title="var">T</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">f</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#T"><span class="id" title="variable">T</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#R"><span class="id" title="variable">R</span></a>) :<br/> + <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssreflect.html#phant"><span class="id" title="inductive">phant</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#T"><span class="id" title="variable">T</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#injective"><span class="id" title="definition">injective</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f"><span class="id" title="variable">f</span></a> 0 <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> 0 <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#e69c60b553f06d3463460a9f4cee3c01"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#e69c60b553f06d3463460a9f4cee3c01"><span class="id" title="notation">morph</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#e69c60b553f06d3463460a9f4cee3c01"><span class="id" title="notation">:</span></a> <span class="id" title="var">u</span> <span class="id" title="var">v</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#e69c60b553f06d3463460a9f4cee3c01"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#u"><span class="id" title="variable">u</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f99a2dc6d143aa8f1021ab57e4a19eee"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#v"><span class="id" title="variable">v</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#e69c60b553f06d3463460a9f4cee3c01"><span class="id" title="notation">}</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a><br/> @<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.IntegralDomain.axiom"><span class="id" title="definition">IntegralDomain.axiom</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#T"><span class="id" title="variable">T</span></a>.<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="GRing.SubType.fieldMixin"><span class="id" title="lemma">fieldMixin</span></a> (<span class="id" title="var">F</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Field.Exports.fieldType"><span class="id" title="abbreviation">fieldType</span></a>) (<span class="id" title="var">K</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#K"><span class="id" title="variable">K</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#F"><span class="id" title="variable">F</span></a>) : <br/> - <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssreflect.html#phant"><span class="id" title="inductive">phant</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#K"><span class="id" title="variable">K</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</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="mathcomp.algebra.ssralg.html#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.ssralg.html#f"><span class="id" title="variable">f</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 <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#69ee97879e4a4ae19a99125173c5741e"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#69ee97879e4a4ae19a99125173c5741e"><span class="id" title="notation">mono</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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#69ee97879e4a4ae19a99125173c5741e"><span class="id" title="notation">:</span></a> <span class="id" title="var">u</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#69ee97879e4a4ae19a99125173c5741e"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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.ssralg.html#GRing.unit"><span class="id" title="definition">unit</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#69ee97879e4a4ae19a99125173c5741e"><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/> +<span class="id" title="keyword">Lemma</span> <a name="GRing.SubType.fieldMixin"><span class="id" title="lemma">fieldMixin</span></a> (<span class="id" title="var">F</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Field.Exports.fieldType"><span class="id" title="abbreviation">fieldType</span></a>) (<span class="id" title="var">K</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#K"><span class="id" title="variable">K</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#F"><span class="id" title="variable">F</span></a>) : <br/> + <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssreflect.html#phant"><span class="id" title="inductive">phant</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#K"><span class="id" title="variable">K</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#injective"><span class="id" title="definition">injective</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f"><span class="id" title="variable">f</span></a> 0 <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> 0 <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#59bb3d488a31f5d40a0ab7b83185cb16"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#59bb3d488a31f5d40a0ab7b83185cb16"><span class="id" title="notation">mono</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#59bb3d488a31f5d40a0ab7b83185cb16"><span class="id" title="notation">:</span></a> <span class="id" title="var">u</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#59bb3d488a31f5d40a0ab7b83185cb16"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#u"><span class="id" title="variable">u</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.unit"><span class="id" title="definition">unit</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#59bb3d488a31f5d40a0ab7b83185cb16"><span class="id" title="notation">}</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <br/> @<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Field.mixin_of"><span class="id" title="definition">Field.mixin_of</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#K"><span class="id" title="variable">K</span></a>.<br/> <br/> <span class="id" title="keyword">Module</span> <a name="GRing.SubType.Exports"><span class="id" title="module">Exports</span></a>.<br/> <br/> -<span class="id" title="keyword">Notation</span> <a name="12c08185c491bc566a7da7b64605c9a3"><span class="id" title="notation">"</span></a>[ 'zmodMixin' 'of' U 'by' <: ]" := (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.SubType.zmodMixin"><span class="id" title="definition">zmodMixin</span></a> (<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssreflect.html#Phant"><span class="id" title="constructor">Phant</span></a> <span class="id" title="var">U</span>))<br/> +<span class="id" title="keyword">Notation</span> <a name="f379225ec8dfc5d660cf07deb0b2efb4"><span class="id" title="notation">"</span></a>[ 'zmodMixin' 'of' U 'by' <: ]" := (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.SubType.zmodMixin"><span class="id" title="definition">zmodMixin</span></a> (<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssreflect.html#Phant"><span class="id" title="constructor">Phant</span></a> <span class="id" title="var">U</span>))<br/> (<span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 0, <span class="id" title="var">format</span> "[ 'zmodMixin' 'of' U 'by' <: ]") : <span class="id" title="var">form_scope</span>.<br/> -<span class="id" title="keyword">Notation</span> <a name="d95bbf22ba89f2c48e1ae4fe1338b7ee"><span class="id" title="notation">"</span></a>[ 'ringMixin' 'of' R 'by' <: ]" :=<br/> - (@<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.SubType.ringMixin"><span class="id" title="definition">ringMixin</span></a> <span class="id" title="var">_</span> <span class="id" title="var">_</span> <span class="id" title="var">_</span> <span class="id" title="var">_</span> <span class="id" title="var">_</span> <span class="id" title="var">_</span> (@<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#erefl"><span class="id" title="abbreviation">erefl</span></a> <span class="id" title="keyword">Type</span> <span class="id" title="var">R</span>%<span class="id" title="keyword">type</span>) (<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#rrefl"><span class="id" title="lemma">rrefl</span></a> <span class="id" title="var">_</span>))<br/> +<span class="id" title="keyword">Notation</span> <a name="f625c62aceb0354308865d5dd53ab01f"><span class="id" title="notation">"</span></a>[ 'ringMixin' 'of' R 'by' <: ]" :=<br/> + (@<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.SubType.ringMixin"><span class="id" title="definition">ringMixin</span></a> <span class="id" title="var">_</span> <span class="id" title="var">_</span> <span class="id" title="var">_</span> <span class="id" title="var">_</span> <span class="id" title="var">_</span> <span class="id" title="var">_</span> (@<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#erefl"><span class="id" title="abbreviation">erefl</span></a> <span class="id" title="keyword">Type</span> <span class="id" title="var">R</span>%<span class="id" title="keyword">type</span>) (<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#rrefl"><span class="id" title="lemma">rrefl</span></a> <span class="id" title="var">_</span>))<br/> (<span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 0, <span class="id" title="var">format</span> "[ 'ringMixin' 'of' R 'by' <: ]") : <span class="id" title="var">form_scope</span>.<br/> -<span class="id" title="keyword">Notation</span> <a name="32c2078c0586b055b54305843b7f7e67"><span class="id" title="notation">"</span></a>[ 'lmodMixin' 'of' U 'by' <: ]" :=<br/> - (@<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.SubType.lmodMixin"><span class="id" title="definition">lmodMixin</span></a> <span class="id" title="var">_</span> <span class="id" title="var">_</span> <span class="id" title="var">_</span> <span class="id" title="var">_</span> <span class="id" title="var">_</span> <span class="id" title="var">_</span> <span class="id" title="var">_</span> (@<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#erefl"><span class="id" title="abbreviation">erefl</span></a> <span class="id" title="keyword">Type</span> <span class="id" title="var">U</span>%<span class="id" title="keyword">type</span>) (<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#rrefl"><span class="id" title="lemma">rrefl</span></a> <span class="id" title="var">_</span>))<br/> +<span class="id" title="keyword">Notation</span> <a name="38b3ea7fc6d29c65cc1ec0b680489dc7"><span class="id" title="notation">"</span></a>[ 'lmodMixin' 'of' U 'by' <: ]" :=<br/> + (@<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.SubType.lmodMixin"><span class="id" title="definition">lmodMixin</span></a> <span class="id" title="var">_</span> <span class="id" title="var">_</span> <span class="id" title="var">_</span> <span class="id" title="var">_</span> <span class="id" title="var">_</span> <span class="id" title="var">_</span> <span class="id" title="var">_</span> (@<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#erefl"><span class="id" title="abbreviation">erefl</span></a> <span class="id" title="keyword">Type</span> <span class="id" title="var">U</span>%<span class="id" title="keyword">type</span>) (<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#rrefl"><span class="id" title="lemma">rrefl</span></a> <span class="id" title="var">_</span>))<br/> (<span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 0, <span class="id" title="var">format</span> "[ 'lmodMixin' 'of' U 'by' <: ]") : <span class="id" title="var">form_scope</span>.<br/> -<span class="id" title="keyword">Notation</span> <a name="6d8ba92320b5d921588d1709c8536d66"><span class="id" title="notation">"</span></a>[ 'lalgMixin' 'of' A 'by' <: ]" :=<br/> - ((<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.SubType.lalgMixin"><span class="id" title="lemma">lalgMixin</span></a> (<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssreflect.html#Phant"><span class="id" title="constructor">Phant</span></a> <span class="id" title="var">A</span>) <a class="idref" href="mathcomp.ssreflect.eqtype.html#val_inj"><span class="id" title="lemma">val_inj</span></a> (<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#rrefl"><span class="id" title="lemma">rrefl</span></a> <span class="id" title="var">_</span>)) <a class="idref" href="mathcomp.algebra.ssralg.html#6498e6e308d8a143464cf2d2ba603d36"><span class="id" title="notation">*%</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#6498e6e308d8a143464cf2d2ba603d36"><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#rrefl"><span class="id" title="lemma">rrefl</span></a> <span class="id" title="var">_</span>))<br/> +<span class="id" title="keyword">Notation</span> <a name="9aac47d9eeb1b3e6d5a5febc761ef694"><span class="id" title="notation">"</span></a>[ 'lalgMixin' 'of' A 'by' <: ]" :=<br/> + ((<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.SubType.lalgMixin"><span class="id" title="lemma">lalgMixin</span></a> (<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssreflect.html#Phant"><span class="id" title="constructor">Phant</span></a> <span class="id" title="var">A</span>) <a class="idref" href="mathcomp.ssreflect.eqtype.html#val_inj"><span class="id" title="lemma">val_inj</span></a> (<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#rrefl"><span class="id" title="lemma">rrefl</span></a> <span class="id" title="var">_</span>)) <a class="idref" href="mathcomp.algebra.ssralg.html#bae191a5c954d16cccd67244cf8a6ceb"><span class="id" title="notation">*%</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#bae191a5c954d16cccd67244cf8a6ceb"><span class="id" title="notation">R</span></a> (<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#rrefl"><span class="id" title="lemma">rrefl</span></a> <span class="id" title="var">_</span>))<br/> (<span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 0, <span class="id" title="var">format</span> "[ 'lalgMixin' 'of' A 'by' <: ]") : <span class="id" title="var">form_scope</span>.<br/> -<span class="id" title="keyword">Notation</span> <a name="644239693c924204bb2585490fe83da2"><span class="id" title="notation">"</span></a>[ 'comRingMixin' 'of' R 'by' <: ]" :=<br/> - (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.SubType.comRingMixin"><span class="id" title="lemma">comRingMixin</span></a> (<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssreflect.html#Phant"><span class="id" title="constructor">Phant</span></a> <span class="id" title="var">R</span>) <a class="idref" href="mathcomp.ssreflect.eqtype.html#val_inj"><span class="id" title="lemma">val_inj</span></a> (<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#rrefl"><span class="id" title="lemma">rrefl</span></a> <span class="id" title="var">_</span>))<br/> +<span class="id" title="keyword">Notation</span> <a name="4c5a69764ef57db08f25bb13c5922bb9"><span class="id" title="notation">"</span></a>[ 'comRingMixin' 'of' R 'by' <: ]" :=<br/> + (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.SubType.comRingMixin"><span class="id" title="lemma">comRingMixin</span></a> (<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssreflect.html#Phant"><span class="id" title="constructor">Phant</span></a> <span class="id" title="var">R</span>) <a class="idref" href="mathcomp.ssreflect.eqtype.html#val_inj"><span class="id" title="lemma">val_inj</span></a> (<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#rrefl"><span class="id" title="lemma">rrefl</span></a> <span class="id" title="var">_</span>))<br/> (<span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 0, <span class="id" title="var">format</span> "[ 'comRingMixin' 'of' R 'by' <: ]") : <span class="id" title="var">form_scope</span>.<br/> -<span class="id" title="keyword">Notation</span> <a name="24cde06860b9c92e6c9c0397a62009c8"><span class="id" title="notation">"</span></a>[ 'algMixin' 'of' A 'by' <: ]" :=<br/> - (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.SubType.algMixin"><span class="id" title="lemma">algMixin</span></a> (<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssreflect.html#Phant"><span class="id" title="constructor">Phant</span></a> <span class="id" title="var">A</span>) <a class="idref" href="mathcomp.ssreflect.eqtype.html#val_inj"><span class="id" title="lemma">val_inj</span></a> (<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#rrefl"><span class="id" title="lemma">rrefl</span></a> <span class="id" title="var">_</span>) (<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#rrefl"><span class="id" title="lemma">rrefl</span></a> <span class="id" title="var">_</span>))<br/> +<span class="id" title="keyword">Notation</span> <a name="26e6b9f0e308a1d93a5b9cc3600f1f94"><span class="id" title="notation">"</span></a>[ 'algMixin' 'of' A 'by' <: ]" :=<br/> + (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.SubType.algMixin"><span class="id" title="lemma">algMixin</span></a> (<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssreflect.html#Phant"><span class="id" title="constructor">Phant</span></a> <span class="id" title="var">A</span>) <a class="idref" href="mathcomp.ssreflect.eqtype.html#val_inj"><span class="id" title="lemma">val_inj</span></a> (<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#rrefl"><span class="id" title="lemma">rrefl</span></a> <span class="id" title="var">_</span>) (<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#rrefl"><span class="id" title="lemma">rrefl</span></a> <span class="id" title="var">_</span>))<br/> (<span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 0, <span class="id" title="var">format</span> "[ 'algMixin' 'of' A 'by' <: ]") : <span class="id" title="var">form_scope</span>.<br/> -<span class="id" title="keyword">Notation</span> <a name="4068b60b6efac062962fcea41c5f1fa3"><span class="id" title="notation">"</span></a>[ 'unitRingMixin' 'of' R 'by' <: ]" :=<br/> - (@<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.SubType.unitRingMixin"><span class="id" title="definition">unitRingMixin</span></a> <span class="id" title="var">_</span> <span class="id" title="var">_</span> <span class="id" title="var">_</span> <span class="id" title="var">_</span> <span class="id" title="var">_</span> <span class="id" title="var">_</span> (@<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#erefl"><span class="id" title="abbreviation">erefl</span></a> <span class="id" title="keyword">Type</span> <span class="id" title="var">R</span>%<span class="id" title="keyword">type</span>) (<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#erefl"><span class="id" title="abbreviation">erefl</span></a> <span class="id" title="var">_</span>) (<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#rrefl"><span class="id" title="lemma">rrefl</span></a> <span class="id" title="var">_</span>))<br/> +<span class="id" title="keyword">Notation</span> <a name="b301713c2aba0b85ce0f12fd24d9fa6c"><span class="id" title="notation">"</span></a>[ 'unitRingMixin' 'of' R 'by' <: ]" :=<br/> + (@<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.SubType.unitRingMixin"><span class="id" title="definition">unitRingMixin</span></a> <span class="id" title="var">_</span> <span class="id" title="var">_</span> <span class="id" title="var">_</span> <span class="id" title="var">_</span> <span class="id" title="var">_</span> <span class="id" title="var">_</span> (@<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#erefl"><span class="id" title="abbreviation">erefl</span></a> <span class="id" title="keyword">Type</span> <span class="id" title="var">R</span>%<span class="id" title="keyword">type</span>) (<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#erefl"><span class="id" title="abbreviation">erefl</span></a> <span class="id" title="var">_</span>) (<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#rrefl"><span class="id" title="lemma">rrefl</span></a> <span class="id" title="var">_</span>))<br/> (<span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 0, <span class="id" title="var">format</span> "[ 'unitRingMixin' 'of' R 'by' <: ]") : <span class="id" title="var">form_scope</span>.<br/> -<span class="id" title="keyword">Notation</span> <a name="b3ccc27c5dac0393365d2ae3ecbb2b01"><span class="id" title="notation">"</span></a>[ 'idomainMixin' 'of' R 'by' <: ]" :=<br/> - (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.SubType.idomainMixin"><span class="id" title="lemma">idomainMixin</span></a> (<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssreflect.html#Phant"><span class="id" title="constructor">Phant</span></a> <span class="id" title="var">R</span>) <a class="idref" href="mathcomp.ssreflect.eqtype.html#val_inj"><span class="id" title="lemma">val_inj</span></a> (<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#erefl"><span class="id" title="abbreviation">erefl</span></a> <span class="id" title="var">_</span>) (<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#rrefl"><span class="id" title="lemma">rrefl</span></a> <span class="id" title="var">_</span>))<br/> +<span class="id" title="keyword">Notation</span> <a name="5b251e8f030769055bfe05ad2f695eba"><span class="id" title="notation">"</span></a>[ 'idomainMixin' 'of' R 'by' <: ]" :=<br/> + (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.SubType.idomainMixin"><span class="id" title="lemma">idomainMixin</span></a> (<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssreflect.html#Phant"><span class="id" title="constructor">Phant</span></a> <span class="id" title="var">R</span>) <a class="idref" href="mathcomp.ssreflect.eqtype.html#val_inj"><span class="id" title="lemma">val_inj</span></a> (<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#erefl"><span class="id" title="abbreviation">erefl</span></a> <span class="id" title="var">_</span>) (<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#rrefl"><span class="id" title="lemma">rrefl</span></a> <span class="id" title="var">_</span>))<br/> (<span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 0, <span class="id" title="var">format</span> "[ 'idomainMixin' 'of' R 'by' <: ]") : <span class="id" title="var">form_scope</span>.<br/> -<span class="id" title="keyword">Notation</span> <a name="a44e69ea3e41fe55edbcaf554dca2dfa"><span class="id" title="notation">"</span></a>[ 'fieldMixin' 'of' F 'by' <: ]" :=<br/> - (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.SubType.fieldMixin"><span class="id" title="lemma">fieldMixin</span></a> (<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssreflect.html#Phant"><span class="id" title="constructor">Phant</span></a> <span class="id" title="var">F</span>) <a class="idref" href="mathcomp.ssreflect.eqtype.html#val_inj"><span class="id" title="lemma">val_inj</span></a> (<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#erefl"><span class="id" title="abbreviation">erefl</span></a> <span class="id" title="var">_</span>) (<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#frefl"><span class="id" title="lemma">frefl</span></a> <span class="id" title="var">_</span>))<br/> +<span class="id" title="keyword">Notation</span> <a name="83cca6b725db9972b036f288f094080c"><span class="id" title="notation">"</span></a>[ 'fieldMixin' 'of' F 'by' <: ]" :=<br/> + (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.SubType.fieldMixin"><span class="id" title="lemma">fieldMixin</span></a> (<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssreflect.html#Phant"><span class="id" title="constructor">Phant</span></a> <span class="id" title="var">F</span>) <a class="idref" href="mathcomp.ssreflect.eqtype.html#val_inj"><span class="id" title="lemma">val_inj</span></a> (<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#erefl"><span class="id" title="abbreviation">erefl</span></a> <span class="id" title="var">_</span>) (<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#frefl"><span class="id" title="lemma">frefl</span></a> <span class="id" title="var">_</span>))<br/> (<span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 0, <span class="id" title="var">format</span> "[ 'fieldMixin' 'of' F 'by' <: ]") : <span class="id" title="var">form_scope</span>.<br/> <br/> @@ -5374,12 +5395,14 @@ <span class="id" title="keyword">Definition</span> <a name="GRing.Theory.addIr"><span class="id" title="definition">addIr</span></a> := @<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.addIr"><span class="id" title="lemma">addIr</span></a>.<br/> <span class="id" title="keyword">Definition</span> <a name="GRing.Theory.subrI"><span class="id" title="definition">subrI</span></a> := @<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.subrI"><span class="id" title="lemma">subrI</span></a>.<br/> <span class="id" title="keyword">Definition</span> <a name="GRing.Theory.subIr"><span class="id" title="definition">subIr</span></a> := @<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.subIr"><span class="id" title="lemma">subIr</span></a>.<br/> -<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.opprK"><span class="id" title="definition">opprK</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.opprK"><span class="id" title="lemma">opprK</span></a>.<br/> +<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.opprK"><span class="id" title="definition">opprK</span></a> := @<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.opprK"><span class="id" title="lemma">opprK</span></a>.<br/> <span class="id" title="keyword">Definition</span> <a name="GRing.Theory.oppr_inj"><span class="id" title="definition">oppr_inj</span></a> := @<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.oppr_inj"><span class="id" title="lemma">oppr_inj</span></a>.<br/> <span class="id" title="keyword">Definition</span> <a name="GRing.Theory.oppr0"><span class="id" title="definition">oppr0</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.oppr0"><span class="id" title="lemma">oppr0</span></a>.<br/> <span class="id" title="keyword">Definition</span> <a name="GRing.Theory.oppr_eq0"><span class="id" title="definition">oppr_eq0</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.oppr_eq0"><span class="id" title="lemma">oppr_eq0</span></a>.<br/> <span class="id" title="keyword">Definition</span> <a name="GRing.Theory.opprD"><span class="id" title="definition">opprD</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.opprD"><span class="id" title="lemma">opprD</span></a>.<br/> <span class="id" title="keyword">Definition</span> <a name="GRing.Theory.opprB"><span class="id" title="definition">opprB</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.opprB"><span class="id" title="lemma">opprB</span></a>.<br/> +<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.addrKA"><span class="id" title="definition">addrKA</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.addrKA"><span class="id" title="lemma">addrKA</span></a>.<br/> +<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.subrKA"><span class="id" title="definition">subrKA</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.subrKA"><span class="id" title="lemma">subrKA</span></a>.<br/> <span class="id" title="keyword">Definition</span> <a name="GRing.Theory.subr0"><span class="id" title="definition">subr0</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.subr0"><span class="id" title="lemma">subr0</span></a>.<br/> <span class="id" title="keyword">Definition</span> <a name="GRing.Theory.sub0r"><span class="id" title="definition">sub0r</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.sub0r"><span class="id" title="lemma">sub0r</span></a>.<br/> <span class="id" title="keyword">Definition</span> <a name="GRing.Theory.subr_eq"><span class="id" title="definition">subr_eq</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.subr_eq"><span class="id" title="lemma">subr_eq</span></a>.<br/> @@ -5557,7 +5580,7 @@ <span class="id" title="keyword">Definition</span> <a name="GRing.Theory.telescope_prodr"><span class="id" title="definition">telescope_prodr</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.telescope_prodr"><span class="id" title="lemma">telescope_prodr</span></a>.<br/> <span class="id" title="keyword">Definition</span> <a name="GRing.Theory.commrV"><span class="id" title="definition">commrV</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.commrV"><span class="id" title="lemma">commrV</span></a>.<br/> <span class="id" title="keyword">Definition</span> <a name="GRing.Theory.unitrE"><span class="id" title="definition">unitrE</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.unitrE"><span class="id" title="lemma">unitrE</span></a>.<br/> -<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.invrK"><span class="id" title="definition">invrK</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.invrK"><span class="id" title="lemma">invrK</span></a>.<br/> +<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.invrK"><span class="id" title="definition">invrK</span></a> := @<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.invrK"><span class="id" title="lemma">invrK</span></a>.<br/> <span class="id" title="keyword">Definition</span> <a name="GRing.Theory.invr_inj"><span class="id" title="definition">invr_inj</span></a> := @<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.invr_inj"><span class="id" title="lemma">invr_inj</span></a>.<br/> <span class="id" title="keyword">Definition</span> <a name="GRing.Theory.unitrV"><span class="id" title="definition">unitrV</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.unitrV"><span class="id" title="lemma">unitrV</span></a>.<br/> <span class="id" title="keyword">Definition</span> <a name="GRing.Theory.unitr1"><span class="id" title="definition">unitr1</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.unitr1"><span class="id" title="lemma">unitr1</span></a>.<br/> @@ -5808,94 +5831,94 @@ <span class="id" title="keyword">Notation</span> <a name="QEdecFieldMixin"><span class="id" title="abbreviation">QEdecFieldMixin</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#QEdecFieldMixin"><span class="id" title="definition">QEdecFieldMixin</span></a>.<br/> <br/> -<span class="id" title="keyword">Notation</span> <a name="9112e1557d76651eb56109facdcb2f6a"><span class="id" title="notation">"</span></a>0" := (<a class="idref" href="mathcomp.algebra.ssralg.html#zero"><span class="id" title="definition">zero</span></a> <span class="id" title="var">_</span>) : <span class="id" title="var">ring_scope</span>.<br/> -<span class="id" title="keyword">Notation</span> <a name="9fdf1a446ceec36bc97cce801a3ef3f2"><span class="id" title="notation">"</span></a>-%R" := (@<a class="idref" href="mathcomp.algebra.ssralg.html#opp"><span class="id" title="definition">opp</span></a> <span class="id" title="var">_</span>) : <span class="id" title="var">ring_scope</span>.<br/> -<span class="id" title="keyword">Notation</span> <a name="941c6d086004545bd62614d0213e75e5"><span class="id" title="notation">"</span></a>- x" := (<a class="idref" href="mathcomp.algebra.ssralg.html#opp"><span class="id" title="definition">opp</span></a> <span class="id" title="var">x</span>) : <span class="id" title="var">ring_scope</span>.<br/> -<span class="id" title="keyword">Notation</span> <a name="327bb2f0da6fd7c01a004dedcfc2dee4"><span class="id" title="notation">"</span></a>+%R" := (@<a class="idref" href="mathcomp.algebra.ssralg.html#add"><span class="id" title="definition">add</span></a> <span class="id" title="var">_</span>).<br/> -<span class="id" title="keyword">Notation</span> <a name="ae4d81913e6239182a9ac7467ffde8cd"><span class="id" title="notation">"</span></a>x + y" := (<a class="idref" href="mathcomp.algebra.ssralg.html#add"><span class="id" title="definition">add</span></a> <span class="id" title="var">x</span> <span class="id" title="var">y</span>) : <span class="id" title="var">ring_scope</span>.<br/> -<span class="id" title="keyword">Notation</span> <a name="d70623330b2787db6b196e37db7d8f45"><span class="id" title="notation">"</span></a>x - y" := (<a class="idref" href="mathcomp.algebra.ssralg.html#add"><span class="id" title="definition">add</span></a> <span class="id" title="var">x</span> (<a class="idref" href="mathcomp.algebra.ssralg.html#941c6d086004545bd62614d0213e75e5"><span class="id" title="notation">-</span></a> <span class="id" title="var">y</span>)) : <span class="id" title="var">ring_scope</span>.<br/> -<span class="id" title="keyword">Notation</span> <a name="891e51846c7d1d63a9cb5458374cf308"><span class="id" title="notation">"</span></a>x *+ n" := (<a class="idref" href="mathcomp.algebra.ssralg.html#natmul"><span class="id" title="definition">natmul</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/> -<span class="id" title="keyword">Notation</span> <a name="3baee4193385688d2f1fcb170107cf5b"><span class="id" title="notation">"</span></a>x *- n" := (<a class="idref" href="mathcomp.algebra.ssralg.html#opp"><span class="id" title="definition">opp</span></a> (<span class="id" title="var">x</span> <a class="idref" href="mathcomp.algebra.ssralg.html#891e51846c7d1d63a9cb5458374cf308"><span class="id" title="notation">*+</span></a> <span class="id" title="var">n</span>)) : <span class="id" title="var">ring_scope</span>.<br/> -<span class="id" title="keyword">Notation</span> <a name="9625b440a0052f6dbfd015f5bb8b5125"><span class="id" title="notation">"</span></a>s `_ i" := (<a class="idref" href="mathcomp.ssreflect.seq.html#nth"><span class="id" title="definition">seq.nth</span></a> 0%<span class="id" title="var">R</span> <span class="id" title="var">s</span>%<span class="id" title="var">R</span> <span class="id" title="var">i</span>) : <span class="id" title="var">ring_scope</span>.<br/> -<span class="id" title="keyword">Notation</span> <a name="support"><span class="id" title="abbreviation">support</span></a> := 0<a class="idref" href="mathcomp.ssreflect.finfun.html#5be79ec294433194842565db57cbc361"><span class="id" title="notation">.-</span></a><a class="idref" href="mathcomp.ssreflect.finfun.html#5be79ec294433194842565db57cbc361"><span class="id" title="notation">support</span></a>.<br/> +<span class="id" title="keyword">Notation</span> <a name="15289b8981da1be1bf23e337e6afb097"><span class="id" title="notation">"</span></a>0" := (<a class="idref" href="mathcomp.algebra.ssralg.html#zero"><span class="id" title="definition">zero</span></a> <span class="id" title="var">_</span>) : <span class="id" title="var">ring_scope</span>.<br/> +<span class="id" title="keyword">Notation</span> <a name="a8ac36d488c8d5cdcfec5adcde894e5f"><span class="id" title="notation">"</span></a>-%R" := (@<a class="idref" href="mathcomp.algebra.ssralg.html#opp"><span class="id" title="definition">opp</span></a> <span class="id" title="var">_</span>) : <span class="id" title="var">ring_scope</span>.<br/> +<span class="id" title="keyword">Notation</span> <a name="8d0566c961139ec21811f52ef0c317db"><span class="id" title="notation">"</span></a>- x" := (<a class="idref" href="mathcomp.algebra.ssralg.html#opp"><span class="id" title="definition">opp</span></a> <span class="id" title="var">x</span>) : <span class="id" title="var">ring_scope</span>.<br/> +<span class="id" title="keyword">Notation</span> <a name="a87d5ea2e207e69e5e474db24f56d4cb"><span class="id" title="notation">"</span></a>+%R" := (@<a class="idref" href="mathcomp.algebra.ssralg.html#add"><span class="id" title="definition">add</span></a> <span class="id" title="var">_</span>).<br/> +<span class="id" title="keyword">Notation</span> <a name="c7f78cf1f6a5e4f664654f7d671ca752"><span class="id" title="notation">"</span></a>x + y" := (<a class="idref" href="mathcomp.algebra.ssralg.html#add"><span class="id" title="definition">add</span></a> <span class="id" title="var">x</span> <span class="id" title="var">y</span>) : <span class="id" title="var">ring_scope</span>.<br/> +<span class="id" title="keyword">Notation</span> <a name="51dc792c356ca1a71a3094b50d6bb2fb"><span class="id" title="notation">"</span></a>x - y" := (<a class="idref" href="mathcomp.algebra.ssralg.html#add"><span class="id" title="definition">add</span></a> <span class="id" title="var">x</span> (<a class="idref" href="mathcomp.algebra.ssralg.html#8d0566c961139ec21811f52ef0c317db"><span class="id" title="notation">-</span></a> <span class="id" title="var">y</span>)) : <span class="id" title="var">ring_scope</span>.<br/> +<span class="id" title="keyword">Notation</span> <a name="e9001f602764f7896bb1eb34bf606a23"><span class="id" title="notation">"</span></a>x *+ n" := (<a class="idref" href="mathcomp.algebra.ssralg.html#natmul"><span class="id" title="definition">natmul</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/> +<span class="id" title="keyword">Notation</span> <a name="e4d9eba2da60fcfead1a1c78283587ed"><span class="id" title="notation">"</span></a>x *- n" := (<a class="idref" href="mathcomp.algebra.ssralg.html#opp"><span class="id" title="definition">opp</span></a> (<span class="id" title="var">x</span> <a class="idref" href="mathcomp.algebra.ssralg.html#e9001f602764f7896bb1eb34bf606a23"><span class="id" title="notation">*+</span></a> <span class="id" title="var">n</span>)) : <span class="id" title="var">ring_scope</span>.<br/> +<span class="id" title="keyword">Notation</span> <a name="82d810f9f90b79e8fe98d90a63070c32"><span class="id" title="notation">"</span></a>s `_ i" := (<a class="idref" href="mathcomp.ssreflect.seq.html#nth"><span class="id" title="definition">seq.nth</span></a> 0%<span class="id" title="var">R</span> <span class="id" title="var">s</span>%<span class="id" title="var">R</span> <span class="id" title="var">i</span>) : <span class="id" title="var">ring_scope</span>.<br/> +<span class="id" title="keyword">Notation</span> <a name="support"><span class="id" title="abbreviation">support</span></a> := 0<a class="idref" href="mathcomp.ssreflect.finfun.html#698544468b858f103778b531f3023430"><span class="id" title="notation">.-</span></a><a class="idref" href="mathcomp.ssreflect.finfun.html#698544468b858f103778b531f3023430"><span class="id" title="notation">support</span></a>.<br/> <br/> -<span class="id" title="keyword">Notation</span> <a name="86dd5733714d08374288cefa064e21fa"><span class="id" title="notation">"</span></a>1" := (<a class="idref" href="mathcomp.algebra.ssralg.html#one"><span class="id" title="definition">one</span></a> <span class="id" title="var">_</span>) : <span class="id" title="var">ring_scope</span>.<br/> -<span class="id" title="keyword">Notation</span> <a name="504739f41ff5c1eb3dce20551e873fab"><span class="id" title="notation">"</span></a>- 1" := (<a class="idref" href="mathcomp.algebra.ssralg.html#opp"><span class="id" title="definition">opp</span></a> 1) : <span class="id" title="var">ring_scope</span>.<br/> +<span class="id" title="keyword">Notation</span> <a name="1145e02a65b21ec47b0b8e2b91c8e6f6"><span class="id" title="notation">"</span></a>1" := (<a class="idref" href="mathcomp.algebra.ssralg.html#one"><span class="id" title="definition">one</span></a> <span class="id" title="var">_</span>) : <span class="id" title="var">ring_scope</span>.<br/> +<span class="id" title="keyword">Notation</span> <a name="754d25d008dc7e276fddb7aba90ab09e"><span class="id" title="notation">"</span></a>- 1" := (<a class="idref" href="mathcomp.algebra.ssralg.html#opp"><span class="id" title="definition">opp</span></a> 1) : <span class="id" title="var">ring_scope</span>.<br/> <br/> -<span class="id" title="keyword">Notation</span> <a name="af5c1d7e13410a0a6c3dff5441ac8477"><span class="id" title="notation">"</span></a>n %:R" := (<a class="idref" href="mathcomp.algebra.ssralg.html#natmul"><span class="id" title="definition">natmul</span></a> 1 <span class="id" title="var">n</span>) : <span class="id" title="var">ring_scope</span>.<br/> -<span class="id" title="keyword">Notation</span> <a name="b8d1051ec5bf038cb2a33edc541359f8"><span class="id" title="notation">"</span></a>[ 'char' R ]" := (<a class="idref" href="mathcomp.algebra.ssralg.html#char"><span class="id" title="definition">char</span></a> (<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssreflect.html#Phant"><span class="id" title="constructor">Phant</span></a> <span class="id" title="var">R</span>)) : <span class="id" title="var">ring_scope</span>.<br/> +<span class="id" title="keyword">Notation</span> <a name="6411ed08724033ae48d2865f0380d533"><span class="id" title="notation">"</span></a>n %:R" := (<a class="idref" href="mathcomp.algebra.ssralg.html#natmul"><span class="id" title="definition">natmul</span></a> 1 <span class="id" title="var">n</span>) : <span class="id" title="var">ring_scope</span>.<br/> +<span class="id" title="keyword">Notation</span> <a name="0928aaf0450c3a4c5521d7d3da15b6d8"><span class="id" title="notation">"</span></a>[ 'char' R ]" := (<a class="idref" href="mathcomp.algebra.ssralg.html#char"><span class="id" title="definition">char</span></a> (<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssreflect.html#Phant"><span class="id" title="constructor">Phant</span></a> <span class="id" title="var">R</span>)) : <span class="id" title="var">ring_scope</span>.<br/> <span class="id" title="keyword">Notation</span> <a name="Frobenius_aut"><span class="id" title="abbreviation">Frobenius_aut</span></a> <span class="id" title="var">chRp</span> := (<a class="idref" href="mathcomp.algebra.ssralg.html#Frobenius_aut"><span class="id" title="definition">Frobenius_aut</span></a> <span class="id" title="var">chRp</span>).<br/> -<span class="id" title="keyword">Notation</span> <a name="d5d4e2467843f67554f1a8a22d125de9"><span class="id" title="notation">"</span></a>*%R" := (@<a class="idref" href="mathcomp.algebra.ssralg.html#mul"><span class="id" title="definition">mul</span></a> <span class="id" title="var">_</span>).<br/> -<span class="id" title="keyword">Notation</span> <a name="22058a36a53dac65c94ca403bc62650a"><span class="id" title="notation">"</span></a>x * y" := (<a class="idref" href="mathcomp.algebra.ssralg.html#mul"><span class="id" title="definition">mul</span></a> <span class="id" title="var">x</span> <span class="id" title="var">y</span>) : <span class="id" title="var">ring_scope</span>.<br/> -<span class="id" title="keyword">Notation</span> <a name="fb22424322c3d7eb9b837dfca65ce21e"><span class="id" title="notation">"</span></a>x ^+ n" := (<a class="idref" href="mathcomp.algebra.ssralg.html#exp"><span class="id" title="definition">exp</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/> -<span class="id" title="keyword">Notation</span> <a name="f3016d4e55aa553d3e912592ec65e342"><span class="id" title="notation">"</span></a>x ^-1" := (<a class="idref" href="mathcomp.algebra.ssralg.html#inv"><span class="id" title="definition">inv</span></a> <span class="id" title="var">x</span>) : <span class="id" title="var">ring_scope</span>.<br/> -<span class="id" title="keyword">Notation</span> <a name="c3d3108f22e21916f6afd1f17c0f8125"><span class="id" title="notation">"</span></a>x ^- n" := (<a class="idref" href="mathcomp.algebra.ssralg.html#inv"><span class="id" title="definition">inv</span></a> (<span class="id" title="var">x</span> <a class="idref" href="mathcomp.algebra.ssralg.html#fb22424322c3d7eb9b837dfca65ce21e"><span class="id" title="notation">^+</span></a> <span class="id" title="var">n</span>)) : <span class="id" title="var">ring_scope</span>.<br/> -<span class="id" title="keyword">Notation</span> <a name="4fa85b0aa898c2a7e18c3b076438c2e7"><span class="id" title="notation">"</span></a>x / y" := (<a class="idref" href="mathcomp.algebra.ssralg.html#mul"><span class="id" title="definition">mul</span></a> <span class="id" title="var">x</span> <span class="id" title="var">y</span><a class="idref" href="mathcomp.algebra.ssralg.html#f3016d4e55aa553d3e912592ec65e342"><span class="id" title="notation">^-1</span></a>) : <span class="id" title="var">ring_scope</span>.<br/> - -<br/> -<span class="id" title="keyword">Notation</span> <a name="75c106c115e1ca6097cf58b45ce663bd"><span class="id" title="notation">"</span></a>*:%R" := (@<a class="idref" href="mathcomp.algebra.ssralg.html#scale"><span class="id" title="definition">scale</span></a> <span class="id" title="var">_</span> <span class="id" title="var">_</span>).<br/> -<span class="id" title="keyword">Notation</span> <a name="81f8078534dcbb7e13a32d292f766525"><span class="id" title="notation">"</span></a>a *: m" := (<a class="idref" href="mathcomp.algebra.ssralg.html#scale"><span class="id" title="definition">scale</span></a> <span class="id" title="var">a</span> <span class="id" title="var">m</span>) : <span class="id" title="var">ring_scope</span>.<br/> -<span class="id" title="keyword">Notation</span> <a name="d54beaee78833d410cb3b1b3603748cc"><span class="id" title="notation">"</span></a>k %:A" := (<a class="idref" href="mathcomp.algebra.ssralg.html#scale"><span class="id" title="definition">scale</span></a> <span class="id" title="var">k</span> 1) : <span class="id" title="var">ring_scope</span>.<br/> -<span class="id" title="keyword">Notation</span> <a name="bdc5ff84949fb09e2844ec63fb6a6940"><span class="id" title="notation">"</span></a>\0" := (<a class="idref" href="mathcomp.algebra.ssralg.html#null_fun"><span class="id" title="abbreviation">null_fun</span></a> <span class="id" title="var">_</span>) : <span class="id" title="var">ring_scope</span>.<br/> -<span class="id" title="keyword">Notation</span> <a name="92c2de7e7e93a10a858367cf5d49cf1a"><span class="id" title="notation">"</span></a>f \+ g" := (<a class="idref" href="mathcomp.algebra.ssralg.html#add_fun_head"><span class="id" title="definition">add_fun_head</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#tt"><span class="id" title="constructor">tt</span></a> <span class="id" title="var">f</span> <span class="id" title="var">g</span>) : <span class="id" title="var">ring_scope</span>.<br/> -<span class="id" title="keyword">Notation</span> <a name="35189e9513aa6c3f11385f2c0e19be6d"><span class="id" title="notation">"</span></a>f \- g" := (<a class="idref" href="mathcomp.algebra.ssralg.html#sub_fun_head"><span class="id" title="definition">sub_fun_head</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#tt"><span class="id" title="constructor">tt</span></a> <span class="id" title="var">f</span> <span class="id" title="var">g</span>) : <span class="id" title="var">ring_scope</span>.<br/> -<span class="id" title="keyword">Notation</span> <a name="2dc3300d5161dd2922dafd7c5ed2a5da"><span class="id" title="notation">"</span></a>a \*: f" := (<a class="idref" href="mathcomp.algebra.ssralg.html#scale_fun_head"><span class="id" title="definition">scale_fun_head</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#tt"><span class="id" title="constructor">tt</span></a> <span class="id" title="var">a</span> <span class="id" title="var">f</span>) : <span class="id" title="var">ring_scope</span>.<br/> -<span class="id" title="keyword">Notation</span> <a name="dbfd41b61868136f9bd14ed58d4b9f72"><span class="id" title="notation">"</span></a>x \*o f" := (<a class="idref" href="mathcomp.algebra.ssralg.html#mull_fun_head"><span class="id" title="definition">mull_fun_head</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#tt"><span class="id" title="constructor">tt</span></a> <span class="id" title="var">x</span> <span class="id" title="var">f</span>) : <span class="id" title="var">ring_scope</span>.<br/> -<span class="id" title="keyword">Notation</span> <a name="f4e113db25747a3a9a6f5e6409de165e"><span class="id" title="notation">"</span></a>x \o* f" := (<a class="idref" href="mathcomp.algebra.ssralg.html#mulr_fun_head"><span class="id" title="definition">mulr_fun_head</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#tt"><span class="id" title="constructor">tt</span></a> <span class="id" title="var">x</span> <span class="id" title="var">f</span>) : <span class="id" title="var">ring_scope</span>.<br/> - -<br/> -<span class="id" title="keyword">Notation</span> <a name="cbc2f2ab11c1c376b5c4511d28b14d74"><span class="id" title="notation">"</span></a>\sum_ ( i <- r | P ) F" :=<br/> - (<a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">[</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><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">/</span></a>0%<span class="id" title="var">R</span><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation"><-</span></a> <span class="id" title="var">r</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">|</span></a> <span class="id" title="var">P</span>%<span class="id" title="var">B</span><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">)</span></a> <span class="id" title="var">F</span>%<span class="id" title="var">R</span>) : <span class="id" title="var">ring_scope</span>.<br/> -<span class="id" title="keyword">Notation</span> <a name="c9afba1af653123a1dddfe925d2b3ab3"><span class="id" title="notation">"</span></a>\sum_ ( i <- r ) F" :=<br/> - (<a class="idref" href="mathcomp.ssreflect.bigop.html#30705c25db0a97e8b1b08168f9199b27"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#30705c25db0a97e8b1b08168f9199b27"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#30705c25db0a97e8b1b08168f9199b27"><span class="id" title="notation">[</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><a class="idref" href="mathcomp.ssreflect.bigop.html#30705c25db0a97e8b1b08168f9199b27"><span class="id" title="notation">/</span></a>0%<span class="id" title="var">R</span><a class="idref" href="mathcomp.ssreflect.bigop.html#30705c25db0a97e8b1b08168f9199b27"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#30705c25db0a97e8b1b08168f9199b27"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#30705c25db0a97e8b1b08168f9199b27"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#30705c25db0a97e8b1b08168f9199b27"><span class="id" title="notation"><-</span></a> <span class="id" title="var">r</span><a class="idref" href="mathcomp.ssreflect.bigop.html#30705c25db0a97e8b1b08168f9199b27"><span class="id" title="notation">)</span></a> <span class="id" title="var">F</span>%<span class="id" title="var">R</span>) : <span class="id" title="var">ring_scope</span>.<br/> -<span class="id" title="keyword">Notation</span> <a name="2c867945467f28d796e85a2abf6a164e"><span class="id" title="notation">"</span></a>\sum_ ( m <= i < n | P ) F" :=<br/> - (<a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">[</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><a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">/</span></a>0%<span class="id" title="var">R</span><a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">(</span></a><span class="id" title="var">m</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">≤</span></a> <span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation"><</span></a> <span class="id" title="var">n</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">|</span></a> <span class="id" title="var">P</span>%<span class="id" title="var">B</span><a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">)</span></a> <span class="id" title="var">F</span>%<span class="id" title="var">R</span>) : <span class="id" title="var">ring_scope</span>.<br/> -<span class="id" title="keyword">Notation</span> <a name="e0f109eaa065fc1ee93c01566389734a"><span class="id" title="notation">"</span></a>\sum_ ( m <= i < n ) F" :=<br/> - (<a class="idref" href="mathcomp.ssreflect.bigop.html#db346c83cc8192751cf56eb8b0029d40"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#db346c83cc8192751cf56eb8b0029d40"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#db346c83cc8192751cf56eb8b0029d40"><span class="id" title="notation">[</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><a class="idref" href="mathcomp.ssreflect.bigop.html#db346c83cc8192751cf56eb8b0029d40"><span class="id" title="notation">/</span></a>0%<span class="id" title="var">R</span><a class="idref" href="mathcomp.ssreflect.bigop.html#db346c83cc8192751cf56eb8b0029d40"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#db346c83cc8192751cf56eb8b0029d40"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#db346c83cc8192751cf56eb8b0029d40"><span class="id" title="notation">(</span></a><span class="id" title="var">m</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#db346c83cc8192751cf56eb8b0029d40"><span class="id" title="notation">≤</span></a> <span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#db346c83cc8192751cf56eb8b0029d40"><span class="id" title="notation"><</span></a> <span class="id" title="var">n</span><a class="idref" href="mathcomp.ssreflect.bigop.html#db346c83cc8192751cf56eb8b0029d40"><span class="id" title="notation">)</span></a> <span class="id" title="var">F</span>%<span class="id" title="var">R</span>) : <span class="id" title="var">ring_scope</span>.<br/> -<span class="id" title="keyword">Notation</span> <a name="622398b62523a74328f94700e42198d0"><span class="id" title="notation">"</span></a>\sum_ ( i | P ) F" :=<br/> - (<a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">[</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><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">/</span></a>0%<span class="id" title="var">R</span><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">|</span></a> <span class="id" title="var">P</span>%<span class="id" title="var">B</span><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">)</span></a> <span class="id" title="var">F</span>%<span class="id" title="var">R</span>) : <span class="id" title="var">ring_scope</span>.<br/> -<span class="id" title="keyword">Notation</span> <a name="640778742e86daa97d31c9911c679af3"><span class="id" title="notation">"</span></a>\sum_ i F" :=<br/> - (<a class="idref" href="mathcomp.ssreflect.bigop.html#a0ddbff8fbef0617dd5dab072904e591"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#a0ddbff8fbef0617dd5dab072904e591"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#a0ddbff8fbef0617dd5dab072904e591"><span class="id" title="notation">[</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><a class="idref" href="mathcomp.ssreflect.bigop.html#a0ddbff8fbef0617dd5dab072904e591"><span class="id" title="notation">/</span></a>0%<span class="id" title="var">R</span><a class="idref" href="mathcomp.ssreflect.bigop.html#a0ddbff8fbef0617dd5dab072904e591"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#a0ddbff8fbef0617dd5dab072904e591"><span class="id" title="notation">_i</span></a> <span class="id" title="var">F</span>%<span class="id" title="var">R</span>) : <span class="id" title="var">ring_scope</span>.<br/> -<span class="id" title="keyword">Notation</span> <a name="82bcdd77f5db558bfca23caa38ed195a"><span class="id" title="notation">"</span></a>\sum_ ( i : t | P ) F" :=<br/> - (<a class="idref" href="mathcomp.ssreflect.bigop.html#ec673a52d55e56af63579baa68d352ee"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#ec673a52d55e56af63579baa68d352ee"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#ec673a52d55e56af63579baa68d352ee"><span class="id" title="notation">[</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><a class="idref" href="mathcomp.ssreflect.bigop.html#ec673a52d55e56af63579baa68d352ee"><span class="id" title="notation">/</span></a>0%<span class="id" title="var">R</span><a class="idref" href="mathcomp.ssreflect.bigop.html#ec673a52d55e56af63579baa68d352ee"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#ec673a52d55e56af63579baa68d352ee"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#ec673a52d55e56af63579baa68d352ee"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#ec673a52d55e56af63579baa68d352ee"><span class="id" title="notation">:</span></a> <span class="id" title="var">t</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#ec673a52d55e56af63579baa68d352ee"><span class="id" title="notation">|</span></a> <span class="id" title="var">P</span>%<span class="id" title="var">B</span><a class="idref" href="mathcomp.ssreflect.bigop.html#ec673a52d55e56af63579baa68d352ee"><span class="id" title="notation">)</span></a> <span class="id" title="var">F</span>%<span class="id" title="var">R</span>) (<span class="id" title="var">only</span> <span class="id" title="var">parsing</span>) : <span class="id" title="var">ring_scope</span>.<br/> -<span class="id" title="keyword">Notation</span> <a name="7c248898732684ddfab856fc78d32a15"><span class="id" title="notation">"</span></a>\sum_ ( i : t ) F" :=<br/> - (<a class="idref" href="mathcomp.ssreflect.bigop.html#7c24ccda1da6510c0183e6d456463b39"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#7c24ccda1da6510c0183e6d456463b39"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#7c24ccda1da6510c0183e6d456463b39"><span class="id" title="notation">[</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><a class="idref" href="mathcomp.ssreflect.bigop.html#7c24ccda1da6510c0183e6d456463b39"><span class="id" title="notation">/</span></a>0%<span class="id" title="var">R</span><a class="idref" href="mathcomp.ssreflect.bigop.html#7c24ccda1da6510c0183e6d456463b39"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#7c24ccda1da6510c0183e6d456463b39"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#7c24ccda1da6510c0183e6d456463b39"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#7c24ccda1da6510c0183e6d456463b39"><span class="id" title="notation">:</span></a> <span class="id" title="var">t</span><a class="idref" href="mathcomp.ssreflect.bigop.html#7c24ccda1da6510c0183e6d456463b39"><span class="id" title="notation">)</span></a> <span class="id" title="var">F</span>%<span class="id" title="var">R</span>) (<span class="id" title="var">only</span> <span class="id" title="var">parsing</span>) : <span class="id" title="var">ring_scope</span>.<br/> -<span class="id" title="keyword">Notation</span> <a name="91d768e14b2f09ef24a42f502888909e"><span class="id" title="notation">"</span></a>\sum_ ( i < n | P ) F" :=<br/> - (<a class="idref" href="mathcomp.ssreflect.bigop.html#dc42c7ad0ea9096c0f795649807315df"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#dc42c7ad0ea9096c0f795649807315df"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#dc42c7ad0ea9096c0f795649807315df"><span class="id" title="notation">[</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><a class="idref" href="mathcomp.ssreflect.bigop.html#dc42c7ad0ea9096c0f795649807315df"><span class="id" title="notation">/</span></a>0%<span class="id" title="var">R</span><a class="idref" href="mathcomp.ssreflect.bigop.html#dc42c7ad0ea9096c0f795649807315df"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#dc42c7ad0ea9096c0f795649807315df"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#dc42c7ad0ea9096c0f795649807315df"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#dc42c7ad0ea9096c0f795649807315df"><span class="id" title="notation"><</span></a> <span class="id" title="var">n</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#dc42c7ad0ea9096c0f795649807315df"><span class="id" title="notation">|</span></a> <span class="id" title="var">P</span>%<span class="id" title="var">B</span><a class="idref" href="mathcomp.ssreflect.bigop.html#dc42c7ad0ea9096c0f795649807315df"><span class="id" title="notation">)</span></a> <span class="id" title="var">F</span>%<span class="id" title="var">R</span>) : <span class="id" title="var">ring_scope</span>.<br/> -<span class="id" title="keyword">Notation</span> <a name="b2bfc5b99c28e2c89b336d5f86347706"><span class="id" title="notation">"</span></a>\sum_ ( i < n ) F" :=<br/> - (<a class="idref" href="mathcomp.ssreflect.bigop.html#567079cee6eb2eba482323c7e8d08df5"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#567079cee6eb2eba482323c7e8d08df5"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#567079cee6eb2eba482323c7e8d08df5"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.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><a class="idref" href="mathcomp.ssreflect.bigop.html#567079cee6eb2eba482323c7e8d08df5"><span class="id" title="notation">/</span></a>0%<span class="id" title="var">R</span><a class="idref" href="mathcomp.ssreflect.bigop.html#567079cee6eb2eba482323c7e8d08df5"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#567079cee6eb2eba482323c7e8d08df5"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#567079cee6eb2eba482323c7e8d08df5"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#567079cee6eb2eba482323c7e8d08df5"><span class="id" title="notation"><</span></a> <span class="id" title="var">n</span><a class="idref" href="mathcomp.ssreflect.bigop.html#567079cee6eb2eba482323c7e8d08df5"><span class="id" title="notation">)</span></a> <span class="id" title="var">F</span>%<span class="id" title="var">R</span>) : <span class="id" title="var">ring_scope</span>.<br/> -<span class="id" title="keyword">Notation</span> <a name="810881dafc8eb122b2265a3a9064d13e"><span class="id" title="notation">"</span></a>\sum_ ( i 'in' A | P ) F" :=<br/> - (<a class="idref" href="mathcomp.ssreflect.bigop.html#a9a46078b76c2e36303d504b8fb5bbb3"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#a9a46078b76c2e36303d504b8fb5bbb3"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#a9a46078b76c2e36303d504b8fb5bbb3"><span class="id" title="notation">[</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><a class="idref" href="mathcomp.ssreflect.bigop.html#a9a46078b76c2e36303d504b8fb5bbb3"><span class="id" title="notation">/</span></a>0%<span class="id" title="var">R</span><a class="idref" href="mathcomp.ssreflect.bigop.html#a9a46078b76c2e36303d504b8fb5bbb3"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#a9a46078b76c2e36303d504b8fb5bbb3"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#a9a46078b76c2e36303d504b8fb5bbb3"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#a9a46078b76c2e36303d504b8fb5bbb3"><span class="id" title="notation">in</span></a> <span class="id" title="var">A</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#a9a46078b76c2e36303d504b8fb5bbb3"><span class="id" title="notation">|</span></a> <span class="id" title="var">P</span>%<span class="id" title="var">B</span><a class="idref" href="mathcomp.ssreflect.bigop.html#a9a46078b76c2e36303d504b8fb5bbb3"><span class="id" title="notation">)</span></a> <span class="id" title="var">F</span>%<span class="id" title="var">R</span>) : <span class="id" title="var">ring_scope</span>.<br/> -<span class="id" title="keyword">Notation</span> <a name="0c791dbdc1655ae690f0a6c159a384c0"><span class="id" title="notation">"</span></a>\sum_ ( i 'in' A ) F" :=<br/> - (<a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">[</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><a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">/</span></a>0%<span class="id" title="var">R</span><a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">in</span></a> <span class="id" title="var">A</span><a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">)</span></a> <span class="id" title="var">F</span>%<span class="id" title="var">R</span>) : <span class="id" title="var">ring_scope</span>.<br/> - -<br/> -<span class="id" title="keyword">Notation</span> <a name="358fca18835530a08faf9e0f246b584a"><span class="id" title="notation">"</span></a>\prod_ ( i <- r | P ) F" :=<br/> - (<a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">[</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="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">/</span></a>1%<span class="id" title="var">R</span><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation"><-</span></a> <span class="id" title="var">r</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">|</span></a> <span class="id" title="var">P</span>%<span class="id" title="var">B</span><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">)</span></a> <span class="id" title="var">F</span>%<span class="id" title="var">R</span>) : <span class="id" title="var">ring_scope</span>.<br/> -<span class="id" title="keyword">Notation</span> <a name="add995903469f3735748795c8f1b81bd"><span class="id" title="notation">"</span></a>\prod_ ( i <- r ) F" :=<br/> - (<a class="idref" href="mathcomp.ssreflect.bigop.html#30705c25db0a97e8b1b08168f9199b27"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#30705c25db0a97e8b1b08168f9199b27"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#30705c25db0a97e8b1b08168f9199b27"><span class="id" title="notation">[</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="mathcomp.ssreflect.bigop.html#30705c25db0a97e8b1b08168f9199b27"><span class="id" title="notation">/</span></a>1%<span class="id" title="var">R</span><a class="idref" href="mathcomp.ssreflect.bigop.html#30705c25db0a97e8b1b08168f9199b27"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#30705c25db0a97e8b1b08168f9199b27"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#30705c25db0a97e8b1b08168f9199b27"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#30705c25db0a97e8b1b08168f9199b27"><span class="id" title="notation"><-</span></a> <span class="id" title="var">r</span><a class="idref" href="mathcomp.ssreflect.bigop.html#30705c25db0a97e8b1b08168f9199b27"><span class="id" title="notation">)</span></a> <span class="id" title="var">F</span>%<span class="id" title="var">R</span>) : <span class="id" title="var">ring_scope</span>.<br/> -<span class="id" title="keyword">Notation</span> <a name="0a01046d011726313a4756b0a990da6f"><span class="id" title="notation">"</span></a>\prod_ ( m <= i < n | P ) F" :=<br/> - (<a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">[</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="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">/</span></a>1%<span class="id" title="var">R</span><a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">(</span></a><span class="id" title="var">m</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">≤</span></a> <span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation"><</span></a> <span class="id" title="var">n</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">|</span></a> <span class="id" title="var">P</span>%<span class="id" title="var">B</span><a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">)</span></a> <span class="id" title="var">F</span>%<span class="id" title="var">R</span>) : <span class="id" title="var">ring_scope</span>.<br/> -<span class="id" title="keyword">Notation</span> <a name="792454e85a3eb4835c0ee22a75118f16"><span class="id" title="notation">"</span></a>\prod_ ( m <= i < n ) F" :=<br/> - (<a class="idref" href="mathcomp.ssreflect.bigop.html#db346c83cc8192751cf56eb8b0029d40"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#db346c83cc8192751cf56eb8b0029d40"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#db346c83cc8192751cf56eb8b0029d40"><span class="id" title="notation">[</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="mathcomp.ssreflect.bigop.html#db346c83cc8192751cf56eb8b0029d40"><span class="id" title="notation">/</span></a>1%<span class="id" title="var">R</span><a class="idref" href="mathcomp.ssreflect.bigop.html#db346c83cc8192751cf56eb8b0029d40"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#db346c83cc8192751cf56eb8b0029d40"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#db346c83cc8192751cf56eb8b0029d40"><span class="id" title="notation">(</span></a><span class="id" title="var">m</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#db346c83cc8192751cf56eb8b0029d40"><span class="id" title="notation">≤</span></a> <span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#db346c83cc8192751cf56eb8b0029d40"><span class="id" title="notation"><</span></a> <span class="id" title="var">n</span><a class="idref" href="mathcomp.ssreflect.bigop.html#db346c83cc8192751cf56eb8b0029d40"><span class="id" title="notation">)</span></a> <span class="id" title="var">F</span>%<span class="id" title="var">R</span>) : <span class="id" title="var">ring_scope</span>.<br/> -<span class="id" title="keyword">Notation</span> <a name="b29cd8e479370273da36336a1ca6eca7"><span class="id" title="notation">"</span></a>\prod_ ( i | P ) F" :=<br/> - (<a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">[</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="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">/</span></a>1%<span class="id" title="var">R</span><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">|</span></a> <span class="id" title="var">P</span>%<span class="id" title="var">B</span><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">)</span></a> <span class="id" title="var">F</span>%<span class="id" title="var">R</span>) : <span class="id" title="var">ring_scope</span>.<br/> -<span class="id" title="keyword">Notation</span> <a name="24846b5795605f82696a43aa191874ea"><span class="id" title="notation">"</span></a>\prod_ i F" :=<br/> - (<a class="idref" href="mathcomp.ssreflect.bigop.html#a0ddbff8fbef0617dd5dab072904e591"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#a0ddbff8fbef0617dd5dab072904e591"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#a0ddbff8fbef0617dd5dab072904e591"><span class="id" title="notation">[</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="mathcomp.ssreflect.bigop.html#a0ddbff8fbef0617dd5dab072904e591"><span class="id" title="notation">/</span></a>1%<span class="id" title="var">R</span><a class="idref" href="mathcomp.ssreflect.bigop.html#a0ddbff8fbef0617dd5dab072904e591"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#a0ddbff8fbef0617dd5dab072904e591"><span class="id" title="notation">_i</span></a> <span class="id" title="var">F</span>%<span class="id" title="var">R</span>) : <span class="id" title="var">ring_scope</span>.<br/> -<span class="id" title="keyword">Notation</span> <a name="ecd6ffe05353cbf9784383118f5b8d82"><span class="id" title="notation">"</span></a>\prod_ ( i : t | P ) F" :=<br/> - (<a class="idref" href="mathcomp.ssreflect.bigop.html#ec673a52d55e56af63579baa68d352ee"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#ec673a52d55e56af63579baa68d352ee"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#ec673a52d55e56af63579baa68d352ee"><span class="id" title="notation">[</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="mathcomp.ssreflect.bigop.html#ec673a52d55e56af63579baa68d352ee"><span class="id" title="notation">/</span></a>1%<span class="id" title="var">R</span><a class="idref" href="mathcomp.ssreflect.bigop.html#ec673a52d55e56af63579baa68d352ee"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#ec673a52d55e56af63579baa68d352ee"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#ec673a52d55e56af63579baa68d352ee"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#ec673a52d55e56af63579baa68d352ee"><span class="id" title="notation">:</span></a> <span class="id" title="var">t</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#ec673a52d55e56af63579baa68d352ee"><span class="id" title="notation">|</span></a> <span class="id" title="var">P</span>%<span class="id" title="var">B</span><a class="idref" href="mathcomp.ssreflect.bigop.html#ec673a52d55e56af63579baa68d352ee"><span class="id" title="notation">)</span></a> <span class="id" title="var">F</span>%<span class="id" title="var">R</span>) (<span class="id" title="var">only</span> <span class="id" title="var">parsing</span>) : <span class="id" title="var">ring_scope</span>.<br/> -<span class="id" title="keyword">Notation</span> <a name="d95d9e0e63ea130065d2c1c9a1502154"><span class="id" title="notation">"</span></a>\prod_ ( i : t ) F" :=<br/> - (<a class="idref" href="mathcomp.ssreflect.bigop.html#7c24ccda1da6510c0183e6d456463b39"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#7c24ccda1da6510c0183e6d456463b39"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#7c24ccda1da6510c0183e6d456463b39"><span class="id" title="notation">[</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="mathcomp.ssreflect.bigop.html#7c24ccda1da6510c0183e6d456463b39"><span class="id" title="notation">/</span></a>1%<span class="id" title="var">R</span><a class="idref" href="mathcomp.ssreflect.bigop.html#7c24ccda1da6510c0183e6d456463b39"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#7c24ccda1da6510c0183e6d456463b39"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#7c24ccda1da6510c0183e6d456463b39"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#7c24ccda1da6510c0183e6d456463b39"><span class="id" title="notation">:</span></a> <span class="id" title="var">t</span><a class="idref" href="mathcomp.ssreflect.bigop.html#7c24ccda1da6510c0183e6d456463b39"><span class="id" title="notation">)</span></a> <span class="id" title="var">F</span>%<span class="id" title="var">R</span>) (<span class="id" title="var">only</span> <span class="id" title="var">parsing</span>) : <span class="id" title="var">ring_scope</span>.<br/> -<span class="id" title="keyword">Notation</span> <a name="f2061c5b083fb574331c7bf65b44ceb4"><span class="id" title="notation">"</span></a>\prod_ ( i < n | P ) F" :=<br/> - (<a class="idref" href="mathcomp.ssreflect.bigop.html#dc42c7ad0ea9096c0f795649807315df"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#dc42c7ad0ea9096c0f795649807315df"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#dc42c7ad0ea9096c0f795649807315df"><span class="id" title="notation">[</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="mathcomp.ssreflect.bigop.html#dc42c7ad0ea9096c0f795649807315df"><span class="id" title="notation">/</span></a>1%<span class="id" title="var">R</span><a class="idref" href="mathcomp.ssreflect.bigop.html#dc42c7ad0ea9096c0f795649807315df"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#dc42c7ad0ea9096c0f795649807315df"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#dc42c7ad0ea9096c0f795649807315df"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#dc42c7ad0ea9096c0f795649807315df"><span class="id" title="notation"><</span></a> <span class="id" title="var">n</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#dc42c7ad0ea9096c0f795649807315df"><span class="id" title="notation">|</span></a> <span class="id" title="var">P</span>%<span class="id" title="var">B</span><a class="idref" href="mathcomp.ssreflect.bigop.html#dc42c7ad0ea9096c0f795649807315df"><span class="id" title="notation">)</span></a> <span class="id" title="var">F</span>%<span class="id" title="var">R</span>) : <span class="id" title="var">ring_scope</span>.<br/> -<span class="id" title="keyword">Notation</span> <a name="77e01fd944628a6bc1f9215c13ba86b7"><span class="id" title="notation">"</span></a>\prod_ ( i < n ) F" :=<br/> - (<a class="idref" href="mathcomp.ssreflect.bigop.html#567079cee6eb2eba482323c7e8d08df5"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#567079cee6eb2eba482323c7e8d08df5"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#567079cee6eb2eba482323c7e8d08df5"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.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="mathcomp.ssreflect.bigop.html#567079cee6eb2eba482323c7e8d08df5"><span class="id" title="notation">/</span></a>1%<span class="id" title="var">R</span><a class="idref" href="mathcomp.ssreflect.bigop.html#567079cee6eb2eba482323c7e8d08df5"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#567079cee6eb2eba482323c7e8d08df5"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#567079cee6eb2eba482323c7e8d08df5"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#567079cee6eb2eba482323c7e8d08df5"><span class="id" title="notation"><</span></a> <span class="id" title="var">n</span><a class="idref" href="mathcomp.ssreflect.bigop.html#567079cee6eb2eba482323c7e8d08df5"><span class="id" title="notation">)</span></a> <span class="id" title="var">F</span>%<span class="id" title="var">R</span>) : <span class="id" title="var">ring_scope</span>.<br/> -<span class="id" title="keyword">Notation</span> <a name="f9fc25f173bb82a186d31f0348920256"><span class="id" title="notation">"</span></a>\prod_ ( i 'in' A | P ) F" :=<br/> - (<a class="idref" href="mathcomp.ssreflect.bigop.html#a9a46078b76c2e36303d504b8fb5bbb3"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#a9a46078b76c2e36303d504b8fb5bbb3"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#a9a46078b76c2e36303d504b8fb5bbb3"><span class="id" title="notation">[</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="mathcomp.ssreflect.bigop.html#a9a46078b76c2e36303d504b8fb5bbb3"><span class="id" title="notation">/</span></a>1%<span class="id" title="var">R</span><a class="idref" href="mathcomp.ssreflect.bigop.html#a9a46078b76c2e36303d504b8fb5bbb3"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#a9a46078b76c2e36303d504b8fb5bbb3"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#a9a46078b76c2e36303d504b8fb5bbb3"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#a9a46078b76c2e36303d504b8fb5bbb3"><span class="id" title="notation">in</span></a> <span class="id" title="var">A</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#a9a46078b76c2e36303d504b8fb5bbb3"><span class="id" title="notation">|</span></a> <span class="id" title="var">P</span>%<span class="id" title="var">B</span><a class="idref" href="mathcomp.ssreflect.bigop.html#a9a46078b76c2e36303d504b8fb5bbb3"><span class="id" title="notation">)</span></a> <span class="id" title="var">F</span>%<span class="id" title="var">R</span>) : <span class="id" title="var">ring_scope</span>.<br/> -<span class="id" title="keyword">Notation</span> <a name="50f6ed3c9dd83e0dda7460830646e9b1"><span class="id" title="notation">"</span></a>\prod_ ( i 'in' A ) F" :=<br/> - (<a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">[</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="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">/</span></a>1%<span class="id" title="var">R</span><a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">in</span></a> <span class="id" title="var">A</span><a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">)</span></a> <span class="id" title="var">F</span>%<span class="id" title="var">R</span>) : <span class="id" title="var">ring_scope</span>.<br/> +<span class="id" title="keyword">Notation</span> <a name="3609d85e23333c9e68741ad96b416eec"><span class="id" title="notation">"</span></a>*%R" := (@<a class="idref" href="mathcomp.algebra.ssralg.html#mul"><span class="id" title="definition">mul</span></a> <span class="id" title="var">_</span>).<br/> +<span class="id" title="keyword">Notation</span> <a name="2d0cfb150261028f4ebd2ba355623dcc"><span class="id" title="notation">"</span></a>x * y" := (<a class="idref" href="mathcomp.algebra.ssralg.html#mul"><span class="id" title="definition">mul</span></a> <span class="id" title="var">x</span> <span class="id" title="var">y</span>) : <span class="id" title="var">ring_scope</span>.<br/> +<span class="id" title="keyword">Notation</span> <a name="663140372ac3b275aae871b74b140513"><span class="id" title="notation">"</span></a>x ^+ n" := (<a class="idref" href="mathcomp.algebra.ssralg.html#exp"><span class="id" title="definition">exp</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/> +<span class="id" title="keyword">Notation</span> <a name="4e5a4c91ec0aa12de06dfe1cc07ea126"><span class="id" title="notation">"</span></a>x ^-1" := (<a class="idref" href="mathcomp.algebra.ssralg.html#inv"><span class="id" title="definition">inv</span></a> <span class="id" title="var">x</span>) : <span class="id" title="var">ring_scope</span>.<br/> +<span class="id" title="keyword">Notation</span> <a name="2cbbcf28cb71296a00bdaede8cf3ea56"><span class="id" title="notation">"</span></a>x ^- n" := (<a class="idref" href="mathcomp.algebra.ssralg.html#inv"><span class="id" title="definition">inv</span></a> (<span class="id" title="var">x</span> <a class="idref" href="mathcomp.algebra.ssralg.html#663140372ac3b275aae871b74b140513"><span class="id" title="notation">^+</span></a> <span class="id" title="var">n</span>)) : <span class="id" title="var">ring_scope</span>.<br/> +<span class="id" title="keyword">Notation</span> <a name="69c431a9c94f6f30a655bd7ddb59037b"><span class="id" title="notation">"</span></a>x / y" := (<a class="idref" href="mathcomp.algebra.ssralg.html#mul"><span class="id" title="definition">mul</span></a> <span class="id" title="var">x</span> <span class="id" title="var">y</span><a class="idref" href="mathcomp.algebra.ssralg.html#4e5a4c91ec0aa12de06dfe1cc07ea126"><span class="id" title="notation">^-1</span></a>) : <span class="id" title="var">ring_scope</span>.<br/> + +<br/> +<span class="id" title="keyword">Notation</span> <a name="eb2b32cc2f63f97454a307a8ee8d68cc"><span class="id" title="notation">"</span></a>*:%R" := (@<a class="idref" href="mathcomp.algebra.ssralg.html#scale"><span class="id" title="definition">scale</span></a> <span class="id" title="var">_</span> <span class="id" title="var">_</span>).<br/> +<span class="id" title="keyword">Notation</span> <a name="3b05480e39db306e67fadbc79d394529"><span class="id" title="notation">"</span></a>a *: m" := (<a class="idref" href="mathcomp.algebra.ssralg.html#scale"><span class="id" title="definition">scale</span></a> <span class="id" title="var">a</span> <span class="id" title="var">m</span>) : <span class="id" title="var">ring_scope</span>.<br/> +<span class="id" title="keyword">Notation</span> <a name="862982ed16052c855fd1cdb6c8e69ea7"><span class="id" title="notation">"</span></a>k %:A" := (<a class="idref" href="mathcomp.algebra.ssralg.html#scale"><span class="id" title="definition">scale</span></a> <span class="id" title="var">k</span> 1) : <span class="id" title="var">ring_scope</span>.<br/> +<span class="id" title="keyword">Notation</span> <a name="95d9fce2be73172d8ac56972e606629a"><span class="id" title="notation">"</span></a>\0" := (<a class="idref" href="mathcomp.algebra.ssralg.html#null_fun"><span class="id" title="abbreviation">null_fun</span></a> <span class="id" title="var">_</span>) : <span class="id" title="var">ring_scope</span>.<br/> +<span class="id" title="keyword">Notation</span> <a name="d85e5ec1adc01afcee458717bbaea5e5"><span class="id" title="notation">"</span></a>f \+ g" := (<a class="idref" href="mathcomp.algebra.ssralg.html#add_fun_head"><span class="id" title="definition">add_fun_head</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#tt"><span class="id" title="constructor">tt</span></a> <span class="id" title="var">f</span> <span class="id" title="var">g</span>) : <span class="id" title="var">ring_scope</span>.<br/> +<span class="id" title="keyword">Notation</span> <a name="0bb5d11fe8761db1e6494d75cb45a3cb"><span class="id" title="notation">"</span></a>f \- g" := (<a class="idref" href="mathcomp.algebra.ssralg.html#sub_fun_head"><span class="id" title="definition">sub_fun_head</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#tt"><span class="id" title="constructor">tt</span></a> <span class="id" title="var">f</span> <span class="id" title="var">g</span>) : <span class="id" title="var">ring_scope</span>.<br/> +<span class="id" title="keyword">Notation</span> <a name="6046a89d0c83e8d6f210d69ae527c5ae"><span class="id" title="notation">"</span></a>a \*: f" := (<a class="idref" href="mathcomp.algebra.ssralg.html#scale_fun_head"><span class="id" title="definition">scale_fun_head</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#tt"><span class="id" title="constructor">tt</span></a> <span class="id" title="var">a</span> <span class="id" title="var">f</span>) : <span class="id" title="var">ring_scope</span>.<br/> +<span class="id" title="keyword">Notation</span> <a name="30375396dccfb946bd8b81878cc5934b"><span class="id" title="notation">"</span></a>x \*o f" := (<a class="idref" href="mathcomp.algebra.ssralg.html#mull_fun_head"><span class="id" title="definition">mull_fun_head</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#tt"><span class="id" title="constructor">tt</span></a> <span class="id" title="var">x</span> <span class="id" title="var">f</span>) : <span class="id" title="var">ring_scope</span>.<br/> +<span class="id" title="keyword">Notation</span> <a name="5e03abe1c4aaadd0b39b8ab0cf62f35b"><span class="id" title="notation">"</span></a>x \o* f" := (<a class="idref" href="mathcomp.algebra.ssralg.html#mulr_fun_head"><span class="id" title="definition">mulr_fun_head</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#tt"><span class="id" title="constructor">tt</span></a> <span class="id" title="var">x</span> <span class="id" title="var">f</span>) : <span class="id" title="var">ring_scope</span>.<br/> + +<br/> +<span class="id" title="keyword">Notation</span> <a name="0e493beb85c9c1b3ab2241ceeaa98b08"><span class="id" title="notation">"</span></a>\sum_ ( i <- r | P ) F" :=<br/> + (<a class="idref" href="mathcomp.ssreflect.bigop.html#60e57ff387b8a0840e944d0d03f215e2"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#60e57ff387b8a0840e944d0d03f215e2"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#60e57ff387b8a0840e944d0d03f215e2"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#a87d5ea2e207e69e5e474db24f56d4cb"><span class="id" title="notation">+%</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#a87d5ea2e207e69e5e474db24f56d4cb"><span class="id" title="notation">R</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#60e57ff387b8a0840e944d0d03f215e2"><span class="id" title="notation">/</span></a>0%<span class="id" title="var">R</span><a class="idref" href="mathcomp.ssreflect.bigop.html#60e57ff387b8a0840e944d0d03f215e2"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#60e57ff387b8a0840e944d0d03f215e2"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#60e57ff387b8a0840e944d0d03f215e2"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#60e57ff387b8a0840e944d0d03f215e2"><span class="id" title="notation"><-</span></a> <span class="id" title="var">r</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#60e57ff387b8a0840e944d0d03f215e2"><span class="id" title="notation">|</span></a> <span class="id" title="var">P</span>%<span class="id" title="var">B</span><a class="idref" href="mathcomp.ssreflect.bigop.html#60e57ff387b8a0840e944d0d03f215e2"><span class="id" title="notation">)</span></a> <span class="id" title="var">F</span>%<span class="id" title="var">R</span>) : <span class="id" title="var">ring_scope</span>.<br/> +<span class="id" title="keyword">Notation</span> <a name="706f4f0208bba5d79e26d335c76ea034"><span class="id" title="notation">"</span></a>\sum_ ( i <- r ) F" :=<br/> + (<a class="idref" href="mathcomp.ssreflect.bigop.html#93a42d9430a115f2544a09cba4cf05ca"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#93a42d9430a115f2544a09cba4cf05ca"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#93a42d9430a115f2544a09cba4cf05ca"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#a87d5ea2e207e69e5e474db24f56d4cb"><span class="id" title="notation">+%</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#a87d5ea2e207e69e5e474db24f56d4cb"><span class="id" title="notation">R</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#93a42d9430a115f2544a09cba4cf05ca"><span class="id" title="notation">/</span></a>0%<span class="id" title="var">R</span><a class="idref" href="mathcomp.ssreflect.bigop.html#93a42d9430a115f2544a09cba4cf05ca"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#93a42d9430a115f2544a09cba4cf05ca"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#93a42d9430a115f2544a09cba4cf05ca"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#93a42d9430a115f2544a09cba4cf05ca"><span class="id" title="notation"><-</span></a> <span class="id" title="var">r</span><a class="idref" href="mathcomp.ssreflect.bigop.html#93a42d9430a115f2544a09cba4cf05ca"><span class="id" title="notation">)</span></a> <span class="id" title="var">F</span>%<span class="id" title="var">R</span>) : <span class="id" title="var">ring_scope</span>.<br/> +<span class="id" title="keyword">Notation</span> <a name="23e63ed3c136421c46b0fc4d518dd1fb"><span class="id" title="notation">"</span></a>\sum_ ( m <= i < n | P ) F" :=<br/> + (<a class="idref" href="mathcomp.ssreflect.bigop.html#61699f7bcd958ceac6b63f7e240f7ee7"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#61699f7bcd958ceac6b63f7e240f7ee7"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#61699f7bcd958ceac6b63f7e240f7ee7"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#a87d5ea2e207e69e5e474db24f56d4cb"><span class="id" title="notation">+%</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#a87d5ea2e207e69e5e474db24f56d4cb"><span class="id" title="notation">R</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#61699f7bcd958ceac6b63f7e240f7ee7"><span class="id" title="notation">/</span></a>0%<span class="id" title="var">R</span><a class="idref" href="mathcomp.ssreflect.bigop.html#61699f7bcd958ceac6b63f7e240f7ee7"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#61699f7bcd958ceac6b63f7e240f7ee7"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#61699f7bcd958ceac6b63f7e240f7ee7"><span class="id" title="notation">(</span></a><span class="id" title="var">m</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#61699f7bcd958ceac6b63f7e240f7ee7"><span class="id" title="notation">≤</span></a> <span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#61699f7bcd958ceac6b63f7e240f7ee7"><span class="id" title="notation"><</span></a> <span class="id" title="var">n</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#61699f7bcd958ceac6b63f7e240f7ee7"><span class="id" title="notation">|</span></a> <span class="id" title="var">P</span>%<span class="id" title="var">B</span><a class="idref" href="mathcomp.ssreflect.bigop.html#61699f7bcd958ceac6b63f7e240f7ee7"><span class="id" title="notation">)</span></a> <span class="id" title="var">F</span>%<span class="id" title="var">R</span>) : <span class="id" title="var">ring_scope</span>.<br/> +<span class="id" title="keyword">Notation</span> <a name="e8c9389d173e080b4b0bc8cfb531c18e"><span class="id" title="notation">"</span></a>\sum_ ( m <= i < n ) F" :=<br/> + (<a class="idref" href="mathcomp.ssreflect.bigop.html#a0f72dd08c3295710348031e7df784a3"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#a0f72dd08c3295710348031e7df784a3"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#a0f72dd08c3295710348031e7df784a3"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#a87d5ea2e207e69e5e474db24f56d4cb"><span class="id" title="notation">+%</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#a87d5ea2e207e69e5e474db24f56d4cb"><span class="id" title="notation">R</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#a0f72dd08c3295710348031e7df784a3"><span class="id" title="notation">/</span></a>0%<span class="id" title="var">R</span><a class="idref" href="mathcomp.ssreflect.bigop.html#a0f72dd08c3295710348031e7df784a3"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#a0f72dd08c3295710348031e7df784a3"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#a0f72dd08c3295710348031e7df784a3"><span class="id" title="notation">(</span></a><span class="id" title="var">m</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#a0f72dd08c3295710348031e7df784a3"><span class="id" title="notation">≤</span></a> <span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#a0f72dd08c3295710348031e7df784a3"><span class="id" title="notation"><</span></a> <span class="id" title="var">n</span><a class="idref" href="mathcomp.ssreflect.bigop.html#a0f72dd08c3295710348031e7df784a3"><span class="id" title="notation">)</span></a> <span class="id" title="var">F</span>%<span class="id" title="var">R</span>) : <span class="id" title="var">ring_scope</span>.<br/> +<span class="id" title="keyword">Notation</span> <a name="f43f2e9c8e0cc7a634fe022790373569"><span class="id" title="notation">"</span></a>\sum_ ( i | P ) F" :=<br/> + (<a class="idref" href="mathcomp.ssreflect.bigop.html#1871917561e26284874cb982a8cc32df"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#1871917561e26284874cb982a8cc32df"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#1871917561e26284874cb982a8cc32df"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#a87d5ea2e207e69e5e474db24f56d4cb"><span class="id" title="notation">+%</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#a87d5ea2e207e69e5e474db24f56d4cb"><span class="id" title="notation">R</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#1871917561e26284874cb982a8cc32df"><span class="id" title="notation">/</span></a>0%<span class="id" title="var">R</span><a class="idref" href="mathcomp.ssreflect.bigop.html#1871917561e26284874cb982a8cc32df"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#1871917561e26284874cb982a8cc32df"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#1871917561e26284874cb982a8cc32df"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#1871917561e26284874cb982a8cc32df"><span class="id" title="notation">|</span></a> <span class="id" title="var">P</span>%<span class="id" title="var">B</span><a class="idref" href="mathcomp.ssreflect.bigop.html#1871917561e26284874cb982a8cc32df"><span class="id" title="notation">)</span></a> <span class="id" title="var">F</span>%<span class="id" title="var">R</span>) : <span class="id" title="var">ring_scope</span>.<br/> +<span class="id" title="keyword">Notation</span> <a name="de3e30c288f66ee879ea2b40e81e186c"><span class="id" title="notation">"</span></a>\sum_ i F" :=<br/> + (<a class="idref" href="mathcomp.ssreflect.bigop.html#379a79a86133b2d1cd9cb43efa183ecb"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#379a79a86133b2d1cd9cb43efa183ecb"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#379a79a86133b2d1cd9cb43efa183ecb"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#a87d5ea2e207e69e5e474db24f56d4cb"><span class="id" title="notation">+%</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#a87d5ea2e207e69e5e474db24f56d4cb"><span class="id" title="notation">R</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#379a79a86133b2d1cd9cb43efa183ecb"><span class="id" title="notation">/</span></a>0%<span class="id" title="var">R</span><a class="idref" href="mathcomp.ssreflect.bigop.html#379a79a86133b2d1cd9cb43efa183ecb"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#379a79a86133b2d1cd9cb43efa183ecb"><span class="id" title="notation">_i</span></a> <span class="id" title="var">F</span>%<span class="id" title="var">R</span>) : <span class="id" title="var">ring_scope</span>.<br/> +<span class="id" title="keyword">Notation</span> <a name="0c413a5e31d93a4eb0dd4ca0ca5cae70"><span class="id" title="notation">"</span></a>\sum_ ( i : t | P ) F" :=<br/> + (<a class="idref" href="mathcomp.ssreflect.bigop.html#d9e61c197d846298f3e26b588e67e5ec"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#d9e61c197d846298f3e26b588e67e5ec"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#d9e61c197d846298f3e26b588e67e5ec"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#a87d5ea2e207e69e5e474db24f56d4cb"><span class="id" title="notation">+%</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#a87d5ea2e207e69e5e474db24f56d4cb"><span class="id" title="notation">R</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#d9e61c197d846298f3e26b588e67e5ec"><span class="id" title="notation">/</span></a>0%<span class="id" title="var">R</span><a class="idref" href="mathcomp.ssreflect.bigop.html#d9e61c197d846298f3e26b588e67e5ec"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#d9e61c197d846298f3e26b588e67e5ec"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#d9e61c197d846298f3e26b588e67e5ec"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#d9e61c197d846298f3e26b588e67e5ec"><span class="id" title="notation">:</span></a> <span class="id" title="var">t</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#d9e61c197d846298f3e26b588e67e5ec"><span class="id" title="notation">|</span></a> <span class="id" title="var">P</span>%<span class="id" title="var">B</span><a class="idref" href="mathcomp.ssreflect.bigop.html#d9e61c197d846298f3e26b588e67e5ec"><span class="id" title="notation">)</span></a> <span class="id" title="var">F</span>%<span class="id" title="var">R</span>) (<span class="id" title="var">only</span> <span class="id" title="var">parsing</span>) : <span class="id" title="var">ring_scope</span>.<br/> +<span class="id" title="keyword">Notation</span> <a name="210141cbb4af7051facf94762acee6df"><span class="id" title="notation">"</span></a>\sum_ ( i : t ) F" :=<br/> + (<a class="idref" href="mathcomp.ssreflect.bigop.html#0a668c1f377e113a6f68dd824f1c2031"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#0a668c1f377e113a6f68dd824f1c2031"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#0a668c1f377e113a6f68dd824f1c2031"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#a87d5ea2e207e69e5e474db24f56d4cb"><span class="id" title="notation">+%</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#a87d5ea2e207e69e5e474db24f56d4cb"><span class="id" title="notation">R</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#0a668c1f377e113a6f68dd824f1c2031"><span class="id" title="notation">/</span></a>0%<span class="id" title="var">R</span><a class="idref" href="mathcomp.ssreflect.bigop.html#0a668c1f377e113a6f68dd824f1c2031"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#0a668c1f377e113a6f68dd824f1c2031"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#0a668c1f377e113a6f68dd824f1c2031"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#0a668c1f377e113a6f68dd824f1c2031"><span class="id" title="notation">:</span></a> <span class="id" title="var">t</span><a class="idref" href="mathcomp.ssreflect.bigop.html#0a668c1f377e113a6f68dd824f1c2031"><span class="id" title="notation">)</span></a> <span class="id" title="var">F</span>%<span class="id" title="var">R</span>) (<span class="id" title="var">only</span> <span class="id" title="var">parsing</span>) : <span class="id" title="var">ring_scope</span>.<br/> +<span class="id" title="keyword">Notation</span> <a name="28a6a14f93090e23208db93e0efa43e9"><span class="id" title="notation">"</span></a>\sum_ ( i < n | P ) F" :=<br/> + (<a class="idref" href="mathcomp.ssreflect.bigop.html#0b83d32979b1fdd5833879356bbfd57b"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#0b83d32979b1fdd5833879356bbfd57b"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#0b83d32979b1fdd5833879356bbfd57b"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#a87d5ea2e207e69e5e474db24f56d4cb"><span class="id" title="notation">+%</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#a87d5ea2e207e69e5e474db24f56d4cb"><span class="id" title="notation">R</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#0b83d32979b1fdd5833879356bbfd57b"><span class="id" title="notation">/</span></a>0%<span class="id" title="var">R</span><a class="idref" href="mathcomp.ssreflect.bigop.html#0b83d32979b1fdd5833879356bbfd57b"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#0b83d32979b1fdd5833879356bbfd57b"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#0b83d32979b1fdd5833879356bbfd57b"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#0b83d32979b1fdd5833879356bbfd57b"><span class="id" title="notation"><</span></a> <span class="id" title="var">n</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#0b83d32979b1fdd5833879356bbfd57b"><span class="id" title="notation">|</span></a> <span class="id" title="var">P</span>%<span class="id" title="var">B</span><a class="idref" href="mathcomp.ssreflect.bigop.html#0b83d32979b1fdd5833879356bbfd57b"><span class="id" title="notation">)</span></a> <span class="id" title="var">F</span>%<span class="id" title="var">R</span>) : <span class="id" title="var">ring_scope</span>.<br/> +<span class="id" title="keyword">Notation</span> <a name="784f0af919f467115774be372bf0dbd7"><span class="id" title="notation">"</span></a>\sum_ ( i < n ) F" :=<br/> + (<a class="idref" href="mathcomp.ssreflect.bigop.html#afef6bddeda988bbc365e556241d5732"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#afef6bddeda988bbc365e556241d5732"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#afef6bddeda988bbc365e556241d5732"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#a87d5ea2e207e69e5e474db24f56d4cb"><span class="id" title="notation">+%</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#a87d5ea2e207e69e5e474db24f56d4cb"><span class="id" title="notation">R</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#afef6bddeda988bbc365e556241d5732"><span class="id" title="notation">/</span></a>0%<span class="id" title="var">R</span><a class="idref" href="mathcomp.ssreflect.bigop.html#afef6bddeda988bbc365e556241d5732"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#afef6bddeda988bbc365e556241d5732"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#afef6bddeda988bbc365e556241d5732"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#afef6bddeda988bbc365e556241d5732"><span class="id" title="notation"><</span></a> <span class="id" title="var">n</span><a class="idref" href="mathcomp.ssreflect.bigop.html#afef6bddeda988bbc365e556241d5732"><span class="id" title="notation">)</span></a> <span class="id" title="var">F</span>%<span class="id" title="var">R</span>) : <span class="id" title="var">ring_scope</span>.<br/> +<span class="id" title="keyword">Notation</span> <a name="b02cf3cb9006d7a349998c445d7fd8d4"><span class="id" title="notation">"</span></a>\sum_ ( i 'in' A | P ) F" :=<br/> + (<a class="idref" href="mathcomp.ssreflect.bigop.html#d82d692725683c4eeb1ed4ba22855f30"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#d82d692725683c4eeb1ed4ba22855f30"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#d82d692725683c4eeb1ed4ba22855f30"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#a87d5ea2e207e69e5e474db24f56d4cb"><span class="id" title="notation">+%</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#a87d5ea2e207e69e5e474db24f56d4cb"><span class="id" title="notation">R</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#d82d692725683c4eeb1ed4ba22855f30"><span class="id" title="notation">/</span></a>0%<span class="id" title="var">R</span><a class="idref" href="mathcomp.ssreflect.bigop.html#d82d692725683c4eeb1ed4ba22855f30"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#d82d692725683c4eeb1ed4ba22855f30"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#d82d692725683c4eeb1ed4ba22855f30"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#d82d692725683c4eeb1ed4ba22855f30"><span class="id" title="notation">in</span></a> <span class="id" title="var">A</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#d82d692725683c4eeb1ed4ba22855f30"><span class="id" title="notation">|</span></a> <span class="id" title="var">P</span>%<span class="id" title="var">B</span><a class="idref" href="mathcomp.ssreflect.bigop.html#d82d692725683c4eeb1ed4ba22855f30"><span class="id" title="notation">)</span></a> <span class="id" title="var">F</span>%<span class="id" title="var">R</span>) : <span class="id" title="var">ring_scope</span>.<br/> +<span class="id" title="keyword">Notation</span> <a name="b4ba9f64661118f4ed0bad900f98d2a2"><span class="id" title="notation">"</span></a>\sum_ ( i 'in' A ) F" :=<br/> + (<a class="idref" href="mathcomp.ssreflect.bigop.html#d37140b0b5d9683da109df6bc7f32772"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#d37140b0b5d9683da109df6bc7f32772"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#d37140b0b5d9683da109df6bc7f32772"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#a87d5ea2e207e69e5e474db24f56d4cb"><span class="id" title="notation">+%</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#a87d5ea2e207e69e5e474db24f56d4cb"><span class="id" title="notation">R</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#d37140b0b5d9683da109df6bc7f32772"><span class="id" title="notation">/</span></a>0%<span class="id" title="var">R</span><a class="idref" href="mathcomp.ssreflect.bigop.html#d37140b0b5d9683da109df6bc7f32772"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#d37140b0b5d9683da109df6bc7f32772"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#d37140b0b5d9683da109df6bc7f32772"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#d37140b0b5d9683da109df6bc7f32772"><span class="id" title="notation">in</span></a> <span class="id" title="var">A</span><a class="idref" href="mathcomp.ssreflect.bigop.html#d37140b0b5d9683da109df6bc7f32772"><span class="id" title="notation">)</span></a> <span class="id" title="var">F</span>%<span class="id" title="var">R</span>) : <span class="id" title="var">ring_scope</span>.<br/> + +<br/> +<span class="id" title="keyword">Notation</span> <a name="edca584f226f01d7a05a12e4ceba1caf"><span class="id" title="notation">"</span></a>\prod_ ( i <- r | P ) F" :=<br/> + (<a class="idref" href="mathcomp.ssreflect.bigop.html#60e57ff387b8a0840e944d0d03f215e2"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#60e57ff387b8a0840e944d0d03f215e2"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#60e57ff387b8a0840e944d0d03f215e2"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#3609d85e23333c9e68741ad96b416eec"><span class="id" title="notation">*%</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#3609d85e23333c9e68741ad96b416eec"><span class="id" title="notation">R</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#60e57ff387b8a0840e944d0d03f215e2"><span class="id" title="notation">/</span></a>1%<span class="id" title="var">R</span><a class="idref" href="mathcomp.ssreflect.bigop.html#60e57ff387b8a0840e944d0d03f215e2"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#60e57ff387b8a0840e944d0d03f215e2"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#60e57ff387b8a0840e944d0d03f215e2"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#60e57ff387b8a0840e944d0d03f215e2"><span class="id" title="notation"><-</span></a> <span class="id" title="var">r</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#60e57ff387b8a0840e944d0d03f215e2"><span class="id" title="notation">|</span></a> <span class="id" title="var">P</span>%<span class="id" title="var">B</span><a class="idref" href="mathcomp.ssreflect.bigop.html#60e57ff387b8a0840e944d0d03f215e2"><span class="id" title="notation">)</span></a> <span class="id" title="var">F</span>%<span class="id" title="var">R</span>) : <span class="id" title="var">ring_scope</span>.<br/> +<span class="id" title="keyword">Notation</span> <a name="20f16c1d55d1e4ca9bb0e0513dd4b06a"><span class="id" title="notation">"</span></a>\prod_ ( i <- r ) F" :=<br/> + (<a class="idref" href="mathcomp.ssreflect.bigop.html#93a42d9430a115f2544a09cba4cf05ca"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#93a42d9430a115f2544a09cba4cf05ca"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#93a42d9430a115f2544a09cba4cf05ca"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#3609d85e23333c9e68741ad96b416eec"><span class="id" title="notation">*%</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#3609d85e23333c9e68741ad96b416eec"><span class="id" title="notation">R</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#93a42d9430a115f2544a09cba4cf05ca"><span class="id" title="notation">/</span></a>1%<span class="id" title="var">R</span><a class="idref" href="mathcomp.ssreflect.bigop.html#93a42d9430a115f2544a09cba4cf05ca"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#93a42d9430a115f2544a09cba4cf05ca"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#93a42d9430a115f2544a09cba4cf05ca"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#93a42d9430a115f2544a09cba4cf05ca"><span class="id" title="notation"><-</span></a> <span class="id" title="var">r</span><a class="idref" href="mathcomp.ssreflect.bigop.html#93a42d9430a115f2544a09cba4cf05ca"><span class="id" title="notation">)</span></a> <span class="id" title="var">F</span>%<span class="id" title="var">R</span>) : <span class="id" title="var">ring_scope</span>.<br/> +<span class="id" title="keyword">Notation</span> <a name="ae5b622d137284a9de0c6be5383890a0"><span class="id" title="notation">"</span></a>\prod_ ( m <= i < n | P ) F" :=<br/> + (<a class="idref" href="mathcomp.ssreflect.bigop.html#61699f7bcd958ceac6b63f7e240f7ee7"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#61699f7bcd958ceac6b63f7e240f7ee7"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#61699f7bcd958ceac6b63f7e240f7ee7"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#3609d85e23333c9e68741ad96b416eec"><span class="id" title="notation">*%</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#3609d85e23333c9e68741ad96b416eec"><span class="id" title="notation">R</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#61699f7bcd958ceac6b63f7e240f7ee7"><span class="id" title="notation">/</span></a>1%<span class="id" title="var">R</span><a class="idref" href="mathcomp.ssreflect.bigop.html#61699f7bcd958ceac6b63f7e240f7ee7"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#61699f7bcd958ceac6b63f7e240f7ee7"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#61699f7bcd958ceac6b63f7e240f7ee7"><span class="id" title="notation">(</span></a><span class="id" title="var">m</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#61699f7bcd958ceac6b63f7e240f7ee7"><span class="id" title="notation">≤</span></a> <span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#61699f7bcd958ceac6b63f7e240f7ee7"><span class="id" title="notation"><</span></a> <span class="id" title="var">n</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#61699f7bcd958ceac6b63f7e240f7ee7"><span class="id" title="notation">|</span></a> <span class="id" title="var">P</span>%<span class="id" title="var">B</span><a class="idref" href="mathcomp.ssreflect.bigop.html#61699f7bcd958ceac6b63f7e240f7ee7"><span class="id" title="notation">)</span></a> <span class="id" title="var">F</span>%<span class="id" title="var">R</span>) : <span class="id" title="var">ring_scope</span>.<br/> +<span class="id" title="keyword">Notation</span> <a name="6cafae612e867daf9d52dea1bc934c24"><span class="id" title="notation">"</span></a>\prod_ ( m <= i < n ) F" :=<br/> + (<a class="idref" href="mathcomp.ssreflect.bigop.html#a0f72dd08c3295710348031e7df784a3"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#a0f72dd08c3295710348031e7df784a3"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#a0f72dd08c3295710348031e7df784a3"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#3609d85e23333c9e68741ad96b416eec"><span class="id" title="notation">*%</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#3609d85e23333c9e68741ad96b416eec"><span class="id" title="notation">R</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#a0f72dd08c3295710348031e7df784a3"><span class="id" title="notation">/</span></a>1%<span class="id" title="var">R</span><a class="idref" href="mathcomp.ssreflect.bigop.html#a0f72dd08c3295710348031e7df784a3"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#a0f72dd08c3295710348031e7df784a3"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#a0f72dd08c3295710348031e7df784a3"><span class="id" title="notation">(</span></a><span class="id" title="var">m</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#a0f72dd08c3295710348031e7df784a3"><span class="id" title="notation">≤</span></a> <span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#a0f72dd08c3295710348031e7df784a3"><span class="id" title="notation"><</span></a> <span class="id" title="var">n</span><a class="idref" href="mathcomp.ssreflect.bigop.html#a0f72dd08c3295710348031e7df784a3"><span class="id" title="notation">)</span></a> <span class="id" title="var">F</span>%<span class="id" title="var">R</span>) : <span class="id" title="var">ring_scope</span>.<br/> +<span class="id" title="keyword">Notation</span> <a name="443901d1788fc95745443c70e786b07b"><span class="id" title="notation">"</span></a>\prod_ ( i | P ) F" :=<br/> + (<a class="idref" href="mathcomp.ssreflect.bigop.html#1871917561e26284874cb982a8cc32df"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#1871917561e26284874cb982a8cc32df"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#1871917561e26284874cb982a8cc32df"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#3609d85e23333c9e68741ad96b416eec"><span class="id" title="notation">*%</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#3609d85e23333c9e68741ad96b416eec"><span class="id" title="notation">R</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#1871917561e26284874cb982a8cc32df"><span class="id" title="notation">/</span></a>1%<span class="id" title="var">R</span><a class="idref" href="mathcomp.ssreflect.bigop.html#1871917561e26284874cb982a8cc32df"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#1871917561e26284874cb982a8cc32df"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#1871917561e26284874cb982a8cc32df"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#1871917561e26284874cb982a8cc32df"><span class="id" title="notation">|</span></a> <span class="id" title="var">P</span>%<span class="id" title="var">B</span><a class="idref" href="mathcomp.ssreflect.bigop.html#1871917561e26284874cb982a8cc32df"><span class="id" title="notation">)</span></a> <span class="id" title="var">F</span>%<span class="id" title="var">R</span>) : <span class="id" title="var">ring_scope</span>.<br/> +<span class="id" title="keyword">Notation</span> <a name="bba809eef925bb2b4e421c8b99ce8372"><span class="id" title="notation">"</span></a>\prod_ i F" :=<br/> + (<a class="idref" href="mathcomp.ssreflect.bigop.html#379a79a86133b2d1cd9cb43efa183ecb"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#379a79a86133b2d1cd9cb43efa183ecb"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#379a79a86133b2d1cd9cb43efa183ecb"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#3609d85e23333c9e68741ad96b416eec"><span class="id" title="notation">*%</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#3609d85e23333c9e68741ad96b416eec"><span class="id" title="notation">R</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#379a79a86133b2d1cd9cb43efa183ecb"><span class="id" title="notation">/</span></a>1%<span class="id" title="var">R</span><a class="idref" href="mathcomp.ssreflect.bigop.html#379a79a86133b2d1cd9cb43efa183ecb"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#379a79a86133b2d1cd9cb43efa183ecb"><span class="id" title="notation">_i</span></a> <span class="id" title="var">F</span>%<span class="id" title="var">R</span>) : <span class="id" title="var">ring_scope</span>.<br/> +<span class="id" title="keyword">Notation</span> <a name="7d23f783c5b4af5a7725cb40dcd2a67e"><span class="id" title="notation">"</span></a>\prod_ ( i : t | P ) F" :=<br/> + (<a class="idref" href="mathcomp.ssreflect.bigop.html#d9e61c197d846298f3e26b588e67e5ec"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#d9e61c197d846298f3e26b588e67e5ec"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#d9e61c197d846298f3e26b588e67e5ec"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#3609d85e23333c9e68741ad96b416eec"><span class="id" title="notation">*%</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#3609d85e23333c9e68741ad96b416eec"><span class="id" title="notation">R</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#d9e61c197d846298f3e26b588e67e5ec"><span class="id" title="notation">/</span></a>1%<span class="id" title="var">R</span><a class="idref" href="mathcomp.ssreflect.bigop.html#d9e61c197d846298f3e26b588e67e5ec"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#d9e61c197d846298f3e26b588e67e5ec"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#d9e61c197d846298f3e26b588e67e5ec"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#d9e61c197d846298f3e26b588e67e5ec"><span class="id" title="notation">:</span></a> <span class="id" title="var">t</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#d9e61c197d846298f3e26b588e67e5ec"><span class="id" title="notation">|</span></a> <span class="id" title="var">P</span>%<span class="id" title="var">B</span><a class="idref" href="mathcomp.ssreflect.bigop.html#d9e61c197d846298f3e26b588e67e5ec"><span class="id" title="notation">)</span></a> <span class="id" title="var">F</span>%<span class="id" title="var">R</span>) (<span class="id" title="var">only</span> <span class="id" title="var">parsing</span>) : <span class="id" title="var">ring_scope</span>.<br/> +<span class="id" title="keyword">Notation</span> <a name="51df668be1ec26b73bb107a399b4edee"><span class="id" title="notation">"</span></a>\prod_ ( i : t ) F" :=<br/> + (<a class="idref" href="mathcomp.ssreflect.bigop.html#0a668c1f377e113a6f68dd824f1c2031"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#0a668c1f377e113a6f68dd824f1c2031"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#0a668c1f377e113a6f68dd824f1c2031"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#3609d85e23333c9e68741ad96b416eec"><span class="id" title="notation">*%</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#3609d85e23333c9e68741ad96b416eec"><span class="id" title="notation">R</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#0a668c1f377e113a6f68dd824f1c2031"><span class="id" title="notation">/</span></a>1%<span class="id" title="var">R</span><a class="idref" href="mathcomp.ssreflect.bigop.html#0a668c1f377e113a6f68dd824f1c2031"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#0a668c1f377e113a6f68dd824f1c2031"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#0a668c1f377e113a6f68dd824f1c2031"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#0a668c1f377e113a6f68dd824f1c2031"><span class="id" title="notation">:</span></a> <span class="id" title="var">t</span><a class="idref" href="mathcomp.ssreflect.bigop.html#0a668c1f377e113a6f68dd824f1c2031"><span class="id" title="notation">)</span></a> <span class="id" title="var">F</span>%<span class="id" title="var">R</span>) (<span class="id" title="var">only</span> <span class="id" title="var">parsing</span>) : <span class="id" title="var">ring_scope</span>.<br/> +<span class="id" title="keyword">Notation</span> <a name="a659e4ae2d657a7a7479bd993753b74e"><span class="id" title="notation">"</span></a>\prod_ ( i < n | P ) F" :=<br/> + (<a class="idref" href="mathcomp.ssreflect.bigop.html#0b83d32979b1fdd5833879356bbfd57b"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#0b83d32979b1fdd5833879356bbfd57b"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#0b83d32979b1fdd5833879356bbfd57b"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#3609d85e23333c9e68741ad96b416eec"><span class="id" title="notation">*%</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#3609d85e23333c9e68741ad96b416eec"><span class="id" title="notation">R</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#0b83d32979b1fdd5833879356bbfd57b"><span class="id" title="notation">/</span></a>1%<span class="id" title="var">R</span><a class="idref" href="mathcomp.ssreflect.bigop.html#0b83d32979b1fdd5833879356bbfd57b"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#0b83d32979b1fdd5833879356bbfd57b"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#0b83d32979b1fdd5833879356bbfd57b"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#0b83d32979b1fdd5833879356bbfd57b"><span class="id" title="notation"><</span></a> <span class="id" title="var">n</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#0b83d32979b1fdd5833879356bbfd57b"><span class="id" title="notation">|</span></a> <span class="id" title="var">P</span>%<span class="id" title="var">B</span><a class="idref" href="mathcomp.ssreflect.bigop.html#0b83d32979b1fdd5833879356bbfd57b"><span class="id" title="notation">)</span></a> <span class="id" title="var">F</span>%<span class="id" title="var">R</span>) : <span class="id" title="var">ring_scope</span>.<br/> +<span class="id" title="keyword">Notation</span> <a name="67300a8785737f7cefc74d1d8454c1c6"><span class="id" title="notation">"</span></a>\prod_ ( i < n ) F" :=<br/> + (<a class="idref" href="mathcomp.ssreflect.bigop.html#afef6bddeda988bbc365e556241d5732"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#afef6bddeda988bbc365e556241d5732"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#afef6bddeda988bbc365e556241d5732"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#3609d85e23333c9e68741ad96b416eec"><span class="id" title="notation">*%</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#3609d85e23333c9e68741ad96b416eec"><span class="id" title="notation">R</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#afef6bddeda988bbc365e556241d5732"><span class="id" title="notation">/</span></a>1%<span class="id" title="var">R</span><a class="idref" href="mathcomp.ssreflect.bigop.html#afef6bddeda988bbc365e556241d5732"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#afef6bddeda988bbc365e556241d5732"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#afef6bddeda988bbc365e556241d5732"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#afef6bddeda988bbc365e556241d5732"><span class="id" title="notation"><</span></a> <span class="id" title="var">n</span><a class="idref" href="mathcomp.ssreflect.bigop.html#afef6bddeda988bbc365e556241d5732"><span class="id" title="notation">)</span></a> <span class="id" title="var">F</span>%<span class="id" title="var">R</span>) : <span class="id" title="var">ring_scope</span>.<br/> +<span class="id" title="keyword">Notation</span> <a name="0220f781f7c2a2b8a8617155336edf16"><span class="id" title="notation">"</span></a>\prod_ ( i 'in' A | P ) F" :=<br/> + (<a class="idref" href="mathcomp.ssreflect.bigop.html#d82d692725683c4eeb1ed4ba22855f30"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#d82d692725683c4eeb1ed4ba22855f30"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#d82d692725683c4eeb1ed4ba22855f30"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#3609d85e23333c9e68741ad96b416eec"><span class="id" title="notation">*%</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#3609d85e23333c9e68741ad96b416eec"><span class="id" title="notation">R</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#d82d692725683c4eeb1ed4ba22855f30"><span class="id" title="notation">/</span></a>1%<span class="id" title="var">R</span><a class="idref" href="mathcomp.ssreflect.bigop.html#d82d692725683c4eeb1ed4ba22855f30"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#d82d692725683c4eeb1ed4ba22855f30"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#d82d692725683c4eeb1ed4ba22855f30"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#d82d692725683c4eeb1ed4ba22855f30"><span class="id" title="notation">in</span></a> <span class="id" title="var">A</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#d82d692725683c4eeb1ed4ba22855f30"><span class="id" title="notation">|</span></a> <span class="id" title="var">P</span>%<span class="id" title="var">B</span><a class="idref" href="mathcomp.ssreflect.bigop.html#d82d692725683c4eeb1ed4ba22855f30"><span class="id" title="notation">)</span></a> <span class="id" title="var">F</span>%<span class="id" title="var">R</span>) : <span class="id" title="var">ring_scope</span>.<br/> +<span class="id" title="keyword">Notation</span> <a name="36801bf0b805f8d0bb9c9b074cb697c1"><span class="id" title="notation">"</span></a>\prod_ ( i 'in' A ) F" :=<br/> + (<a class="idref" href="mathcomp.ssreflect.bigop.html#d37140b0b5d9683da109df6bc7f32772"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#d37140b0b5d9683da109df6bc7f32772"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#d37140b0b5d9683da109df6bc7f32772"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#3609d85e23333c9e68741ad96b416eec"><span class="id" title="notation">*%</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#3609d85e23333c9e68741ad96b416eec"><span class="id" title="notation">R</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#d37140b0b5d9683da109df6bc7f32772"><span class="id" title="notation">/</span></a>1%<span class="id" title="var">R</span><a class="idref" href="mathcomp.ssreflect.bigop.html#d37140b0b5d9683da109df6bc7f32772"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#d37140b0b5d9683da109df6bc7f32772"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#d37140b0b5d9683da109df6bc7f32772"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#d37140b0b5d9683da109df6bc7f32772"><span class="id" title="notation">in</span></a> <span class="id" title="var">A</span><a class="idref" href="mathcomp.ssreflect.bigop.html#d37140b0b5d9683da109df6bc7f32772"><span class="id" title="notation">)</span></a> <span class="id" title="var">F</span>%<span class="id" title="var">R</span>) : <span class="id" title="var">ring_scope</span>.<br/> <br/> <span class="id" title="keyword">Canonical</span> <span class="id" title="var">add_monoid</span>.<br/> @@ -5940,7 +5963,7 @@ <span class="id" title="keyword">Canonical</span> <span class="id" title="var">in_alg_rmorphism</span>.<br/> <br/> -<span class="id" title="keyword">Notation</span> <a name="abeaac58e2ece5987d9505e93275b38a"><span class="id" title="notation">"</span></a>R ^c" := (<a class="idref" href="mathcomp.algebra.ssralg.html#converse"><span class="id" title="definition">converse</span></a> <span class="id" title="var">R</span>) (<span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 2, <span class="id" title="var">format</span> "R ^c") : <span class="id" title="var">type_scope</span>.<br/> +<span class="id" title="keyword">Notation</span> <a name="dbec222c7229fb284575ab42ea1e4c8d"><span class="id" title="notation">"</span></a>R ^c" := (<a class="idref" href="mathcomp.algebra.ssralg.html#converse"><span class="id" title="definition">converse</span></a> <span class="id" title="var">R</span>) (<span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 2, <span class="id" title="var">format</span> "R ^c") : <span class="id" title="var">type_scope</span>.<br/> <span class="id" title="keyword">Canonical</span> <span class="id" title="var">converse_eqType</span>.<br/> <span class="id" title="keyword">Canonical</span> <span class="id" title="var">converse_choiceType</span>.<br/> <span class="id" title="keyword">Canonical</span> <span class="id" title="var">converse_zmodType</span>.<br/> @@ -5948,7 +5971,7 @@ <span class="id" title="keyword">Canonical</span> <span class="id" title="var">converse_unitRingType</span>.<br/> <br/> -<span class="id" title="keyword">Notation</span> <a name="c2b6ed6fbc6f0b41c6ad09005b7580b6"><span class="id" title="notation">"</span></a>R ^o" := (<a class="idref" href="mathcomp.algebra.ssralg.html#regular"><span class="id" title="definition">regular</span></a> <span class="id" title="var">R</span>) (<span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 2, <span class="id" title="var">format</span> "R ^o") : <span class="id" title="var">type_scope</span>.<br/> +<span class="id" title="keyword">Notation</span> <a name="32d8c90f413029fb5c0e82f0559cd7ef"><span class="id" title="notation">"</span></a>R ^o" := (<a class="idref" href="mathcomp.algebra.ssralg.html#regular"><span class="id" title="definition">regular</span></a> <span class="id" title="var">R</span>) (<span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 2, <span class="id" title="var">format</span> "R ^o") : <span class="id" title="var">type_scope</span>.<br/> <span class="id" title="keyword">Canonical</span> <span class="id" title="var">regular_eqType</span>.<br/> <span class="id" title="keyword">Canonical</span> <span class="id" title="var">regular_choiceType</span>.<br/> <span class="id" title="keyword">Canonical</span> <span class="id" title="var">regular_zmodType</span>.<br/> @@ -5974,27 +5997,27 @@ <br/> <br/> -<span class="id" title="keyword">Notation</span> <a name="17323b79d87a46c8afbe9d49f25575c2"><span class="id" title="notation">"</span></a>''X_' i" := (<a class="idref" href="mathcomp.algebra.ssralg.html#Var"><span class="id" title="constructor">Var</span></a> <span class="id" title="var">_</span> <span class="id" title="var">i</span>) : <span class="id" title="var">term_scope</span>.<br/> -<span class="id" title="keyword">Notation</span> <a name="195545709d5aae552b0abf942409ca94"><span class="id" title="notation">"</span></a>n %:R" := (<a class="idref" href="mathcomp.algebra.ssralg.html#NatConst"><span class="id" title="constructor">NatConst</span></a> <span class="id" title="var">_</span> <span class="id" title="var">n</span>) : <span class="id" title="var">term_scope</span>.<br/> -<span class="id" title="keyword">Notation</span> <a name="fd25c4ceaf666395b21eebacc1d7d8f5"><span class="id" title="notation">"</span></a>0" := 0<a class="idref" href="mathcomp.algebra.ssralg.html#195545709d5aae552b0abf942409ca94"><span class="id" title="notation">%:</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#195545709d5aae552b0abf942409ca94"><span class="id" title="notation">R</span></a>%<span class="id" title="var">T</span> : <span class="id" title="var">term_scope</span>.<br/> -<span class="id" title="keyword">Notation</span> <a name="69a4f6fa0f4c840df5f262a303e23e2a"><span class="id" title="notation">"</span></a>1" := 1<a class="idref" href="mathcomp.algebra.ssralg.html#195545709d5aae552b0abf942409ca94"><span class="id" title="notation">%:</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#195545709d5aae552b0abf942409ca94"><span class="id" title="notation">R</span></a>%<span class="id" title="var">T</span> : <span class="id" title="var">term_scope</span>.<br/> -<span class="id" title="keyword">Notation</span> <a name="1fdca15973cff7a8b815ed2990d73bc4"><span class="id" title="notation">"</span></a>x %:T" := (<a class="idref" href="mathcomp.algebra.ssralg.html#Const"><span class="id" title="constructor">Const</span></a> <span class="id" title="var">x</span>) : <span class="id" title="var">term_scope</span>.<br/> -<span class="id" title="keyword">Infix</span> <a name="07427e42f32066043366f5a0e6f91c69"><span class="id" title="notation">"</span></a>+" := <a class="idref" href="mathcomp.algebra.ssralg.html#Add"><span class="id" title="constructor">Add</span></a> : <span class="id" title="var">term_scope</span>.<br/> -<span class="id" title="keyword">Notation</span> <a name="74e776e67b9907da5a8bb8395abcbb3a"><span class="id" title="notation">"</span></a>- t" := (<a class="idref" href="mathcomp.algebra.ssralg.html#Opp"><span class="id" title="constructor">Opp</span></a> <span class="id" title="var">t</span>) : <span class="id" title="var">term_scope</span>.<br/> -<span class="id" title="keyword">Notation</span> <a name="4a62fcd6d8b92bd91e210969e6044405"><span class="id" title="notation">"</span></a>t - u" := (<a class="idref" href="mathcomp.algebra.ssralg.html#Add"><span class="id" title="constructor">Add</span></a> <span class="id" title="var">t</span> (<a class="idref" href="mathcomp.algebra.ssralg.html#74e776e67b9907da5a8bb8395abcbb3a"><span class="id" title="notation">-</span></a> <span class="id" title="var">u</span>)) : <span class="id" title="var">term_scope</span>.<br/> -<span class="id" title="keyword">Infix</span> <a name="9be2d223eee11d745162c85997d077aa"><span class="id" title="notation">"</span></a>×" := <a class="idref" href="mathcomp.algebra.ssralg.html#Mul"><span class="id" title="constructor">Mul</span></a> : <span class="id" title="var">term_scope</span>.<br/> -<span class="id" title="keyword">Infix</span> <a name="8e2e8a4eb864fa5c2791d432c56d15a6"><span class="id" title="notation">"</span></a>*+" := <a class="idref" href="mathcomp.algebra.ssralg.html#NatMul"><span class="id" title="constructor">NatMul</span></a> : <span class="id" title="var">term_scope</span>.<br/> -<span class="id" title="keyword">Notation</span> <a name="945cbc254830540ee68b2936209ea6c1"><span class="id" title="notation">"</span></a>t ^-1" := (<a class="idref" href="mathcomp.algebra.ssralg.html#Inv"><span class="id" title="constructor">Inv</span></a> <span class="id" title="var">t</span>) : <span class="id" title="var">term_scope</span>.<br/> -<span class="id" title="keyword">Notation</span> <a name="2bce51a4f3d8316b17c8ca1d95c657bb"><span class="id" title="notation">"</span></a>t / u" := (<a class="idref" href="mathcomp.algebra.ssralg.html#Mul"><span class="id" title="constructor">Mul</span></a> <span class="id" title="var">t</span> <span class="id" title="var">u</span><a class="idref" href="mathcomp.algebra.ssralg.html#945cbc254830540ee68b2936209ea6c1"><span class="id" title="notation">^-1</span></a>) : <span class="id" title="var">term_scope</span>.<br/> -<span class="id" title="keyword">Infix</span> <a name="3d77c0fa24e5cf0fab5a0c94d232f5c2"><span class="id" title="notation">"</span></a>^+" := <a class="idref" href="mathcomp.algebra.ssralg.html#Exp"><span class="id" title="constructor">Exp</span></a> : <span class="id" title="var">term_scope</span>.<br/> -<span class="id" title="keyword">Infix</span> <a name="9cd193463422c398e84dc63b7a4a91e1"><span class="id" title="notation">"</span></a>==" := <a class="idref" href="mathcomp.algebra.ssralg.html#Equal"><span class="id" title="constructor">Equal</span></a> : <span class="id" title="var">term_scope</span>.<br/> -<span class="id" title="keyword">Notation</span> <a name="e55bf22d80797140224ba2d3a71d012f"><span class="id" title="notation">"</span></a>x != y" := (<a class="idref" href="mathcomp.algebra.ssralg.html#Not"><span class="id" title="constructor">GRing.Not</span></a> (<span class="id" title="var">x</span> <a class="idref" href="mathcomp.algebra.ssralg.html#9cd193463422c398e84dc63b7a4a91e1"><span class="id" title="notation">==</span></a> <span class="id" title="var">y</span>)) : <span class="id" title="var">term_scope</span>.<br/> -<span class="id" title="keyword">Infix</span> <a name="34bfd1085795ea0dabf4707f6dcc9f24"><span class="id" title="notation">"</span></a>∧" := <a class="idref" href="mathcomp.algebra.ssralg.html#And"><span class="id" title="constructor">And</span></a> : <span class="id" title="var">term_scope</span>.<br/> -<span class="id" title="keyword">Infix</span> <a name="cedb2229ee03a356646d7d079363f569"><span class="id" title="notation">"</span></a>∨" := <a class="idref" href="mathcomp.algebra.ssralg.html#Or"><span class="id" title="constructor">Or</span></a> : <span class="id" title="var">term_scope</span>.<br/> -<span class="id" title="keyword">Infix</span> <a name="75d27ccd6bafab0712ff32ca70588f75"><span class="id" title="notation">"</span></a>==>" := <a class="idref" href="mathcomp.algebra.ssralg.html#Implies"><span class="id" title="constructor">Implies</span></a> : <span class="id" title="var">term_scope</span>.<br/> -<span class="id" title="keyword">Notation</span> <a name="4fa42a7f6c286acb6f527202ebab0b57"><span class="id" title="notation">"</span></a>~ f" := (<a class="idref" href="mathcomp.algebra.ssralg.html#Not"><span class="id" title="constructor">Not</span></a> <span class="id" title="var">f</span>) : <span class="id" title="var">term_scope</span>.<br/> -<span class="id" title="keyword">Notation</span> <a name="fab74d9e9116665439f309d85c75cb19"><span class="id" title="notation">"</span></a>''exists' ''X_' i , f" := (<a class="idref" href="mathcomp.algebra.ssralg.html#Exists"><span class="id" title="constructor">Exists</span></a> <span class="id" title="var">i</span> <span class="id" title="var">f</span>) : <span class="id" title="var">term_scope</span>.<br/> -<span class="id" title="keyword">Notation</span> <a name="947870d152796aac71cef25a081c58e4"><span class="id" title="notation">"</span></a>''forall' ''X_' i , f" := (<a class="idref" href="mathcomp.algebra.ssralg.html#Forall"><span class="id" title="constructor">Forall</span></a> <span class="id" title="var">i</span> <span class="id" title="var">f</span>) : <span class="id" title="var">term_scope</span>.<br/> +<span class="id" title="keyword">Notation</span> <a name="4469cceefa45bf6eb9c3a2c83154c5db"><span class="id" title="notation">"</span></a>''X_' i" := (<a class="idref" href="mathcomp.algebra.ssralg.html#Var"><span class="id" title="constructor">Var</span></a> <span class="id" title="var">_</span> <span class="id" title="var">i</span>) : <span class="id" title="var">term_scope</span>.<br/> +<span class="id" title="keyword">Notation</span> <a name="4ce27ef85740ec20828e07c70791cf75"><span class="id" title="notation">"</span></a>n %:R" := (<a class="idref" href="mathcomp.algebra.ssralg.html#NatConst"><span class="id" title="constructor">NatConst</span></a> <span class="id" title="var">_</span> <span class="id" title="var">n</span>) : <span class="id" title="var">term_scope</span>.<br/> +<span class="id" title="keyword">Notation</span> <a name="2955806d7b36cc82f38f4e8b21b84d7b"><span class="id" title="notation">"</span></a>0" := 0<a class="idref" href="mathcomp.algebra.ssralg.html#4ce27ef85740ec20828e07c70791cf75"><span class="id" title="notation">%:</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#4ce27ef85740ec20828e07c70791cf75"><span class="id" title="notation">R</span></a>%<span class="id" title="var">T</span> : <span class="id" title="var">term_scope</span>.<br/> +<span class="id" title="keyword">Notation</span> <a name="2131f761f727e42fd577f17ac13bb917"><span class="id" title="notation">"</span></a>1" := 1<a class="idref" href="mathcomp.algebra.ssralg.html#4ce27ef85740ec20828e07c70791cf75"><span class="id" title="notation">%:</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#4ce27ef85740ec20828e07c70791cf75"><span class="id" title="notation">R</span></a>%<span class="id" title="var">T</span> : <span class="id" title="var">term_scope</span>.<br/> +<span class="id" title="keyword">Notation</span> <a name="06be6dc84074dd93c618bfd62ba301ab"><span class="id" title="notation">"</span></a>x %:T" := (<a class="idref" href="mathcomp.algebra.ssralg.html#Const"><span class="id" title="constructor">Const</span></a> <span class="id" title="var">x</span>) : <span class="id" title="var">term_scope</span>.<br/> +<span class="id" title="keyword">Infix</span> <a name="c58c2dd0f0bcaa7496089cb3d706fa33"><span class="id" title="notation">"</span></a>+" := <a class="idref" href="mathcomp.algebra.ssralg.html#Add"><span class="id" title="constructor">Add</span></a> : <span class="id" title="var">term_scope</span>.<br/> +<span class="id" title="keyword">Notation</span> <a name="e17e96c7b2b76669d2df8ffe5474ae56"><span class="id" title="notation">"</span></a>- t" := (<a class="idref" href="mathcomp.algebra.ssralg.html#Opp"><span class="id" title="constructor">Opp</span></a> <span class="id" title="var">t</span>) : <span class="id" title="var">term_scope</span>.<br/> +<span class="id" title="keyword">Notation</span> <a name="5cb99c63f36860400b899961ab21258a"><span class="id" title="notation">"</span></a>t - u" := (<a class="idref" href="mathcomp.algebra.ssralg.html#Add"><span class="id" title="constructor">Add</span></a> <span class="id" title="var">t</span> (<a class="idref" href="mathcomp.algebra.ssralg.html#e17e96c7b2b76669d2df8ffe5474ae56"><span class="id" title="notation">-</span></a> <span class="id" title="var">u</span>)) : <span class="id" title="var">term_scope</span>.<br/> +<span class="id" title="keyword">Infix</span> <a name="0f66e0377386facac088dbe9d64fe464"><span class="id" title="notation">"</span></a>×" := <a class="idref" href="mathcomp.algebra.ssralg.html#Mul"><span class="id" title="constructor">Mul</span></a> : <span class="id" title="var">term_scope</span>.<br/> +<span class="id" title="keyword">Infix</span> <a name="494fad3691a494dda8171ded2aab3af2"><span class="id" title="notation">"</span></a>*+" := <a class="idref" href="mathcomp.algebra.ssralg.html#NatMul"><span class="id" title="constructor">NatMul</span></a> : <span class="id" title="var">term_scope</span>.<br/> +<span class="id" title="keyword">Notation</span> <a name="43ec4b364d04e6bb82d286dda6431508"><span class="id" title="notation">"</span></a>t ^-1" := (<a class="idref" href="mathcomp.algebra.ssralg.html#Inv"><span class="id" title="constructor">Inv</span></a> <span class="id" title="var">t</span>) : <span class="id" title="var">term_scope</span>.<br/> +<span class="id" title="keyword">Notation</span> <a name="9f52e1bb1a2f06bca77a580caf19b98a"><span class="id" title="notation">"</span></a>t / u" := (<a class="idref" href="mathcomp.algebra.ssralg.html#Mul"><span class="id" title="constructor">Mul</span></a> <span class="id" title="var">t</span> <span class="id" title="var">u</span><a class="idref" href="mathcomp.algebra.ssralg.html#43ec4b364d04e6bb82d286dda6431508"><span class="id" title="notation">^-1</span></a>) : <span class="id" title="var">term_scope</span>.<br/> +<span class="id" title="keyword">Infix</span> <a name="97a215ca9363e5673a28657d47b8e8e5"><span class="id" title="notation">"</span></a>^+" := <a class="idref" href="mathcomp.algebra.ssralg.html#Exp"><span class="id" title="constructor">Exp</span></a> : <span class="id" title="var">term_scope</span>.<br/> +<span class="id" title="keyword">Infix</span> <a name="8ba71119b4b4369b5eb5b6037f9b1b72"><span class="id" title="notation">"</span></a>==" := <a class="idref" href="mathcomp.algebra.ssralg.html#Equal"><span class="id" title="constructor">Equal</span></a> : <span class="id" title="var">term_scope</span>.<br/> +<span class="id" title="keyword">Notation</span> <a name="ce954c803c52ae7afaee301d1d68e733"><span class="id" title="notation">"</span></a>x != y" := (<a class="idref" href="mathcomp.algebra.ssralg.html#Not"><span class="id" title="constructor">GRing.Not</span></a> (<span class="id" title="var">x</span> <a class="idref" href="mathcomp.algebra.ssralg.html#8ba71119b4b4369b5eb5b6037f9b1b72"><span class="id" title="notation">==</span></a> <span class="id" title="var">y</span>)) : <span class="id" title="var">term_scope</span>.<br/> +<span class="id" title="keyword">Infix</span> <a name="5a500d4ce4c6eea4df7cd2e3cacc0360"><span class="id" title="notation">"</span></a>∧" := <a class="idref" href="mathcomp.algebra.ssralg.html#And"><span class="id" title="constructor">And</span></a> : <span class="id" title="var">term_scope</span>.<br/> +<span class="id" title="keyword">Infix</span> <a name="fb8e71b0a04b4fb792321652d3394589"><span class="id" title="notation">"</span></a>∨" := <a class="idref" href="mathcomp.algebra.ssralg.html#Or"><span class="id" title="constructor">Or</span></a> : <span class="id" title="var">term_scope</span>.<br/> +<span class="id" title="keyword">Infix</span> <a name="b7075a427ea950c442d03d47d831421c"><span class="id" title="notation">"</span></a>==>" := <a class="idref" href="mathcomp.algebra.ssralg.html#Implies"><span class="id" title="constructor">Implies</span></a> : <span class="id" title="var">term_scope</span>.<br/> +<span class="id" title="keyword">Notation</span> <a name="5a358d3997cc6f2a7919089a2f91e45f"><span class="id" title="notation">"</span></a>~ f" := (<a class="idref" href="mathcomp.algebra.ssralg.html#Not"><span class="id" title="constructor">Not</span></a> <span class="id" title="var">f</span>) : <span class="id" title="var">term_scope</span>.<br/> +<span class="id" title="keyword">Notation</span> <a name="ed4038db2198f4fe9955121b51cc9a06"><span class="id" title="notation">"</span></a>''exists' ''X_' i , f" := (<a class="idref" href="mathcomp.algebra.ssralg.html#Exists"><span class="id" title="constructor">Exists</span></a> <span class="id" title="var">i</span> <span class="id" title="var">f</span>) : <span class="id" title="var">term_scope</span>.<br/> +<span class="id" title="keyword">Notation</span> <a name="61e99859b5405813120fb72b6bd3697e"><span class="id" title="notation">"</span></a>''forall' ''X_' i , f" := (<a class="idref" href="mathcomp.algebra.ssralg.html#Forall"><span class="id" title="constructor">Forall</span></a> <span class="id" title="var">i</span> <span class="id" title="var">f</span>) : <span class="id" title="var">term_scope</span>.<br/> <br/> </div> @@ -6007,18 +6030,18 @@ <br/> <span class="id" title="keyword">Variable</span> (<a name="FinFunZmod.aT"><span class="id" title="variable">aT</span></a> : <a class="idref" href="mathcomp.ssreflect.fintype.html#Finite.Exports.finType"><span class="id" title="abbreviation">finType</span></a>) (<a name="FinFunZmod.rT"><span class="id" title="variable">rT</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#zmodType"><span class="id" title="abbreviation">zmodType</span></a>).<br/> -<span class="id" title="keyword">Implicit</span> <span class="id" title="keyword">Types</span> <span class="id" title="var">f</span> <span class="id" title="var">g</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.ssralg.html#FinFunZmod.aT"><span class="id" title="variable">aT</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#FinFunZmod.rT"><span class="id" title="variable">rT</span></a><a class="idref" href="mathcomp.ssreflect.finfun.html#9f24a6f16bf73832c2d9aa4e2c16f692"><span class="id" title="notation">}</span></a>.<br/> +<span class="id" title="keyword">Implicit</span> <span class="id" title="keyword">Types</span> <span class="id" title="var">f</span> <span class="id" title="var">g</span> : <a class="idref" href="mathcomp.ssreflect.finfun.html#31493a873acc18a8368490ef56022c0c"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.ssreflect.finfun.html#31493a873acc18a8368490ef56022c0c"><span class="id" title="notation">ffun</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#FinFunZmod.aT"><span class="id" title="variable">aT</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#FinFunZmod.rT"><span class="id" title="variable">rT</span></a><a class="idref" href="mathcomp.ssreflect.finfun.html#31493a873acc18a8368490ef56022c0c"><span class="id" title="notation">}</span></a>.<br/> <br/> -<span class="id" title="keyword">Definition</span> <a name="ffun_zero"><span class="id" title="definition">ffun_zero</span></a> := <a class="idref" href="mathcomp.ssreflect.finfun.html#42aa76d2f66b49268bafac6d56a51249"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.finfun.html#42aa76d2f66b49268bafac6d56a51249"><span class="id" title="notation">ffun</span></a> <span class="id" title="var">a</span> <a class="idref" href="mathcomp.ssreflect.finfun.html#42aa76d2f66b49268bafac6d56a51249"><span class="id" title="notation">:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#FinFunZmod.aT"><span class="id" title="variable">aT</span></a> <a class="idref" href="mathcomp.ssreflect.finfun.html#42aa76d2f66b49268bafac6d56a51249"><span class="id" title="notation">⇒</span></a> <a class="idref" href="mathcomp.ssreflect.finfun.html#42aa76d2f66b49268bafac6d56a51249"><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#4509b22bf26e3d6d771897e22bd8bc8f"><span class="id" title="notation">:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#FinFunZmod.rT"><span class="id" title="variable">rT</span></a><a class="idref" href="mathcomp.ssreflect.finfun.html#42aa76d2f66b49268bafac6d56a51249"><span class="id" title="notation">)]</span></a>.<br/> -<span class="id" title="keyword">Definition</span> <a name="ffun_opp"><span class="id" title="definition">ffun_opp</span></a> <span class="id" title="var">f</span> := <a class="idref" href="mathcomp.ssreflect.finfun.html#71fbd02a8ba525d8dcd88d59800c905e"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.finfun.html#71fbd02a8ba525d8dcd88d59800c905e"><span class="id" title="notation">ffun</span></a> <span class="id" title="var">a</span> <a class="idref" href="mathcomp.ssreflect.finfun.html#71fbd02a8ba525d8dcd88d59800c905e"><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#f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#a"><span class="id" title="variable">a</span></a><a class="idref" href="mathcomp.ssreflect.finfun.html#71fbd02a8ba525d8dcd88d59800c905e"><span class="id" title="notation">]</span></a>.<br/> -<span class="id" title="keyword">Definition</span> <a name="ffun_add"><span class="id" title="definition">ffun_add</span></a> <span class="id" title="var">f</span> <span class="id" title="var">g</span> := <a class="idref" href="mathcomp.ssreflect.finfun.html#71fbd02a8ba525d8dcd88d59800c905e"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.finfun.html#71fbd02a8ba525d8dcd88d59800c905e"><span class="id" title="notation">ffun</span></a> <span class="id" title="var">a</span> <a class="idref" href="mathcomp.ssreflect.finfun.html#71fbd02a8ba525d8dcd88d59800c905e"><span class="id" title="notation">⇒</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#a"><span class="id" title="variable">a</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#g"><span class="id" title="variable">g</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#a"><span class="id" title="variable">a</span></a><a class="idref" href="mathcomp.ssreflect.finfun.html#71fbd02a8ba525d8dcd88d59800c905e"><span class="id" title="notation">]</span></a>.<br/> +<span class="id" title="keyword">Definition</span> <a name="ffun_zero"><span class="id" title="definition">ffun_zero</span></a> := <a class="idref" href="mathcomp.ssreflect.finfun.html#e4e2ffb93b77700f7a723d1db6d75bdf"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.finfun.html#e4e2ffb93b77700f7a723d1db6d75bdf"><span class="id" title="notation">ffun</span></a> <span class="id" title="var">a</span> <a class="idref" href="mathcomp.ssreflect.finfun.html#e4e2ffb93b77700f7a723d1db6d75bdf"><span class="id" title="notation">:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#FinFunZmod.aT"><span class="id" title="variable">aT</span></a> <a class="idref" href="mathcomp.ssreflect.finfun.html#e4e2ffb93b77700f7a723d1db6d75bdf"><span class="id" title="notation">⇒</span></a> <a class="idref" href="mathcomp.ssreflect.finfun.html#e4e2ffb93b77700f7a723d1db6d75bdf"><span class="id" title="notation">(</span></a>0 <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssreflect.html#aed478b27f23b4f753c27c8ac393febc"><span class="id" title="notation">:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#FinFunZmod.rT"><span class="id" title="variable">rT</span></a><a class="idref" href="mathcomp.ssreflect.finfun.html#e4e2ffb93b77700f7a723d1db6d75bdf"><span class="id" title="notation">)]</span></a>.<br/> +<span class="id" title="keyword">Definition</span> <a name="ffun_opp"><span class="id" title="definition">ffun_opp</span></a> <span class="id" title="var">f</span> := <a class="idref" href="mathcomp.ssreflect.finfun.html#486743bb05c6aa8b9d64fd3cec29ee79"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.finfun.html#486743bb05c6aa8b9d64fd3cec29ee79"><span class="id" title="notation">ffun</span></a> <span class="id" title="var">a</span> <a class="idref" href="mathcomp.ssreflect.finfun.html#486743bb05c6aa8b9d64fd3cec29ee79"><span class="id" title="notation">⇒</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#8d0566c961139ec21811f52ef0c317db"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#a"><span class="id" title="variable">a</span></a><a class="idref" href="mathcomp.ssreflect.finfun.html#486743bb05c6aa8b9d64fd3cec29ee79"><span class="id" title="notation">]</span></a>.<br/> +<span class="id" title="keyword">Definition</span> <a name="ffun_add"><span class="id" title="definition">ffun_add</span></a> <span class="id" title="var">f</span> <span class="id" title="var">g</span> := <a class="idref" href="mathcomp.ssreflect.finfun.html#486743bb05c6aa8b9d64fd3cec29ee79"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.finfun.html#486743bb05c6aa8b9d64fd3cec29ee79"><span class="id" title="notation">ffun</span></a> <span class="id" title="var">a</span> <a class="idref" href="mathcomp.ssreflect.finfun.html#486743bb05c6aa8b9d64fd3cec29ee79"><span class="id" title="notation">⇒</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#a"><span class="id" title="variable">a</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#c7f78cf1f6a5e4f664654f7d671ca752"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#g"><span class="id" title="variable">g</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#a"><span class="id" title="variable">a</span></a><a class="idref" href="mathcomp.ssreflect.finfun.html#486743bb05c6aa8b9d64fd3cec29ee79"><span class="id" title="notation">]</span></a>.<br/> <br/> -<span class="id" title="keyword">Fact</span> <a name="ffun_addA"><span class="id" title="lemma">ffun_addA</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.ssralg.html#ffun_add"><span class="id" title="definition">ffun_add</span></a>.<br/> - <span class="id" title="keyword">Fact</span> <a name="ffun_addC"><span class="id" title="lemma">ffun_addC</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.ssralg.html#ffun_add"><span class="id" title="definition">ffun_add</span></a>.<br/> - <span class="id" title="keyword">Fact</span> <a name="ffun_add0"><span class="id" title="lemma">ffun_add0</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> <a class="idref" href="mathcomp.algebra.ssralg.html#ffun_zero"><span class="id" title="definition">ffun_zero</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#ffun_add"><span class="id" title="definition">ffun_add</span></a>.<br/> - <span class="id" title="keyword">Fact</span> <a name="ffun_addN"><span class="id" title="lemma">ffun_addN</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> <a class="idref" href="mathcomp.algebra.ssralg.html#ffun_zero"><span class="id" title="definition">ffun_zero</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#ffun_opp"><span class="id" title="definition">ffun_opp</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#ffun_add"><span class="id" title="definition">ffun_add</span></a>.<br/> +<span class="id" title="keyword">Fact</span> <a name="ffun_addA"><span class="id" title="lemma">ffun_addA</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#associative"><span class="id" title="definition">associative</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#ffun_add"><span class="id" title="definition">ffun_add</span></a>.<br/> + <span class="id" title="keyword">Fact</span> <a name="ffun_addC"><span class="id" title="lemma">ffun_addC</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#commutative"><span class="id" title="definition">commutative</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#ffun_add"><span class="id" title="definition">ffun_add</span></a>.<br/> + <span class="id" title="keyword">Fact</span> <a name="ffun_add0"><span class="id" title="lemma">ffun_add0</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#left_id"><span class="id" title="definition">left_id</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#ffun_zero"><span class="id" title="definition">ffun_zero</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#ffun_add"><span class="id" title="definition">ffun_add</span></a>.<br/> + <span class="id" title="keyword">Fact</span> <a name="ffun_addN"><span class="id" title="lemma">ffun_addN</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#left_inverse"><span class="id" title="definition">left_inverse</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#ffun_zero"><span class="id" title="definition">ffun_zero</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#ffun_opp"><span class="id" title="definition">ffun_opp</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#ffun_add"><span class="id" title="definition">ffun_add</span></a>.<br/> <br/> <span class="id" title="keyword">Definition</span> <a name="ffun_zmodMixin"><span class="id" title="definition">ffun_zmodMixin</span></a> :=<br/> @@ -6029,20 +6052,20 @@ <span class="id" title="keyword">Section</span> <a name="FinFunZmod.Sum"><span class="id" title="section">Sum</span></a>.<br/> <br/> -<span class="id" title="keyword">Variables</span> (<a name="FinFunZmod.Sum.I"><span class="id" title="variable">I</span></a> : <span class="id" title="keyword">Type</span>) (<a name="FinFunZmod.Sum.r"><span class="id" title="variable">r</span></a> : <a class="idref" href="mathcomp.ssreflect.seq.html#seq"><span class="id" title="abbreviation">seq</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#I"><span class="id" title="variable">I</span></a>) (<a name="FinFunZmod.Sum.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#pred"><span class="id" title="definition">pred</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#I"><span class="id" title="variable">I</span></a>) (<a name="FinFunZmod.Sum.F"><span class="id" title="variable">F</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.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.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.ssralg.html#FinFunZmod.aT"><span class="id" title="variable">aT</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#FinFunZmod.rT"><span class="id" title="variable">rT</span></a><a class="idref" href="mathcomp.ssreflect.finfun.html#9f24a6f16bf73832c2d9aa4e2c16f692"><span class="id" title="notation">}</span></a>).<br/> +<span class="id" title="keyword">Variables</span> (<a name="FinFunZmod.Sum.I"><span class="id" title="variable">I</span></a> : <span class="id" title="keyword">Type</span>) (<a name="FinFunZmod.Sum.r"><span class="id" title="variable">r</span></a> : <a class="idref" href="mathcomp.ssreflect.seq.html#seq"><span class="id" title="abbreviation">seq</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#I"><span class="id" title="variable">I</span></a>) (<a name="FinFunZmod.Sum.P"><span class="id" title="variable">P</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#pred"><span class="id" title="definition">pred</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#I"><span class="id" title="variable">I</span></a>) (<a name="FinFunZmod.Sum.F"><span class="id" title="variable">F</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#I"><span class="id" title="variable">I</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.ssreflect.finfun.html#31493a873acc18a8368490ef56022c0c"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.ssreflect.finfun.html#31493a873acc18a8368490ef56022c0c"><span class="id" title="notation">ffun</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#FinFunZmod.aT"><span class="id" title="variable">aT</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#FinFunZmod.rT"><span class="id" title="variable">rT</span></a><a class="idref" href="mathcomp.ssreflect.finfun.html#31493a873acc18a8368490ef56022c0c"><span class="id" title="notation">}</span></a>).<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="sum_ffunE"><span class="id" title="lemma">sum_ffunE</span></a> <span class="id" title="var">x</span> : (<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"><-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#FinFunZmod.Sum.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.ssralg.html#FinFunZmod.Sum.P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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#FinFunZmod.Sum.F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</span></a>) <a class="idref" href="mathcomp.algebra.ssralg.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#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"><-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#FinFunZmod.Sum.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.ssralg.html#FinFunZmod.Sum.P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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#FinFunZmod.Sum.F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a>.<br/> +<span class="id" title="keyword">Lemma</span> <a name="sum_ffunE"><span class="id" title="lemma">sum_ffunE</span></a> <span class="id" title="var">x</span> : (<a class="idref" href="mathcomp.algebra.ssralg.html#0e493beb85c9c1b3ab2241ceeaa98b08"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#0e493beb85c9c1b3ab2241ceeaa98b08"><span class="id" title="notation">sum_</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#0e493beb85c9c1b3ab2241ceeaa98b08"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.algebra.ssralg.html#0e493beb85c9c1b3ab2241ceeaa98b08"><span class="id" title="notation"><-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#FinFunZmod.Sum.r"><span class="id" title="variable">r</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#0e493beb85c9c1b3ab2241ceeaa98b08"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#FinFunZmod.Sum.P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#0e493beb85c9c1b3ab2241ceeaa98b08"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#FinFunZmod.Sum.F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</span></a>) <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#0e493beb85c9c1b3ab2241ceeaa98b08"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#0e493beb85c9c1b3ab2241ceeaa98b08"><span class="id" title="notation">sum_</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#0e493beb85c9c1b3ab2241ceeaa98b08"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.algebra.ssralg.html#0e493beb85c9c1b3ab2241ceeaa98b08"><span class="id" title="notation"><-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#FinFunZmod.Sum.r"><span class="id" title="variable">r</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#0e493beb85c9c1b3ab2241ceeaa98b08"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#FinFunZmod.Sum.P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#0e493beb85c9c1b3ab2241ceeaa98b08"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#FinFunZmod.Sum.F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a>.<br/> <br/> <span class="id" title="keyword">Lemma</span> <a name="sum_ffun"><span class="id" title="lemma">sum_ffun</span></a> :<br/> - <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"><-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#FinFunZmod.Sum.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.ssralg.html#FinFunZmod.Sum.P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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#FinFunZmod.Sum.F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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.ssreflect.finfun.html#71fbd02a8ba525d8dcd88d59800c905e"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.finfun.html#71fbd02a8ba525d8dcd88d59800c905e"><span class="id" title="notation">ffun</span></a> <span class="id" title="var">x</span> <a class="idref" href="mathcomp.ssreflect.finfun.html#71fbd02a8ba525d8dcd88d59800c905e"><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"><-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#FinFunZmod.Sum.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.ssralg.html#FinFunZmod.Sum.P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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#FinFunZmod.Sum.F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a><a class="idref" href="mathcomp.ssreflect.finfun.html#71fbd02a8ba525d8dcd88d59800c905e"><span class="id" title="notation">]</span></a>.<br/> + <a class="idref" href="mathcomp.algebra.ssralg.html#0e493beb85c9c1b3ab2241ceeaa98b08"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#0e493beb85c9c1b3ab2241ceeaa98b08"><span class="id" title="notation">sum_</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#0e493beb85c9c1b3ab2241ceeaa98b08"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.algebra.ssralg.html#0e493beb85c9c1b3ab2241ceeaa98b08"><span class="id" title="notation"><-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#FinFunZmod.Sum.r"><span class="id" title="variable">r</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#0e493beb85c9c1b3ab2241ceeaa98b08"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#FinFunZmod.Sum.P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#0e493beb85c9c1b3ab2241ceeaa98b08"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#FinFunZmod.Sum.F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.ssreflect.finfun.html#486743bb05c6aa8b9d64fd3cec29ee79"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.finfun.html#486743bb05c6aa8b9d64fd3cec29ee79"><span class="id" title="notation">ffun</span></a> <span class="id" title="var">x</span> <a class="idref" href="mathcomp.ssreflect.finfun.html#486743bb05c6aa8b9d64fd3cec29ee79"><span class="id" title="notation">⇒</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#0e493beb85c9c1b3ab2241ceeaa98b08"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#0e493beb85c9c1b3ab2241ceeaa98b08"><span class="id" title="notation">sum_</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#0e493beb85c9c1b3ab2241ceeaa98b08"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.algebra.ssralg.html#0e493beb85c9c1b3ab2241ceeaa98b08"><span class="id" title="notation"><-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#FinFunZmod.Sum.r"><span class="id" title="variable">r</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#0e493beb85c9c1b3ab2241ceeaa98b08"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#FinFunZmod.Sum.P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#0e493beb85c9c1b3ab2241ceeaa98b08"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#FinFunZmod.Sum.F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a><a class="idref" href="mathcomp.ssreflect.finfun.html#486743bb05c6aa8b9d64fd3cec29ee79"><span class="id" title="notation">]</span></a>.<br/> <br/> <span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.algebra.ssralg.html#FinFunZmod.Sum"><span class="id" title="section">Sum</span></a>.<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="ffunMnE"><span class="id" title="lemma">ffunMnE</span></a> <span class="id" title="var">f</span> <span class="id" title="var">n</span> <span class="id" title="var">x</span> : (<a class="idref" href="mathcomp.algebra.ssralg.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#891e51846c7d1d63a9cb5458374cf308"><span class="id" title="notation">*+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a>) <a class="idref" href="mathcomp.algebra.ssralg.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#f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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.ssralg.html#n"><span class="id" title="variable">n</span></a>.<br/> +<span class="id" title="keyword">Lemma</span> <a name="ffunMnE"><span class="id" title="lemma">ffunMnE</span></a> <span class="id" title="var">f</span> <span class="id" title="var">n</span> <span class="id" title="var">x</span> : (<a class="idref" href="mathcomp.algebra.ssralg.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#e9001f602764f7896bb1eb34bf606a23"><span class="id" title="notation">*+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a>) <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#e9001f602764f7896bb1eb34bf606a23"><span class="id" title="notation">*+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#n"><span class="id" title="variable">n</span></a>.<br/> <br/> <span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.algebra.ssralg.html#FinFunZmod"><span class="id" title="section">FinFunZmod</span></a>.<br/> @@ -6063,23 +6086,23 @@ <span class="id" title="keyword">Variable</span> (<a name="FinFunRing.aT"><span class="id" title="variable">aT</span></a> : <a class="idref" href="mathcomp.ssreflect.fintype.html#Finite.Exports.finType"><span class="id" title="abbreviation">finType</span></a>) (<a name="FinFunRing.R"><span class="id" title="variable">R</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#ringType"><span class="id" title="abbreviation">ringType</span></a>) (<a name="FinFunRing.a"><span class="id" title="variable">a</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#aT"><span class="id" title="variable">aT</span></a>).<br/> <br/> -<span class="id" title="keyword">Definition</span> <a name="ffun_one"><span class="id" title="definition">ffun_one</span></a> : <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.ssralg.html#FinFunRing.aT"><span class="id" title="variable">aT</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#FinFunRing.R"><span class="id" title="variable">R</span></a><a class="idref" href="mathcomp.ssreflect.finfun.html#9f24a6f16bf73832c2d9aa4e2c16f692"><span class="id" title="notation">}</span></a> := <a class="idref" href="mathcomp.ssreflect.finfun.html#ce31ffdcdad2ff7a7492eb6a19fd59e9"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.finfun.html#ce31ffdcdad2ff7a7492eb6a19fd59e9"><span class="id" title="notation">ffun</span></a> <a class="idref" href="mathcomp.ssreflect.finfun.html#ce31ffdcdad2ff7a7492eb6a19fd59e9"><span class="id" title="notation">⇒</span></a> 1<a class="idref" href="mathcomp.ssreflect.finfun.html#ce31ffdcdad2ff7a7492eb6a19fd59e9"><span class="id" title="notation">]</span></a>.<br/> -<span class="id" title="keyword">Definition</span> <a name="ffun_mul"><span class="id" title="definition">ffun_mul</span></a> (<span class="id" title="var">f</span> <span class="id" title="var">g</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.ssralg.html#FinFunRing.aT"><span class="id" title="variable">aT</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#FinFunRing.R"><span class="id" title="variable">R</span></a><a class="idref" href="mathcomp.ssreflect.finfun.html#9f24a6f16bf73832c2d9aa4e2c16f692"><span class="id" title="notation">}</span></a>) := <a class="idref" href="mathcomp.ssreflect.finfun.html#71fbd02a8ba525d8dcd88d59800c905e"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.finfun.html#71fbd02a8ba525d8dcd88d59800c905e"><span class="id" title="notation">ffun</span></a> <span class="id" title="var">x</span> <a class="idref" href="mathcomp.ssreflect.finfun.html#71fbd02a8ba525d8dcd88d59800c905e"><span class="id" title="notation">⇒</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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#g"><span class="id" title="variable">g</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a><a class="idref" href="mathcomp.ssreflect.finfun.html#71fbd02a8ba525d8dcd88d59800c905e"><span class="id" title="notation">]</span></a>.<br/> +<span class="id" title="keyword">Definition</span> <a name="ffun_one"><span class="id" title="definition">ffun_one</span></a> : <a class="idref" href="mathcomp.ssreflect.finfun.html#31493a873acc18a8368490ef56022c0c"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.ssreflect.finfun.html#31493a873acc18a8368490ef56022c0c"><span class="id" title="notation">ffun</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#FinFunRing.aT"><span class="id" title="variable">aT</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#FinFunRing.R"><span class="id" title="variable">R</span></a><a class="idref" href="mathcomp.ssreflect.finfun.html#31493a873acc18a8368490ef56022c0c"><span class="id" title="notation">}</span></a> := <a class="idref" href="mathcomp.ssreflect.finfun.html#765311140842c5fd14103e5433ef110e"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.finfun.html#765311140842c5fd14103e5433ef110e"><span class="id" title="notation">ffun</span></a> <a class="idref" href="mathcomp.ssreflect.finfun.html#765311140842c5fd14103e5433ef110e"><span class="id" title="notation">⇒</span></a> 1<a class="idref" href="mathcomp.ssreflect.finfun.html#765311140842c5fd14103e5433ef110e"><span class="id" title="notation">]</span></a>.<br/> +<span class="id" title="keyword">Definition</span> <a name="ffun_mul"><span class="id" title="definition">ffun_mul</span></a> (<span class="id" title="var">f</span> <span class="id" title="var">g</span> : <a class="idref" href="mathcomp.ssreflect.finfun.html#31493a873acc18a8368490ef56022c0c"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.ssreflect.finfun.html#31493a873acc18a8368490ef56022c0c"><span class="id" title="notation">ffun</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#FinFunRing.aT"><span class="id" title="variable">aT</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#FinFunRing.R"><span class="id" title="variable">R</span></a><a class="idref" href="mathcomp.ssreflect.finfun.html#31493a873acc18a8368490ef56022c0c"><span class="id" title="notation">}</span></a>) := <a class="idref" href="mathcomp.ssreflect.finfun.html#486743bb05c6aa8b9d64fd3cec29ee79"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.finfun.html#486743bb05c6aa8b9d64fd3cec29ee79"><span class="id" title="notation">ffun</span></a> <span class="id" title="var">x</span> <a class="idref" href="mathcomp.ssreflect.finfun.html#486743bb05c6aa8b9d64fd3cec29ee79"><span class="id" title="notation">⇒</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#2d0cfb150261028f4ebd2ba355623dcc"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#g"><span class="id" title="variable">g</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a><a class="idref" href="mathcomp.ssreflect.finfun.html#486743bb05c6aa8b9d64fd3cec29ee79"><span class="id" title="notation">]</span></a>.<br/> <br/> -<span class="id" title="keyword">Fact</span> <a name="ffun_mulA"><span class="id" title="lemma">ffun_mulA</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.ssralg.html#ffun_mul"><span class="id" title="definition">ffun_mul</span></a>.<br/> - <span class="id" title="keyword">Fact</span> <a name="ffun_mul_1l"><span class="id" title="lemma">ffun_mul_1l</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> <a class="idref" href="mathcomp.algebra.ssralg.html#ffun_one"><span class="id" title="definition">ffun_one</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#ffun_mul"><span class="id" title="definition">ffun_mul</span></a>.<br/> - <span class="id" title="keyword">Fact</span> <a name="ffun_mul_1r"><span class="id" title="lemma">ffun_mul_1r</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#right_id"><span class="id" title="definition">right_id</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#ffun_one"><span class="id" title="definition">ffun_one</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#ffun_mul"><span class="id" title="definition">ffun_mul</span></a>.<br/> - <span class="id" title="keyword">Fact</span> <a name="ffun_mul_addl"><span class="id" title="lemma">ffun_mul_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.ssralg.html#ffun_mul"><span class="id" title="definition">ffun_mul</span></a> (@<a class="idref" href="mathcomp.algebra.ssralg.html#ffun_add"><span class="id" title="definition">ffun_add</span></a> <span class="id" title="var">_</span> <span class="id" title="var">_</span>).<br/> - <span class="id" title="keyword">Fact</span> <a name="ffun_mul_addr"><span class="id" title="lemma">ffun_mul_addr</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#right_distributive"><span class="id" title="definition">right_distributive</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#ffun_mul"><span class="id" title="definition">ffun_mul</span></a> (@<a class="idref" href="mathcomp.algebra.ssralg.html#ffun_add"><span class="id" title="definition">ffun_add</span></a> <span class="id" title="var">_</span> <span class="id" title="var">_</span>).<br/> - <span class="id" title="keyword">Fact</span> <a name="ffun1_nonzero"><span class="id" title="lemma">ffun1_nonzero</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#ffun_one"><span class="id" title="definition">ffun_one</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#b1eeadc2feabc7422252baa895418c7b"><span class="id" title="notation">!=</span></a> 0.<br/> +<span class="id" title="keyword">Fact</span> <a name="ffun_mulA"><span class="id" title="lemma">ffun_mulA</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#associative"><span class="id" title="definition">associative</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#ffun_mul"><span class="id" title="definition">ffun_mul</span></a>.<br/> + <span class="id" title="keyword">Fact</span> <a name="ffun_mul_1l"><span class="id" title="lemma">ffun_mul_1l</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#left_id"><span class="id" title="definition">left_id</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#ffun_one"><span class="id" title="definition">ffun_one</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#ffun_mul"><span class="id" title="definition">ffun_mul</span></a>.<br/> + <span class="id" title="keyword">Fact</span> <a name="ffun_mul_1r"><span class="id" title="lemma">ffun_mul_1r</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#right_id"><span class="id" title="definition">right_id</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#ffun_one"><span class="id" title="definition">ffun_one</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#ffun_mul"><span class="id" title="definition">ffun_mul</span></a>.<br/> + <span class="id" title="keyword">Fact</span> <a name="ffun_mul_addl"><span class="id" title="lemma">ffun_mul_addl</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#left_distributive"><span class="id" title="definition">left_distributive</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#ffun_mul"><span class="id" title="definition">ffun_mul</span></a> (@<a class="idref" href="mathcomp.algebra.ssralg.html#ffun_add"><span class="id" title="definition">ffun_add</span></a> <span class="id" title="var">_</span> <span class="id" title="var">_</span>).<br/> + <span class="id" title="keyword">Fact</span> <a name="ffun_mul_addr"><span class="id" title="lemma">ffun_mul_addr</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#right_distributive"><span class="id" title="definition">right_distributive</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#ffun_mul"><span class="id" title="definition">ffun_mul</span></a> (@<a class="idref" href="mathcomp.algebra.ssralg.html#ffun_add"><span class="id" title="definition">ffun_add</span></a> <span class="id" title="var">_</span> <span class="id" title="var">_</span>).<br/> + <span class="id" title="keyword">Fact</span> <a name="ffun1_nonzero"><span class="id" title="lemma">ffun1_nonzero</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#ffun_one"><span class="id" title="definition">ffun_one</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#c385a484ee9d1b4e0615924561a9b75e"><span class="id" title="notation">!=</span></a> 0.<br/> <br/> <span class="id" title="keyword">Definition</span> <a name="ffun_ringMixin"><span class="id" title="definition">ffun_ringMixin</span></a> :=<br/> <a class="idref" href="mathcomp.algebra.ssralg.html#RingMixin"><span class="id" title="abbreviation">RingMixin</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#ffun_mulA"><span class="id" title="lemma">ffun_mulA</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#ffun_mul_1l"><span class="id" title="lemma">ffun_mul_1l</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#ffun_mul_1r"><span class="id" title="lemma">ffun_mul_1r</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#ffun_mul_addl"><span class="id" title="lemma">ffun_mul_addl</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#ffun_mul_addr"><span class="id" title="lemma">ffun_mul_addr</span></a><br/> <a class="idref" href="mathcomp.algebra.ssralg.html#ffun1_nonzero"><span class="id" title="lemma">ffun1_nonzero</span></a>.<br/> <span class="id" title="keyword">Definition</span> <a name="ffun_ringType"><span class="id" title="definition">ffun_ringType</span></a> :=<br/> - <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#RingType"><span class="id" title="abbreviation">RingType</span></a> <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.ssralg.html#FinFunRing.aT"><span class="id" title="variable">aT</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#FinFunRing.R"><span class="id" title="variable">R</span></a><a class="idref" href="mathcomp.ssreflect.finfun.html#9f24a6f16bf73832c2d9aa4e2c16f692"><span class="id" title="notation">}</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#ffun_ringMixin"><span class="id" title="definition">ffun_ringMixin</span></a>.<br/> + <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#RingType"><span class="id" title="abbreviation">RingType</span></a> <a class="idref" href="mathcomp.ssreflect.finfun.html#31493a873acc18a8368490ef56022c0c"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.ssreflect.finfun.html#31493a873acc18a8368490ef56022c0c"><span class="id" title="notation">ffun</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#FinFunRing.aT"><span class="id" title="variable">aT</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#FinFunRing.R"><span class="id" title="variable">R</span></a><a class="idref" href="mathcomp.ssreflect.finfun.html#31493a873acc18a8368490ef56022c0c"><span class="id" title="notation">}</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#ffun_ringMixin"><span class="id" title="definition">ffun_ringMixin</span></a>.<br/> <br/> <span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.algebra.ssralg.html#FinFunRing"><span class="id" title="section">FinFunRing</span></a>.<br/> @@ -6091,7 +6114,7 @@ <span class="id" title="keyword">Variable</span> (<a name="FinFunComRing.aT"><span class="id" title="variable">aT</span></a> : <a class="idref" href="mathcomp.ssreflect.fintype.html#Finite.Exports.finType"><span class="id" title="abbreviation">finType</span></a>) (<a name="FinFunComRing.R"><span class="id" title="variable">R</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#comRingType"><span class="id" title="abbreviation">comRingType</span></a>) (<a name="FinFunComRing.a"><span class="id" title="variable">a</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#aT"><span class="id" title="variable">aT</span></a>).<br/> <br/> -<span class="id" title="keyword">Fact</span> <a name="ffun_mulC"><span class="id" title="lemma">ffun_mulC</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.ssralg.html#ffun_mul"><span class="id" title="definition">ffun_mul</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#FinFunComRing.aT"><span class="id" title="variable">aT</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#FinFunComRing.R"><span class="id" title="variable">R</span></a>).<br/> +<span class="id" title="keyword">Fact</span> <a name="ffun_mulC"><span class="id" title="lemma">ffun_mulC</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#commutative"><span class="id" title="definition">commutative</span></a> (@<a class="idref" href="mathcomp.algebra.ssralg.html#ffun_mul"><span class="id" title="definition">ffun_mul</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#FinFunComRing.aT"><span class="id" title="variable">aT</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#FinFunComRing.R"><span class="id" title="variable">R</span></a>).<br/> <br/> <span class="id" title="keyword">Definition</span> <a name="ffun_comRingType"><span class="id" title="definition">ffun_comRingType</span></a> :=<br/> @@ -6107,23 +6130,23 @@ <span class="id" title="keyword">Variable</span> (<a name="FinFunLmod.R"><span class="id" title="variable">R</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#ringType"><span class="id" title="abbreviation">ringType</span></a>) (<a name="FinFunLmod.aT"><span class="id" title="variable">aT</span></a> : <a class="idref" href="mathcomp.ssreflect.fintype.html#Finite.Exports.finType"><span class="id" title="abbreviation">finType</span></a>) (<a name="FinFunLmod.rT"><span class="id" title="variable">rT</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#lmodType"><span class="id" title="abbreviation">lmodType</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#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">f</span> <span class="id" title="var">g</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.ssralg.html#FinFunLmod.aT"><span class="id" title="variable">aT</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#FinFunLmod.rT"><span class="id" title="variable">rT</span></a><a class="idref" href="mathcomp.ssreflect.finfun.html#9f24a6f16bf73832c2d9aa4e2c16f692"><span class="id" title="notation">}</span></a>.<br/> +<span class="id" title="keyword">Implicit</span> <span class="id" title="keyword">Types</span> <span class="id" title="var">f</span> <span class="id" title="var">g</span> : <a class="idref" href="mathcomp.ssreflect.finfun.html#31493a873acc18a8368490ef56022c0c"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.ssreflect.finfun.html#31493a873acc18a8368490ef56022c0c"><span class="id" title="notation">ffun</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#FinFunLmod.aT"><span class="id" title="variable">aT</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#FinFunLmod.rT"><span class="id" title="variable">rT</span></a><a class="idref" href="mathcomp.ssreflect.finfun.html#31493a873acc18a8368490ef56022c0c"><span class="id" title="notation">}</span></a>.<br/> <br/> -<span class="id" title="keyword">Definition</span> <a name="ffun_scale"><span class="id" title="definition">ffun_scale</span></a> <span class="id" title="var">k</span> <span class="id" title="var">f</span> := <a class="idref" href="mathcomp.ssreflect.finfun.html#71fbd02a8ba525d8dcd88d59800c905e"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.finfun.html#71fbd02a8ba525d8dcd88d59800c905e"><span class="id" title="notation">ffun</span></a> <span class="id" title="var">a</span> <a class="idref" href="mathcomp.ssreflect.finfun.html#71fbd02a8ba525d8dcd88d59800c905e"><span class="id" title="notation">⇒</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#k"><span class="id" title="variable">k</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#f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#a"><span class="id" title="variable">a</span></a><a class="idref" href="mathcomp.ssreflect.finfun.html#71fbd02a8ba525d8dcd88d59800c905e"><span class="id" title="notation">]</span></a>.<br/> +<span class="id" title="keyword">Definition</span> <a name="ffun_scale"><span class="id" title="definition">ffun_scale</span></a> <span class="id" title="var">k</span> <span class="id" title="var">f</span> := <a class="idref" href="mathcomp.ssreflect.finfun.html#486743bb05c6aa8b9d64fd3cec29ee79"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.finfun.html#486743bb05c6aa8b9d64fd3cec29ee79"><span class="id" title="notation">ffun</span></a> <span class="id" title="var">a</span> <a class="idref" href="mathcomp.ssreflect.finfun.html#486743bb05c6aa8b9d64fd3cec29ee79"><span class="id" title="notation">⇒</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#k"><span class="id" title="variable">k</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#3b05480e39db306e67fadbc79d394529"><span class="id" title="notation">*:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#a"><span class="id" title="variable">a</span></a><a class="idref" href="mathcomp.ssreflect.finfun.html#486743bb05c6aa8b9d64fd3cec29ee79"><span class="id" title="notation">]</span></a>.<br/> <br/> <span class="id" title="keyword">Fact</span> <a name="ffun_scaleA"><span class="id" title="lemma">ffun_scaleA</span></a> <span class="id" title="var">k1</span> <span class="id" title="var">k2</span> <span class="id" title="var">f</span> : <br/> - <a class="idref" href="mathcomp.algebra.ssralg.html#ffun_scale"><span class="id" title="definition">ffun_scale</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#k1"><span class="id" title="variable">k1</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#ffun_scale"><span class="id" title="definition">ffun_scale</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#k2"><span class="id" title="variable">k2</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#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#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#ffun_scale"><span class="id" title="definition">ffun_scale</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#k1"><span class="id" title="variable">k1</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#k2"><span class="id" title="variable">k2</span></a>) <a class="idref" href="mathcomp.algebra.ssralg.html#f"><span class="id" title="variable">f</span></a>.<br/> - <span class="id" title="keyword">Fact</span> <a name="ffun_scale1"><span class="id" title="lemma">ffun_scale1</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 <a class="idref" href="mathcomp.algebra.ssralg.html#ffun_scale"><span class="id" title="definition">ffun_scale</span></a>.<br/> - <span class="id" title="keyword">Fact</span> <a name="ffun_scale_addr"><span class="id" title="lemma">ffun_scale_addr</span></a> <span class="id" title="var">k</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.ssralg.html#ffun_scale"><span class="id" title="definition">ffun_scale</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#k"><span class="id" title="variable">k</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.ssralg.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.ssralg.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/> - <span class="id" title="keyword">Fact</span> <a name="ffun_scale_addl"><span class="id" title="lemma">ffun_scale_addl</span></a> <span class="id" title="var">u</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#8f28bbd804547edd8de802d63ef85617"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#ffun_scale"><span class="id" title="definition">ffun_scale</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.ssralg.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.ssrfun.html#3014e73af2a90fd800d8681479d76336"><span class="id" title="notation">:</span></a> <span class="id" title="var">k1</span> <span class="id" title="var">k2</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.ssralg.html#k1"><span class="id" title="variable">k1</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#k2"><span class="id" title="variable">k2</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/> + <a class="idref" href="mathcomp.algebra.ssralg.html#ffun_scale"><span class="id" title="definition">ffun_scale</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#k1"><span class="id" title="variable">k1</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#ffun_scale"><span class="id" title="definition">ffun_scale</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#k2"><span class="id" title="variable">k2</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f"><span class="id" title="variable">f</span></a>) <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#ffun_scale"><span class="id" title="definition">ffun_scale</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#k1"><span class="id" title="variable">k1</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#2d0cfb150261028f4ebd2ba355623dcc"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#k2"><span class="id" title="variable">k2</span></a>) <a class="idref" href="mathcomp.algebra.ssralg.html#f"><span class="id" title="variable">f</span></a>.<br/> + <span class="id" title="keyword">Fact</span> <a name="ffun_scale1"><span class="id" title="lemma">ffun_scale1</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#left_id"><span class="id" title="definition">left_id</span></a> 1 <a class="idref" href="mathcomp.algebra.ssralg.html#ffun_scale"><span class="id" title="definition">ffun_scale</span></a>.<br/> + <span class="id" title="keyword">Fact</span> <a name="ffun_scale_addr"><span class="id" title="lemma">ffun_scale_addr</span></a> <span class="id" title="var">k</span> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#e69c60b553f06d3463460a9f4cee3c01"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#e69c60b553f06d3463460a9f4cee3c01"><span class="id" title="notation">morph</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#e69c60b553f06d3463460a9f4cee3c01"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#ffun_scale"><span class="id" title="definition">ffun_scale</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#k"><span class="id" title="variable">k</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#e69c60b553f06d3463460a9f4cee3c01"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#e69c60b553f06d3463460a9f4cee3c01"><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/V8.9.0/stdlib//Coq.ssr.ssrfun.html#e69c60b553f06d3463460a9f4cee3c01"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#c7f78cf1f6a5e4f664654f7d671ca752"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#e69c60b553f06d3463460a9f4cee3c01"><span class="id" title="notation">}</span></a>.<br/> + <span class="id" title="keyword">Fact</span> <a name="ffun_scale_addl"><span class="id" title="lemma">ffun_scale_addl</span></a> <span class="id" title="var">u</span> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#e69c60b553f06d3463460a9f4cee3c01"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#e69c60b553f06d3463460a9f4cee3c01"><span class="id" title="notation">morph</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#d89396f990d6b54d736cfe259e498cf4"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#ffun_scale"><span class="id" title="definition">ffun_scale</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#d89396f990d6b54d736cfe259e498cf4"><span class="id" title="notation">)^~</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#u"><span class="id" title="variable">u</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#e69c60b553f06d3463460a9f4cee3c01"><span class="id" title="notation">:</span></a> <span class="id" title="var">k1</span> <span class="id" title="var">k2</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#e69c60b553f06d3463460a9f4cee3c01"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#k1"><span class="id" title="variable">k1</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#c7f78cf1f6a5e4f664654f7d671ca752"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#k2"><span class="id" title="variable">k2</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#e69c60b553f06d3463460a9f4cee3c01"><span class="id" title="notation">}</span></a>.<br/> <br/> <span class="id" title="keyword">Definition</span> <a name="ffun_lmodMixin"><span class="id" title="definition">ffun_lmodMixin</span></a> := <br/> <a class="idref" href="mathcomp.algebra.ssralg.html#LmodMixin"><span class="id" title="abbreviation">LmodMixin</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#ffun_scaleA"><span class="id" title="lemma">ffun_scaleA</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#ffun_scale1"><span class="id" title="lemma">ffun_scale1</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#ffun_scale_addr"><span class="id" title="lemma">ffun_scale_addr</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#ffun_scale_addl"><span class="id" title="lemma">ffun_scale_addl</span></a>.<br/> <span class="id" title="keyword">Canonical</span> <span class="id" title="var">ffun_lmodType</span> :=<br/> - <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#LmodType"><span class="id" title="abbreviation">LmodType</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#FinFunLmod.R"><span class="id" title="variable">R</span></a> <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.ssralg.html#FinFunLmod.aT"><span class="id" title="variable">aT</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#FinFunLmod.rT"><span class="id" title="variable">rT</span></a><a class="idref" href="mathcomp.ssreflect.finfun.html#9f24a6f16bf73832c2d9aa4e2c16f692"><span class="id" title="notation">}</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#ffun_lmodMixin"><span class="id" title="definition">ffun_lmodMixin</span></a>.<br/> + <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#LmodType"><span class="id" title="abbreviation">LmodType</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#FinFunLmod.R"><span class="id" title="variable">R</span></a> <a class="idref" href="mathcomp.ssreflect.finfun.html#31493a873acc18a8368490ef56022c0c"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.ssreflect.finfun.html#31493a873acc18a8368490ef56022c0c"><span class="id" title="notation">ffun</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#FinFunLmod.aT"><span class="id" title="variable">aT</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#FinFunLmod.rT"><span class="id" title="variable">rT</span></a><a class="idref" href="mathcomp.ssreflect.finfun.html#31493a873acc18a8368490ef56022c0c"><span class="id" title="notation">}</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#ffun_lmodMixin"><span class="id" title="definition">ffun_lmodMixin</span></a>.<br/> <br/> <span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.algebra.ssralg.html#FinFunLmod"><span class="id" title="section">FinFunLmod</span></a>.<br/> @@ -6141,24 +6164,24 @@ <span class="id" title="keyword">Variables</span> <a name="PairZmod.M1"><span class="id" title="variable">M1</span></a> <a name="PairZmod.M2"><span class="id" title="variable">M2</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#zmodType"><span class="id" title="abbreviation">zmodType</span></a>.<br/> <br/> -<span class="id" title="keyword">Definition</span> <a name="opp_pair"><span class="id" title="definition">opp_pair</span></a> (<span class="id" title="var">x</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#PairZmod.M1"><span class="id" title="variable">M1</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#d19c7eafd0e2d195d10df94b392087b5"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#PairZmod.M2"><span class="id" title="variable">M2</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.ssralg.html#941c6d086004545bd62614d0213e75e5"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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#c4877bbfe60d8f22b47ac99ace86216a"><span class="id" title="notation">.1</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.ssralg.html#941c6d086004545bd62614d0213e75e5"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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#f4827404159513e7fd691b60b7877737"><span class="id" title="notation">.2</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="add_pair"><span class="id" title="definition">add_pair</span></a> (<span class="id" title="var">x</span> <span class="id" title="var">y</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#PairZmod.M1"><span class="id" title="variable">M1</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#d19c7eafd0e2d195d10df94b392087b5"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#PairZmod.M2"><span class="id" title="variable">M2</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.ssralg.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#c4877bbfe60d8f22b47ac99ace86216a"><span class="id" title="notation">.1</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#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#c4877bbfe60d8f22b47ac99ace86216a"><span class="id" title="notation">.1</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.ssralg.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#f4827404159513e7fd691b60b7877737"><span class="id" title="notation">.2</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#ae4d81913e6239182a9ac7467ffde8cd"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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#f4827404159513e7fd691b60b7877737"><span class="id" title="notation">.2</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="opp_pair"><span class="id" title="definition">opp_pair</span></a> (<span class="id" title="var">x</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#PairZmod.M1"><span class="id" title="variable">M1</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#11c698c8685bb8ab1cf725545c085ac4"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#PairZmod.M2"><span class="id" title="variable">M2</span></a>) := <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#e6756e10c36f149b18b4a8741ed83079"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#8d0566c961139ec21811f52ef0c317db"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#e0817251e7d67ad994b4d9b1aa82a412"><span class="id" title="notation">.1</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#e6756e10c36f149b18b4a8741ed83079"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#8d0566c961139ec21811f52ef0c317db"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#675082cc4d4538da052b547bdc6ea4c9"><span class="id" title="notation">.2</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#e6756e10c36f149b18b4a8741ed83079"><span class="id" title="notation">)</span></a>.<br/> +<span class="id" title="keyword">Definition</span> <a name="add_pair"><span class="id" title="definition">add_pair</span></a> (<span class="id" title="var">x</span> <span class="id" title="var">y</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#PairZmod.M1"><span class="id" title="variable">M1</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#11c698c8685bb8ab1cf725545c085ac4"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#PairZmod.M2"><span class="id" title="variable">M2</span></a>) := <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#e6756e10c36f149b18b4a8741ed83079"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#e0817251e7d67ad994b4d9b1aa82a412"><span class="id" title="notation">.1</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#c7f78cf1f6a5e4f664654f7d671ca752"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#e0817251e7d67ad994b4d9b1aa82a412"><span class="id" title="notation">.1</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#e6756e10c36f149b18b4a8741ed83079"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#675082cc4d4538da052b547bdc6ea4c9"><span class="id" title="notation">.2</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#c7f78cf1f6a5e4f664654f7d671ca752"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#675082cc4d4538da052b547bdc6ea4c9"><span class="id" title="notation">.2</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#e6756e10c36f149b18b4a8741ed83079"><span class="id" title="notation">)</span></a>.<br/> <br/> -<span class="id" title="keyword">Fact</span> <a name="pair_addA"><span class="id" title="lemma">pair_addA</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.ssralg.html#add_pair"><span class="id" title="definition">add_pair</span></a>.<br/> +<span class="id" title="keyword">Fact</span> <a name="pair_addA"><span class="id" title="lemma">pair_addA</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#associative"><span class="id" title="definition">associative</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#add_pair"><span class="id" title="definition">add_pair</span></a>.<br/> <br/> -<span class="id" title="keyword">Fact</span> <a name="pair_addC"><span class="id" title="lemma">pair_addC</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.ssralg.html#add_pair"><span class="id" title="definition">add_pair</span></a>.<br/> +<span class="id" title="keyword">Fact</span> <a name="pair_addC"><span class="id" title="lemma">pair_addC</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#commutative"><span class="id" title="definition">commutative</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#add_pair"><span class="id" title="definition">add_pair</span></a>.<br/> <br/> -<span class="id" title="keyword">Fact</span> <a name="pair_add0"><span class="id" title="lemma">pair_add0</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> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#44400027531d4bc3f586a1997dc874c0"><span class="id" title="notation">(</span></a>0<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#44400027531d4bc3f586a1997dc874c0"><span class="id" title="notation">,</span></a> 0<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#44400027531d4bc3f586a1997dc874c0"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#add_pair"><span class="id" title="definition">add_pair</span></a>.<br/> +<span class="id" title="keyword">Fact</span> <a name="pair_add0"><span class="id" title="lemma">pair_add0</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#left_id"><span class="id" title="definition">left_id</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#e6756e10c36f149b18b4a8741ed83079"><span class="id" title="notation">(</span></a>0<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#e6756e10c36f149b18b4a8741ed83079"><span class="id" title="notation">,</span></a> 0<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#e6756e10c36f149b18b4a8741ed83079"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#add_pair"><span class="id" title="definition">add_pair</span></a>.<br/> <br/> -<span class="id" title="keyword">Fact</span> <a name="pair_addN"><span class="id" title="lemma">pair_addN</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> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#44400027531d4bc3f586a1997dc874c0"><span class="id" title="notation">(</span></a>0<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#44400027531d4bc3f586a1997dc874c0"><span class="id" title="notation">,</span></a> 0<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#44400027531d4bc3f586a1997dc874c0"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#opp_pair"><span class="id" title="definition">opp_pair</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#add_pair"><span class="id" title="definition">add_pair</span></a>.<br/> +<span class="id" title="keyword">Fact</span> <a name="pair_addN"><span class="id" title="lemma">pair_addN</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#left_inverse"><span class="id" title="definition">left_inverse</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#e6756e10c36f149b18b4a8741ed83079"><span class="id" title="notation">(</span></a>0<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#e6756e10c36f149b18b4a8741ed83079"><span class="id" title="notation">,</span></a> 0<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#e6756e10c36f149b18b4a8741ed83079"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#opp_pair"><span class="id" title="definition">opp_pair</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#add_pair"><span class="id" title="definition">add_pair</span></a>.<br/> <br/> <span class="id" title="keyword">Definition</span> <a name="pair_zmodMixin"><span class="id" title="definition">pair_zmodMixin</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#ZmodMixin"><span class="id" title="abbreviation">ZmodMixin</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#pair_addA"><span class="id" title="lemma">pair_addA</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#pair_addC"><span class="id" title="lemma">pair_addC</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#pair_add0"><span class="id" title="lemma">pair_add0</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#pair_addN"><span class="id" title="lemma">pair_addN</span></a>.<br/> -<span class="id" title="keyword">Canonical</span> <span class="id" title="var">pair_zmodType</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#ZmodType"><span class="id" title="abbreviation">ZmodType</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#PairZmod.M1"><span class="id" title="variable">M1</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#d19c7eafd0e2d195d10df94b392087b5"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#PairZmod.M2"><span class="id" title="variable">M2</span></a>) <a class="idref" href="mathcomp.algebra.ssralg.html#pair_zmodMixin"><span class="id" title="definition">pair_zmodMixin</span></a>.<br/> +<span class="id" title="keyword">Canonical</span> <span class="id" title="var">pair_zmodType</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#ZmodType"><span class="id" title="abbreviation">ZmodType</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#PairZmod.M1"><span class="id" title="variable">M1</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#11c698c8685bb8ab1cf725545c085ac4"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#PairZmod.M2"><span class="id" title="variable">M2</span></a>) <a class="idref" href="mathcomp.algebra.ssralg.html#pair_zmodMixin"><span class="id" title="definition">pair_zmodMixin</span></a>.<br/> <br/> <span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.algebra.ssralg.html#PairZmod"><span class="id" title="section">PairZmod</span></a>.<br/> @@ -6170,30 +6193,30 @@ <span class="id" title="keyword">Variables</span> <a name="PairRing.R1"><span class="id" title="variable">R1</span></a> <a name="PairRing.R2"><span class="id" title="variable">R2</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#ringType"><span class="id" title="abbreviation">ringType</span></a>.<br/> <br/> -<span class="id" title="keyword">Definition</span> <a name="mul_pair"><span class="id" title="definition">mul_pair</span></a> (<span class="id" title="var">x</span> <span class="id" title="var">y</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#PairRing.R1"><span class="id" title="variable">R1</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#d19c7eafd0e2d195d10df94b392087b5"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#PairRing.R2"><span class="id" title="variable">R2</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.ssralg.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#c4877bbfe60d8f22b47ac99ace86216a"><span class="id" title="notation">.1</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#22058a36a53dac65c94ca403bc62650a"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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#c4877bbfe60d8f22b47ac99ace86216a"><span class="id" title="notation">.1</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.ssralg.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#f4827404159513e7fd691b60b7877737"><span class="id" title="notation">.2</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#22058a36a53dac65c94ca403bc62650a"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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#f4827404159513e7fd691b60b7877737"><span class="id" title="notation">.2</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="mul_pair"><span class="id" title="definition">mul_pair</span></a> (<span class="id" title="var">x</span> <span class="id" title="var">y</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#PairRing.R1"><span class="id" title="variable">R1</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#11c698c8685bb8ab1cf725545c085ac4"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#PairRing.R2"><span class="id" title="variable">R2</span></a>) := <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#e6756e10c36f149b18b4a8741ed83079"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#e0817251e7d67ad994b4d9b1aa82a412"><span class="id" title="notation">.1</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#2d0cfb150261028f4ebd2ba355623dcc"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#e0817251e7d67ad994b4d9b1aa82a412"><span class="id" title="notation">.1</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#e6756e10c36f149b18b4a8741ed83079"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#675082cc4d4538da052b547bdc6ea4c9"><span class="id" title="notation">.2</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#2d0cfb150261028f4ebd2ba355623dcc"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#675082cc4d4538da052b547bdc6ea4c9"><span class="id" title="notation">.2</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#e6756e10c36f149b18b4a8741ed83079"><span class="id" title="notation">)</span></a>.<br/> <br/> -<span class="id" title="keyword">Fact</span> <a name="pair_mulA"><span class="id" title="lemma">pair_mulA</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.ssralg.html#mul_pair"><span class="id" title="definition">mul_pair</span></a>.<br/> +<span class="id" title="keyword">Fact</span> <a name="pair_mulA"><span class="id" title="lemma">pair_mulA</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#associative"><span class="id" title="definition">associative</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#mul_pair"><span class="id" title="definition">mul_pair</span></a>.<br/> <br/> -<span class="id" title="keyword">Fact</span> <a name="pair_mul1l"><span class="id" title="lemma">pair_mul1l</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> <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>1<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> 1<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#44400027531d4bc3f586a1997dc874c0"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#mul_pair"><span class="id" title="definition">mul_pair</span></a>.<br/> +<span class="id" title="keyword">Fact</span> <a name="pair_mul1l"><span class="id" title="lemma">pair_mul1l</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#left_id"><span class="id" title="definition">left_id</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#e6756e10c36f149b18b4a8741ed83079"><span class="id" title="notation">(</span></a>1<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#e6756e10c36f149b18b4a8741ed83079"><span class="id" title="notation">,</span></a> 1<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#e6756e10c36f149b18b4a8741ed83079"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#mul_pair"><span class="id" title="definition">mul_pair</span></a>.<br/> <br/> -<span class="id" title="keyword">Fact</span> <a name="pair_mul1r"><span class="id" title="lemma">pair_mul1r</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#right_id"><span class="id" title="definition">right_id</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>1<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> 1<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#44400027531d4bc3f586a1997dc874c0"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#mul_pair"><span class="id" title="definition">mul_pair</span></a>.<br/> +<span class="id" title="keyword">Fact</span> <a name="pair_mul1r"><span class="id" title="lemma">pair_mul1r</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#right_id"><span class="id" title="definition">right_id</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#e6756e10c36f149b18b4a8741ed83079"><span class="id" title="notation">(</span></a>1<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#e6756e10c36f149b18b4a8741ed83079"><span class="id" title="notation">,</span></a> 1<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#e6756e10c36f149b18b4a8741ed83079"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#mul_pair"><span class="id" title="definition">mul_pair</span></a>.<br/> <br/> -<span class="id" title="keyword">Fact</span> <a name="pair_mulDl"><span class="id" title="lemma">pair_mulDl</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.ssralg.html#mul_pair"><span class="id" title="definition">mul_pair</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/> +<span class="id" title="keyword">Fact</span> <a name="pair_mulDl"><span class="id" title="lemma">pair_mulDl</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#left_distributive"><span class="id" title="definition">left_distributive</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#mul_pair"><span class="id" title="definition">mul_pair</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#a87d5ea2e207e69e5e474db24f56d4cb"><span class="id" title="notation">+%</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#a87d5ea2e207e69e5e474db24f56d4cb"><span class="id" title="notation">R</span></a>.<br/> <br/> -<span class="id" title="keyword">Fact</span> <a name="pair_mulDr"><span class="id" title="lemma">pair_mulDr</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#right_distributive"><span class="id" title="definition">right_distributive</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#mul_pair"><span class="id" title="definition">mul_pair</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/> +<span class="id" title="keyword">Fact</span> <a name="pair_mulDr"><span class="id" title="lemma">pair_mulDr</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#right_distributive"><span class="id" title="definition">right_distributive</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#mul_pair"><span class="id" title="definition">mul_pair</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#a87d5ea2e207e69e5e474db24f56d4cb"><span class="id" title="notation">+%</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#a87d5ea2e207e69e5e474db24f56d4cb"><span class="id" title="notation">R</span></a>.<br/> <br/> -<span class="id" title="keyword">Fact</span> <a name="pair_one_neq0"><span class="id" title="lemma">pair_one_neq0</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>1<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> 1<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#44400027531d4bc3f586a1997dc874c0"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#9e45f909d1732d6d9e153b650829bccf"><span class="id" title="notation">!=</span></a> 0 <a class="idref" href="mathcomp.ssreflect.eqtype.html#9e45f909d1732d6d9e153b650829bccf"><span class="id" title="notation">:></span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#PairRing.R1"><span class="id" title="variable">R1</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#d19c7eafd0e2d195d10df94b392087b5"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#PairRing.R2"><span class="id" title="variable">R2</span></a>.<br/> +<span class="id" title="keyword">Fact</span> <a name="pair_one_neq0"><span class="id" title="lemma">pair_one_neq0</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#e6756e10c36f149b18b4a8741ed83079"><span class="id" title="notation">(</span></a>1<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#e6756e10c36f149b18b4a8741ed83079"><span class="id" title="notation">,</span></a> 1<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#e6756e10c36f149b18b4a8741ed83079"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#228e85e3c31a939cba019f255574c875"><span class="id" title="notation">!=</span></a> 0 <a class="idref" href="mathcomp.ssreflect.eqtype.html#228e85e3c31a939cba019f255574c875"><span class="id" title="notation">:></span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#PairRing.R1"><span class="id" title="variable">R1</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#11c698c8685bb8ab1cf725545c085ac4"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#PairRing.R2"><span class="id" title="variable">R2</span></a>.<br/> <br/> <span class="id" title="keyword">Definition</span> <a name="pair_ringMixin"><span class="id" title="definition">pair_ringMixin</span></a> :=<br/> <a class="idref" href="mathcomp.algebra.ssralg.html#RingMixin"><span class="id" title="abbreviation">RingMixin</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#pair_mulA"><span class="id" title="lemma">pair_mulA</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#pair_mul1l"><span class="id" title="lemma">pair_mul1l</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#pair_mul1r"><span class="id" title="lemma">pair_mul1r</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#pair_mulDl"><span class="id" title="lemma">pair_mulDl</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#pair_mulDr"><span class="id" title="lemma">pair_mulDr</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#pair_one_neq0"><span class="id" title="lemma">pair_one_neq0</span></a>.<br/> -<span class="id" title="keyword">Canonical</span> <span class="id" title="var">pair_ringType</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#RingType"><span class="id" title="abbreviation">RingType</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#PairRing.R1"><span class="id" title="variable">R1</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#d19c7eafd0e2d195d10df94b392087b5"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#PairRing.R2"><span class="id" title="variable">R2</span></a>) <a class="idref" href="mathcomp.algebra.ssralg.html#pair_ringMixin"><span class="id" title="definition">pair_ringMixin</span></a>.<br/> +<span class="id" title="keyword">Canonical</span> <span class="id" title="var">pair_ringType</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#RingType"><span class="id" title="abbreviation">RingType</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#PairRing.R1"><span class="id" title="variable">R1</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#11c698c8685bb8ab1cf725545c085ac4"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#PairRing.R2"><span class="id" title="variable">R2</span></a>) <a class="idref" href="mathcomp.algebra.ssralg.html#pair_ringMixin"><span class="id" title="definition">pair_ringMixin</span></a>.<br/> <br/> <span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.algebra.ssralg.html#PairRing"><span class="id" title="section">PairRing</span></a>.<br/> @@ -6205,10 +6228,10 @@ <span class="id" title="keyword">Variables</span> <a name="PairComRing.R1"><span class="id" title="variable">R1</span></a> <a name="PairComRing.R2"><span class="id" title="variable">R2</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#comRingType"><span class="id" title="abbreviation">comRingType</span></a>.<br/> <br/> -<span class="id" title="keyword">Fact</span> <a name="pair_mulC"><span class="id" title="lemma">pair_mulC</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.ssralg.html#mul_pair"><span class="id" title="definition">mul_pair</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#PairComRing.R1"><span class="id" title="variable">R1</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#PairComRing.R2"><span class="id" title="variable">R2</span></a>).<br/> +<span class="id" title="keyword">Fact</span> <a name="pair_mulC"><span class="id" title="lemma">pair_mulC</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#commutative"><span class="id" title="definition">commutative</span></a> (@<a class="idref" href="mathcomp.algebra.ssralg.html#mul_pair"><span class="id" title="definition">mul_pair</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#PairComRing.R1"><span class="id" title="variable">R1</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#PairComRing.R2"><span class="id" title="variable">R2</span></a>).<br/> <br/> -<span class="id" title="keyword">Canonical</span> <span class="id" title="var">pair_comRingType</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#ComRingType"><span class="id" title="abbreviation">ComRingType</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#PairComRing.R1"><span class="id" title="variable">R1</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#d19c7eafd0e2d195d10df94b392087b5"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#PairComRing.R2"><span class="id" title="variable">R2</span></a>) <a class="idref" href="mathcomp.algebra.ssralg.html#pair_mulC"><span class="id" title="lemma">pair_mulC</span></a>.<br/> +<span class="id" title="keyword">Canonical</span> <span class="id" title="var">pair_comRingType</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#ComRingType"><span class="id" title="abbreviation">ComRingType</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#PairComRing.R1"><span class="id" title="variable">R1</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#11c698c8685bb8ab1cf725545c085ac4"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#PairComRing.R2"><span class="id" title="variable">R2</span></a>) <a class="idref" href="mathcomp.algebra.ssralg.html#pair_mulC"><span class="id" title="lemma">pair_mulC</span></a>.<br/> <br/> <span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.algebra.ssralg.html#PairComRing"><span class="id" title="section">PairComRing</span></a>.<br/> @@ -6220,24 +6243,24 @@ <span class="id" title="keyword">Variables</span> (<a name="PairLmod.R"><span class="id" title="variable">R</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#ringType"><span class="id" title="abbreviation">ringType</span></a>) (<a name="PairLmod.V1"><span class="id" title="variable">V1</span></a> <a name="PairLmod.V2"><span class="id" title="variable">V2</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#lmodType"><span class="id" title="abbreviation">lmodType</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#R"><span class="id" title="variable">R</span></a>).<br/> <br/> -<span class="id" title="keyword">Definition</span> <a name="scale_pair"><span class="id" title="definition">scale_pair</span></a> <span class="id" title="var">a</span> (<span class="id" title="var">v</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#PairLmod.V1"><span class="id" title="variable">V1</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#d19c7eafd0e2d195d10df94b392087b5"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#PairLmod.V2"><span class="id" title="variable">V2</span></a>) : <a class="idref" href="mathcomp.algebra.ssralg.html#PairLmod.V1"><span class="id" title="variable">V1</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#d19c7eafd0e2d195d10df94b392087b5"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#PairLmod.V2"><span class="id" title="variable">V2</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.ssralg.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#v"><span class="id" title="variable">v</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#c4877bbfe60d8f22b47ac99ace86216a"><span class="id" title="notation">.1</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#44400027531d4bc3f586a1997dc874c0"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#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#v"><span class="id" title="variable">v</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#f4827404159513e7fd691b60b7877737"><span class="id" title="notation">.2</span></a><a class="idref" href="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="scale_pair"><span class="id" title="definition">scale_pair</span></a> <span class="id" title="var">a</span> (<span class="id" title="var">v</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#PairLmod.V1"><span class="id" title="variable">V1</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#11c698c8685bb8ab1cf725545c085ac4"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#PairLmod.V2"><span class="id" title="variable">V2</span></a>) : <a class="idref" href="mathcomp.algebra.ssralg.html#PairLmod.V1"><span class="id" title="variable">V1</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#11c698c8685bb8ab1cf725545c085ac4"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#PairLmod.V2"><span class="id" title="variable">V2</span></a> := <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#e6756e10c36f149b18b4a8741ed83079"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#a"><span class="id" title="variable">a</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#3b05480e39db306e67fadbc79d394529"><span class="id" title="notation">*:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#v"><span class="id" title="variable">v</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#e0817251e7d67ad994b4d9b1aa82a412"><span class="id" title="notation">.1</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#e6756e10c36f149b18b4a8741ed83079"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#a"><span class="id" title="variable">a</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#3b05480e39db306e67fadbc79d394529"><span class="id" title="notation">*:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#v"><span class="id" title="variable">v</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#675082cc4d4538da052b547bdc6ea4c9"><span class="id" title="notation">.2</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#e6756e10c36f149b18b4a8741ed83079"><span class="id" title="notation">)</span></a>.<br/> <br/> -<span class="id" title="keyword">Fact</span> <a name="pair_scaleA"><span class="id" title="lemma">pair_scaleA</span></a> <span class="id" title="var">a</span> <span class="id" title="var">b</span> <span class="id" title="var">u</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#scale_pair"><span class="id" title="definition">scale_pair</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#a"><span class="id" title="variable">a</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#scale_pair"><span class="id" title="definition">scale_pair</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b"><span class="id" title="variable">b</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#scale_pair"><span class="id" title="definition">scale_pair</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#a"><span class="id" title="variable">a</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#22058a36a53dac65c94ca403bc62650a"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b"><span class="id" title="variable">b</span></a>) <a class="idref" href="mathcomp.algebra.ssralg.html#u"><span class="id" title="variable">u</span></a>.<br/> +<span class="id" title="keyword">Fact</span> <a name="pair_scaleA"><span class="id" title="lemma">pair_scaleA</span></a> <span class="id" title="var">a</span> <span class="id" title="var">b</span> <span class="id" title="var">u</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#scale_pair"><span class="id" title="definition">scale_pair</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#a"><span class="id" title="variable">a</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#scale_pair"><span class="id" title="definition">scale_pair</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b"><span class="id" title="variable">b</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#u"><span class="id" title="variable">u</span></a>) <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#scale_pair"><span class="id" title="definition">scale_pair</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#a"><span class="id" title="variable">a</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#2d0cfb150261028f4ebd2ba355623dcc"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b"><span class="id" title="variable">b</span></a>) <a class="idref" href="mathcomp.algebra.ssralg.html#u"><span class="id" title="variable">u</span></a>.<br/> <br/> -<span class="id" title="keyword">Fact</span> <a name="pair_scale1"><span class="id" title="lemma">pair_scale1</span></a> <span class="id" title="var">u</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#scale_pair"><span class="id" title="definition">scale_pair</span></a> 1 <a class="idref" href="mathcomp.algebra.ssralg.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#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#u"><span class="id" title="variable">u</span></a>.<br/> +<span class="id" title="keyword">Fact</span> <a name="pair_scale1"><span class="id" title="lemma">pair_scale1</span></a> <span class="id" title="var">u</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#scale_pair"><span class="id" title="definition">scale_pair</span></a> 1 <a class="idref" href="mathcomp.algebra.ssralg.html#u"><span class="id" title="variable">u</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#u"><span class="id" title="variable">u</span></a>.<br/> <br/> -<span class="id" title="keyword">Fact</span> <a name="pair_scaleDr"><span class="id" title="lemma">pair_scaleDr</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#right_distributive"><span class="id" title="definition">right_distributive</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#scale_pair"><span class="id" title="definition">scale_pair</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/> +<span class="id" title="keyword">Fact</span> <a name="pair_scaleDr"><span class="id" title="lemma">pair_scaleDr</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#right_distributive"><span class="id" title="definition">right_distributive</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#scale_pair"><span class="id" title="definition">scale_pair</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#a87d5ea2e207e69e5e474db24f56d4cb"><span class="id" title="notation">+%</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#a87d5ea2e207e69e5e474db24f56d4cb"><span class="id" title="notation">R</span></a>.<br/> <br/> -<span class="id" title="keyword">Fact</span> <a name="pair_scaleDl"><span class="id" title="lemma">pair_scaleDl</span></a> <span class="id" title="var">u</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.ssralg.html#scale_pair"><span class="id" title="definition">scale_pair</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.ssralg.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.ssrfun.html#3014e73af2a90fd800d8681479d76336"><span class="id" title="notation">:</span></a> <span class="id" title="var">a</span> <span class="id" title="var">b</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.ssralg.html#a"><span class="id" title="variable">a</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#b"><span class="id" title="variable">b</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/> +<span class="id" title="keyword">Fact</span> <a name="pair_scaleDl"><span class="id" title="lemma">pair_scaleDl</span></a> <span class="id" title="var">u</span> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#e69c60b553f06d3463460a9f4cee3c01"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#e69c60b553f06d3463460a9f4cee3c01"><span class="id" title="notation">morph</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#scale_pair"><span class="id" title="definition">scale_pair</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#d89396f990d6b54d736cfe259e498cf4"><span class="id" title="notation">^~</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#u"><span class="id" title="variable">u</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#e69c60b553f06d3463460a9f4cee3c01"><span class="id" title="notation">:</span></a> <span class="id" title="var">a</span> <span class="id" title="var">b</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#e69c60b553f06d3463460a9f4cee3c01"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#a"><span class="id" title="variable">a</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#c7f78cf1f6a5e4f664654f7d671ca752"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b"><span class="id" title="variable">b</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#e69c60b553f06d3463460a9f4cee3c01"><span class="id" title="notation">}</span></a>.<br/> <br/> <span class="id" title="keyword">Definition</span> <a name="pair_lmodMixin"><span class="id" title="definition">pair_lmodMixin</span></a> :=<br/> <a class="idref" href="mathcomp.algebra.ssralg.html#LmodMixin"><span class="id" title="abbreviation">LmodMixin</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#pair_scaleA"><span class="id" title="lemma">pair_scaleA</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#pair_scale1"><span class="id" title="lemma">pair_scale1</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#pair_scaleDr"><span class="id" title="lemma">pair_scaleDr</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#pair_scaleDl"><span class="id" title="lemma">pair_scaleDl</span></a>.<br/> -<span class="id" title="keyword">Canonical</span> <span class="id" title="var">pair_lmodType</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#LmodType"><span class="id" title="abbreviation">LmodType</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#PairLmod.R"><span class="id" title="variable">R</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#PairLmod.V1"><span class="id" title="variable">V1</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#d19c7eafd0e2d195d10df94b392087b5"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#PairLmod.V2"><span class="id" title="variable">V2</span></a>) <a class="idref" href="mathcomp.algebra.ssralg.html#pair_lmodMixin"><span class="id" title="definition">pair_lmodMixin</span></a>.<br/> +<span class="id" title="keyword">Canonical</span> <span class="id" title="var">pair_lmodType</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#LmodType"><span class="id" title="abbreviation">LmodType</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#PairLmod.R"><span class="id" title="variable">R</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#PairLmod.V1"><span class="id" title="variable">V1</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#11c698c8685bb8ab1cf725545c085ac4"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#PairLmod.V2"><span class="id" title="variable">V2</span></a>) <a class="idref" href="mathcomp.algebra.ssralg.html#pair_lmodMixin"><span class="id" title="definition">pair_lmodMixin</span></a>.<br/> <br/> <span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.algebra.ssralg.html#PairLmod"><span class="id" title="section">PairLmod</span></a>.<br/> @@ -6249,8 +6272,8 @@ <span class="id" title="keyword">Variables</span> (<a name="PairLalg.R"><span class="id" title="variable">R</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#ringType"><span class="id" title="abbreviation">ringType</span></a>) (<a name="PairLalg.A1"><span class="id" title="variable">A1</span></a> <a name="PairLalg.A2"><span class="id" title="variable">A2</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#lalgType"><span class="id" title="abbreviation">lalgType</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#R"><span class="id" title="variable">R</span></a>).<br/> <br/> -<span class="id" title="keyword">Fact</span> <a name="pair_scaleAl"><span class="id" title="lemma">pair_scaleAl</span></a> <span class="id" title="var">a</span> (<span class="id" title="var">u</span> <span class="id" title="var">v</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#PairLalg.A1"><span class="id" title="variable">A1</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#d19c7eafd0e2d195d10df94b392087b5"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#PairLalg.A2"><span class="id" title="variable">A2</span></a>) : <a class="idref" href="mathcomp.algebra.ssralg.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.ssralg.html#u"><span class="id" title="variable">u</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#22058a36a53dac65c94ca403bc62650a"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#v"><span class="id" title="variable">v</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.ssralg.html#22058a36a53dac65c94ca403bc62650a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.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#u"><span class="id" title="variable">u</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#22058a36a53dac65c94ca403bc62650a"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#22058a36a53dac65c94ca403bc62650a"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#v"><span class="id" title="variable">v</span></a>.<br/> - <span class="id" title="keyword">Canonical</span> <span class="id" title="var">pair_lalgType</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#LalgType"><span class="id" title="abbreviation">LalgType</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#PairLalg.R"><span class="id" title="variable">R</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#PairLalg.A1"><span class="id" title="variable">A1</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#d19c7eafd0e2d195d10df94b392087b5"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#PairLalg.A2"><span class="id" title="variable">A2</span></a>) <a class="idref" href="mathcomp.algebra.ssralg.html#pair_scaleAl"><span class="id" title="lemma">pair_scaleAl</span></a>.<br/> +<span class="id" title="keyword">Fact</span> <a name="pair_scaleAl"><span class="id" title="lemma">pair_scaleAl</span></a> <span class="id" title="var">a</span> (<span class="id" title="var">u</span> <span class="id" title="var">v</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#PairLalg.A1"><span class="id" title="variable">A1</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#11c698c8685bb8ab1cf725545c085ac4"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#PairLalg.A2"><span class="id" title="variable">A2</span></a>) : <a class="idref" href="mathcomp.algebra.ssralg.html#a"><span class="id" title="variable">a</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#3b05480e39db306e67fadbc79d394529"><span class="id" title="notation">*:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#3b05480e39db306e67fadbc79d394529"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#u"><span class="id" title="variable">u</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#2d0cfb150261028f4ebd2ba355623dcc"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#v"><span class="id" title="variable">v</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#3b05480e39db306e67fadbc79d394529"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#2d0cfb150261028f4ebd2ba355623dcc"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#a"><span class="id" title="variable">a</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#3b05480e39db306e67fadbc79d394529"><span class="id" title="notation">*:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#u"><span class="id" title="variable">u</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#2d0cfb150261028f4ebd2ba355623dcc"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#2d0cfb150261028f4ebd2ba355623dcc"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#v"><span class="id" title="variable">v</span></a>.<br/> + <span class="id" title="keyword">Canonical</span> <span class="id" title="var">pair_lalgType</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#LalgType"><span class="id" title="abbreviation">LalgType</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#PairLalg.R"><span class="id" title="variable">R</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#PairLalg.A1"><span class="id" title="variable">A1</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#11c698c8685bb8ab1cf725545c085ac4"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#PairLalg.A2"><span class="id" title="variable">A2</span></a>) <a class="idref" href="mathcomp.algebra.ssralg.html#pair_scaleAl"><span class="id" title="lemma">pair_scaleAl</span></a>.<br/> <br/> <span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.algebra.ssralg.html#PairLalg"><span class="id" title="section">PairLalg</span></a>.<br/> @@ -6262,8 +6285,8 @@ <span class="id" title="keyword">Variables</span> (<a name="PairAlg.R"><span class="id" title="variable">R</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#comRingType"><span class="id" title="abbreviation">comRingType</span></a>) (<a name="PairAlg.A1"><span class="id" title="variable">A1</span></a> <a name="PairAlg.A2"><span class="id" title="variable">A2</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#algType"><span class="id" title="abbreviation">algType</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#R"><span class="id" title="variable">R</span></a>).<br/> <br/> -<span class="id" title="keyword">Fact</span> <a name="pair_scaleAr"><span class="id" title="lemma">pair_scaleAr</span></a> <span class="id" title="var">a</span> (<span class="id" title="var">u</span> <span class="id" title="var">v</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#PairAlg.A1"><span class="id" title="variable">A1</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#d19c7eafd0e2d195d10df94b392087b5"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#PairAlg.A2"><span class="id" title="variable">A2</span></a>) : <a class="idref" href="mathcomp.algebra.ssralg.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.ssralg.html#u"><span class="id" title="variable">u</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#22058a36a53dac65c94ca403bc62650a"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#v"><span class="id" title="variable">v</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.ssralg.html#u"><span class="id" title="variable">u</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#22058a36a53dac65c94ca403bc62650a"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#22058a36a53dac65c94ca403bc62650a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.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#v"><span class="id" title="variable">v</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#22058a36a53dac65c94ca403bc62650a"><span class="id" title="notation">)</span></a>.<br/> - <span class="id" title="keyword">Canonical</span> <span class="id" title="var">pair_algType</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#AlgType"><span class="id" title="abbreviation">AlgType</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#PairAlg.R"><span class="id" title="variable">R</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#PairAlg.A1"><span class="id" title="variable">A1</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#d19c7eafd0e2d195d10df94b392087b5"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#PairAlg.A2"><span class="id" title="variable">A2</span></a>) <a class="idref" href="mathcomp.algebra.ssralg.html#pair_scaleAr"><span class="id" title="lemma">pair_scaleAr</span></a>.<br/> +<span class="id" title="keyword">Fact</span> <a name="pair_scaleAr"><span class="id" title="lemma">pair_scaleAr</span></a> <span class="id" title="var">a</span> (<span class="id" title="var">u</span> <span class="id" title="var">v</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#PairAlg.A1"><span class="id" title="variable">A1</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#11c698c8685bb8ab1cf725545c085ac4"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#PairAlg.A2"><span class="id" title="variable">A2</span></a>) : <a class="idref" href="mathcomp.algebra.ssralg.html#a"><span class="id" title="variable">a</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#3b05480e39db306e67fadbc79d394529"><span class="id" title="notation">*:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#3b05480e39db306e67fadbc79d394529"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#u"><span class="id" title="variable">u</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#2d0cfb150261028f4ebd2ba355623dcc"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#v"><span class="id" title="variable">v</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#3b05480e39db306e67fadbc79d394529"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#u"><span class="id" title="variable">u</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#2d0cfb150261028f4ebd2ba355623dcc"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#2d0cfb150261028f4ebd2ba355623dcc"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#a"><span class="id" title="variable">a</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#3b05480e39db306e67fadbc79d394529"><span class="id" title="notation">*:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#v"><span class="id" title="variable">v</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#2d0cfb150261028f4ebd2ba355623dcc"><span class="id" title="notation">)</span></a>.<br/> + <span class="id" title="keyword">Canonical</span> <span class="id" title="var">pair_algType</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#AlgType"><span class="id" title="abbreviation">AlgType</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#PairAlg.R"><span class="id" title="variable">R</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#PairAlg.A1"><span class="id" title="variable">A1</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#11c698c8685bb8ab1cf725545c085ac4"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#PairAlg.A2"><span class="id" title="variable">A2</span></a>) <a class="idref" href="mathcomp.algebra.ssralg.html#pair_scaleAr"><span class="id" title="lemma">pair_scaleAr</span></a>.<br/> <br/> <span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.algebra.ssralg.html#PairAlg"><span class="id" title="section">PairAlg</span></a>.<br/> @@ -6276,38 +6299,38 @@ <br/> <span class="id" title="keyword">Definition</span> <a name="pair_unitr"><span class="id" title="definition">pair_unitr</span></a> :=<br/> - <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">x</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.ssralg.html#PairUnitRing.R1"><span class="id" title="variable">R1</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#d19c7eafd0e2d195d10df94b392087b5"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#PairUnitRing.R2"><span class="id" title="variable">R2</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#49ac24efa716d8b0ee8943bc1d1769a9"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.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#c4877bbfe60d8f22b47ac99ace86216a"><span class="id" title="notation">.1</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#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.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">&&</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.ssralg.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#f4827404159513e7fd691b60b7877737"><span class="id" title="notation">.2</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#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.Datatypes.html#49ac24efa716d8b0ee8943bc1d1769a9"><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/> + <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#65c8f47ea0daafc83f7bb18bc9eca61f"><span class="id" title="notation">[</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#65c8f47ea0daafc83f7bb18bc9eca61f"><span class="id" title="notation">qualify</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#65c8f47ea0daafc83f7bb18bc9eca61f"><span class="id" title="notation">a</span></a> <span class="id" title="var">x</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#65c8f47ea0daafc83f7bb18bc9eca61f"><span class="id" title="notation">:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#PairUnitRing.R1"><span class="id" title="variable">R1</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#11c698c8685bb8ab1cf725545c085ac4"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#PairUnitRing.R2"><span class="id" title="variable">R2</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#65c8f47ea0daafc83f7bb18bc9eca61f"><span class="id" title="notation">|</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#9ddeac0ab66152bd1d64bedb507a795e"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#e0817251e7d67ad994b4d9b1aa82a412"><span class="id" title="notation">.1</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#f6c65697fefaf4504de1d4d641cd4409"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#f6c65697fefaf4504de1d4d641cd4409"><span class="id" title="notation">is</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#f6c65697fefaf4504de1d4d641cd4409"><span class="id" title="notation">a</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#unit"><span class="id" title="definition">GRing.unit</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#9ddeac0ab66152bd1d64bedb507a795e"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#9ddeac0ab66152bd1d64bedb507a795e"><span class="id" title="notation">&&</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#9ddeac0ab66152bd1d64bedb507a795e"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#675082cc4d4538da052b547bdc6ea4c9"><span class="id" title="notation">.2</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#f6c65697fefaf4504de1d4d641cd4409"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#f6c65697fefaf4504de1d4d641cd4409"><span class="id" title="notation">is</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#f6c65697fefaf4504de1d4d641cd4409"><span class="id" title="notation">a</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#unit"><span class="id" title="definition">GRing.unit</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#9ddeac0ab66152bd1d64bedb507a795e"><span class="id" title="notation">)</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#65c8f47ea0daafc83f7bb18bc9eca61f"><span class="id" title="notation">]</span></a>.<br/> <span class="id" title="keyword">Definition</span> <a name="pair_invr"><span class="id" title="definition">pair_invr</span></a> <span class="id" title="var">x</span> :=<br/> - <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.ssralg.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#pair_unitr"><span class="id" title="definition">pair_unitr</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="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#44400027531d4bc3f586a1997dc874c0"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#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#c4877bbfe60d8f22b47ac99ace86216a"><span class="id" title="notation">.1</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.Datatypes.html#44400027531d4bc3f586a1997dc874c0"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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#f4827404159513e7fd691b60b7877737"><span class="id" title="notation">.2</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.Datatypes.html#44400027531d4bc3f586a1997dc874c0"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssreflect.html#0348819abaa88c2cd747e8fa60dde7ae"><span class="id" title="notation">else</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a>.<br/> + <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssreflect.html#00a1a5b58aac8f1e3f1abff064a39f9d"><span class="id" title="notation">if</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#f6c65697fefaf4504de1d4d641cd4409"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#f6c65697fefaf4504de1d4d641cd4409"><span class="id" title="notation">is</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#f6c65697fefaf4504de1d4d641cd4409"><span class="id" title="notation">a</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#pair_unitr"><span class="id" title="definition">pair_unitr</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssreflect.html#00a1a5b58aac8f1e3f1abff064a39f9d"><span class="id" title="notation">then</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#e6756e10c36f149b18b4a8741ed83079"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#e0817251e7d67ad994b4d9b1aa82a412"><span class="id" title="notation">.1</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#4e5a4c91ec0aa12de06dfe1cc07ea126"><span class="id" title="notation">^-1</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#e6756e10c36f149b18b4a8741ed83079"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#675082cc4d4538da052b547bdc6ea4c9"><span class="id" title="notation">.2</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#4e5a4c91ec0aa12de06dfe1cc07ea126"><span class="id" title="notation">^-1</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#e6756e10c36f149b18b4a8741ed83079"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssreflect.html#00a1a5b58aac8f1e3f1abff064a39f9d"><span class="id" title="notation">else</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a>.<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="pair_mulVl"><span class="id" title="lemma">pair_mulVl</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.ssralg.html#pair_unitr"><span class="id" title="definition">pair_unitr</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 <a class="idref" href="mathcomp.algebra.ssralg.html#pair_invr"><span class="id" title="definition">pair_invr</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/> +<span class="id" title="keyword">Lemma</span> <a name="pair_mulVl"><span class="id" title="lemma">pair_mulVl</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#pair_unitr"><span class="id" title="definition">pair_unitr</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><span class="id" title="notation">,</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#left_inverse"><span class="id" title="definition">left_inverse</span></a> 1 <a class="idref" href="mathcomp.algebra.ssralg.html#pair_invr"><span class="id" title="definition">pair_invr</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#3609d85e23333c9e68741ad96b416eec"><span class="id" title="notation">*%</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#3609d85e23333c9e68741ad96b416eec"><span class="id" title="notation">R</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><span class="id" title="notation">}</span></a>.<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="pair_mulVr"><span class="id" title="lemma">pair_mulVr</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.ssralg.html#pair_unitr"><span class="id" title="definition">pair_unitr</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#right_inverse"><span class="id" title="definition">right_inverse</span></a> 1 <a class="idref" href="mathcomp.algebra.ssralg.html#pair_invr"><span class="id" title="definition">pair_invr</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/> +<span class="id" title="keyword">Lemma</span> <a name="pair_mulVr"><span class="id" title="lemma">pair_mulVr</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#pair_unitr"><span class="id" title="definition">pair_unitr</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><span class="id" title="notation">,</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#right_inverse"><span class="id" title="definition">right_inverse</span></a> 1 <a class="idref" href="mathcomp.algebra.ssralg.html#pair_invr"><span class="id" title="definition">pair_invr</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#3609d85e23333c9e68741ad96b416eec"><span class="id" title="notation">*%</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#3609d85e23333c9e68741ad96b416eec"><span class="id" title="notation">R</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><span class="id" title="notation">}</span></a>.<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="pair_unitP"><span class="id" title="lemma">pair_unitP</span></a> <span class="id" title="var">x</span> <span class="id" title="var">y</span> : <a class="idref" href="mathcomp.algebra.ssralg.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> <a class="idref" href="mathcomp.algebra.ssralg.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 <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d82a7d96d3659d805ffe732283716822"><span class="id" title="notation">∧</span></a> <a class="idref" href="mathcomp.algebra.ssralg.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#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> 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.ssralg.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#pair_unitr"><span class="id" title="definition">pair_unitr</span></a>.<br/> +<span class="id" title="keyword">Lemma</span> <a name="pair_unitP"><span class="id" title="lemma">pair_unitP</span></a> <span class="id" title="var">x</span> <span class="id" title="var">y</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#2d0cfb150261028f4ebd2ba355623dcc"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> 1 <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#ba2b0e492d2b4675a0acf3ea92aabadd"><span class="id" title="notation">∧</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#2d0cfb150261028f4ebd2ba355623dcc"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#y"><span class="id" title="variable">y</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> 1 <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#f6c65697fefaf4504de1d4d641cd4409"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#f6c65697fefaf4504de1d4d641cd4409"><span class="id" title="notation">is</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#f6c65697fefaf4504de1d4d641cd4409"><span class="id" title="notation">a</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#pair_unitr"><span class="id" title="definition">pair_unitr</span></a>.<br/> <br/> -<span class="id" title="keyword">Lemma</span> <a name="pair_invr_out"><span class="id" title="lemma">pair_invr_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.ssralg.html#pair_unitr"><span class="id" title="definition">pair_unitr</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.ssralg.html#pair_invr"><span class="id" title="definition">pair_invr</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/> +<span class="id" title="keyword">Lemma</span> <a name="pair_invr_out"><span class="id" title="lemma">pair_invr_out</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><span class="id" title="notation">in</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#790b887fcb3f1d578b2c7a5460f7aeb5"><span class="id" title="notation">[</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#790b887fcb3f1d578b2c7a5460f7aeb5"><span class="id" title="notation">predC</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#pair_unitr"><span class="id" title="definition">pair_unitr</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#790b887fcb3f1d578b2c7a5460f7aeb5"><span class="id" title="notation">]</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#pair_invr"><span class="id" title="definition">pair_invr</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#876aa133fb3472bffd492f74ff496035"><span class="id" title="notation">=1</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#id"><span class="id" title="abbreviation">id</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><span class="id" title="notation">}</span></a>.<br/> <br/> <span class="id" title="keyword">Definition</span> <a name="pair_unitRingMixin"><span class="id" title="definition">pair_unitRingMixin</span></a> :=<br/> <a class="idref" href="mathcomp.algebra.ssralg.html#UnitRingMixin"><span class="id" title="abbreviation">UnitRingMixin</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#pair_mulVl"><span class="id" title="lemma">pair_mulVl</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#pair_mulVr"><span class="id" title="lemma">pair_mulVr</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#pair_unitP"><span class="id" title="lemma">pair_unitP</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#pair_invr_out"><span class="id" title="lemma">pair_invr_out</span></a>.<br/> <span class="id" title="keyword">Canonical</span> <span class="id" title="var">pair_unitRingType</span> :=<br/> - <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#UnitRingType"><span class="id" title="abbreviation">UnitRingType</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#PairUnitRing.R1"><span class="id" title="variable">R1</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#d19c7eafd0e2d195d10df94b392087b5"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#PairUnitRing.R2"><span class="id" title="variable">R2</span></a>) <a class="idref" href="mathcomp.algebra.ssralg.html#pair_unitRingMixin"><span class="id" title="definition">pair_unitRingMixin</span></a>.<br/> + <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#UnitRingType"><span class="id" title="abbreviation">UnitRingType</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#PairUnitRing.R1"><span class="id" title="variable">R1</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#11c698c8685bb8ab1cf725545c085ac4"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#PairUnitRing.R2"><span class="id" title="variable">R2</span></a>) <a class="idref" href="mathcomp.algebra.ssralg.html#pair_unitRingMixin"><span class="id" title="definition">pair_unitRingMixin</span></a>.<br/> <br/> <span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.algebra.ssralg.html#PairUnitRing"><span class="id" title="section">PairUnitRing</span></a>.<br/> <br/> <span class="id" title="keyword">Canonical</span> <span class="id" title="var">pair_comUnitRingType</span> (<span class="id" title="var">R1</span> <span class="id" title="var">R2</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#comUnitRingType"><span class="id" title="abbreviation">comUnitRingType</span></a>) :=<br/> - <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.ssralg.html#R1"><span class="id" title="variable">R1</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#d19c7eafd0e2d195d10df94b392087b5"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#R2"><span class="id" title="variable">R2</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#e3ee791c903b0283e51d52d0692558ec"><span class="id" title="notation">]</span></a>.<br/> + <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#2dfeb3fb2088b370ad93742d4f23a0dc"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#2dfeb3fb2088b370ad93742d4f23a0dc"><span class="id" title="notation">comUnitRingType</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#2dfeb3fb2088b370ad93742d4f23a0dc"><span class="id" title="notation">of</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#R1"><span class="id" title="variable">R1</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#11c698c8685bb8ab1cf725545c085ac4"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#R2"><span class="id" title="variable">R2</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#2dfeb3fb2088b370ad93742d4f23a0dc"><span class="id" title="notation">]</span></a>.<br/> <br/> <span class="id" title="keyword">Canonical</span> <span class="id" title="var">pair_unitAlgType</span> (<span class="id" title="var">R</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#comUnitRingType"><span class="id" title="abbreviation">comUnitRingType</span></a>) (<span class="id" title="var">A1</span> <span class="id" title="var">A2</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#unitAlgType"><span class="id" title="abbreviation">unitAlgType</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#R"><span class="id" title="variable">R</span></a>) :=<br/> - <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#bdb1eed686184a9a4099efa772be7bc7"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#bdb1eed686184a9a4099efa772be7bc7"><span class="id" title="notation">unitAlgType</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#R"><span class="id" title="variable">R</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#bdb1eed686184a9a4099efa772be7bc7"><span class="id" title="notation">of</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#A1"><span class="id" title="variable">A1</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#d19c7eafd0e2d195d10df94b392087b5"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#A2"><span class="id" title="variable">A2</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#bdb1eed686184a9a4099efa772be7bc7"><span class="id" title="notation">]</span></a>.<br/> + <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#53130370ad22aac4f3ee8434dbc4850d"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#53130370ad22aac4f3ee8434dbc4850d"><span class="id" title="notation">unitAlgType</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#R"><span class="id" title="variable">R</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#53130370ad22aac4f3ee8434dbc4850d"><span class="id" title="notation">of</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#A1"><span class="id" title="variable">A1</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#11c698c8685bb8ab1cf725545c085ac4"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#A2"><span class="id" title="variable">A2</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#53130370ad22aac4f3ee8434dbc4850d"><span class="id" title="notation">]</span></a>.<br/> <br/> </div> |
